diff --git a/dist/assets/128x128-C2pl-Bao.png b/dist/assets/128x128-C2pl-Bao.png deleted file mode 100644 index 3105f5443..000000000 Binary files a/dist/assets/128x128-C2pl-Bao.png and /dev/null differ diff --git a/dist/assets/32x32-0ab4xkmQ.png b/dist/assets/32x32-0ab4xkmQ.png deleted file mode 100644 index 74f5ecbc1..000000000 Binary files a/dist/assets/32x32-0ab4xkmQ.png and /dev/null differ diff --git a/dist/assets/AppLayout-Bi8iHstr.js b/dist/assets/AppLayout-Bi8iHstr.js deleted file mode 100644 index b2da47a16..000000000 --- a/dist/assets/AppLayout-Bi8iHstr.js +++ /dev/null @@ -1,2 +0,0 @@ -import{u as A,a as w,c as D,i as e,b as a,A as r,d as E,e as F,t as n,f as L}from"./main-B-KzsHRi.js";var O=n("📊"),T=n("Dashboard"),U=n("📈"),y=n("KPIs"),I=n("📁"),K=n("Projects"),N=n("👥"),R=n("Teams"),q=n("
"),z=n("
"),B=n('
FFrenoCorp

');const J=o=>{const l=A(),{signOut:_}=w(),[i,d]=D(!0);return(()=>{var f=B(),c=f.firstChild,u=c.firstChild,g=u.firstChild,p=g.nextSibling,s=u.nextSibling,x=s.nextSibling,v=x.firstChild,h=v.firstChild,C=c.nextSibling,b=C.firstChild,$=b.firstChild,k=$.nextSibling,S=k.firstChild,P=b.nextSibling;return p.$$click=()=>d(!i()),e(p,()=>i()?"◀":"▶"),e(s,a(r,{href:"/dashboard",class:"freno-nav-link",end:!0,get children(){return[O(),T()]}}),null),e(s,a(r,{href:"/kpi",class:"freno-nav-link",get children(){return[U(),y()]}}),null),e(s,a(r,{href:"/projects",class:"freno-nav-link",get children(){return[I(),K()]}}),null),e(s,a(r,{href:"/teams",class:"freno-nav-link",get children(){return[N(),R()]}}),null),e(v,a(r,{href:"/profile",class:"freno-user-link",get children(){return[(()=>{var t=q();return e(t,()=>l().user?.name?.charAt(0)?.toUpperCase()||"U"),t})(),(()=>{var t=z(),m=t.firstChild,j=m.nextSibling;return e(m,()=>l().user?.name||"User"),e(j,()=>l().user?.email),t})()]}}),h),E(h,"click",_,!0),$.$$click=()=>d(!i()),e(S,G),e(P,()=>o.children),F(()=>c.classList.toggle("freno-sidebar-collapsed",!i())),f})()};function G(){const o=window.location.pathname;return{"/dashboard":"Dashboard","/kpi":"KPI Dashboard","/projects":"Projects","/projects/new":"New Project","/profile":"Profile","/teams":"Teams"}[o]||"FrenoCorp"}L(["click"]);export{J as AppLayout}; -//# sourceMappingURL=AppLayout-Bi8iHstr.js.map diff --git a/dist/assets/AppLayout-Bi8iHstr.js.map b/dist/assets/AppLayout-Bi8iHstr.js.map deleted file mode 100644 index 25549825c..000000000 --- a/dist/assets/AppLayout-Bi8iHstr.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AppLayout-Bi8iHstr.js","sources":["../../src/components/layout/AppLayout.tsx"],"sourcesContent":["import { Component, createSignal, Show } from 'solid-js';\nimport { A } from '@solidjs/router';\nimport { useAuth, useAuthActions } from '../../lib/auth';\n\nexport const AppLayout: Component = (props) => {\n const auth = useAuth();\n const { signOut } = useAuthActions();\n const [sidebarOpen, setSidebarOpen] = createSignal(true);\n\n return (\n
\n
\n
\n
\n F\n FrenoCorp\n
\n \n
\n\n
\n \n 📊\n Dashboard\n \n \n 📈\n KPIs\n \n \n 📁\n Projects\n \n \n 👥\n Teams\n \n
\n\n
\n
\n \n
\n {auth().user?.name?.charAt(0)?.toUpperCase() || 'U'}\n
\n
\n
{auth().user?.name || 'User'}
\n
{auth().user?.email}
\n
\n
\n \n
\n
\n
\n\n
\n
\n \n
\n

{getPageTitle()}

\n
\n
\n \n \n
\n
\n\n
\n {props.children}\n
\n
\n
\n );\n};\n\nfunction getPageTitle(): string {\n const path = window.location.pathname;\n const titles: Record = {\n '/dashboard': 'Dashboard',\n '/kpi': 'KPI Dashboard',\n '/projects': 'Projects',\n '/projects/new': 'New Project',\n '/profile': 'Profile',\n '/teams': 'Teams',\n };\n return titles[path] || 'FrenoCorp';\n}\n"],"names":["AppLayout","props","auth","useAuth","signOut","useAuthActions","sidebarOpen","setSidebarOpen","createSignal","_el$","_tmpl$1","_el$2","firstChild","_el$3","_el$4","_el$5","nextSibling","_el$6","_el$13","_el$14","_el$19","_el$20","_el$21","_el$22","_el$23","_el$24","_el$25","$$click","_$insert","_$createComponent","A","href","end","children","_tmpl$","_tmpl$2","_tmpl$3","_tmpl$4","_tmpl$5","_tmpl$6","_tmpl$7","_tmpl$8","_el$15","_tmpl$9","user","name","charAt","toUpperCase","_el$16","_tmpl$0","_el$17","_el$18","email","_$addEventListener","getPageTitle","_$effect","classList","toggle","path","window","location","pathname","_$delegateEvents"],"mappings":"myCAIO,MAAMA,EAA6BC,GAAU,CAClD,MAAMC,EAAOC,EAAAA,EACP,CAAEC,QAAAA,CAAAA,EAAYC,EAAAA,EACd,CAACC,EAAaC,CAAc,EAAIC,EAAa,EAAI,EAEvD,OAAA,IAAA,CAAA,IAAAC,EAAAC,EAAAA,EAAAC,EAAAF,EAAAG,WAAAC,EAAAF,EAAAC,WAAAE,EAAAD,EAAAD,WAAAG,EAAAD,EAAAE,YAAAC,EAAAJ,EAAAG,YAAAE,EAAAD,EAAAD,YAAAG,EAAAD,EAAAN,WAAAQ,EAAAD,EAAAP,WAAAS,EAAAV,EAAAK,YAAAM,EAAAD,EAAAT,WAAAW,EAAAD,EAAAV,WAAAY,EAAAD,EAAAP,YAAAS,EAAAD,EAAAZ,WAAAc,EAAAJ,EAAAN,YAAAD,OAAAA,EAAAY,QAQsD,IAAMpB,EAAe,CAACD,GAAa,EAACsB,EAAAb,EAAA,IAC/ET,EAAAA,EAAgB,IAAM,GAAG,EAAAsB,EAAAX,EAAAY,EAK3BC,EAAC,CAACC,KAAI,aAAA,MAAA,iBAAqCC,IAAG,GAAA,IAAAC,UAAA,CAAA,MAAA,CAAAC,IAAAC,GAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAAP,EAAAX,EAAAY,EAI9CC,EAAC,CAACC,KAAI,OAAA,MAAA,iBAAA,IAAAE,UAAA,CAAA,MAAA,CAAAG,IAAAC,GAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAAT,EAAAX,EAAAY,EAINC,EAAC,CAACC,KAAI,YAAA,MAAA,iBAAA,IAAAE,UAAA,CAAA,MAAA,CAAAK,IAAAC,GAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAAX,EAAAX,EAAAY,EAINC,EAAC,CAACC,KAAI,SAAA,MAAA,iBAAA,IAAAE,UAAA,CAAA,MAAA,CAAAO,IAAAC,GAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAAb,EAAAT,EAAAU,EAQJC,EAAC,CAACC,KAAI,WAAA,MAAA,kBAAA,IAAAE,UAAA,CAAA,MAAA,EAAA,IAAA,CAAA,IAAAS,EAAAC,EAAAA,EAAAf,OAAAA,EAAAc,EAAA,IAEFxC,EAAAA,EAAO0C,MAAMC,MAAMC,OAAO,CAAC,GAAGC,YAAAA,GAAiB,GAAG,EAAAL,CAAA,GAAA,GAAA,IAAA,CAAA,IAAAM,EAAAC,EAAAA,EAAAC,EAAAF,EAAApC,WAAAuC,EAAAD,EAAAlC,YAAAY,OAAAA,EAAAsB,EAAA,IAGrBhD,EAAAA,EAAO0C,MAAMC,MAAQ,MAAM,EAAAjB,EAAAuB,EAAA,IAC1BjD,EAAAA,EAAO0C,MAAMQ,KAAK,EAAAJ,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA5B,CAAA,EAAAiC,EAAAjC,EAAA,QAGbhB,EAAO,EAAA,EAAAmB,EAAAI,QASN,IAAMpB,EAAe,CAACD,GAAa,EAACsB,EAAAH,EAI/C6B,CAAY,EAAA1B,EAAAF,EAAA,IAS3CzB,EAAMgC,QAAQ,EAAAsB,EAAA,IAAA5C,EAAA6C,UAAAC,OAAA,0BA/DkD,CAACnD,EAAAA,CAAa,CAAA,EAAAG,CAAA,GAAA,CAoEzF,EAEA,SAAS6C,GAAuB,CAC9B,MAAMI,EAAOC,OAAOC,SAASC,SAS7B,MARuC,CACrC,aAAc,YACd,OAAQ,gBACR,YAAa,WACb,gBAAiB,cACjB,WAAY,UACZ,SAAU,OAAA,EAEEH,CAAI,GAAK,WACzB,CAACI,EAAA,CAAA,OAAA,CAAA"} \ No newline at end of file diff --git a/dist/assets/Dashboard-BufY0tf4.js b/dist/assets/Dashboard-BufY0tf4.js deleted file mode 100644 index e74225ddf..000000000 --- a/dist/assets/Dashboard-BufY0tf4.js +++ /dev/null @@ -1,2 +0,0 @@ -import{u as H,i as e,b as v,A as f,m as S,e as j,g as L,s as T,t as a}from"./main-B-KzsHRi.js";import{c as W}from"./service-DriRc7_Z.js";var q=a("

Welcome back, !

Here's what's happening with your projects.

Total Projects
Active
Drafts
Shared

Recent Projects

"),z=a("
📝

No projects yet

Create your first project to start writing collaboratively."),B=a("

"),F=a("

"),G=a("

"),I=a("
"),J=a("
+");const O=()=>{const x=H(),i=W();return(()=>{var h=q(),$=h.firstChild,p=$.firstChild,y=p.firstChild,_=y.nextSibling;_.nextSibling;var u=$.nextSibling,b=u.firstChild,w=b.firstChild,g=b.nextSibling,P=g.firstChild,m=g.nextSibling,A=m.firstChild,D=m.nextSibling,N=D.firstChild,R=u.nextSibling,c=R.firstChild;c.firstChild;var k=c.nextSibling;return e(p,()=>x().user?.name?.split(" ")[0]||"there",_),e(w,()=>i.projects().length),e(P,()=>i.projects().filter(s=>s.status==="active").length),e(A,()=>i.projects().filter(s=>s.status==="draft").length),e(N,()=>i.projects().filter(s=>s.collaborators.length>0).length),e(c,v(f,{href:"/projects/new",class:"freno-btn freno-btn-primary",children:"+ New Project"}),null),e(k,(()=>{var s=S(()=>i.projects().length===0);return()=>s()?(()=>{var r=z(),t=r.firstChild,l=t.nextSibling;return l.nextSibling,e(r,v(f,{href:"/projects/new",class:"freno-btn freno-btn-primary",children:"Create Project"}),null),r})():i.projects().slice(0,6).map(r=>v(f,{get href(){return`/projects/${r.id}`},class:"freno-project-card",get children(){return[(()=>{var t=B(),l=t.firstChild,o=l.nextSibling;return e(l,()=>r.name),e(o,()=>r.status),j(()=>L(o,`freno-badge freno-badge-${r.status}`)),t})(),(()=>{var t=F();return e(t,()=>r.description),t})(),(()=>{var t=G(),l=t.firstChild,o=l.nextSibling;return e(l,()=>r.collaborators.slice(0,3).map((C,n)=>(()=>{var d=I();return e(d,()=>String.fromCharCode(65+n)),j(E=>T(d,`--i: ${n}`,E)),d})()),null),e(l,(()=>{var C=S(()=>r.collaborators.length>3);return()=>C()&&(()=>{var n=J();return n.firstChild,e(n,()=>r.collaborators.length-3,null),n})()})(),null),e(o,()=>new Date(r.updatedAt).toLocaleDateString()),t})()]}}))})()),h})()};export{O as Dashboard}; -//# sourceMappingURL=Dashboard-BufY0tf4.js.map diff --git a/dist/assets/Dashboard-BufY0tf4.js.map b/dist/assets/Dashboard-BufY0tf4.js.map deleted file mode 100644 index a1e918ab3..000000000 --- a/dist/assets/Dashboard-BufY0tf4.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Dashboard-BufY0tf4.js","sources":["../../src/components/dashboard/Dashboard.tsx"],"sourcesContent":["import { Component } from 'solid-js';\nimport { A } from '@solidjs/router';\nimport { useAuth } from '../../lib/auth';\nimport { createProjectService } from '../../lib/projects/service';\n\nexport const Dashboard: Component = () => {\n const auth = useAuth();\n const projectService = createProjectService();\n\n return (\n
\n
\n

Welcome back, {auth().user?.name?.split(' ')[0] || 'there'}!

\n

Here's what's happening with your projects.

\n
\n\n
\n
\n
{projectService.projects().length}
\n
Total Projects
\n
\n
\n
\n {projectService.projects().filter((p) => p.status === 'active').length}\n
\n
Active
\n
\n
\n
\n {projectService.projects().filter((p) => p.status === 'draft').length}\n
\n
Drafts
\n
\n
\n
\n {projectService.projects().filter((p) => p.collaborators.length > 0).length}\n
\n
Shared
\n
\n
\n\n
\n
\n

Recent Projects

\n \n + New Project\n \n
\n\n
\n {projectService.projects().length === 0 ? (\n
\n
📝
\n

No projects yet

\n

Create your first project to start writing collaboratively.

\n \n Create Project\n \n
\n ) : (\n projectService.projects().slice(0, 6).map((project) => (\n \n
\n

{project.name}

\n \n {project.status}\n \n
\n

{project.description}

\n
\n
\n {project.collaborators.slice(0, 3).map((_, i) => (\n
\n {String.fromCharCode(65 + i)}\n
\n ))}\n {project.collaborators.length > 3 && (\n
\n +{project.collaborators.length - 3}\n
\n )}\n
\n \n {new Date(project.updatedAt).toLocaleDateString()}\n \n
\n
\n ))\n )}\n
\n
\n
\n );\n};\n"],"names":["Dashboard","auth","useAuth","projectService","createProjectService","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","_el$6","nextSibling","_el$7","_el$8","_el$9","_el$0","_el$1","_el$10","_el$11","_el$12","_el$13","_el$14","_el$15","_el$17","_$insert","user","name","split","projects","length","filter","p","status","collaborators","_$createComponent","A","href","children","_c$","_$memo","_el$18","_tmpl$2","_el$19","_el$20","slice","map","project","id","_el$22","_tmpl$3","_el$23","_el$24","_$effect","_$className","_el$25","_tmpl$4","description","_el$26","_tmpl$5","_el$27","_el$28","_","i","_el$29","_tmpl$6","String","fromCharCode","_$style","_$p","_c$2","_el$30","_tmpl$7","Date","updatedAt","toLocaleDateString"],"mappings":"gyCAKO,MAAMA,EAAuBA,IAAM,CACxC,MAAMC,EAAOC,EAAAA,EACPC,EAAiBC,EAAAA,EAEvB,OAAA,IAAA,CAAA,IAAAC,EAAAC,EAAAA,EAAAC,EAAAF,EAAAG,WAAAC,EAAAF,EAAAC,WAAAE,EAAAD,EAAAD,WAAAG,EAAAD,EAAAE,YAAAD,EAAAC,YAAAA,IAAAC,EAAAN,EAAAK,YAAAE,EAAAD,EAAAL,WAAAO,EAAAD,EAAAN,WAAAQ,EAAAF,EAAAF,YAAAK,EAAAD,EAAAR,WAAAU,EAAAF,EAAAJ,YAAAO,EAAAD,EAAAV,WAAAY,EAAAF,EAAAN,YAAAS,EAAAD,EAAAZ,WAAAc,EAAAT,EAAAD,YAAAW,EAAAD,EAAAd,WAAAe,EAAAf,WAAAA,IAAAgB,EAAAD,EAAAX,YAAAa,OAAAA,EAAAhB,EAAA,IAGyBR,EAAAA,EAAOyB,MAAMC,MAAMC,MAAM,GAAG,EAAE,CAAC,GAAK,QAAOjB,CAAA,EAAAc,EAAAV,EAAA,IAM7BZ,EAAe0B,SAAAA,EAAWC,MAAM,EAAAL,EAAAR,EAAA,IAK5Dd,EAAe0B,SAAAA,EAAWE,OAAQC,GAAMA,EAAEC,SAAW,QAAQ,EAAEH,MAAM,EAAAL,EAAAN,EAAA,IAMrEhB,EAAe0B,SAAAA,EAAWE,OAAQC,GAAMA,EAAEC,SAAW,OAAO,EAAEH,MAAM,EAAAL,EAAAJ,EAAA,IAMpElB,EAAe0B,SAAAA,EAAWE,OAAQC,GAAMA,EAAEE,cAAcJ,OAAS,CAAC,EAAEA,MAAM,EAAAL,EAAAF,EAAAY,EAS5EC,EAAC,CAACC,KAAI,gBAAA,MAAA,8BAAAC,SAAA,eAAA,CAAA,EAAA,IAAA,EAAAb,EAAAD,GAAA,IAAA,CAAA,IAAAe,EAAAC,EAAA,IAMNrC,EAAe0B,SAAAA,EAAWC,SAAW,CAAC,EAAA,MAAA,IAAtCS,EAAAA,GAAA,IAAA,CAAA,IAAAE,EAAAC,IAAAC,EAAAF,EAAAjC,WAAAoC,EAAAD,EAAA/B,YAAAgC,OAAAA,EAAAhC,YAAAa,EAAAgB,EAAAN,EAKIC,EAAC,CAACC,KAAI,gBAAA,MAAA,8BAAAC,SAAA,gBAAA,CAAA,EAAA,IAAA,EAAAG,CAAA,KAKTtC,EAAe0B,SAAAA,EAAWgB,MAAM,EAAG,CAAC,EAAEC,IAAKC,GAAOZ,EAC/CC,EAAC,CAAA,IAACC,MAAI,CAAA,MAAE,aAAaU,EAAQC,EAAE,EAAE,EAAA,MAAA,qBAAA,IAAAV,UAAA,CAAA,MAAA,EAAA,IAAA,CAAA,IAAAW,EAAAC,EAAAA,EAAAC,EAAAF,EAAAzC,WAAA4C,EAAAD,EAAAvC,YAAAa,OAAAA,EAAA0B,EAAA,IAEzBJ,EAAQpB,IAAI,EAAAF,EAAA2B,EAAA,IAEdL,EAAQd,MAAM,EAAAoB,EAAA,IAAAC,EAAAF,EADJ,2BAA2BL,EAAQd,MAAM,EAAE,CAAA,EAAAgB,CAAA,GAAA,GAAA,IAAA,CAAA,IAAAM,EAAAC,EAAAA,EAAA/B,OAAAA,EAAA8B,EAAA,IAItBR,EAAQU,WAAW,EAAAF,CAAA,GAAA,GAAA,IAAA,CAAA,IAAAG,EAAAC,EAAAA,EAAAC,EAAAF,EAAAlD,WAAAqD,EAAAD,EAAAhD,YAAAa,OAAAA,EAAAmC,EAAA,IAGlDb,EAAQb,cAAcW,MAAM,EAAG,CAAC,EAAEC,IAAI,CAACgB,EAAGC,KAAC,IAAA,CAAA,IAAAC,EAAAC,EAAAA,EAAAxC,OAAAA,EAAAuC,EAAA,IAEvCE,OAAOC,aAAa,GAAKJ,CAAC,CAAC,EAAAV,KAAAe,EAAAJ,EADS,QAAQD,CAAC,GAAEM,CAAA,CAAA,EAAAL,CAAA,GAAA,CAGnD,EAAC,IAAA,EAAAvC,EAAAmC,GAAA,IAAA,CAAA,IAAAU,EAAA9B,EAAA,IACDO,EAAQb,cAAcJ,OAAS,CAAC,EAAA,MAAA,IAAhCwC,EAAAA,IAAA,IAAA,CAAA,IAAAC,EAAAC,IAAAD,OAAAA,EAAA/D,WAAAiB,EAAA8C,EAAA,IAEKxB,EAAQb,cAAcJ,OAAS,EAAC,IAAA,EAAAyC,CAAA,GAAA,CAErC,GAAA,EAAA,IAAA,EAAA9C,EAAAoC,EAAA,IAGA,IAAIY,KAAK1B,EAAQ2B,SAAS,EAAEC,oBAAoB,EAAAjB,CAAA,IAAA,CAAA,CAAA,CAAA,CAIxD,CACF,IAAA,EAAArD,CAAA,GAAA,CAKX"} \ No newline at end of file diff --git a/dist/assets/KPIDashboard-Cq888Xkl.js b/dist/assets/KPIDashboard-Cq888Xkl.js deleted file mode 100644 index 5985c1d48..000000000 --- a/dist/assets/KPIDashboard-Cq888Xkl.js +++ /dev/null @@ -1,2 +0,0 @@ -import{i as f,t as x,e as ae,c as pe,b as Q,S as $,f as fe}from"./main-B-KzsHRi.js";var ge=x('

Product KPIs

Mixpanel-powered product analytics

Open Mixpanel ↗

About Mixpanel Integration

Product KPIs are powered by Mixpanel analytics. Once the Mixpanel SDK is integrated and events are flowing, these metrics will populate automatically.

  • Track user signups, project creation, feature usage
  • Set up funnels for conversion analysis
  • Monitor retention and engagement cohorts'),he=x('
    Pending
    —
    Target: ');const ye=[{key:"mau",label:"Monthly Active Users",target:"Growth MoM",unit:"users"},{key:"paying_users",label:"Paying Users",target:"50K by EOY",unit:"users"},{key:"conversion_rate",label:"Conversion Rate",target:">3%",unit:"%"},{key:"nps",label:"Net Promoter Score",target:">60",unit:"pts"},{key:"viral_coefficient",label:"Viral Coefficient",target:">0.5",unit:""}],be=()=>(()=>{var t=ge(),e=t.firstChild,r=e.nextSibling;return f(r,()=>ye.map(i=>(()=>{var u=he(),l=u.firstChild,p=l.firstChild,c=l.nextSibling,d=c.nextSibling;return d.firstChild,f(p,()=>i.label),f(d,()=>i.target,null),u})())),t})();var _e=x('

    Acquisition KPIs

    GA4-powered web analytics

    Open GA4 ↗

    About GA4 Integration

    Acquisition KPIs are powered by Google Analytics 4. Once GA4 is configured with enhanced e-commerce tracking, these metrics will populate automatically.

    • Track traffic sources and channel attribution
    • Monitor CAC across marketing channels
    • Analyze landing page conversion funnels'),Se=x('
      Pending
      —
      Target: ');const ve=[{key:"cac",label:"Customer Acquisition Cost",target:"<$15",unit:"USD"},{key:"traffic_sources",label:"Traffic by Source",target:"Diversified",unit:"%"},{key:"signup_rate",label:"Signup Conversion Rate",target:">5%",unit:"%"},{key:"channel_breakdown",label:"Channel Performance",target:"All channels",unit:""}],Ne=()=>(()=>{var t=_e(),e=t.firstChild,r=e.nextSibling;return f(r,()=>ve.map(i=>(()=>{var u=Se(),l=u.firstChild,p=l.firstChild,c=l.nextSibling,d=c.nextSibling;return d.firstChild,f(p,()=>i.label),f(d,()=>i.target,null),u})())),t})();var we=x('

      Revenue KPIs

      Stripe-powered revenue analytics

      Open Stripe ↗

      About Stripe Integration

      Revenue KPIs are powered by Stripe. Once Stripe webhooks are configured and subscription events are flowing, these metrics will populate automatically.

      • Track MRR, ARPU, and subscription changes
      • Monitor churn with automated alerts
      • Analyze LTV with cohort analysis'),Ie=x('
        Pending
        —
        Target: ');const xe=[{key:"mrr",label:"Monthly Recurring Revenue",target:"$550K by EOY",unit:"USD"},{key:"churn_rate",label:"Monthly Churn Rate",target:"<3%",unit:"%"},{key:"ltv",label:"Customer Lifetime Value",target:">$120",unit:"USD"},{key:"arpu",label:"Avg Revenue Per User",target:"Growing",unit:"USD"},{key:"upgrades",label:"Plan Upgrades",target:">10% MoM",unit:"%"}],Le=()=>(()=>{var t=we(),e=t.firstChild,r=e.nextSibling;return f(r,()=>xe.map(i=>(()=>{var u=Ie(),l=u.firstChild,p=l.firstChild,c=l.nextSibling,d=c.nextSibling;return d.firstChild,f(p,()=>i.label),f(d,()=>i.target,null),u})())),t})(),o=Symbol.for("drizzle:entityKind");function S(t,e){if(!t||typeof t!="object")return!1;if(t instanceof e)return!0;if(!Object.prototype.hasOwnProperty.call(e,o))throw new Error(`Class "${e.name??""}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(t).constructor;if(r)for(;r;){if(o in r&&r[o]===e[o])return!0;r=Object.getPrototypeOf(r)}return!1}class G{constructor(e,r){this.table=e,this.config=r,this.name=r.name,this.keyAsName=r.keyAsName,this.notNull=r.notNull,this.default=r.default,this.defaultFn=r.defaultFn,this.onUpdateFn=r.onUpdateFn,this.hasDefault=r.hasDefault,this.primary=r.primaryKey,this.isUnique=r.isUnique,this.uniqueName=r.uniqueName,this.uniqueType=r.uniqueType,this.dataType=r.dataType,this.columnType=r.columnType,this.generated=r.generated,this.generatedIdentity=r.generatedIdentity}static[o]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class Qe{static[o]="ColumnBuilder";config;constructor(e,r,i){this.config={name:e,keyAsName:e==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:r,columnType:i,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){this.config.name===""&&(this.config.name=e)}}const D=Symbol.for("drizzle:Name"),Z=Symbol.for("drizzle:isPgEnum");function Be(t){return!!t&&typeof t=="function"&&Z in t&&t[Z]===!0}class se{static[o]="Subquery";constructor(e,r,i,u=!1,l=[]){this._={brand:"Subquery",sql:e,selectedFields:r,alias:i,isWith:u,usedTables:l}}}const De={startActiveSpan(t,e){return e()}},A=Symbol.for("drizzle:ViewBaseConfig"),U=Symbol.for("drizzle:Schema"),ee=Symbol.for("drizzle:Columns"),te=Symbol.for("drizzle:ExtraConfigColumns"),V=Symbol.for("drizzle:OriginalName"),j=Symbol.for("drizzle:BaseName"),P=Symbol.for("drizzle:IsAlias"),re=Symbol.for("drizzle:ExtraConfigBuilder"),Ae=Symbol.for("drizzle:IsDrizzleTable");class _{static[o]="Table";static Symbol={Name:D,Schema:U,OriginalName:V,Columns:ee,ExtraConfigColumns:te,BaseName:j,IsAlias:P,ExtraConfigBuilder:re};[D];[V];[U];[ee];[te];[j];[P]=!1;[Ae]=!0;[re]=void 0;constructor(e,r,i){this[D]=this[V]=e,this[U]=r,this[j]=i}}function Te(t){return t!=null&&typeof t.getSQL=="function"}function Ce(t){const e={sql:"",params:[]};for(const r of t)e.sql+=r.sql,e.params.push(...r.params),r.typings?.length&&(e.typings||(e.typings=[]),e.typings.push(...r.typings));return e}class v{static[o]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new b([this])}}class b{constructor(e){this.queryChunks=e;for(const r of e)if(S(r,_)){const i=r[_.Symbol.Schema];this.usedTables.push(i===void 0?r[_.Symbol.Name]:i+"."+r[_.Symbol.Name])}}static[o]="SQL";decoder=oe;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return De.startActiveSpan("drizzle.buildSQL",r=>{const i=this.buildQueryFromSourceParams(this.queryChunks,e);return r?.setAttributes({"drizzle.query.text":i.sql,"drizzle.query.params":JSON.stringify(i.params)}),i})}buildQueryFromSourceParams(e,r){const i=Object.assign({},r,{inlineParams:r.inlineParams||this.shouldInlineParams,paramStartIndex:r.paramStartIndex||{value:0}}),{casing:u,escapeName:l,escapeParam:p,prepareTyping:c,inlineParams:d,paramStartIndex:y}=i;return Ce(e.map(s=>{if(S(s,v))return{sql:s.value.join(""),params:[]};if(S(s,O))return{sql:l(s.value),params:[]};if(s===void 0)return{sql:"",params:[]};if(Array.isArray(s)){const m=[new v("(")];for(const[g,K]of s.entries())m.push(K),gt},le={mapToDriverValue:t=>t};({...oe,...le});class ue{constructor(e,r=le){this.value=e,this.encoder=r}static[o]="Param";brand;getSQL(){return new b([this])}}function R(t,...e){const r=[];(e.length>0||t.length>0&&t[0]!=="")&&r.push(new v(t[0]));for(const[i,u]of e.entries())r.push(u,new v(t[i+1]));return new b(r)}(t=>{function e(){return new b([])}t.empty=e;function r(d){return new b(d)}t.fromList=r;function i(d){return new b([new v(d)])}t.raw=i;function u(d,y){const s=[];for(const[m,g]of d.entries())m>0&&y!==void 0&&s.push(y),s.push(g);return new b(s)}t.join=u;function l(d){return new O(d)}t.identifier=l;function p(d){return new E(d)}t.placeholder=p;function c(d,y){return new ue(d,y)}t.param=c})(R||(R={}));(t=>{class e{constructor(i,u){this.sql=i,this.fieldAlias=u}static[o]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new e(this.sql,this.fieldAlias)}}t.Aliased=e})(b||(b={}));class E{constructor(e){this.name=e}static[o]="Placeholder";getSQL(){return new b([this])}}const $e=Symbol.for("drizzle:IsDrizzleView");class Pe{static[o]="View";[A];[$e]=!0;constructor({name:e,schema:r,selectedFields:i,query:u}){this[A]={name:e,originalName:e,schema:r,selectedFields:i,query:u,isExisting:!u,isAlias:!1}}getSQL(){return new b([this])}}G.prototype.getSQL=function(){return new b([this])};_.prototype.getSQL=function(){return new b([this])};se.prototype.getSQL=function(){return new b([this])};function C(t,e){return{name:typeof t=="string"&&t.length>0?t:"",config:typeof t=="object"?t:e}}const de=typeof TextDecoder>"u"?null:new TextDecoder;class qe{static[o]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(e,r){this.reference=()=>{const{name:i,columns:u,foreignColumns:l}=e();return{name:i,columns:u,foreignTable:l[0].table,foreignColumns:l}},r&&(this._onUpdate=r.onUpdate,this._onDelete=r.onDelete)}onUpdate(e){return this._onUpdate=e,this}onDelete(e){return this._onDelete=e,this}build(e){return new Ke(e,this)}}class Ke{constructor(e,r){this.table=e,this.reference=r.reference,this.onUpdate=r._onUpdate,this.onDelete=r._onDelete}static[o]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){const{name:e,columns:r,foreignColumns:i}=this.reference(),u=r.map(c=>c.name),l=i.map(c=>c.name),p=[this.table[D],...u,i[0].table[D],...l];return e??`${p.join("_")}_fk`}}function ke(t,e){return`${t[D]}_${e.join("_")}_unique`}class N extends Qe{static[o]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(e,r={}){return this.foreignKeyConfigs.push({ref:e,actions:r}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,r){return this.config.generated={as:e,type:"always",mode:r?.mode??"virtual"},this}buildForeignKeys(e,r){return this.foreignKeyConfigs.map(({ref:i,actions:u})=>((l,p)=>{const c=new qe(()=>{const d=l();return{columns:[e],foreignColumns:[d]}});return p.onUpdate&&c.onUpdate(p.onUpdate),p.onDelete&&c.onDelete(p.onDelete),c.build(r)})(i,u))}}class w extends G{constructor(e,r){r.uniqueName||(r.uniqueName=ke(e,[r.name])),super(e,r),this.table=e}static[o]="SQLiteColumn"}class Fe extends N{static[o]="SQLiteBigIntBuilder";constructor(e){super(e,"bigint","SQLiteBigInt")}build(e){return new ze(e,this.config)}}class ze extends w{static[o]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){const r=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return BigInt(r.toString("utf8"))}return BigInt(de.decode(e))}mapToDriverValue(e){return Buffer.from(e.toString())}}class Ue extends N{static[o]="SQLiteBlobJsonBuilder";constructor(e){super(e,"json","SQLiteBlobJson")}build(e){return new Ve(e,this.config)}}class Ve extends w{static[o]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){const r=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return JSON.parse(r.toString("utf8"))}return JSON.parse(de.decode(e))}mapToDriverValue(e){return Buffer.from(JSON.stringify(e))}}class je extends N{static[o]="SQLiteBlobBufferBuilder";constructor(e){super(e,"buffer","SQLiteBlobBuffer")}build(e){return new Oe(e,this.config)}}class Oe extends w{static[o]="SQLiteBlobBuffer";mapFromDriverValue(e){return Buffer.isBuffer(e)?e:Buffer.from(e)}getSQLType(){return"blob"}}function Re(t,e){const{name:r,config:i}=C(t,e);return i?.mode==="json"?new Ue(r):i?.mode==="bigint"?new Fe(r):new je(r)}class Ee extends N{static[o]="SQLiteCustomColumnBuilder";constructor(e,r,i){super(e,"custom","SQLiteCustomColumn"),this.config.fieldConfig=r,this.config.customTypeParams=i}build(e){return new Me(e,this.config)}}class Me extends w{static[o]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(e,r){super(e,r),this.sqlName=r.customTypeParams.dataType(r.fieldConfig),this.mapTo=r.customTypeParams.toDriver,this.mapFrom=r.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom=="function"?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo=="function"?this.mapTo(e):e}}function Je(t){return(e,r)=>{const{name:i,config:u}=C(e,r);return new Ee(i,u,t)}}class W extends N{static[o]="SQLiteBaseIntegerBuilder";constructor(e,r,i){super(e,r,i),this.config.autoIncrement=!1}primaryKey(e){return e?.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}class H extends w{static[o]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class Ge extends W{static[o]="SQLiteIntegerBuilder";constructor(e){super(e,"number","SQLiteInteger")}build(e){return new We(e,this.config)}}class We extends H{static[o]="SQLiteInteger"}class He extends W{static[o]="SQLiteTimestampBuilder";constructor(e,r){super(e,"date","SQLiteTimestamp"),this.config.mode=r}defaultNow(){return this.default(R`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(e){return new Ye(e,this.config)}}class Ye extends H{static[o]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(e){return this.config.mode==="timestamp"?new Date(e*1e3):new Date(e)}mapToDriverValue(e){const r=e.getTime();return this.config.mode==="timestamp"?Math.floor(r/1e3):r}}class Xe extends W{static[o]="SQLiteBooleanBuilder";constructor(e,r){super(e,"boolean","SQLiteBoolean"),this.config.mode=r}build(e){return new Ze(e,this.config)}}class Ze extends H{static[o]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(e){return Number(e)===1}mapToDriverValue(e){return e?1:0}}function n(t,e){const{name:r,config:i}=C(t,e);return i?.mode==="timestamp"||i?.mode==="timestamp_ms"?new He(r,i.mode):i?.mode==="boolean"?new Xe(r,i.mode):new Ge(r)}class et extends N{static[o]="SQLiteNumericBuilder";constructor(e){super(e,"string","SQLiteNumeric")}build(e){return new tt(e,this.config)}}class tt extends w{static[o]="SQLiteNumeric";mapFromDriverValue(e){return typeof e=="string"?e:String(e)}getSQLType(){return"numeric"}}class rt extends N{static[o]="SQLiteNumericNumberBuilder";constructor(e){super(e,"number","SQLiteNumericNumber")}build(e){return new nt(e,this.config)}}class nt extends w{static[o]="SQLiteNumericNumber";mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}mapToDriverValue=String;getSQLType(){return"numeric"}}class it extends N{static[o]="SQLiteNumericBigIntBuilder";constructor(e){super(e,"bigint","SQLiteNumericBigInt")}build(e){return new at(e,this.config)}}class at extends w{static[o]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function st(t,e){const{name:r,config:i}=C(t,e),u=i?.mode;return u==="number"?new rt(r):u==="bigint"?new it(r):new et(r)}class ot extends N{static[o]="SQLiteRealBuilder";constructor(e){super(e,"number","SQLiteReal")}build(e){return new lt(e,this.config)}}class lt extends w{static[o]="SQLiteReal";getSQLType(){return"real"}}function T(t){return new ot(t??"")}class ut extends N{static[o]="SQLiteTextBuilder";constructor(e,r){super(e,"string","SQLiteText"),this.config.enumValues=r.enum,this.config.length=r.length}build(e){return new dt(e,this.config)}}class dt extends w{static[o]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(e,r){super(e,r)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class ct extends N{static[o]="SQLiteTextJsonBuilder";constructor(e){super(e,"json","SQLiteTextJson")}build(e){return new mt(e,this.config)}}class mt extends w{static[o]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(e){return JSON.parse(e)}mapToDriverValue(e){return JSON.stringify(e)}}function a(t,e={}){const{name:r,config:i}=C(t,e);return i.mode==="json"?new ct(r):new ut(r,i)}function pt(){return{blob:Re,customType:Je,integer:n,numeric:st,real:T,text:a}}const M=Symbol.for("drizzle:SQLiteInlineForeignKeys");class ne extends _{static[o]="SQLiteTable";static Symbol=Object.assign({},_.Symbol,{InlineForeignKeys:M});[_.Symbol.Columns];[M]=[];[_.Symbol.ExtraConfigBuilder]=void 0}function ft(t,e,r,i,u=t){const l=new ne(t,i,u),p=typeof e=="function"?e(pt()):e,c=Object.fromEntries(Object.entries(p).map(([y,s])=>{const m=s;m.setName(y);const g=m.build(l);return l[M].push(...m.buildForeignKeys(g,l)),[y,g]})),d=Object.assign(l,c);return d[_.Symbol.Columns]=c,d[_.Symbol.ExtraConfigColumns]=c,r&&(d[ne.Symbol.ExtraConfigBuilder]=r),d}const h=(t,e,r)=>ft(t,e,r);class ce{constructor(e,r){this.name=e,this.unique=r}static[o]="SQLiteIndexBuilderOn";on(...e){return new gt(this.name,e,this.unique)}}class gt{static[o]="SQLiteIndexBuilder";config;constructor(e,r,i){this.config={name:e,columns:r,unique:i,where:void 0}}where(e){return this.config.where=e,this}build(e){return new ht(this.config,e)}}class ht{static[o]="SQLiteIndex";config;constructor(e,r){this.config={...e,table:r}}}function I(t){return new ce(t,!1)}function yt(t){return new ce(t,!0)}const L=h("users",{id:n("id").primaryKey({autoIncrement:!0}),email:a("email").notNull().unique(),username:a("username").notNull().unique(),fullName:a("full_name"),avatarUrl:a("avatar_url"),role:a("role",{enum:["admin","editor","viewer"]}).notNull().default("viewer"),isActive:n("is_active",{mode:"boolean"}).notNull().default(!0),lastLoginAt:n("last_login_at",{mode:"timestamp"}),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date),updatedAt:n("updated_at",{mode:"timestamp"}).notNull().default(new Date)}),bt=h("teams",{id:a("id").primaryKey(),name:a("name").notNull(),ownerId:n("owner_id").notNull().references(()=>L.id),createdAt:n("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:n("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[I("idx_teams_owner").on(t.ownerId)]);h("team_members",{id:n("id").primaryKey({autoIncrement:!0}),teamId:a("team_id").notNull().references(()=>bt.id,{onDelete:"cascade"}),userId:n("user_id").notNull().references(()=>L.id,{onDelete:"cascade"}),role:a("role",{enum:["owner","admin","editor","viewer"]}).notNull().default("editor"),joinedAt:n("joined_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>({uniqueTeamUser:I("team_members_team_user_unique").on(t.teamId,t.userId),userIdx:I("idx_team_members_user").on(t.userId)}));const q=h("projects",{id:n("id").primaryKey({autoIncrement:!0}),name:a("name").notNull(),description:a("description"),ownerId:n("owner_id").notNull().references(()=>L.id),isPublic:n("is_public",{mode:"boolean"}).notNull().default(!1),theme:a("theme"),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date),updatedAt:n("updated_at",{mode:"timestamp"}).notNull().default(new Date)});h("project_members",{id:n("id").primaryKey({autoIncrement:!0}),projectId:n("project_id").notNull().references(()=>q.id,{onDelete:"cascade"}),userId:n("user_id").notNull().references(()=>L.id,{onDelete:"cascade"}),role:a("role",{enum:["owner","admin","editor","viewer"]}).notNull().default("editor"),addedAt:n("added_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>({uniqueProjectUser:I("project_members_project_user_unique").on(t.projectId,t.userId),userIdx:I("idx_project_members_user").on(t.userId)}));const _t=h("scripts",{id:n("id").primaryKey({autoIncrement:!0}),projectId:n("project_id").notNull().references(()=>q.id),title:a("title").notNull(),slug:a("slug").notNull(),genre:a("genre"),logline:a("logline"),status:a("status",{enum:["draft","revision","final","published"]}).notNull().default("draft"),currentVersion:n("current_version").notNull().default(1),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date),updatedAt:n("updated_at",{mode:"timestamp"}).notNull().default(new Date)}),J=h("characters",{id:n("id").primaryKey({autoIncrement:!0}),projectId:n("project_id").notNull().references(()=>q.id),name:a("name").notNull(),slug:a("slug").notNull(),role:a("role",{enum:["protagonist","antagonist","supporting","background","ensemble"]}).notNull().default("supporting"),bio:a("bio"),description:a("description"),arc:a("arc"),arcType:a("arc_type",{enum:["positive","negative","flat","complex"]}),age:n("age"),gender:a("gender"),voice:a("voice"),traits:a("traits"),motivation:a("motivation"),conflict:a("conflict"),secret:a("secret"),imageUrl:a("image_url"),createdAt:n("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:n("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date)});h("character_relationships",{id:n("id").primaryKey({autoIncrement:!0}),characterIdA:n("character_a_id").notNull().references(()=>J.id),characterIdB:n("character_b_id").notNull().references(()=>J.id),relationshipType:a("relationship_type",{enum:["family","romantic","friendship","rivalry","mentor","alliance","conflict","professional","other"]}).notNull(),description:a("description"),strength:n("strength").notNull().default(50),isAntagonistic:n("is_antagonistic",{mode:"boolean"}).notNull().default(!1),createdAt:n("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:n("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date)},t=>({uniquePair:yt("character_relationships_unique_pair").on(t.characterIdA,t.characterIdB)}));const St=h("scenes",{id:n("id").primaryKey({autoIncrement:!0}),projectId:n("project_id").notNull().references(()=>q.id),title:a("title").notNull(),content:a("content").notNull().default(""),order:n("order").notNull().default(0),createdAt:n("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:n("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date)});h("scene_characters",{id:n("id").primaryKey({autoIncrement:!0}),sceneId:n("scene_id").notNull().references(()=>St.id),characterId:n("character_id").notNull().references(()=>J.id),screenTime:n("screen_time"),dialogueLines:n("dialogue_lines").default(0)});const vt=h("revisions",{id:n("id").primaryKey({autoIncrement:!0}),scriptId:n("script_id").notNull().references(()=>_t.id),versionNumber:n("version_number").notNull(),branchName:a("branch_name").notNull().default("main"),parentRevisionId:n("parent_revision_id"),title:a("title").notNull(),summary:a("summary"),content:a("content").notNull(),authorId:n("author_id").notNull().references(()=>L.id),status:a("status",{enum:["draft","pending_review","accepted","rejected"]}).notNull().default("draft"),reviewedById:n("reviewed_by_id").references(()=>L.id),reviewedAt:n("reviewed_at",{mode:"timestamp"}),createdAt:n("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:n("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>({scriptVersionIdx:I("revisions_script_version_idx").on(t.scriptId,t.versionNumber),scriptBranchIdx:I("revisions_script_branch_idx").on(t.scriptId,t.branchName),authorIdx:I("revisions_author_idx").on(t.authorId)}));h("revision_changes",{id:n("id").primaryKey({autoIncrement:!0}),revisionId:n("revision_id").notNull().references(()=>vt.id),changeType:a("change_type",{enum:["addition","deletion","modification"]}).notNull(),elementType:a("element_type"),oldContent:a("old_content"),newContent:a("new_content"),sceneNumber:n("scene_number"),lineNumber:n("line_number"),pageNumber:n("page_number"),createdAt:n("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>({revisionIdx:I("revision_changes_revision_idx").on(t.revisionId),changeTypeIdx:I("revision_changes_type_idx").on(t.changeType)}));h("kpi_snapshots",{id:n("id").primaryKey({autoIncrement:!0}),kpiKey:a("kpi_key").notNull(),kpiValue:T("kpi_value").notNull(),periodStart:n("period_start",{mode:"timestamp"}).notNull(),periodEnd:n("period_end",{mode:"timestamp"}).notNull(),metadata:a("metadata"),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date)});const Nt=h("alert_rules",{id:n("id").primaryKey({autoIncrement:!0}),name:a("name").notNull(),kpiKey:a("kpi_key").notNull(),condition:a("condition",{enum:["above","below","equals","increasing","decreasing"]}).notNull(),threshold:T("threshold").notNull(),severity:a("severity",{enum:["low","medium","high","critical"]}).notNull().default("medium"),channelId:a("channel_id"),isActive:n("is_active",{mode:"boolean"}).notNull().default(!0),cooldownMinutes:n("cooldown_minutes").notNull().default(60),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date),updatedAt:n("updated_at",{mode:"timestamp"}).notNull().default(new Date)});h("alerts",{id:n("id").primaryKey({autoIncrement:!0}),ruleId:n("rule_id").notNull().references(()=>Nt.id),kpiKey:a("kpi_key").notNull(),kpiValue:T("kpi_value").notNull(),threshold:T("threshold").notNull(),severity:a("severity",{enum:["low","medium","high","critical"]}).notNull(),message:a("message").notNull(),wasSent:n("was_sent",{mode:"boolean"}).notNull().default(!1),sentAt:n("sent_at",{mode:"timestamp"}),acknowledgedBy:n("acknowledged_by").references(()=>L.id),acknowledgedAt:n("acknowledged_at",{mode:"timestamp"}),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date)});h("scheduled_reports",{id:n("id").primaryKey({autoIncrement:!0}),name:a("name").notNull(),reportType:a("report_type",{enum:["weekly_kpi","monthly_kpi","cohort_analysis","nps_summary","custom"]}).notNull(),schedule:a("schedule").notNull(),recipients:a("recipients").notNull(),format:a("format",{enum:["slack","email","both"]}).notNull().default("slack"),isActive:n("is_active",{mode:"boolean"}).notNull().default(!0),lastRunAt:n("last_run_at",{mode:"timestamp"}),nextRunAt:n("next_run_at",{mode:"timestamp"}),metadata:a("metadata"),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date),updatedAt:n("updated_at",{mode:"timestamp"}).notNull().default(new Date)});h("nps_responses",{id:n("id").primaryKey({autoIncrement:!0}),userId:n("user_id").references(()=>L.id),score:n("score").notNull(),category:a("category",{enum:["detractor","passive","promoter"]}).notNull(),feedback:a("feedback"),surveyId:a("survey_id"),respondentEmail:a("respondent_email"),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date)});const wt=h("cohorts",{id:n("id").primaryKey({autoIncrement:!0}),name:a("name").notNull(),definition:a("definition").notNull(),periodStart:n("period_start",{mode:"timestamp"}).notNull(),periodEnd:n("period_end",{mode:"timestamp"}),size:n("size").notNull().default(0),retentionData:a("retention_data"),metadata:a("metadata"),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date),updatedAt:n("updated_at",{mode:"timestamp"}).notNull().default(new Date)});h("cohort_members",{id:n("id").primaryKey({autoIncrement:!0}),cohortId:n("cohort_id").notNull().references(()=>wt.id),userId:n("user_id").notNull().references(()=>L.id),joinedAt:n("joined_at",{mode:"timestamp"}).notNull().default(new Date)});const It=h("waitlist_signups",{id:n("id").primaryKey({autoIncrement:!0}),email:a("email").notNull().unique(),name:a("name"),source:a("source").notNull().default("organic"),status:a("status").notNull().default("waitlist"),metadata:a("metadata"),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date),updatedAt:n("updated_at",{mode:"timestamp"}).notNull().default(new Date)});h("waitlist_events",{id:n("id").primaryKey({autoIncrement:!0}),signupId:n("signup_id").notNull().references(()=>It.id),eventType:a("event_type").notNull(),eventData:a("event_data"),createdAt:n("created_at",{mode:"timestamp"}).notNull().default(new Date)});const xt={mau:{warning:1e3,critical:500,direction:"higher"},paying_users:{warning:100,critical:50,direction:"higher"},mrr:{warning:5e3,critical:2e3,direction:"higher"},conversion_rate:{warning:2,critical:1,direction:"higher"},churn_rate:{warning:5,critical:3,direction:"lower"},cac:{warning:12,critical:15,direction:"lower"},ltv:{warning:100,critical:80,direction:"higher"},nps:{warning:40,critical:20,direction:"higher"},viral_coefficient:{warning:.3,critical:.1,direction:"higher"}};var Lt=x('

        Unified KPI Report

        Cross-tool KPI summary template

        KPI Thresholds Reference

        All tracked KPIs with their target thresholds and alert levels. This template is designed for weekly/monthly reporting across all analytics tools.

        KPICategoryWarning ThresholdCritical ThresholdDirection

        Reporting Schedule

        • Weekly Report: Auto-generated every Monday at 9:00 AM
        • Monthly Report: Auto-generated on the 1st of each month
        • Alert Thresholds: Real-time notifications via Slack when KPIs breach warning/critical levels

        External Dashboards

        • Mixpanel — Product analytics (MAU, retention, funnels, viral coefficient)
        • Google Analytics 4 — Web analytics (traffic sources, CAC tracking)
        • Stripe — Revenue tracking (MRR, churn, LTV)'),Qt=x("");const Bt=()=>{const t=Object.entries(xt);return(()=>{var e=Lt(),r=e.firstChild,i=r.nextSibling,u=i.firstChild,l=u.nextSibling,p=l.firstChild,c=p.nextSibling;return f(c,()=>t.map(([d,y])=>(()=>{var s=Qt(),m=s.firstChild,g=m.nextSibling,K=g.firstChild,k=g.nextSibling,F=k.nextSibling,me=F.nextSibling,z=me.firstChild;return f(m,()=>d.replace(/_/g," ").replace(/\b\w/g,B=>B.toUpperCase())),f(K,()=>Dt(d)),f(k,()=>y.warning,null),f(k,()=>ie(d),null),f(F,()=>y.critical,null),f(F,()=>ie(d),null),f(z,()=>y.direction==="higher"?"↑ Higher is better":"↓ Lower is better"),ae(B=>{var Y=y.direction==="higher",X=y.direction==="lower";return Y!==B.e&&z.classList.toggle("freno-text-success",B.e=Y),X!==B.t&&z.classList.toggle("freno-text-error",B.t=X),B},{e:void 0,t:void 0}),s})())),e})()};function Dt(t){const e=["mau","paying_users","conversion_rate","nps","viral_coefficient"],r=["cac"],i=["mrr","churn_rate","ltv"];return e.includes(t)?"Product":r.includes(t)?"Acquisition":i.includes(t)?"Revenue":"Other"}function ie(t){return{cac:" USD",mrr:" USD",ltv:" USD",churn_rate:"%",conversion_rate:"%",mau:"",paying_users:"",nps:" pts",viral_coefficient:""}[t]||""}var At=x("

          KPI Dashboard

          Real-time metrics across product, acquisition, and revenue

          "),Tt=x("\n ))}\n
          \n\n
          \n \n \n \n \n \n \n \n \n \n \n \n \n
          \n
          \n );\n};\n"],"names":["PRODUCT_KPIS","key","label","target","unit","MixpanelPanel","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_$insert","map","_el$4","_tmpl$2","_el$5","_el$6","_el$7","_el$8","kpi","ACQUISITION_KPIS","GA4Panel","REVENUE_KPIS","StripePanel","entityKind","is","value","type","cls","Column","table","config","ColumnBuilder","name","dataType","columnType","fn","TableName","isPgEnumSym","isPgEnum","obj","Subquery","sql","fields","alias","isWith","usedTables","tracer","ViewBaseConfig","Schema","Columns","ExtraConfigColumns","OriginalName","BaseName","IsAlias","ExtraConfigBuilder","IsDrizzleTable","Table","schema","baseName","isSQLWrapper","mergeQueries","queries","result","query","StringChunk","SQL","queryChunks","chunk","schemaName","noopDecoder","span","chunks","_config","casing","escapeName","escapeParam","prepareTyping","inlineParams","paramStartIndex","Name","i","p","tableName","columnName","View","viewName","Param","Placeholder","mappedValue","typings","escapeString","mappedValueAsString","decoder","condition","noopEncoder","encoder","strings","params","paramIndex","param2","sql2","empty","fromList","list","raw","str","join","separator","identifier","placeholder2","name2","SQL2","Aliased","fieldAlias","IsDrizzleView","selectedFields","getColumnNameAndConfig","a","b","textDecoder","ForeignKeyBuilder","actions","columns","foreignColumns","action","ForeignKey","builder","columnNames","column","foreignColumnNames","uniqueKeyName","SQLiteColumnBuilder","ref","as","ref2","actions2","foreignColumn","SQLiteColumn","SQLiteBigIntBuilder","SQLiteBigInt","buf","SQLiteBlobJsonBuilder","SQLiteBlobJson","SQLiteBlobBufferBuilder","SQLiteBlobBuffer","blob","SQLiteCustomColumnBuilder","fieldConfig","customTypeParams","SQLiteCustomColumn","customType","SQLiteBaseIntegerBuilder","SQLiteBaseInteger","SQLiteIntegerBuilder","SQLiteInteger","SQLiteTimestampBuilder","mode","SQLiteTimestamp","unix","SQLiteBooleanBuilder","SQLiteBoolean","integer","SQLiteNumericBuilder","SQLiteNumeric","SQLiteNumericNumberBuilder","SQLiteNumericNumber","SQLiteNumericBigIntBuilder","SQLiteNumericBigInt","numeric","SQLiteRealBuilder","SQLiteReal","real","SQLiteTextBuilder","SQLiteText","SQLiteTextJsonBuilder","SQLiteTextJson","text","getSQLiteColumnBuilders","InlineForeignKeys","SQLiteTable","sqliteTableBase","extraConfig","rawTable","parsedColumns","builtColumns","colBuilderBase","colBuilder","sqliteTable","IndexBuilderOn","unique","IndexBuilder","Index","index","uniqueIndex","users","teams","projects","scripts","characters","scenes","revisions","alertRules","cohorts","waitlistSignups","KPI_THRESHOLDS","UnifiedReport","kpiEntries","Object","entries","thresholds","_el$9","_el$0","_el$1","_el$10","_el$11","_el$12","_el$13","replace","c","toUpperCase","getCategory","warning","getUnit","critical","direction","_$effect","_p$","_v$","_v$2","e","classList","toggle","t","undefined","productKeys","acquisitionKeys","revenueKeys","includes","cac","mrr","ltv","churn_rate","conversion_rate","mau","paying_users","nps","viral_coefficient","TABS","id","icon","KPIDashboard","activeTab","setActiveTab","createSignal","$$click","tab","_$createComponent","Show","when","children","_$delegateEvents"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]} \ No newline at end of file diff --git a/dist/assets/ProjectDetail-BLiJ5iDs.js b/dist/assets/ProjectDetail-BLiJ5iDs.js deleted file mode 100644 index 76f67328b..000000000 --- a/dist/assets/ProjectDetail-BLiJ5iDs.js +++ /dev/null @@ -1,2 +0,0 @@ -import{h as z,j as F,u as G,c as _,i as a,b,A as P,e as g,g as p,S as m,m as h,t as c,f as H}from"./main-B-KzsHRi.js";import{c as J}from"./service-DriRc7_Z.js";var K=c("
          🔍

          Project not found"),M=c("
          "),Q=c("
          /

          "),W=c("
          \n setActiveTab('collaborators')}\n >\n Collaborators ({proj.collaborators.length})\n \n setActiveTab('settings')}\n >\n Settings\n \n
          \n\n \n
          \n

          Description

          \n

          {proj.description || 'No description provided.'}

          \n
          \n
          \n

          Details

          \n
          \n
          Status
          \n
          {proj.status}
          \n
          Created
          \n
          {formatDate(proj.createdAt)}
          \n
          Last Updated
          \n
          {formatDate(proj.updatedAt)}
          \n
          Owner
          \n
          {auth().user?.name}
          \n
          \n
          \n
          \n\n \n
          \n
          \n

          Collaborators

          \n {isOwner() && (\n \n )}\n
          \n\n {showAddCollab() && (\n
          \n setNewUserId(e.target.value)}\n class=\"freno-input\"\n />\n setNewRole(e.target.value as UserRole)}\n class=\"freno-select\"\n >\n \n \n \n \n \n \n
          \n )}\n\n
          \n {proj.collaborators.map((collab) => (\n
          \n {collab.userId}\n {collab.role}\n
          \n ))}\n
          \n
          \n
          \n\n \n
          \n
          \n

          Danger Zone

          \n

          Permanently delete this project and all its data.

          \n {isOwner() && proj.status !== 'archived' && (\n \n )}\n {isOwner() && (\n \n )}\n
          \n
          \n
          \n\n {showDeleteConfirm() && (\n
          setShowDeleteConfirm(false)}>\n
          e.stopPropagation()}>\n

          Delete Project?

          \n

          This action cannot be undone.

          \n
          \n \n \n
          \n
          \n
          \n )}\n \n )}\n \n\n \n
          \n
          🔍
          \n

          Project not found

          \n \n Back to Projects\n \n
          \n
          \n
          \n );\n};\n"],"names":["ProjectDetail","params","useParams","navigate","useNavigate","auth","useAuth","projectService","createProjectService","showDeleteConfirm","setShowDeleteConfirm","createSignal","showAddCollab","setShowAddCollab","newUserId","setNewUserId","newRole","setNewRole","activeTab","setActiveTab","project","projects","find","p","id","isOwner","user","ownerId","handleDelete","deleteProject","handleArchive","archiveProject","handleAddCollaborator","trim","addCollaborator","formatDate","dateStr","Date","toLocaleDateString","weekday","year","month","day","_el$","_tmpl$2","_$insert","_$createComponent","Show","when","keyed","children","proj","_el$5","_tmpl$3","_el$6","firstChild","_el$7","_el$8","_el$9","nextSibling","_el$0","_el$1","A","href","name","_el$10","_tmpl$4","_el$11","_el$12","_el$13","_el$15","_el$16","$$click","collaborators","length","_$effect","_p$","_v$","_v$2","_v$3","e","_$className","t","a","undefined","_el$17","_tmpl$5","_el$18","_el$19","description","_el$20","_tmpl$6","_el$21","_el$22","_el$23","_el$24","_el$25","_el$26","_el$27","_el$28","_el$29","_el$30","_el$31","status","createdAt","updatedAt","_el$32","_tmpl$7","_el$33","_el$35","_c$","_$memo","_el$40","_tmpl$9","_c$2","_el$41","_tmpl$0","_el$42","_el$43","_el$44","_el$45","$$input","target","value","addEventListener","map","_el$46","_tmpl$1","_el$47","_el$48","collab","userId","role","_el$36","_tmpl$8","_el$37","_el$38","_c$3","_el$49","_tmpl$10","_c$4","_el$50","_tmpl$11","_el$51","_tmpl$12","_el$52","_el$53","_el$54","_el$55","_el$56","_el$57","stopPropagation","_el$2","_tmpl$","_el$3","_$delegateEvents"],"mappings":"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"} \ No newline at end of file diff --git a/dist/assets/ProjectForm-BQgT8bX9.js b/dist/assets/ProjectForm-BQgT8bX9.js deleted file mode 100644 index d1ceb5fb0..000000000 --- a/dist/assets/ProjectForm-BQgT8bX9.js +++ /dev/null @@ -1,2 +0,0 @@ -import{u as E,j as N,c as s,i as m,m as w,e as v,t as b,f as D}from"./main-B-KzsHRi.js";import{c as k}from"./service-DriRc7_Z.js";var A=b('

          New Project

          \n
          \n\n {error() && (\n
          {error()}
          \n )}\n\n \n
          \n \n setName(e.target.value)}\n autofocus\n />\n
          \n\n
          \n \n setDescription(e.target.value)}\n rows={4}\n />\n
          \n\n
          \n \n
          \n
          \n
          \n );\n};\n"],"names":["ProjectForm","auth","useAuth","navigate","useNavigate","projectService","createProjectService","name","setName","createSignal","description","setDescription","error","setError","handleSubmit","e","preventDefault","trim","project","createProject","user","id","err","Error","message","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","nextSibling","_el$5","_el$6","_el$7","_el$8","_el$9","_el$0","_el$1","$$click","_$insert","_c$","_$memo","_el$10","_tmpl$2","addEventListener","$$input","target","value","_$effect","_$delegateEvents"],"mappings":"01BAKO,MAAMA,EAA8BA,IAAM,CAC/C,MAAMC,EAAOC,EAAAA,EACPC,EAAWC,EAAAA,EACXC,EAAiBC,EAAAA,EAEjB,CAACC,EAAMC,CAAO,EAAIC,EAAa,EAAE,EACjC,CAACC,EAAaC,CAAc,EAAIF,EAAa,EAAE,EAC/C,CAACG,EAAOC,CAAQ,EAAIJ,EAAa,EAAE,EAEnCK,EAAe,MAAOC,GAAa,CAEvC,GADAA,EAAEC,eAAAA,EACE,CAACT,IAAOU,OAAQ,CAClBJ,EAAS,0BAA0B,EACnC,MACF,CAEA,GAAI,CACF,MAAMK,EAAU,MAAMb,EAAec,cACnCZ,IAAOU,KAAAA,EACPP,EAAAA,EAAcO,KAAAA,EACdhB,EAAAA,EAAOmB,KAAMC,EACf,EACAlB,EAAS,aAAae,EAAQG,EAAE,EAAE,CACpC,OAASC,EAAK,CACZT,EAASS,aAAeC,MAAQD,EAAIE,QAAU,0BAA0B,CAC1E,CACF,EAEA,OAAA,IAAA,CAAA,IAAAC,EAAAC,EAAAA,EAAAC,EAAAF,EAAAG,WAAAC,EAAAF,EAAAC,WAAAE,EAAAD,EAAAE,YAAAC,EAAAL,EAAAI,YAAAE,EAAAD,EAAAJ,WAAAM,EAAAD,EAAAL,WAAAO,EAAAD,EAAAH,YAAAK,EAAAH,EAAAF,YAAAM,EAAAD,EAAAR,WAAAU,EAAAD,EAAAN,YAAAD,OAAAA,EAAAS,QAI6D,IAAMpC,EAAS,WAAW,EAACqC,EAAAf,GAAA,IAAA,CAAA,IAAAgB,EAAAC,EAAA,IAAA,CAAA,CAKnF9B,GAAO,EAAA,MAAA,IAAP6B,EAAAA,IAAA,IAAA,CAAA,IAAAE,EAAAC,EAAAA,EAAAJ,OAAAA,EAAAG,EAC6C/B,CAAK,EAAA+B,CAAA,GAAA,CAClD,GAAA,EAAAX,CAAA,EAAAA,EAAAa,iBAAA,SAEkC/B,CAAY,EAAAqB,EAAAW,QAS/B/B,GAAMP,EAAQO,EAAEgC,OAAOC,KAAK,EAACV,EAAAQ,QAY7B/B,GAAMJ,EAAeI,EAAEgC,OAAOC,KAAK,EAACC,MAAAd,EAAAa,MAbvCzC,EAAAA,CAAM,EAAA0C,MAAAX,EAAAU,MAYNtC,EAAAA,CAAa,EAAAe,CAAA,GAAA,CAchC,EAAEyB,EAAA,CAAA,QAAA,OAAA,CAAA"} \ No newline at end of file diff --git a/dist/assets/ProjectList-ByXstiby.js b/dist/assets/ProjectList-ByXstiby.js deleted file mode 100644 index 43c2e1788..000000000 --- a/dist/assets/ProjectList-ByXstiby.js +++ /dev/null @@ -1,2 +0,0 @@ -import{u as L,c as m,i as t,b as _,A as g,e as p,g as b,m as P,t as o,f as A}from"./main-B-KzsHRi.js";import{c as D}from"./service-DriRc7_Z.js";var N=o('

          Projects

          '),U=o("\n ))}\n
          \n
          \n\n
          \n {filteredProjects().length === 0 ? (\n
          \n
          📁
          \n

          No projects found

          \n

          \n {search() || filter() !== 'all'\n ? 'Try adjusting your search or filters.'\n : 'Create your first project to get started.'}\n

          \n
          \n ) : (\n filteredProjects().map((project) => (\n \n
          \n

          {project.name}

          \n \n {project.status}\n \n
          \n

          {project.description}

          \n
          \n \n {project.collaborators.length} collaborator{project.collaborators.length !== 1 ? 's' : ''}\n \n Updated {formatDate(project.updatedAt)}\n
          \n
          \n ))\n )}\n
          \n
          \n );\n};\n"],"names":["ProjectList","useAuth","projectService","createProjectService","search","setSearch","createSignal","filter","setFilter","filteredProjects","projects","p","status","q","toLowerCase","name","includes","description","formatDate","dateStr","Date","toLocaleDateString","month","day","year","_el$","_tmpl$","_el$2","firstChild","_el$4","nextSibling","_el$5","_el$6","_el$7","_el$8","_$insert","_$createComponent","A","href","children","$$input","e","target","value","map","f","_el$9","_tmpl$2","$$click","charAt","toUpperCase","slice","_$effect","_$className","_c$","_$memo","length","_el$0","_tmpl$3","_el$1","_el$10","_el$11","project","id","_el$12","_tmpl$4","_el$13","_el$14","_el$15","_tmpl$5","_el$16","_tmpl$6","_el$17","_el$18","_el$19","collaborators","updatedAt","_$delegateEvents"],"mappings":"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"} \ No newline at end of file diff --git a/dist/assets/TeamManagement-QZVmDfOZ.js b/dist/assets/TeamManagement-QZVmDfOZ.js deleted file mode 100644 index cae023521..000000000 --- a/dist/assets/TeamManagement-QZVmDfOZ.js +++ /dev/null @@ -1,2 +0,0 @@ -import{u as A,c as o,i as r,b as N,A as I,m as E,e as M,t as n,f as O}from"./main-B-KzsHRi.js";var L=n('

          Teams

          \n
          \n\n
          \n {teams().map((team) => (\n \n
          👥
          \n

          {team.name}

          \n

          {team.members.length} member{team.members.length !== 1 ? 's' : ''}

          \n \n Created {new Date(team.createdAt).toLocaleDateString()}\n \n
          \n ))}\n\n \n
          \n\n {showCreateDialog() && (\n
          setShowCreateDialog(false)}>\n
          e.stopPropagation()}>\n
          \n

          Create New Team

          \n \n
          \n {\n e.preventDefault();\n if (newTeamName().trim()) {\n setShowCreateDialog(false);\n setNewTeamName('');\n }\n }}>\n
          \n \n setNewTeamName(e.target.value)}\n autofocus\n />\n
          \n
          \n \n \n
          \n \n
          \n
          \n )}\n
          \n );\n};\n"],"names":["TeamManagement","auth","useAuth","teams","createSignal","id","name","members","userId","user","role","joinedAt","Date","toISOString","createdAt","updatedAt","showCreateDialog","setShowCreateDialog","newTeamName","setNewTeamName","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","nextSibling","_el$5","_el$6","$$click","_$insert","map","team","_$createComponent","A","href","children","_tmpl$2","_el$8","_tmpl$3","_el$9","_tmpl$4","_el$0","length","_el$1","_tmpl$5","toLocaleDateString","_c$","_$memo","_el$11","_tmpl$6","_el$12","_el$13","_el$14","_el$15","_el$16","_el$17","_el$18","_el$19","_el$20","_el$21","_el$22","e","stopPropagation","addEventListener","preventDefault","trim","$$input","target","value","_$effect","_$delegateEvents"],"mappings":"wgCAKO,MAAMA,EAAiCA,IAAM,CAClD,MAAMC,EAAOC,EAAAA,EACP,CAACC,CAAK,EAAIC,EAAqB,CACnC,CACEC,GAAI,eACJC,KAAM,eACNC,QAAS,CACP,CAAEC,OAAQP,EAAAA,EAAOQ,MAAMJ,IAAM,GAAIK,KAAM,QAASC,SAAU,IAAIC,KAAAA,EAAOC,YAAAA,CAAY,CAAG,EAEtFC,UAAW,IAAIF,KAAAA,EAAOC,YAAAA,EACtBE,UAAW,IAAIH,KAAAA,EAAOC,YAAAA,CAAY,CACnC,CACF,EACK,CAACG,EAAkBC,CAAmB,EAAIb,EAAa,EAAK,EAC5D,CAACc,EAAaC,CAAc,EAAIf,EAAa,EAAE,EAErD,OAAA,IAAA,CAAA,IAAAgB,EAAAC,IAAAC,EAAAF,EAAAG,WAAAC,EAAAF,EAAAC,WAAAE,EAAAD,EAAAE,YAAAC,EAAAL,EAAAI,YAAAE,EAAAD,EAAAJ,WAAAE,OAAAA,EAAAI,QAMiB,IAAMZ,EAAoB,EAAI,EAACa,EAAAH,EAAA,IAOzCxB,EAAAA,EAAQ4B,IAAKC,GAAIC,EACfC,EAAC,CAAA,IAACC,MAAI,CAAA,MAAE,UAAUH,EAAK3B,EAAE,EAAE,EAAA,MAAA,kBAAA,IAAA+B,UAAA,CAAA,MAAA,CAAAC,EAAAA,GAAA,IAAA,CAAA,IAAAC,EAAAC,EAAAA,EAAAT,OAAAA,EAAAQ,EAAA,IAErBN,EAAK1B,IAAI,EAAAgC,CAAA,GAAA,GAAA,IAAA,CAAA,IAAAE,EAAAC,EAAAA,EAAAC,EAAAF,EAAAjB,WAAAO,OAAAA,EAAAU,EAAA,IACiBR,EAAKzB,QAAQoC,OAAMD,CAAA,EAAAZ,EAAAU,EAAA,IAASR,EAAKzB,QAAQoC,SAAW,EAAI,IAAM,GAAE,IAAA,EAAAH,CAAA,GAAA,GAAA,IAAA,CAAA,IAAAI,EAAAC,IAAAD,OAAAA,EAAArB,WAAAO,EAAAc,EAAA,IAEpF,IAAIhC,KAAKoB,EAAKlB,SAAS,EAAEgC,mBAAAA,EAAoB,IAAA,EAAAF,CAAA,IAAA,CAAA,CAAA,CAAA,CAG3D,EAAChB,CAAA,EAAAA,EAAAC,QAE2D,IAAMZ,EAAoB,EAAI,EAACa,EAAAV,GAAA,IAAA,CAAA,IAAA2B,EAAAC,EAAA,IAAA,CAAA,CAM7FhC,GAAkB,EAAA,MAAA,IAAlB+B,EAAAA,IAAA,IAAA,CAAA,IAAAE,EAAAC,IAAAC,EAAAF,EAAA1B,WAAA6B,EAAAD,EAAA5B,WAAA8B,EAAAD,EAAA7B,WAAA+B,EAAAD,EAAA3B,YAAA6B,EAAAH,EAAA1B,YAAA8B,EAAAD,EAAAhC,WAAAkC,EAAAD,EAAAjC,WAAAmC,EAAAD,EAAA/B,YAAAiC,EAAAH,EAAA9B,YAAAkC,EAAAD,EAAApC,WAAAsC,EAAAD,EAAAlC,YAAAuB,OAAAA,EAAApB,QAC2C,IAAMZ,EAAoB,EAAK,EAACkC,EAAAtB,QACrCiC,GAAMA,EAAEC,gBAAAA,EAAiBT,EAAAzB,QAGhB,IAAMZ,EAAoB,EAAK,EAACsC,EAAAS,iBAAA,SAEtCF,GAAM,CACxCA,EAAEG,eAAAA,EACE/C,EAAAA,EAAcgD,SAChBjD,EAAoB,EAAK,EACzBE,EAAe,EAAE,EAErB,CAAC,EAAAuC,EAAAS,QASeL,GAAM3C,EAAe2C,EAAEM,OAAOC,KAAK,EAACR,EAAAhC,QAMqB,IAAMZ,EAAoB,EAAK,EAACqD,MAAAZ,EAAAW,MAP5FnD,EAAAA,CAAa,EAAA+B,CAAA,GAAA,CAc/B,GAAA,EAAA,IAAA,EAAA7B,CAAA,GAAA,CAGP,EAAEmD,EAAA,CAAA,QAAA,OAAA,CAAA"} \ No newline at end of file diff --git a/dist/assets/UserProfile-Ck2xTzTS.js b/dist/assets/UserProfile-Ck2xTzTS.js deleted file mode 100644 index caae20281..000000000 --- a/dist/assets/UserProfile-Ck2xTzTS.js +++ /dev/null @@ -1,2 +0,0 @@ -import{u as j,a as D,c as g,i as n,m as b,e as f,l as _,g as G,t as s,f as I}from"./main-B-KzsHRi.js";var q=s("

          Profile

          User ID

          Preferences

          Email Notifications

          Receive email updates about project activity

          Collaboration Alerts

          Get notified when others edit your documents

          \n
          \n\n
          \n
          \n
          User ID
          \n
          {user()?.id}
          \n
          \n
          \n
          \n\n
          \n

          Preferences

          \n
          \n
          \n
          \n

          Email Notifications

          \n

          Receive email updates about project activity

          \n
          \n \n
          \n
          \n
          \n

          Collaboration Alerts

          \n

          Get notified when others edit your documents

          \n
          \n \n
          \n
          \n
          \n
          \n );\n};\n"],"names":["UserProfile","auth","useAuth","updateUser","useAuthActions","editing","setEditing","createSignal","name","setName","user","handleSave","u","trim","startEditing","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","_el$5","_el$6","_el$7","_el$8","_el$9","_el$0","_el$1","_el$10","_$insert","_c$","_$memo","avatarUrl","_el$11","_tmpl$2","_$effect","_p$","_v$","_v$2","e","_$setAttribute","t","undefined","_el$12","_tmpl$3","charAt","toUpperCase","_c$2","_el$13","_tmpl$4","_el$14","_el$15","_el$16","$$input","target","value","$$click","_el$17","_tmpl$5","_el$18","_el$19","email","role","id","_$className","_$delegateEvents"],"mappings":"iyCAIO,MAAMA,EAAyBA,IAAM,CAC1C,MAAMC,EAAOC,EAAAA,EACP,CAAEC,WAAAA,CAAAA,EAAeC,EAAAA,EACjB,CAACC,EAASC,CAAU,EAAIC,EAAa,EAAK,EAC1C,CAACC,EAAMC,CAAO,EAAIF,EAAa,EAAE,EAEjCG,EAAOA,IAAMT,EAAAA,EAAOS,KAEpBC,EAAa,SAAY,CAC7B,MAAMC,EAAIF,EAAAA,EACLE,IACL,MAAMT,EAAW,CAAEK,KAAMA,EAAAA,EAAOK,KAAAA,GAAUD,EAAEJ,IAAAA,CAAM,EAClDF,EAAW,EAAK,EAClB,EAEMQ,EAAeA,IAAM,CACzB,MAAMF,EAAIF,EAAAA,EACNE,IACFH,EAAQG,EAAEJ,IAAI,EACdF,EAAW,EAAI,EAEnB,EAEA,OAAA,IAAA,CAAA,IAAAS,EAAAC,IAAAC,EAAAF,EAAAG,WAAAC,EAAAF,EAAAG,YAAAC,EAAAF,EAAAD,WAAAI,EAAAD,EAAAH,WAAAK,EAAAD,EAAAF,YAAAI,EAAAD,EAAAL,WAAAO,EAAAD,EAAAJ,YAAAM,EAAAL,EAAAD,YAAAO,EAAAD,EAAAR,WAAAU,EAAAD,EAAAT,WAAAW,EAAAD,EAAAR,YAAAU,OAAAA,EAAAR,GAAA,IAAA,CAAA,IAAAS,EAAAC,EAAA,IAAA,CAAA,CASWtB,EAAAA,GAAQuB,SAAS,EAAA,MAAA,IAAjBF,EAAAA,GAAA,IAAA,CAAA,IAAAG,EAAAC,EAAAA,EAAAC,OAAAA,EAAAC,GAAA,CAAA,IAAAC,EACW5B,EAAAA,EAAQuB,UAASM,EAAO7B,IAAQF,KAAI8B,OAAAA,IAAAD,EAAAG,GAAAC,EAAAP,EAAA,MAAAG,EAAAG,EAAAF,CAAA,EAAAC,IAAAF,EAAAK,GAAAD,EAAAP,EAAA,MAAAG,EAAAK,EAAAH,CAAA,EAAAF,CAAA,EAAA,CAAAG,EAAAG,OAAAD,EAAAC,MAAAA,CAAA,EAAAT,CAAA,GAAA,GAAA,IAAA,CAAA,IAAAU,EAAAC,EAAAA,EAAAf,OAAAA,EAAAc,EAAA,IAEvClC,KAAQF,MAAMsC,OAAO,CAAC,GAAGC,YAAAA,GAAiB,GAAG,EAAAH,CAAA,GAAA,CACrD,IAAA,EAAAd,EAAAP,GAAA,IAAA,CAAA,IAAAyB,EAAAhB,EAAA,IAAA,CAAA,CAGA3B,GAAS,EAAA,MAAA,IAAT2C,EAAAA,GAAA,IAAA,CAAA,IAAAC,EAAAC,IAAAC,EAAAF,EAAA/B,WAAAkC,EAAAD,EAAA/B,YAAAiC,EAAAD,EAAAhC,YAAA+B,OAAAA,EAAAG,QAKed,GAAM/B,EAAQ+B,EAAEe,OAAOC,KAAK,EAACJ,EAAAK,QAGY9C,EAAU0C,EAAAI,QACR,IAAMnD,EAAW,EAAK,EAAC8B,MAAAe,EAAAK,MALrEhD,EAAAA,CAAM,EAAAyC,CAAA,GAAA,GAAA,IAAA,CAAA,IAAAS,EAAAC,EAAAA,EAAAC,EAAAF,EAAAxC,WAAA2C,EAAAD,EAAAxC,YAAAU,OAAAA,EAAA8B,EAAA,IAWVlD,EAAAA,GAAQF,IAAI,EAAAqD,EAAAJ,QACkC3C,EAAY4C,CAAA,GAAA,CAElE,GAAA,EAAAlC,CAAA,EAAAM,EAAAN,EAAA,IACuBd,EAAAA,GAAQoD,KAAK,EAAAhC,EAAAL,EAAA,IACoBf,EAAAA,GAAQqD,IAAI,EAAAjC,EAAAD,EAAA,IAO7CnB,EAAAA,GAAQsD,EAAE,EAAA5B,EAAA,IAAA6B,EAAAxC,EAPrB,2BAA2Bf,KAAQqD,IAAI,EAAE,CAAA,EAAAhD,CAAA,GAAA,CAuClE,EAAEmD,EAAA,CAAA,QAAA,OAAA,CAAA"} \ No newline at end of file diff --git a/dist/assets/main-B-KzsHRi.js b/dist/assets/main-B-KzsHRi.js deleted file mode 100644 index 21922641a..000000000 --- a/dist/assets/main-B-KzsHRi.js +++ /dev/null @@ -1,262 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Dashboard-BufY0tf4.js","assets/service-DriRc7_Z.js","assets/ProjectList-ByXstiby.js","assets/ProjectDetail-BLiJ5iDs.js","assets/ProjectForm-BQgT8bX9.js"])))=>i.map(i=>d[i]); -(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))l(c);new MutationObserver(c=>{for(const h of c)if(h.type==="childList")for(const d of h.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&l(d)}).observe(document,{childList:!0,subtree:!0});function i(c){const h={};return c.integrity&&(h.integrity=c.integrity),c.referrerPolicy&&(h.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?h.credentials="include":c.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function l(c){if(c.ep)return;c.ep=!0;const h=i(c);fetch(c.href,h)}})();const gr={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return lm(this.context.count)},getNextContextId(){return lm(this.context.count++)}};function lm(s){const r=String(s),i=r.length-1;return gr.context.id+(i?String.fromCharCode(96+i):"")+r}function bl(s){gr.context=s}const Mm=!0,Hb=(s,r)=>s===r,Si=Symbol("solid-proxy"),Rm=typeof Proxy=="function",Kd=Symbol("solid-track"),Nm=Symbol("solid-dev-component"),iu={equals:Hb};let Lm=Hm;const ls=1,su=2,Vb={},Td={};var fr=null;let Ud=null,Gb=null,Dr=null,Jn=null,os=null,mu=0;const Jb={afterUpdate:null,afterCreateOwner:null,afterCreateSignal:null,afterRegisterGraph:null};function _l(s,r){const i=Dr,l=fr,c=s.length===0,h=r===void 0?l:r,d=c?{owned:null,cleanups:null,context:null,owner:null}:{owned:null,cleanups:null,context:h?h.context:null,owner:h},f=c?()=>s(()=>{throw new Error("Dispose method must be an explicit argument to createRoot function")}):()=>s(()=>Bn(()=>Sl(d)));fr=d,Dr=null;try{return Gi(f,!0)}finally{Dr=i,fr=l}}function vr(s,r){r=r?Object.assign({},iu,r):iu;const i={value:s,observers:null,observerSlots:null,comparator:r.equals||void 0};r.name&&(i.name=r.name),r.internal?i.internal=!0:$m(i);const l=c=>(typeof c=="function"&&(c=c(i.value)),oh(i,c));return[Km.bind(i),l]}function To(s,r,i){const l=Ol(s,r,!0,ls,i);oo(l)}function mr(s,r,i){const l=Ol(s,r,!1,ls,i);oo(l)}function Zb(s,r,i){Lm=r1;const l=Ol(s,r,!1,ls,i);l.user=!0,os?os.push(l):oo(l)}function Tr(s,r,i){i=i?Object.assign({},iu,i):iu;const l=Ol(s,r,!0,0,i);return l.observers=null,l.observerSlots=null,l.comparator=i.equals||void 0,oo(l),Km.bind(l)}function Yb(s){return s&&typeof s=="object"&&"then"in s}function Bm(s,r,i){let l,c,h;typeof r=="function"?(l=s,c=r,h={}):(l=!0,c=s,h=r||{});let d=null,f=Td,p=null,y=!1,v="initialValue"in h,k=typeof l=="function"&&Tr(l);const z=new Set,[S,B]=(h.storage||vr)(h.initialValue),[R,D]=vr(void 0),[I,O]=vr(void 0,{equals:!1}),[M,Y]=vr(v?"ready":"unresolved");gr.context&&(p=gr.getNextContextId(),h.ssrLoadFrom==="initial"?f=h.initialValue:gr.load&&gr.has(p)&&(f=gr.load(p)));function ae(G,Q,X,ee){return d===G&&(d=null,ee!==void 0&&(v=!0),(G===f||Q===f)&&h.onHydrated&&queueMicrotask(()=>h.onHydrated(ee,{value:Q})),f=Td,ue(Q,X)),Q}function ue(G,Q){Gi(()=>{Q===void 0&&B(()=>G),Y(Q!==void 0?"errored":v?"ready":"unresolved"),D(Q);for(const X of z.keys())X.decrement();z.clear()},!1)}function se(){const G=e1,Q=S(),X=R();if(X!==void 0&&!d)throw X;return Dr&&Dr.user,Q}function J(G=!0){if(G!==!1&&y)return;y=!1;const Q=k?k():l;if(Q==null||Q===!1){ae(d,Bn(S));return}let X;const ee=f!==Td?f:Bn(()=>{try{return c(Q,{value:S(),refetching:G})}catch(be){X=be}});if(X!==void 0){ae(d,void 0,tu(X),Q);return}else if(!Yb(ee))return ae(d,ee,void 0,Q),ee;return d=ee,"v"in ee?(ee.s===1?ae(d,ee.v,void 0,Q):ae(d,void 0,tu(ee.v),Q),ee):(y=!0,queueMicrotask(()=>y=!1),Gi(()=>{Y(v?"refreshing":"pending"),O()},!1),ee.then(be=>ae(ee,be,void 0,Q),be=>ae(ee,void 0,tu(be),Q)))}Object.defineProperties(se,{state:{get:()=>M()},error:{get:()=>R()},loading:{get(){const G=M();return G==="pending"||G==="refreshing"}},latest:{get(){if(!v)return se();const G=R();if(G&&!d)throw G;return S()}}});let W=fr;return k?To(()=>(W=fr,J(!1))):J(!1),[se,{refetch:G=>sh(W,()=>J(G)),mutate:B}]}function Dm(s){return Gi(s,!1)}function Bn(s){if(Dr===null)return s();const r=Dr;Dr=null;try{return s()}finally{Dr=r}}function ro(s,r,i){const l=Array.isArray(s);let c,h=i&&i.defer;return d=>{let f;if(l){f=Array(s.length);for(let y=0;yr(f,c,d));return c=f,p}}function Fm(s){Zb(()=>Bn(s))}function El(s){return fr===null?console.warn("cleanups created outside a `createRoot` or `render` will never be run"):fr.cleanups===null?fr.cleanups=[s]:fr.cleanups.push(s),s}function Hd(){return Dr}function Wm(){return fr}function sh(s,r){const i=fr,l=Dr;fr=s,Dr=null;try{return Gi(r,!0)}catch(c){lh(c)}finally{fr=i,Dr=l}}function Qb(s){const r=Dr,i=fr;return Promise.resolve().then(()=>{Dr=r,fr=i;let l;return Gi(s,!1),Dr=fr=null,l?l.done:void 0})}const[N2,L2]=vr(!1);function Xb(s,r){const i=Ol(()=>Bn(()=>(Object.assign(s,{[Nm]:!0}),s(r))),void 0,!0,0);return i.props=r,i.observers=null,i.observerSlots=null,i.name=s.name,i.component=s,oo(i),i.tValue!==void 0?i.tValue:i.value}function $m(s){fr&&(fr.sourceMap?fr.sourceMap.push(s):fr.sourceMap=[s],s.graph=fr)}function Mo(s,r){const i=Symbol("context");return{id:i,Provider:n1(i,r),defaultValue:s}}function so(s){let r;return fr&&fr.context&&(r=fr.context[s.id])!==void 0?r:s.defaultValue}function fu(s){const r=Tr(s),i=Tr(()=>Vd(r()),void 0,{name:"children"});return i.toArray=()=>{const l=i();return Array.isArray(l)?l:l!=null?[l]:[]},i}let e1;function Km(){if(this.sources&&this.state)if(this.state===ls)oo(this);else{const s=Jn;Jn=null,Gi(()=>lu(this),!1),Jn=s}if(Dr){const s=this.observers?this.observers.length:0;Dr.sources?(Dr.sources.push(this),Dr.sourceSlots.push(s)):(Dr.sources=[this],Dr.sourceSlots=[s]),this.observers?(this.observers.push(Dr),this.observerSlots.push(Dr.sources.length-1)):(this.observers=[Dr],this.observerSlots=[Dr.sources.length-1])}return this.value}function oh(s,r,i){let l=s.value;return(!s.comparator||!s.comparator(l,r))&&(s.value=r,s.observers&&s.observers.length&&Gi(()=>{for(let c=0;c1e6)throw Jn=[],Mm?new Error("Potential Infinite Loop Detected."):new Error},!1)),r}function oo(s){if(!s.fn)return;Sl(s);const r=mu;t1(s,s.value,r)}function t1(s,r,i){let l;const c=fr,h=Dr;Dr=fr=s;try{l=s.fn(r)}catch(d){return s.pure&&(s.state=ls,s.owned&&s.owned.forEach(Sl),s.owned=null),s.updatedAt=i+1,lh(d)}finally{Dr=h,fr=c}(!s.updatedAt||s.updatedAt<=i)&&(s.updatedAt!=null&&"observers"in s?oh(s,l):s.value=l,s.updatedAt=i)}function Ol(s,r,i,l=ls,c){const h={fn:s,state:l,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:r,owner:fr,context:fr?fr.context:null,pure:i};return fr===null?console.warn("computations created outside a `createRoot` or `render` will never be disposed"):fr!==Vb&&(fr.owned?fr.owned.push(h):fr.owned=[h]),c&&c.name&&(h.name=c.name),h}function ou(s){if(s.state===0)return;if(s.state===su)return lu(s);if(s.suspense&&Bn(s.suspense.inFallback))return s.suspense.effects.push(s);const r=[s];for(;(s=s.owner)&&(!s.updatedAt||s.updatedAt=0;i--)if(s=r[i],s.state===ls)oo(s);else if(s.state===su){const l=Jn;Jn=null,Gi(()=>lu(s,r[0]),!1),Jn=l}}function Gi(s,r){if(Jn)return s();let i=!1;r||(Jn=[]),os?i=!0:os=[],mu++;try{const l=s();return a1(i),l}catch(l){i||(os=null),Jn=null,lh(l)}}function a1(s){if(Jn&&(Hm(Jn),Jn=null),s)return;const r=os;os=null,r.length&&Gi(()=>Lm(r),!1)}function Hm(s){for(let r=0;r=0;r--)Sl(s.tOwned[r]);delete s.tOwned}if(s.owned){for(r=s.owned.length-1;r>=0;r--)Sl(s.owned[r]);s.owned=null}if(s.cleanups){for(r=s.cleanups.length-1;r>=0;r--)s.cleanups[r]();s.cleanups=null}s.state=0,delete s.sourceMap}function tu(s){return s instanceof Error?s:new Error(typeof s=="string"?s:"Unknown error",{cause:s})}function lh(s,r=fr){throw tu(s)}function Vd(s){if(typeof s=="function"&&!s.length)return Vd(s());if(Array.isArray(s)){const r=[];for(let i=0;ic=Bn(()=>(fr.context={...fr.context,[s]:l.value},fu(()=>l.children))),void 0,r),c}}const i1=Symbol("fallback");function cm(s){for(let r=0;r1?[]:null;return El(()=>cm(h)),()=>{let p=s()||[],y=p.length,v,k;return p[Kd],Bn(()=>{let S,B,R,D,I,O,M,Y,ae;if(y===0)d!==0&&(cm(h),h=[],l=[],c=[],d=0,f&&(f=[])),i.fallback&&(l=[i1],c[0]=_l(ue=>(h[0]=ue,i.fallback())),d=1);else if(d===0){for(c=new Array(y),k=0;k=O&&Y>=O&&l[M]===p[Y];M--,Y--)R[Y]=c[M],D[Y]=h[M],f&&(I[Y]=f[M]);for(S=new Map,B=new Array(Y+1),k=Y;k>=O;k--)ae=p[k],v=S.get(ae),B[k]=v===void 0?-1:v,S.set(ae,k);for(v=O;v<=M;v++)ae=l[v],k=S.get(ae),k!==void 0&&k!==-1?(R[k]=c[v],D[k]=h[v],f&&(I[k]=f[v]),k=B[k],S.set(ae,k)):h[v]();for(k=O;k=0;f--){const p=Md(s[f])[d];if(p!==void 0)return p}},has(d){for(let f=s.length-1;f>=0;f--)if(d in Md(s[f]))return!0;return!1},keys(){const d=[];for(let f=0;f=0;d--){const f=s[d];if(!f)continue;const p=Object.getOwnPropertyNames(f);for(let y=p.length-1;y>=0;y--){const v=p[y];if(v==="__proto__"||v==="constructor")continue;const k=Object.getOwnPropertyDescriptor(f,v);if(!l[v])l[v]=k.get?{enumerable:!0,configurable:!0,get:o1.bind(i[v]=[k.get.bind(f)])}:k.value!==void 0?k:void 0;else{const z=i[v];z&&(k.get?z.push(k.get.bind(f)):k.value!==void 0&&z.push(()=>k.value))}}}const c={},h=Object.keys(l);for(let d=h.length-1;d>=0;d--){const f=h[d],p=l[f];p&&p.get?Object.defineProperty(c,f,p):c[f]=p?p.value:void 0}return c}function l1(s,...r){const i=r.length;if(Rm&&Si in s){const c=i>1?r.flat():r[0],h=r.map(d=>new Proxy({get(f){return d.includes(f)?s[f]:void 0},has(f){return d.includes(f)&&f in s},keys(){return d.filter(f=>f in s)}},Gd));return h.push(new Proxy({get(d){return c.includes(d)?void 0:s[d]},has(d){return c.includes(d)?!1:d in s},keys(){return Object.keys(s).filter(d=>!c.includes(d))}},Gd)),h}const l=[];for(let c=0;c<=i;c++)l[c]={};for(const c of Object.getOwnPropertyNames(s)){let h=i;for(let p=0;p{const h=gr.context;if(h){const[f,p]=vr();gr.count||(gr.count=0),gr.count++,(i||(i=s())).then(y=>{!gr.done&&bl(h),gr.count--,p(()=>y.default),bl()}),r=f}else if(!r){const[f]=Bm(()=>(i||(i=s())).then(p=>p.default));r=f}let d;return Tr(()=>(d=r())?Bn(()=>{if(Mm&&Object.assign(d,{[Nm]:!0}),!h||gr.done)return d(c);const f=gr.context;bl(h);const p=d(c);return bl(f),p}):"")};return l.preload=()=>i||((i=s()).then(c=>r=()=>c.default),i),l}const Gm=s=>`Attempting to access a stale value from <${s}> that could possibly be undefined. This may occur because you are reading the accessor returned from the component at a time where it has already been unmounted. We recommend cleaning up any stale timers or async, or reading from the initial condition.`;function Es(s){const r="fallback"in s&&{fallback:()=>s.fallback};return Tr(s1(()=>s.each,s.children,r||void 0),void 0,{name:"value"})}function cu(s){const r=s.keyed,i=Tr(()=>s.when,void 0,{name:"condition value"}),l=r?i:Tr(i,void 0,{equals:(c,h)=>!c==!h,name:"condition"});return Tr(()=>{const c=l();if(c){const h=s.children;return typeof h=="function"&&h.length>0?Bn(()=>h(r?c:()=>{if(!Bn(l))throw Gm("Show");return i()})):h}return s.fallback},void 0,{name:"value"})}function c1(s){const r=fu(()=>s.children),i=Tr(()=>{const l=r(),c=Array.isArray(l)?l:[l];let h=()=>{};for(let d=0;dy()?void 0:p.when,void 0,{name:"condition value"}),k=p.keyed?v:Tr(v,void 0,{equals:(z,S)=>!z==!S,name:"condition"});h=()=>y()||(k()?[f,v,p]:void 0)}return h});return Tr(()=>{const l=i()();if(!l)return s.fallback;const[c,h,d]=l,f=d.children;return typeof f=="function"&&f.length>0?Bn(()=>f(d.keyed?h():()=>{if(Bn(i)()?.[0]!==c)throw Gm("Match");return h()})):f},void 0,{name:"eval conditions"})}function Rd(s){return s}const u1={hooks:Jb,writeSignal:oh,registerGraph:$m};globalThis&&(globalThis.Solid$$?console.warn("You appear to have multiple instances of Solid. This can lead to unexpected behavior."):globalThis.Solid$$=!0);const d1=["allowfullscreen","async","alpha","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","adauctionheaders","browsingtopics","credentialless","defaultchecked","defaultmuted","defaultselected","defer","disablepictureinpicture","disableremoteplayback","preservespitch","shadowrootclonable","shadowrootcustomelementregistry","shadowrootdelegatesfocus","shadowrootserializable","sharedstoragewritable"],h1=new Set(["className","value","readOnly","noValidate","formNoValidate","isMap","noModule","playsInline","adAuctionHeaders","allowFullscreen","browsingTopics","defaultChecked","defaultMuted","defaultSelected","disablePictureInPicture","disableRemotePlayback","preservesPitch","shadowRootClonable","shadowRootCustomElementRegistry","shadowRootDelegatesFocus","shadowRootSerializable","sharedStorageWritable",...d1]),p1=new Set(["innerHTML","textContent","innerText","children"]),m1=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),f1=Object.assign(Object.create(null),{class:"className",novalidate:{$:"noValidate",FORM:1},formnovalidate:{$:"formNoValidate",BUTTON:1,INPUT:1},ismap:{$:"isMap",IMG:1},nomodule:{$:"noModule",SCRIPT:1},playsinline:{$:"playsInline",VIDEO:1},readonly:{$:"readOnly",INPUT:1,TEXTAREA:1},adauctionheaders:{$:"adAuctionHeaders",IFRAME:1},allowfullscreen:{$:"allowFullscreen",IFRAME:1},browsingtopics:{$:"browsingTopics",IMG:1},defaultchecked:{$:"defaultChecked",INPUT:1},defaultmuted:{$:"defaultMuted",AUDIO:1,VIDEO:1},defaultselected:{$:"defaultSelected",OPTION:1},disablepictureinpicture:{$:"disablePictureInPicture",VIDEO:1},disableremoteplayback:{$:"disableRemotePlayback",AUDIO:1,VIDEO:1},preservespitch:{$:"preservesPitch",AUDIO:1,VIDEO:1},shadowrootclonable:{$:"shadowRootClonable",TEMPLATE:1},shadowrootdelegatesfocus:{$:"shadowRootDelegatesFocus",TEMPLATE:1},shadowrootserializable:{$:"shadowRootSerializable",TEMPLATE:1},sharedstoragewritable:{$:"sharedStorageWritable",IFRAME:1,IMG:1}});function g1(s,r){const i=f1[s];return typeof i=="object"?i[r]?i.$:void 0:i}const b1=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),Xn=s=>Tr(()=>s());function y1(s,r,i){let l=i.length,c=r.length,h=l,d=0,f=0,p=r[c-1].nextSibling,y=null;for(;dv-f){const B=r[d];for(;f{c=h,r===document?s():nt(r,s(),r.firstChild?null:void 0,i)},l.owner),()=>{c(),r.textContent=""}}function ba(s,r,i,l){let c;const h=()=>{if(Ro())throw new Error("Failed attempt to create new DOM elements during hydration. Check that the libraries you are using support hydration.");const f=document.createElement("template");return f.innerHTML=s,f.content.firstChild},d=()=>(c||(c=h())).cloneNode(!0);return d.cloneNode=d,d}function cs(s,r=window.document){const i=r[um]||(r[um]=new Set);for(let l=0,c=s.length;lc.call(s,i[1],h))}else s.addEventListener(r,i,typeof i!="function"&&i)}function k1(s,r,i={}){const l=Object.keys(r||{}),c=Object.keys(i);let h,d;for(h=0,d=c.length;hc.children=Pl(s,r.children,c.children)),mr(()=>typeof r.ref=="function"&&j1(r.ref,s)),mr(()=>z1(s,r,i,!0,c,!0)),c}function j1(s,r,i){return Bn(()=>s(r,i))}function nt(s,r,i,l){if(i!==void 0&&!l&&(l=[]),typeof r!="function")return Pl(s,r,l,i);mr(c=>Pl(s,r(),c,i),l)}function z1(s,r,i,l,c={},h=!1){r||(r={});for(const d in c)if(!(d in r)){if(d==="children")continue;c[d]=hm(s,d,null,c[d],i,h,r)}for(const d in r){if(d==="children")continue;const f=r[d];c[d]=hm(s,d,f,c[d],i,h,r)}}function Ro(s){return!!gr.context&&!gr.done&&(!s||s.isConnected)}function S1(s){return s.toLowerCase().replace(/-([a-z])/g,(r,i)=>i.toUpperCase())}function dm(s,r,i){const l=r.trim().split(/\s+/);for(let c=0,h=l.length;cy===s))return;let r=s.target;const i=`$$${s.type}`,l=s.target,c=s.currentTarget,h=p=>Object.defineProperty(s,"target",{configurable:!0,value:p}),d=()=>{const p=r[i];if(p&&!r.disabled){const y=r[`${i}Data`];if(y!==void 0?p.call(r,y,s):p.call(r,s),s.cancelBubble)return}return r.host&&typeof r.host!="string"&&!r.host._$host&&r.contains(s.target)&&h(r.host),!0},f=()=>{for(;d()&&(r=r._$host||r.parentNode||r.host););};if(Object.defineProperty(s,"currentTarget",{configurable:!0,get(){return r||document}}),gr.registry&&!gr.done&&(gr.done=_$HY.done=!0),s.composedPath){const p=s.composedPath();h(p[0]);for(let y=0;y{let p=r();for(;typeof p=="function";)p=p();i=Pl(s,p,i,l)}),()=>i;if(Array.isArray(r)){const p=[],y=i&&Array.isArray(i);if(Zd(p,r,i,c))return mr(()=>i=Pl(s,p,i,l,!0)),()=>i;if(h){if(!p.length)return i;if(l===void 0)return i=[...s.childNodes];let v=p[0];if(v.parentNode!==s)return i;const k=[v];for(;(v=v.nextSibling)!==l;)k.push(v);return i=k}if(p.length===0){if(i=Co(s,i,l),f)return i}else y?i.length===0?pm(s,p,l):y1(s,i,p):(i&&Co(s),pm(s,p));i=p}else if(r.nodeType){if(h&&r.parentNode)return i=f?[r]:r;if(Array.isArray(i)){if(f)return i=Co(s,i,l,r);Co(s,i,null,r)}else i==null||i===""||!s.firstChild?s.appendChild(r):s.replaceChild(r,s.firstChild);i=r}else console.warn("Unrecognized value. Skipped inserting",r)}return i}function Zd(s,r,i,l){let c=!1;for(let h=0,d=r.length;h=0;d--){const f=r[d];if(c!==f){const p=f.parentNode===s;!h&&!d?p?s.replaceChild(c,f):s.insertBefore(c,i):p&&f.remove()}else h=!0}}else s.insertBefore(c,i);return[c]}const Yd=!1;function Zm(){let s=new Set;function r(c){return s.add(c),()=>s.delete(c)}let i=!1;function l(c,h){if(i)return!(i=!1);const d={to:c,options:h,defaultPrevented:!1,preventDefault:()=>d.defaultPrevented=!0};for(const f of s)f.listener({...d,from:f.location,retry:p=>{p&&(i=!0),f.navigate(c,{...h,resolve:!1})}});return!d.defaultPrevented}return{subscribe:r,confirm:l}}let Qd;function ch(){(!window.history.state||window.history.state._depth==null)&&window.history.replaceState({...window.history.state,_depth:window.history.length-1},""),Qd=window.history.state._depth}ch();function A1(s){return{...s,_depth:window.history.state&&window.history.state._depth}}function I1(s,r){let i=!1;return()=>{const l=Qd;ch();const c=l==null?null:Qd-l;if(i){i=!1;return}c&&r(c)?(i=!0,window.history.go(-c)):s()}}const C1=/^(?:[a-z0-9]+:)?\/\//i,E1=/^\/+|(\/)\/+$/g,Ym="http://sr";function no(s,r=!1){const i=s.replace(E1,"$1");return i?r||/^[?#]/.test(i)?i:"/"+i:""}function au(s,r,i){if(C1.test(r))return;const l=no(s),c=i&&no(i);let h="";return!c||r.startsWith("/")?h=l:c.toLowerCase().indexOf(l.toLowerCase())!==0?h=l+c:h=c,(h||"/")+no(r,!h)}function O1(s,r){if(s==null)throw new Error(r);return s}function q1(s,r){return no(s).replace(/\/*(\*.*)?$/g,"")+no(r)}function Qm(s){const r={};return s.searchParams.forEach((i,l)=>{l in r?Array.isArray(r[l])?r[l].push(i):r[l]=[r[l],i]:r[l]=i}),r}function T1(s,r,i){const[l,c]=s.split("/*",2),h=l.split("/").filter(Boolean),d=h.length;return f=>{const p=f.split("/").filter(Boolean),y=p.length-d;if(y<0||y>0&&c===void 0&&!r)return null;const v={path:d?"":"/",params:{}},k=z=>i===void 0?void 0:i[z];for(let z=0;zl===s;return r===void 0?!0:typeof r=="string"?i(r):typeof r=="function"?r(s):Array.isArray(r)?r.some(i):r instanceof RegExp?r.test(s):!1}function U1(s){const[r,i]=s.pattern.split("/*",2),l=r.split("/").filter(Boolean);return l.reduce((c,h)=>c+(h.startsWith(":")?2:3),l.length-(i===void 0?0:1))}function Xm(s){const r=new Map,i=Wm();return new Proxy({},{get(l,c){return r.has(c)||sh(i,()=>r.set(c,Tr(()=>s()[c]))),r.get(c)()},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}},ownKeys(){return Reflect.ownKeys(s())},has(l,c){return c in s()}})}function M1(s,r){const i=new URLSearchParams(s);Object.entries(r).forEach(([c,h])=>{h==null||h===""||h instanceof Array&&!h.length?i.delete(c):h instanceof Array?(i.delete(c),h.forEach(d=>{i.append(c,String(d))})):i.set(c,String(h))});const l=i.toString();return l?`?${l}`:""}function ef(s){let r=/(\/?\:[^\/]+)\?/.exec(s);if(!r)return[s];let i=s.slice(0,r.index),l=s.slice(r.index+r[0].length);const c=[i,i+=r[1]];for(;r=/^(\/\:[^\/]+)\?/.exec(l);)c.push(i+=r[1]),l=l.slice(r[0].length);return ef(l).reduce((h,d)=>[...h,...c.map(f=>f+d)],[])}const R1=100,tf=Mo(),uh=Mo(),No=()=>O1(so(tf)," and 'use' router primitives can be only used inside a Route."),N1=()=>so(uh)||No().base,L1=s=>{const r=N1();return Tr(()=>r.resolvePath(s()))},B1=s=>{const r=No();return Tr(()=>{const i=s();return i!==void 0?r.renderPath(i):i})},af=()=>No().navigatorFactory(),dh=()=>No().location,D1=()=>No().isRouting,F1=()=>No().params,W1=()=>{const s=dh(),r=af(),i=(l,c)=>{const h=Bn(()=>M1(s.search,l)+s.hash);r(h,{scroll:!1,resolve:!1,...c})};return[s.query,i]};function $1(s,r=""){const{component:i,preload:l,load:c,children:h,info:d}=s,f=!h||Array.isArray(h)&&!h.length,p={key:s,component:i,preload:l||c,info:d};return rf(s.path).reduce((y,v)=>{for(const k of ef(v)){const z=q1(r,k);let S=f?z:z.split("/*",1)[0];S=S.split("/").map(B=>B.startsWith(":")||B.startsWith("*")?B:encodeURIComponent(B)).join("/"),y.push({...p,originalPath:v,pattern:S,matcher:T1(S,!f,s.matchFilters)})}return y},[])}function K1(s,r=0){return{routes:s,score:U1(s[s.length-1])*1e4-r,matcher(i){const l=[];for(let c=s.length-1;c>=0;c--){const h=s[c],d=h.matcher(i);if(!d)return null;l.unshift({...d,route:h})}return l}}}function rf(s){return Array.isArray(s)?s:[s]}function nf(s,r="",i=[],l=[]){const c=rf(s);for(let h=0,d=c.length;hd.score-h.score)}function Ld(s,r){for(let i=0,l=s.length;i{const k=s();try{return new URL(k,l)}catch{return console.error(`Invalid path ${k}`),v}},l,{equals:(v,k)=>v.href===k.href}),h=Tr(()=>c().pathname),d=Tr(()=>c().search,!0),f=Tr(()=>c().hash),p=()=>"",y=ro(d,()=>Qm(c()));return{get pathname(){return h()},get search(){return d()},get hash(){return f()},get state(){return r()},get key(){return p()},query:i?i(y):Xm(y)}}let ao;function V1(){return ao}function G1(s,r,i,l={}){const{signal:[c,h],utils:d={}}=s,f=d.parsePath||(be=>be),p=d.renderPath||(be=>be),y=d.beforeLeave||Zm(),v=au("",l.base||"");if(v===void 0)throw new Error(`${v} is not a valid base path`);v&&!c().value&&h({value:v,replace:!0,scroll:!1});const[k,z]=vr(!1);let S;const B=(be,ve)=>{ve.value===R()&&ve.state===I()||(S===void 0&&z(!0),ao=be,S=ve,Qb(()=>{S===ve&&(D(S.value),O(S.state),ae[1](je=>je.filter(qe=>qe.pending)))}).finally(()=>{S===ve&&Dm(()=>{ao=void 0,be==="navigate"&&X(S),z(!1),S=void 0})}))},[R,D]=vr(c().value),[I,O]=vr(c().state),M=H1(R,I,d.queryWrapper),Y=[],ae=vr([]),ue=Tr(()=>typeof l.transformUrl=="function"?Ld(r(),l.transformUrl(M.pathname)):Ld(r(),M.pathname)),se=()=>{const be=ue(),ve={};for(let je=0;jev,outlet:()=>null,resolvePath(be){return au(v,be)}};return mr(ro(c,be=>B("native",be),{defer:!0})),{base:W,location:M,params:J,isRouting:k,renderPath:p,parsePath:f,navigatorFactory:Q,matches:ue,beforeLeave:y,preloadRoute:ee,singleFlight:l.singleFlight===void 0?!0:l.singleFlight,submissions:ae};function G(be,ve,je){Bn(()=>{if(typeof ve=="number"){ve&&(d.go?d.go(ve):console.warn("Router integration does not support relative routing"));return}const qe=!ve||ve[0]==="?",{replace:Re,resolve:Ke,scroll:Se,state:Oe}={replace:!1,resolve:!qe,scroll:!0,...je},Fe=Ke?be.resolvePath(ve):au(qe&&M.pathname||"",ve);if(Fe===void 0)throw new Error(`Path '${ve}' is not a routable path`);if(Y.length>=R1)throw new Error("Too many redirects");const xt=R();(Fe!==xt||Oe!==I())&&(Yd||y.confirm(Fe,je)&&(Y.push({value:xt,replace:Re,scroll:Se,state:I()}),B("navigate",{value:Fe,state:Oe})))})}function Q(be){return be=be||so(uh)||W,(ve,je)=>G(be,ve,je)}function X(be){const ve=Y[0];ve&&(h({...be,replace:ve.replace,scroll:ve.scroll}),Y.length=0)}function ee(be,ve){const je=Ld(r(),be.pathname),qe=ao;ao="preload";for(let Re in je){const{route:Ke,params:Se}=je[Re];Ke.component&&Ke.component.preload&&Ke.component.preload();const{preload:Oe}=Ke;ve&&Oe&&sh(i(),()=>Oe({params:Se,location:{pathname:be.pathname,search:be.search,hash:be.hash,query:Qm(be),state:null,key:""},intent:"preload"}))}ao=qe}}function J1(s,r,i,l){const{base:c,location:h,params:d}=s,{pattern:f,component:p,preload:y}=l().route,v=Tr(()=>l().path);p&&p.preload&&p.preload();const k=y?y({params:d,location:h,intent:ao||"initial"}):void 0;return{parent:r,pattern:f,path:v,outlet:()=>p?mt(p,{params:d,location:h,data:k,get children(){return i()}}):i(),resolvePath(S){return au(c.path(),S,v())}}}const Z1=s=>r=>{const{base:i}=r,l=fu(()=>r.children),c=Tr(()=>nf(l(),r.base||""));let h;const d=G1(s,c,()=>h,{base:i,singleFlight:r.singleFlight,transformUrl:r.transformUrl});return s.create&&s.create(d),mt(tf.Provider,{value:d,get children(){return mt(Y1,{routerState:d,get root(){return r.root},get preload(){return r.rootPreload||r.rootLoad},get children(){return[Xn(()=>(h=Wm())&&null),mt(Q1,{routerState:d,get branches(){return c()}})]}})}})};function Y1(s){const r=s.routerState.location,i=s.routerState.params,l=Tr(()=>s.preload&&Bn(()=>{s.preload({params:i,location:r,intent:V1()||"initial"})}));return mt(cu,{get when(){return s.root},keyed:!0,get fallback(){return s.children},children:c=>mt(c,{params:i,location:r,get data(){return l()},get children(){return s.children}})})}function Q1(s){const r=[];let i;const l=Tr(ro(s.routerState.matches,(c,h,d)=>{let f=h&&c.length===h.length;const p=[];for(let y=0,v=c.length;y{r[y]=S,p[y]=J1(s.routerState,p[y-1]||s.routerState.base,mm(()=>l()[y+1]),()=>{const B=s.routerState.matches();return B[y]??B[0]})}))}return r.splice(c.length).forEach(y=>y()),d&&f?d:(i=p[0],p)}));return mm(()=>l()&&i)()}const mm=s=>()=>mt(cu,{get when(){return s()},keyed:!0,children:r=>mt(uh.Provider,{value:r,get children(){return r.outlet()}})}),Gr=s=>{const r=fu(()=>s.children);return Jd(s,{get children(){return r()}})};function X1([s,r],i,l){return[s,l?c=>r(l(c)):r]}function ey(s){let r=!1;const i=c=>typeof c=="string"?{value:c}:c,l=X1(vr(i(s.get()),{equals:(c,h)=>c.value===h.value&&c.state===h.state}),void 0,c=>(!r&&s.set(c),gr.registry&&!gr.done&&(gr.done=!0),c));return s.init&&El(s.init((c=s.get())=>{r=!0,l[1](i(c)),r=!1})),Z1({signal:l,create:s.create,utils:s.utils})}function ty(s,r,i){return s.addEventListener(r,i),()=>s.removeEventListener(r,i)}function ay(s,r){const i=s&&document.getElementById(s);i?i.scrollIntoView():r&&window.scrollTo(0,0)}const ry=new Map;function ny({preload:s=!0,explicitLinks:r=!1,actionBase:i="/_server",transformUrl:l}={}){return c=>{const h=c.base.path(),d=c.navigatorFactory(c.base);let f,p;function y(R){return R.namespaceURI==="http://www.w3.org/2000/svg"}function v(R){if(R.defaultPrevented||R.button!==0||R.metaKey||R.altKey||R.ctrlKey||R.shiftKey)return;const D=R.composedPath().find(ue=>ue instanceof Node&&ue.nodeName.toUpperCase()==="A");if(!D||r&&!D.hasAttribute("link"))return;const I=y(D),O=I?D.href.baseVal:D.href;if((I?D.target.baseVal:D.target)||!O&&!D.hasAttribute("state"))return;const Y=(D.getAttribute("rel")||"").split(/\s+/);if(D.hasAttribute("download")||Y&&Y.includes("external"))return;const ae=I?new URL(O,document.baseURI):new URL(O);if(!(ae.origin!==window.location.origin||h&&ae.pathname&&!ae.pathname.toLowerCase().startsWith(h.toLowerCase())))return[D,ae]}function k(R){const D=v(R);if(!D)return;const[I,O]=D,M=c.parsePath(O.pathname+O.search+O.hash),Y=I.getAttribute("state");R.preventDefault(),d(M,{resolve:!1,replace:I.hasAttribute("replace"),scroll:!I.hasAttribute("noscroll"),state:Y?JSON.parse(Y):void 0})}function z(R){const D=v(R);if(!D)return;const[I,O]=D;l&&(O.pathname=l(O.pathname)),c.preloadRoute(O,I.getAttribute("preload")!=="false")}function S(R){clearTimeout(f);const D=v(R);if(!D)return p=null;const[I,O]=D;p!==I&&(l&&(O.pathname=l(O.pathname)),f=setTimeout(()=>{c.preloadRoute(O,I.getAttribute("preload")!=="false"),p=I},20))}function B(R){if(R.defaultPrevented)return;let D=R.submitter&&R.submitter.hasAttribute("formaction")?R.submitter.getAttribute("formaction"):R.target.getAttribute("action");if(!D)return;if(!D.startsWith("https://action/")){const O=new URL(D,Ym);if(D=c.parsePath(O.pathname+O.search),!D.startsWith(i))return}if(R.target.method.toUpperCase()!=="POST")throw new Error("Only POST forms are supported for Actions");const I=ry.get(D);if(I){R.preventDefault();const O=new FormData(R.target,R.submitter);I.call({r:c,f:R.target},R.target.enctype==="multipart/form-data"?O:new URLSearchParams(O))}}cs(["click","submit"]),document.addEventListener("click",k),s&&(document.addEventListener("mousemove",S,{passive:!0}),document.addEventListener("focusin",z,{passive:!0}),document.addEventListener("touchstart",z,{passive:!0})),document.addEventListener("submit",B),El(()=>{document.removeEventListener("click",k),s&&(document.removeEventListener("mousemove",S),document.removeEventListener("focusin",z),document.removeEventListener("touchstart",z)),document.removeEventListener("submit",B)})}}function iy(s){const r=()=>{const l=window.location.pathname.replace(/^\/+/,"/")+window.location.search,c=window.history.state&&window.history.state._depth&&Object.keys(window.history.state).length===1?void 0:window.history.state;return{value:l+window.location.hash,state:c}},i=Zm();return ey({get:r,set({value:l,replace:c,scroll:h,state:d}){c?window.history.replaceState(A1(d),"",l):window.history.pushState(d,"",l),ay(decodeURIComponent(window.location.hash.slice(1)),h),ch()},init:l=>ty(window,"popstate",I1(l,c=>{if(c)return!i.confirm(c);{const h=r();return!i.confirm(h.value,{state:h.state})}})),create:ny({preload:s.preload,explicitLinks:s.explicitLinks,actionBase:s.actionBase,transformUrl:s.transformUrl}),utils:{go:l=>window.history.go(l),beforeLeave:i}})(s)}var sy=ba("");function Ra(s){s=Jd({inactiveClass:"inactive",activeClass:"active"},s);const[,r]=l1(s,["href","state","class","activeClass","inactiveClass","end"]),i=L1(()=>s.href),l=B1(i),c=dh(),h=Tr(()=>{const d=i();if(d===void 0)return[!1,!1];const f=no(d.split(/[?#]/,1)[0]).toLowerCase(),p=decodeURI(no(c.pathname).toLowerCase());return[s.end?f===p:p.startsWith(f+"/")||p===f,f===p]});return(()=>{var d=sy();return _1(d,Jd(r,{get href(){return l()||s.href},get state(){return JSON.stringify(s.state)},get classList(){return{...s.class&&{[s.class]:!0},[s.inactiveClass]:!h()[0],[s.activeClass]:h()[0],...r.classList}},link:"",get"aria-current"(){return h()[1]?"page":void 0}}),!1),d})()}function sf(s){const r=af(),i=dh(),{href:l,state:c}=s,h=typeof l=="function"?l({navigate:r,location:i}):l;return r(h,{replace:!0,state:c}),null}const Xd=Symbol("store-raw"),Uo=Symbol("store-node"),ss=Symbol("store-has"),of=Symbol("store-self");function lf(s){let r=s[Si];if(!r&&(Object.defineProperty(s,Si,{value:r=new Proxy(s,cy)}),!Array.isArray(s))){const i=Object.keys(s),l=Object.getOwnPropertyDescriptors(s);for(let c=0,h=i.length;cs[Si][r]),i}function cf(s){Hd()&&Al(du(s,Uo),of)()}function ly(s){return cf(s),Reflect.ownKeys(s)}const cy={get(s,r,i){if(r===Xd)return s;if(r===Si)return i;if(r===Kd)return cf(s),i;const l=du(s,Uo),c=l[r];let h=c?c():s[r];if(r===Uo||r===ss||r==="__proto__")return h;if(!c){const d=Object.getOwnPropertyDescriptor(s,r);Hd()&&(typeof h!="function"||s.hasOwnProperty(r))&&!(d&&d.get)&&(h=Al(l,r,h)())}return qs(h)?lf(h):h},has(s,r){return r===Xd||r===Si||r===Kd||r===Uo||r===ss||r==="__proto__"?!0:(Hd()&&Al(du(s,ss),r)(),r in s)},set(){return console.warn("Cannot mutate a Store directly"),!0},deleteProperty(){return console.warn("Cannot mutate a Store directly"),!0},ownKeys:ly,getOwnPropertyDescriptor:oy};function gi(s,r,i,l=!1){if(!l&&s[r]===i)return;const c=s[r],h=s.length;i===void 0?(delete s[r],s[ss]&&s[ss][r]&&c!==void 0&&s[ss][r].$()):(s[r]=i,s[ss]&&s[ss][r]&&c===void 0&&s[ss][r].$());let d=du(s,Uo),f;if((f=Al(d,r,c))&&f.$(()=>i),Array.isArray(s)&&s.length!==h){for(let p=s.length;p1){l=r.shift();const d=typeof l,f=Array.isArray(s);if(Array.isArray(l)){for(let p=0;p1){yl(s[l],r,[l].concat(i));return}c=s[l],i=[l].concat(i)}let h=r[0];typeof h=="function"&&(h=h(c,i),h===c)||l===void 0&&h==null||(h=io(h),l===void 0||qs(c)&&qs(h)&&!Array.isArray(h)?uf(c,h):gi(s,l,h))}function df(...[s,r]){const i=io(s||{}),l=Array.isArray(i);if(typeof i!="object"&&typeof i!="function")throw new Error(`Unexpected type ${typeof i} received when initializing 'createStore'. Expected an object.`);const c=lf(i);u1.registerGraph({value:i,name:r&&r.name});function h(...d){Dm(()=>{l&&d.length===1?uy(i,d[0]):yl(i,d)})}return[c,h]}const eh=Symbol("store-root");function qo(s,r,i,l,c){const h=r[i];if(s===h)return;const d=Array.isArray(s);if(i!==eh&&(!qs(s)||!qs(h)||d!==Array.isArray(h)||c&&s[c]!==h[c])){gi(r,i,s);return}if(d){if(s.length&&h.length&&(!l||c&&s[0]&&s[0][c]!=null)){let y,v,k,z,S,B,R,D;for(k=0,z=Math.min(h.length,s.length);k=k&&S>=k&&(h[z]===s[S]||c&&h[z]&&s[S]&&h[z][c]&&h[z][c]===s[S][c]);z--,S--)I[S]=h[z];if(k>S||k>z){for(v=k;v<=S;v++)gi(h,v,s[v]);for(;vs.length&&gi(h,"length",s.length);return}for(R=new Array(S+1),v=S;v>=k;v--)B=s[v],D=c&&B?B[c]:B,y=O.get(D),R[v]=y===void 0?-1:y,O.set(D,v);for(y=k;y<=z;y++)B=h[y],D=c&&B?B[c]:B,v=O.get(D),v!==void 0&&v!==-1&&(I[v]=h[y],v=R[v],O.set(D,v));for(v=k;vs.length&&gi(h,"length",s.length);return}const f=Object.keys(s);for(let y=0,v=f.length;y{if(!qs(h)||!qs(c))return c;const d=qo(c,{[eh]:h},eh,i,l);return d===void 0?h:d}}var Jc={},Bd,Eo,hy={1521(s,r,i){i.d(r,{getDebugLogger:()=>p}),i(7009);class l{logLevel;transport;constructor(v,k){this.transport=v,this.logLevel=k??"debug"}debug(v,k,z){this.log("debug",v,k,z)}error(v,k,z){this.log("error",v,k,z)}info(v,k,z){this.log("info",v,k,z)}warn(v,k,z){this.log("warn",v,k,z)}log(v,k,z,S){if(!this.shouldLogLevel(v))return;let B={timestamp:Date.now(),level:v,message:k,context:z,source:S};this.transport.send(B).catch(R=>{console.error("Failed to send log entry:",R)})}shouldLogLevel(v){let k=["error","warn","info","debug"],z=k.indexOf(this.logLevel);return k.indexOf(v)<=z}}class c{transports;constructor(v){this.transports=v}async send(v){let k=this.transports.map(z=>z.send(v).catch(S=>{console.error("Failed to send to transport:",S)}));await Promise.allSettled(k)}}class h{send(v){let k=new Date(v.timestamp).toISOString(),z=v.level.toUpperCase(),S=v.source?`[${v.source}]`:"",B=v.context?` ${JSON.stringify(v.context)}`:"",R=`[Clerk Debug] ${k} ${z}${S}: ${v.message}${B}`;switch(v.level){case"error":console.error(R);break;case"warn":console.warn(R);break;case"info":console.info(R);break;case"debug":console.debug(R);break;default:console.log(R)}return Promise.resolve()}}class d{collector;constructor(v){this.collector=v}async send(v){this.collector&&await Promise.resolve(this.collector.recordLog({context:v.context,level:v.level,message:v.message,organizationId:v.organizationId,sessionId:v.sessionId,source:v.source,timestamp:v.timestamp,userId:v.userId}))}}class f{static instance;initialized=!1;logger=null;initializationPromise=null;static getInstance(){return f.instance||(f.instance=new f),f.instance}async initialize(v={}){return this.initialized?this.logger:(this.initializationPromise||(this.initializationPromise=this.performInitialization(v)),this.initializationPromise)}async performInitialization(v){try{if(v.logLevel&&typeof v.logLevel!="string")throw Error("logLevel must be a string");let{logLevel:k,telemetryCollector:z}=v,S=[{transport:new h},...z?[{transport:new d(z)}]:[]].map(D=>D.transport),B=new c(S),R=new l(B,k??"info");return this.logger=R,this.initialized=!0,this.logger}catch(k){return console.error("Failed to initialize debug module:",k),this.initializationPromise=null,null}}getLogger(){return this.logger}isInitialized(){return this.initialized}reset(){this.initialized=!1,this.logger=null,this.initializationPromise=null}}async function p(y={}){return f.getInstance().initialize(y)}},8123(s,r,i){let l,c,h,d,f,p;i.d(r,{QueryClient:()=>Aa});var y={setTimeout:(L,te)=>setTimeout(L,te),clearTimeout:L=>clearTimeout(L),setInterval:(L,te)=>setInterval(L,te),clearInterval:L=>clearInterval(L)},v=new class{#t=y;#e=!1;setTimeoutProvider(L){this.#t=L}setTimeout(L,te){return this.#t.setTimeout(L,te)}clearTimeout(L){this.#t.clearTimeout(L)}setInterval(L,te){return this.#t.setInterval(L,te)}clearInterval(L){this.#t.clearInterval(L)}},k="u"ae(Ae)?Object.keys(Ae).sort().reduce((He,ct)=>(He[ct]=Ae[ct],He),{}):Ae)}function O(L,te){return L===te||typeof L==typeof te&&!!L&&!!te&&typeof L=="object"&&typeof te=="object"&&Object.keys(te).every(Ae=>O(L[Ae],te[Ae]))}var M=Object.prototype.hasOwnProperty;function Y(L){return Array.isArray(L)&&L.length===Object.keys(L).length}function ae(L){if(!ue(L))return!1;let te=L.constructor;if(te===void 0)return!0;let Ae=te.prototype;return!!ue(Ae)&&!!Ae.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(L)===Object.prototype}function ue(L){return Object.prototype.toString.call(L)==="[object Object]"}function se(L,te,Ae=0){let He=[...L,te];return Ae&&He.length>Ae?He.slice(1):He}function J(L,te,Ae=0){let He=[te,...L];return Ae&&He.length>Ae?He.slice(0,-1):He}var W=Symbol();function G(L,te){return!L.queryFn&&te?.initialPromise?()=>te.initialPromise:L.queryFn&&L.queryFn!==W?L.queryFn:()=>Promise.reject(Error(`Missing queryFn: '${L.queryHash}'`))}var Q=(l=[],c=0,h=L=>{L()},d=L=>{L()},f=function(L){setTimeout(L,0)},{batch:L=>{let te;c++;try{te=L()}finally{let Ae;--c||(Ae=l,l=[],Ae.length&&f(()=>{d(()=>{Ae.forEach(He=>{h(He)})})}))}return te},batchCalls:L=>(...te)=>{p(()=>{L(...te)})},schedule:p=L=>{c?l.push(L):f(()=>{h(L)})},setNotifyFunction:L=>{h=L},setBatchNotifyFunction:L=>{d=L},setScheduler:L=>{f=L}}),X=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(L){return this.listeners.add(L),this.onSubscribe(),()=>{this.listeners.delete(L),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},ee=new class extends X{#t;#e;#a;constructor(){super(),this.#a=L=>{if(!k&&window.addEventListener){let te=()=>L();return window.addEventListener("visibilitychange",te,!1),()=>{window.removeEventListener("visibilitychange",te)}}}}onSubscribe(){this.#e||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(L){this.#a=L,this.#e?.(),this.#e=L(te=>{typeof te=="boolean"?this.setFocused(te):this.onFocus()})}setFocused(L){this.#t!==L&&(this.#t=L,this.onFocus())}onFocus(){let L=this.isFocused();this.listeners.forEach(te=>{te(L)})}isFocused(){return typeof this.#t=="boolean"?this.#t:globalThis.document?.visibilityState!=="hidden"}},be=new class extends X{#t=!0;#e;#a;constructor(){super(),this.#a=L=>{if(!k&&window.addEventListener){let te=()=>L(!0),Ae=()=>L(!1);return window.addEventListener("online",te,!1),window.addEventListener("offline",Ae,!1),()=>{window.removeEventListener("online",te),window.removeEventListener("offline",Ae)}}}}onSubscribe(){this.#e||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(L){this.#a=L,this.#e?.(),this.#e=L(this.setOnline.bind(this))}setOnline(L){this.#t!==L&&(this.#t=L,this.listeners.forEach(te=>{te(L)}))}isOnline(){return this.#t}};function ve(L){return Math.min(1e3*2**L,3e4)}function je(L){return(L??"online")!=="online"||be.isOnline()}var qe=class extends Error{constructor(L){super("CancelledError"),this.revert=L?.revert,this.silent=L?.silent}};function Re(L){let te,Ae=!1,He=0,ct=function(){let Qt,Ne,jt=new Promise((Ia,Ha)=>{Qt=Ia,Ne=Ha});function Ba(Ia){Object.assign(jt,Ia),delete jt.resolve,delete jt.reject}return jt.status="pending",jt.catch(()=>{}),jt.resolve=Ia=>{Ba({status:"fulfilled",value:Ia}),Qt(Ia)},jt.reject=Ia=>{Ba({status:"rejected",reason:Ia}),Ne(Ia)},jt}(),It=()=>ee.isFocused()&&(L.networkMode==="always"||be.isOnline())&&L.canRun(),Jt=()=>je(L.networkMode)&&L.canRun(),Bt=Qt=>{ct.status==="pending"&&(te?.(),ct.resolve(Qt))},sa=Qt=>{ct.status==="pending"&&(te?.(),ct.reject(Qt))},Wa=()=>new Promise(Qt=>{te=Ne=>{(ct.status!=="pending"||It())&&Qt(Ne)},L.onPause?.()}).then(()=>{te=void 0,ct.status==="pending"&&L.onContinue?.()}),La=()=>{let Qt;if(ct.status!=="pending")return;let Ne=He===0?L.initialPromise:void 0;try{Qt=Ne??L.fn()}catch(jt){Qt=Promise.reject(jt)}Promise.resolve(Qt).then(Bt).catch(jt=>{if(ct.status!=="pending")return;let Ba=L.retry??3*!k,Ia=L.retryDelay??ve,Ha=typeof Ia=="function"?Ia(He,jt):Ia,cr=Ba===!0||typeof Ba=="number"&&He{v.setTimeout(Ve,Ha)}).then(()=>It()?void 0:Wa()).then(()=>{Ae?sa(jt):La()}))})};return{promise:ct,status:()=>ct.status,cancel:Qt=>{if(ct.status==="pending"){let Ne=new qe(Qt);sa(Ne),L.onCancel?.(Ne)}},continue:()=>(te?.(),ct),cancelRetry:()=>{Ae=!0},continueRetry:()=>{Ae=!1},canStart:Jt,start:()=>(Jt()?La():Wa().then(La),ct)}}var Ke=class{#t;destroy(){this.clearGcTimeout()}scheduleGc(){var L;this.clearGcTimeout(),typeof(L=this.gcTime)=="number"&&L>=0&&L!==1/0&&(this.#t=v.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(L){this.gcTime=Math.max(this.gcTime||0,L??(k?1/0:3e5))}clearGcTimeout(){this.#t&&(v.clearTimeout(this.#t),this.#t=void 0)}},Se=class extends Ke{#t;#e;#a;#s;#i;#u;#l;constructor(L){super(),this.#l=!1,this.#u=L.defaultOptions,this.setOptions(L.options),this.observers=[],this.#s=L.client,this.#a=this.#s.getQueryCache(),this.queryKey=L.queryKey,this.queryHash=L.queryHash,this.#t=Fe(this.options),this.state=L.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(L){if(this.options={...this.#u,...L},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let te=Fe(this.options);te.data!==void 0&&(this.setState(Oe(te.data,te.dataUpdatedAt)),this.#t=te)}}optionalRemove(){this.observers.length||this.state.fetchStatus!=="idle"||this.#a.remove(this)}setData(L,te){var Ae,He;let ct=(Ae=this.state.data,typeof(He=this.options).structuralSharing=="function"?He.structuralSharing(Ae,L):He.structuralSharing!==!1?function It(Jt,Bt){if(Jt===Bt)return Jt;let sa=Y(Jt)&&Y(Bt);if(!sa&&!(ae(Jt)&&ae(Bt)))return Bt;let Wa=(sa?Jt:Object.keys(Jt)).length,La=sa?Bt:Object.keys(Bt),Qt=La.length,Ne=sa?Array(Qt):{},jt=0;for(let Ba=0;Ba{var te;return te=L.options.enabled,(typeof te=="function"?te(this):te)!==!1})}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===W||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(L=>S(L.options.staleTime,this)==="static")}isStale(){return this.getObserversCount()>0?this.observers.some(L=>L.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(L=0){return this.state.data===void 0||L!=="static"&&(!!this.state.isInvalidated||!Math.max(this.state.dataUpdatedAt+(L||0)-Date.now(),0))}onFocus(){this.observers.find(te=>te.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(te=>te.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(L){this.observers.includes(L)||(this.observers.push(L),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",query:this,observer:L}))}removeObserver(L){this.observers.includes(L)&&(this.observers=this.observers.filter(te=>te!==L),this.observers.length||(this.#i&&(this.#l?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#a.notify({type:"observerRemoved",query:this,observer:L}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#c({type:"invalidate"})}async fetch(L,te){let Ae;if(this.state.fetchStatus!=="idle"&&this.#i?.status()!=="rejected"){if(this.state.data!==void 0&&te?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(L&&this.setOptions(L),!this.options.queryFn){let Bt=this.observers.find(sa=>sa.options.queryFn);Bt&&this.setOptions(Bt.options)}let He=new AbortController,ct=Bt=>{Object.defineProperty(Bt,"signal",{enumerable:!0,get:()=>(this.#l=!0,He.signal)})},It=()=>{let Bt,sa=G(this.options,te),Wa=(ct(Bt={client:this.#s,queryKey:this.queryKey,meta:this.meta}),Bt);return this.#l=!1,this.options.persister?this.options.persister(sa,Wa,this):sa(Wa)},Jt=(ct(Ae={fetchOptions:te,options:this.options,queryKey:this.queryKey,client:this.#s,state:this.state,fetchFn:It}),Ae);this.options.behavior?.onFetch(Jt,this),this.#e=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==Jt.fetchOptions?.meta)&&this.#c({type:"fetch",meta:Jt.fetchOptions?.meta}),this.#i=Re({initialPromise:te?.initialPromise,fn:Jt.fetchFn,onCancel:Bt=>{Bt instanceof qe&&Bt.revert&&this.setState({...this.#e,fetchStatus:"idle"}),He.abort()},onFail:(Bt,sa)=>{this.#c({type:"failed",failureCount:Bt,error:sa})},onPause:()=>{this.#c({type:"pause"})},onContinue:()=>{this.#c({type:"continue"})},retry:Jt.options.retry,retryDelay:Jt.options.retryDelay,networkMode:Jt.options.networkMode,canRun:()=>!0});try{let Bt=await this.#i.start();if(Bt===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(Bt),this.#a.config.onSuccess?.(Bt,this),this.#a.config.onSettled?.(Bt,this.state.error,this),Bt}catch(Bt){if(Bt instanceof qe){if(Bt.silent)return this.#i.promise;if(Bt.revert){if(this.state.data===void 0)throw Bt;return this.state.data}}throw this.#c({type:"error",error:Bt}),this.#a.config.onError?.(Bt,this),this.#a.config.onSettled?.(this.state.data,Bt,this),Bt}finally{this.scheduleGc()}}#c(L){let te=Ae=>{switch(L.type){case"failed":return{...Ae,fetchFailureCount:L.failureCount,fetchFailureReason:L.error};case"pause":return{...Ae,fetchStatus:"paused"};case"continue":return{...Ae,fetchStatus:"fetching"};case"fetch":var He;return{...Ae,...(He=Ae.data,{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:je(this.options.networkMode)?"fetching":"paused",...He===void 0&&{error:null,status:"pending"}}),fetchMeta:L.meta??null};case"success":let ct={...Ae,...Oe(L.data,L.dataUpdatedAt),dataUpdateCount:Ae.dataUpdateCount+1,...!L.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#e=L.manual?ct:void 0,ct;case"error":let It=L.error;return{...Ae,error:It,errorUpdateCount:Ae.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:Ae.fetchFailureCount+1,fetchFailureReason:It,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...Ae,isInvalidated:!0};case"setState":return{...Ae,...L.state}}};this.state=te(this.state),Q.batch(()=>{this.observers.forEach(Ae=>{Ae.onQueryUpdate()}),this.#a.notify({query:this,type:"updated",action:L})})}};function Oe(L,te){return{data:L,dataUpdatedAt:te??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Fe(L){let te=typeof L.initialData=="function"?L.initialData():L.initialData,Ae=te!==void 0,He=Ae?typeof L.initialDataUpdatedAt=="function"?L.initialDataUpdatedAt():L.initialDataUpdatedAt:0;return{data:te,dataUpdateCount:0,dataUpdatedAt:Ae?He??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:Ae?"success":"pending",fetchStatus:"idle"}}var xt=class extends X{constructor(L={}){super(),this.config=L,this.#t=new Map}#t;build(L,te,Ae){let He=te.queryKey,ct=te.queryHash??D(He,te),It=this.get(ct);return It||(It=new Se({client:L,queryKey:He,queryHash:ct,options:L.defaultQueryOptions(te),state:Ae,defaultOptions:L.getQueryDefaults(He)}),this.add(It)),It}add(L){this.#t.has(L.queryHash)||(this.#t.set(L.queryHash,L),this.notify({type:"added",query:L}))}remove(L){let te=this.#t.get(L.queryHash);te&&(L.destroy(),te===L&&this.#t.delete(L.queryHash),this.notify({type:"removed",query:L}))}clear(){Q.batch(()=>{this.getAll().forEach(L=>{this.remove(L)})})}get(L){return this.#t.get(L)}getAll(){return[...this.#t.values()]}find(L){let te={exact:!0,...L};return this.getAll().find(Ae=>B(te,Ae))}findAll(L={}){let te=this.getAll();return Object.keys(L).length>0?te.filter(Ae=>B(L,Ae)):te}notify(L){Q.batch(()=>{this.listeners.forEach(te=>{te(L)})})}onFocus(){Q.batch(()=>{this.getAll().forEach(L=>{L.onFocus()})})}onOnline(){Q.batch(()=>{this.getAll().forEach(L=>{L.onOnline()})})}},bt=class extends Ke{#t;#e;#a;#s;constructor(L){super(),this.#t=L.client,this.mutationId=L.mutationId,this.#a=L.mutationCache,this.#e=[],this.state=L.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},this.setOptions(L.options),this.scheduleGc()}setOptions(L){this.options=L,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(L){this.#e.includes(L)||(this.#e.push(L),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",mutation:this,observer:L}))}removeObserver(L){this.#e=this.#e.filter(te=>te!==L),this.scheduleGc(),this.#a.notify({type:"observerRemoved",mutation:this,observer:L})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#a.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(L){let te=()=>{this.#i({type:"continue"})},Ae={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#s=Re({fn:()=>this.options.mutationFn?this.options.mutationFn(L,Ae):Promise.reject(Error("No mutationFn found")),onFail:(It,Jt)=>{this.#i({type:"failed",failureCount:It,error:Jt})},onPause:()=>{this.#i({type:"pause"})},onContinue:te,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#a.canRun(this)});let He=this.state.status==="pending",ct=!this.#s.canStart();try{if(He)te();else{this.#i({type:"pending",variables:L,isPaused:ct}),await this.#a.config.onMutate?.(L,this,Ae);let Jt=await this.options.onMutate?.(L,Ae);Jt!==this.state.context&&this.#i({type:"pending",context:Jt,variables:L,isPaused:ct})}let It=await this.#s.start();return await this.#a.config.onSuccess?.(It,L,this.state.context,this,Ae),await this.options.onSuccess?.(It,L,this.state.context,Ae),await this.#a.config.onSettled?.(It,null,this.state.variables,this.state.context,this,Ae),await this.options.onSettled?.(It,null,L,this.state.context,Ae),this.#i({type:"success",data:It}),It}catch(It){try{await this.#a.config.onError?.(It,L,this.state.context,this,Ae)}catch(Jt){Promise.reject(Jt)}try{await this.options.onError?.(It,L,this.state.context,Ae)}catch(Jt){Promise.reject(Jt)}try{await this.#a.config.onSettled?.(void 0,It,this.state.variables,this.state.context,this,Ae)}catch(Jt){Promise.reject(Jt)}try{await this.options.onSettled?.(void 0,It,L,this.state.context,Ae)}catch(Jt){Promise.reject(Jt)}throw this.#i({type:"error",error:It}),It}finally{this.#a.runNext(this)}}#i(L){this.state=(te=>{switch(L.type){case"failed":return{...te,failureCount:L.failureCount,failureReason:L.error};case"pause":return{...te,isPaused:!0};case"continue":return{...te,isPaused:!1};case"pending":return{...te,context:L.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:L.isPaused,status:"pending",variables:L.variables,submittedAt:Date.now()};case"success":return{...te,data:L.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...te,data:void 0,error:L.error,failureCount:te.failureCount+1,failureReason:L.error,isPaused:!1,status:"error"}}})(this.state),Q.batch(()=>{this.#e.forEach(te=>{te.onMutationUpdate(L)}),this.#a.notify({mutation:this,type:"updated",action:L})})}},Lt=class extends X{constructor(L={}){super(),this.config=L,this.#t=new Set,this.#e=new Map,this.#a=0}#t;#e;#a;build(L,te,Ae){let He=new bt({client:L,mutationCache:this,mutationId:++this.#a,options:L.defaultMutationOptions(te),state:Ae});return this.add(He),He}add(L){this.#t.add(L);let te=At(L);if(typeof te=="string"){let Ae=this.#e.get(te);Ae?Ae.push(L):this.#e.set(te,[L])}this.notify({type:"added",mutation:L})}remove(L){if(this.#t.delete(L)){let te=At(L);if(typeof te=="string"){let Ae=this.#e.get(te);if(Ae)if(Ae.length>1){let He=Ae.indexOf(L);He!==-1&&Ae.splice(He,1)}else Ae[0]===L&&this.#e.delete(te)}}this.notify({type:"removed",mutation:L})}canRun(L){let te=At(L);if(typeof te!="string")return!0;{let Ae=this.#e.get(te),He=Ae?.find(ct=>ct.state.status==="pending");return!He||He===L}}runNext(L){let te=At(L);return typeof te!="string"?Promise.resolve():this.#e.get(te)?.find(He=>He!==L&&He.state.isPaused)?.continue()??Promise.resolve()}clear(){Q.batch(()=>{this.#t.forEach(L=>{this.notify({type:"removed",mutation:L})}),this.#t.clear(),this.#e.clear()})}getAll(){return Array.from(this.#t)}find(L){let te={exact:!0,...L};return this.getAll().find(Ae=>R(te,Ae))}findAll(L={}){return this.getAll().filter(te=>R(L,te))}notify(L){Q.batch(()=>{this.listeners.forEach(te=>{te(L)})})}resumePausedMutations(){let L=this.getAll().filter(te=>te.state.isPaused);return Q.batch(()=>Promise.all(L.map(te=>te.continue().catch(z))))}};function At(L){return L.options.scope?.id}function St(L){return{onFetch:(te,Ae)=>{let He=te.options,ct=te.fetchOptions?.meta?.fetchMore?.direction,It=te.state.data?.pages||[],Jt=te.state.data?.pageParams||[],Bt={pages:[],pageParams:[]},sa=0,Wa=async()=>{let La=!1,Qt=G(te.options,te.fetchOptions),Ne=async(jt,Ba,Ia)=>{if(La)return Promise.reject();if(Ba==null&&jt.pages.length)return Promise.resolve(jt);let Ha=(()=>{var me,fe;let ke,Pe,_e={client:te.client,queryKey:te.queryKey,pageParam:Ba,direction:Ia?"backward":"forward",meta:te.options.meta};return me=()=>te.signal,fe=()=>La=!0,Pe=!1,Object.defineProperty(_e,"signal",{enumerable:!0,get:()=>(ke??=me(),Pe||(Pe=!0,ke.aborted?fe():ke.addEventListener("abort",fe,{once:!0})),ke)}),_e})(),cr=await Qt(Ha),{maxPages:Ve}=te.options,V=Ia?J:se;return{pages:V(jt.pages,cr,Ve),pageParams:V(jt.pageParams,Ba,Ve)}};if(ct&&It.length){let jt=ct==="backward",Ba={pages:It,pageParams:Jt},Ia=(jt?function(Ha,{pages:cr,pageParams:Ve}){return cr.length>0?Ha.getPreviousPageParam?.(cr[0],cr,Ve[0],Ve):void 0}:ha)(He,Ba);Bt=await Ne(Ba,Ia,jt)}else{let jt=L??It.length;do{let Ba=sa===0?Jt[0]??He.initialPageParam:ha(He,Bt);if(sa>0&&Ba==null)break;Bt=await Ne(Bt,Ba),sa++}while(sate.options.persister?.(Wa,{client:te.client,queryKey:te.queryKey,meta:te.options.meta,signal:te.signal},Ae):te.fetchFn=Wa}}}function ha(L,{pages:te,pageParams:Ae}){let He=te.length-1;return te.length>0?L.getNextPageParam(te[He],te,Ae[He],Ae):void 0}var Aa=class{#t;#e;#a;#s;#i;#u;#l;#c;constructor(L={}){this.#t=L.queryCache||new xt,this.#e=L.mutationCache||new Lt,this.#a=L.defaultOptions||{},this.#s=new Map,this.#i=new Map,this.#u=0}mount(){this.#u++,this.#u===1&&(this.#l=ee.subscribe(async L=>{L&&(await this.resumePausedMutations(),this.#t.onFocus())}),this.#c=be.subscribe(async L=>{L&&(await this.resumePausedMutations(),this.#t.onOnline())}))}unmount(){this.#u--,this.#u===0&&(this.#l?.(),this.#l=void 0,this.#c?.(),this.#c=void 0)}isFetching(L){return this.#t.findAll({...L,fetchStatus:"fetching"}).length}isMutating(L){return this.#e.findAll({...L,status:"pending"}).length}getQueryData(L){let te=this.defaultQueryOptions({queryKey:L});return this.#t.get(te.queryHash)?.state.data}ensureQueryData(L){let te=this.defaultQueryOptions(L),Ae=this.#t.build(this,te),He=Ae.state.data;return He===void 0?this.fetchQuery(L):(L.revalidateIfStale&&Ae.isStaleByTime(S(te.staleTime,Ae))&&this.prefetchQuery(te),Promise.resolve(He))}getQueriesData(L){return this.#t.findAll(L).map(({queryKey:te,state:Ae})=>[te,Ae.data])}setQueryData(L,te,Ae){let He=this.defaultQueryOptions({queryKey:L}),ct=this.#t.get(He.queryHash),It=ct?.state.data,Jt=typeof te=="function"?te(It):te;if(Jt!==void 0)return this.#t.build(this,He).setData(Jt,{...Ae,manual:!0})}setQueriesData(L,te,Ae){return Q.batch(()=>this.#t.findAll(L).map(({queryKey:He})=>[He,this.setQueryData(He,te,Ae)]))}getQueryState(L){let te=this.defaultQueryOptions({queryKey:L});return this.#t.get(te.queryHash)?.state}removeQueries(L){let te=this.#t;Q.batch(()=>{te.findAll(L).forEach(Ae=>{te.remove(Ae)})})}resetQueries(L,te){let Ae=this.#t;return Q.batch(()=>(Ae.findAll(L).forEach(He=>{He.reset()}),this.refetchQueries({type:"active",...L},te)))}cancelQueries(L,te={}){let Ae={revert:!0,...te};return Promise.all(Q.batch(()=>this.#t.findAll(L).map(He=>He.cancel(Ae)))).then(z).catch(z)}invalidateQueries(L,te={}){return Q.batch(()=>(this.#t.findAll(L).forEach(Ae=>{Ae.invalidate()}),L?.refetchType==="none"?Promise.resolve():this.refetchQueries({...L,type:L?.refetchType??L?.type??"active"},te)))}refetchQueries(L,te={}){let Ae={...te,cancelRefetch:te.cancelRefetch??!0};return Promise.all(Q.batch(()=>this.#t.findAll(L).filter(He=>!He.isDisabled()&&!He.isStatic()).map(He=>{let ct=He.fetch(void 0,Ae);return Ae.throwOnError||(ct=ct.catch(z)),He.state.fetchStatus==="paused"?Promise.resolve():ct}))).then(z)}fetchQuery(L){let te=this.defaultQueryOptions(L);te.retry===void 0&&(te.retry=!1);let Ae=this.#t.build(this,te);return Ae.isStaleByTime(S(te.staleTime,Ae))?Ae.fetch(te):Promise.resolve(Ae.state.data)}prefetchQuery(L){return this.fetchQuery(L).then(z).catch(z)}fetchInfiniteQuery(L){return L.behavior=St(L.pages),this.fetchQuery(L)}prefetchInfiniteQuery(L){return this.fetchInfiniteQuery(L).then(z).catch(z)}ensureInfiniteQueryData(L){return L.behavior=St(L.pages),this.ensureQueryData(L)}resumePausedMutations(){return be.isOnline()?this.#e.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#t}getMutationCache(){return this.#e}getDefaultOptions(){return this.#a}setDefaultOptions(L){this.#a=L}setQueryDefaults(L,te){this.#s.set(I(L),{queryKey:L,defaultOptions:te})}getQueryDefaults(L){let te=[...this.#s.values()],Ae={};return te.forEach(He=>{O(L,He.queryKey)&&Object.assign(Ae,He.defaultOptions)}),Ae}setMutationDefaults(L,te){this.#i.set(I(L),{mutationKey:L,defaultOptions:te})}getMutationDefaults(L){let te=[...this.#i.values()],Ae={};return te.forEach(He=>{O(L,He.mutationKey)&&Object.assign(Ae,He.defaultOptions)}),Ae}defaultQueryOptions(L){if(L._defaulted)return L;let te={...this.#a.queries,...this.getQueryDefaults(L.queryKey),...L,_defaulted:!0};return te.queryHash||(te.queryHash=D(te.queryKey,te)),te.refetchOnReconnect===void 0&&(te.refetchOnReconnect=te.networkMode!=="always"),te.throwOnError===void 0&&(te.throwOnError=!!te.suspense),!te.networkMode&&te.persister&&(te.networkMode="offlineFirst"),te.queryFn===W&&(te.enabled=!1),te}defaultMutationOptions(L){return L?._defaulted?L:{...this.#a.mutations,...L?.mutationKey&&this.getMutationDefaults(L.mutationKey),...L,_defaulted:!0}}clear(){this.#t.clear(),this.#e.clear()}}},3009(s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.toBig=r.shrSL=r.shrSH=r.rotrSL=r.rotrSH=r.rotrBL=r.rotrBH=r.rotr32L=r.rotr32H=r.rotlSL=r.rotlSH=r.rotlBL=r.rotlBH=r.add5L=r.add5H=r.add4L=r.add4H=r.add3L=r.add3H=void 0,r.add=M,r.fromBig=c,r.split=h;let i=BigInt(4294967296-1),l=BigInt(32);function c(G,Q=!1){return Q?{h:Number(G&i),l:Number(G>>l&i)}:{h:0|Number(G>>l&i),l:0|Number(G&i)}}function h(G,Q=!1){let X=G.length,ee=new Uint32Array(X),be=new Uint32Array(X);for(let ve=0;veBigInt(G>>>0)<>>0);r.toBig=d;let f=(G,Q,X)=>G>>>X;r.shrSH=f;let p=(G,Q,X)=>G<<32-X|Q>>>X;r.shrSL=p;let y=(G,Q,X)=>G>>>X|Q<<32-X;r.rotrSH=y;let v=(G,Q,X)=>G<<32-X|Q>>>X;r.rotrSL=v;let k=(G,Q,X)=>G<<64-X|Q>>>X-32;r.rotrBH=k;let z=(G,Q,X)=>G>>>X-32|Q<<64-X;r.rotrBL=z;let S=(G,Q)=>Q;r.rotr32H=S;let B=(G,Q)=>G;r.rotr32L=B;let R=(G,Q,X)=>G<>>32-X;r.rotlSH=R;let D=(G,Q,X)=>Q<>>32-X;r.rotlSL=D;let I=(G,Q,X)=>Q<>>64-X;r.rotlBH=I;let O=(G,Q,X)=>G<>>64-X;function M(G,Q,X,ee){let be=(Q>>>0)+(ee>>>0);return{h:G+X+(be/4294967296|0)|0,l:0|be}}r.rotlBL=O;let Y=(G,Q,X)=>(G>>>0)+(Q>>>0)+(X>>>0);r.add3L=Y;let ae=(G,Q,X,ee)=>Q+X+ee+(G/4294967296|0)|0;r.add3H=ae;let ue=(G,Q,X,ee)=>(G>>>0)+(Q>>>0)+(X>>>0)+(ee>>>0);r.add4L=ue;let se=(G,Q,X,ee,be)=>Q+X+ee+be+(G/4294967296|0)|0;r.add4H=se;let J=(G,Q,X,ee,be)=>(G>>>0)+(Q>>>0)+(X>>>0)+(ee>>>0)+(be>>>0);r.add5L=J;let W=(G,Q,X,ee,be,ve)=>Q+X+ee+be+ve+(G/4294967296|0)|0;r.add5H=W,r.default={fromBig:c,split:h,toBig:d,shrSH:f,shrSL:p,rotrSH:y,rotrSL:v,rotrBH:k,rotrBL:z,rotr32H:S,rotr32L:B,rotlSH:R,rotlSL:D,rotlBH:I,rotlBL:O,add:M,add3L:Y,add3H:ae,add4L:ue,add4H:se,add5H:W,add5L:J}},8510(s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.crypto=void 0,r.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0},5376(s,r,i){Object.defineProperty(r,"__esModule",{value:!0}),r.shake256=r.shake128=r.keccak_512=r.keccak_384=r.keccak_256=r.keccak_224=r.sha3_512=r.sha3_384=r.sha3_256=r.sha3_224=r.Keccak=void 0,r.keccakP=M;let l=i(3009),c=i(6770),h=BigInt(0),d=BigInt(1),f=BigInt(2),p=BigInt(7),y=BigInt(256),v=BigInt(113),k=[],z=[],S=[];for(let se=0,J=d,W=1,G=0;se<24;se++){[W,G]=[G,(2*W+3*G)%5],k.push(2*(5*G+W)),z.push((se+1)*(se+2)/2%64);let Q=h;for(let X=0;X<7;X++)(J=(J<>p)*v)%y)&f&&(Q^=d<<(d<W>32?(0,l.rotlBH)(se,J,W):(0,l.rotlSH)(se,J,W),O=(se,J,W)=>W>32?(0,l.rotlBL)(se,J,W):(0,l.rotlSL)(se,J,W);function M(se,J=24){let W=new Uint32Array(10);for(let G=24-J;G<24;G++){for(let ee=0;ee<10;ee++)W[ee]=se[ee]^se[ee+10]^se[ee+20]^se[ee+30]^se[ee+40];for(let ee=0;ee<10;ee+=2){let be=(ee+8)%10,ve=(ee+2)%10,je=W[ve],qe=W[ve+1],Re=I(je,qe,1)^W[be],Ke=O(je,qe,1)^W[be+1];for(let Se=0;Se<50;Se+=10)se[ee+Se]^=Re,se[ee+Se+1]^=Ke}let Q=se[2],X=se[3];for(let ee=0;ee<24;ee++){let be=z[ee],ve=I(Q,X,be),je=O(Q,X,be),qe=k[ee];Q=se[qe],X=se[qe+1],se[qe]=ve,se[qe+1]=je}for(let ee=0;ee<50;ee+=10){for(let be=0;be<10;be++)W[be]=se[ee+be];for(let be=0;be<10;be++)se[ee+be]^=~W[(be+2)%10]&W[(be+4)%10]}se[0]^=R[G],se[1]^=D[G]}(0,c.clean)(W)}class Y extends c.Hash{constructor(J,W,G,Q=!1,X=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=J,this.suffix=W,this.outputLen=G,this.enableXOF=Q,this.rounds=X,(0,c.anumber)(G),!(0=G&&this.keccak();let ee=Math.min(G-this.posOut,X-Q);J.set(W.subarray(this.posOut,this.posOut+ee),Q),this.posOut+=ee,Q+=ee}return J}xofInto(J){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(J)}xof(J){return(0,c.anumber)(J),this.xofInto(new Uint8Array(J))}digestInto(J){if((0,c.aoutput)(J,this),this.finished)throw Error("digest() was already called");return this.writeInto(J),this.destroy(),J}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,c.clean)(this.state)}_cloneInto(J){let{blockLen:W,suffix:G,outputLen:Q,rounds:X,enableXOF:ee}=this;return J||(J=new Y(W,G,Q,ee,X)),J.state32.set(this.state32),J.pos=this.pos,J.posOut=this.posOut,J.finished=this.finished,J.rounds=X,J.suffix=G,J.outputLen=Q,J.enableXOF=ee,J.destroyed=this.destroyed,J}}r.Keccak=Y;let ae=(se,J,W)=>(0,c.createHasher)(()=>new Y(J,se,W));r.sha3_224=ae(6,144,28),r.sha3_256=ae(6,136,32),r.sha3_384=ae(6,104,48),r.sha3_512=ae(6,72,64),r.keccak_224=ae(1,144,28),r.keccak_256=ae(1,136,32),r.keccak_384=ae(1,104,48),r.keccak_512=ae(1,72,64);let ue=(se,J,W)=>(0,c.createXOFer)((G={})=>new Y(J,se,G.dkLen===void 0?W:G.dkLen,!0));r.shake128=ue(31,168,16),r.shake256=ue(31,136,32)},6770(s,r,i){Object.defineProperty(r,"__esModule",{value:!0}),r.wrapXOFConstructorWithOpts=r.wrapConstructorWithOpts=r.wrapConstructor=r.Hash=r.nextTick=r.swap32IfBE=r.byteSwapIfBE=r.swap8IfBE=r.isLE=void 0,r.isBytes=c,r.anumber=h,r.abytes=d,r.ahash=function(O){if(typeof O!="function"||typeof O.create!="function")throw Error("Hash should be wrapped by utils.createHasher");h(O.outputLen),h(O.blockLen)},r.aexists=function(O,M=!0){if(O.destroyed)throw Error("Hash instance has been destroyed");if(M&&O.finished)throw Error("Hash#digest() has already been called")},r.aoutput=function(O,M){d(O);let Y=M.outputLen;if(O.length>>M},r.rotl=function(O,M){return O<>>32-M>>>0},r.byteSwap=f,r.byteSwap32=p,r.bytesToHex=function(O){if(d(O),y)return O.toHex();let M="";for(let Y=0;Y0&&!M.includes(O.length))throw Error("Uint8Array expected of length "+M+", got length="+O.length)}function f(O){return O<<24&4278190080|O<<8&16711680|O>>>8&65280|O>>>24&255}function p(O){for(let M=0;MO:O=>f(O),r.byteSwapIfBE=r.swap8IfBE,r.swap32IfBE=r.isLE?O=>O:p;let y=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",v=Array.from({length:256},(O,M)=>M.toString(16).padStart(2,"0"));function k(O){return O>=48&&O<=57?O-48:O>=65&&O<=70?O-55:O>=97&&O<=102?O-87:void 0}async function z(O,M,Y){let ae=Date.now();for(let ue=0;ue=0&&seO().update(B(ae)).digest(),Y=O();return M.outputLen=Y.outputLen,M.blockLen=Y.blockLen,M.create=()=>O(),M}function D(O){let M=(ae,ue)=>O(ue).update(B(ae)).digest(),Y=O({});return M.outputLen=Y.outputLen,M.blockLen=Y.blockLen,M.create=ae=>O(ae),M}function I(O){let M=(ae,ue)=>O(ue).update(B(ae)).digest(),Y=O({});return M.outputLen=Y.outputLen,M.blockLen=Y.blockLen,M.create=ae=>O(ae),M}r.nextTick=async()=>{},r.Hash=class{},r.wrapConstructor=R,r.wrapConstructorWithOpts=D,r.wrapXOFConstructorWithOpts=I},1835(s,r,i){i.r(r),i.d(r,{zxcvbnAsync:()=>cr,zxcvbnOptions:()=>ee,Options:()=>X,zxcvbn:()=>Ha,debounce:()=>Ne});let l=(Ve,V)=>Ve.push.apply(Ve,V),c=Ve=>Ve.sort((V,me)=>V.i-me.i||V.j-me.j),h=Ve=>{let V={},me=1;return Ve.forEach(fe=>{V[fe]=me,me+=1}),V},d={4:[[1,2],[2,3]],5:[[1,3],[2,3],[2,4]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]},f=/^[A-Z\xbf-\xdf][^A-Z\xbf-\xdf]+$/,p=/^[^A-Z\xbf-\xdf]+[A-Z\xbf-\xdf]$/,y=/^[A-Z\xbf-\xdf]+$/,v=/^[^a-z\xdf-\xff]+$/,k=/^[a-z\xdf-\xff]+$/,z=/^[^A-Z\xbf-\xdf]+$/,S=/[a-z\xdf-\xff]/,B=/[A-Z\xbf-\xdf]/,R=/[^A-Za-z\xbf-\xdf]/gi,D=/^\d+$/,I=new Date().getFullYear(),O={recentYear:/19\d\d|200\d|201\d|202\d/g},M=[" ",",",";",":","|","/","\\","_",".","-"],Y=M.length;class ae{match({password:V}){let me=[...this.getMatchesWithoutSeparator(V),...this.getMatchesWithSeparator(V)];return c(this.filterNoise(me))}getMatchesWithSeparator(V){let me=[],fe=/^(\d{1,4})([\s/\\_.-])(\d{1,2})\2(\d{1,4})$/;for(let ke=0;ke<=Math.abs(V.length-6);ke+=1)for(let Pe=ke+5;Pe<=ke+9&&!(Pe>=V.length);Pe+=1){let _e=V.slice(ke,+Pe+1||9e9),at=fe.exec(_e);if(at!=null){let pt=this.mapIntegersToDayMonthYear([parseInt(at[1],10),parseInt(at[3],10),parseInt(at[4],10)]);pt!=null&&me.push({pattern:"date",token:_e,i:ke,j:Pe,separator:at[2],year:pt.year,month:pt.month,day:pt.day})}}return me}getMatchesWithoutSeparator(V){let me=[],fe=/^\d{4,8}$/,ke=Pe=>Math.abs(Pe.year-I);for(let Pe=0;Pe<=Math.abs(V.length-4);Pe+=1)for(let _e=Pe+3;_e<=Pe+7&&!(_e>=V.length);_e+=1){let at=V.slice(Pe,+_e+1||9e9);if(fe.exec(at)){let pt=[];if(d[at.length].forEach(([na,Dt])=>{let Sa=this.mapIntegersToDayMonthYear([parseInt(at.slice(0,na),10),parseInt(at.slice(na,Dt),10),parseInt(at.slice(Dt),10)]);Sa!=null&&pt.push(Sa)}),pt.length>0){let na=pt[0],Dt=ke(pt[0]);pt.slice(1).forEach(Sa=>{let Va=ke(Sa);Va{let fe=!1,ke=V.length;for(let Pe=0;Pe=me.j){fe=!0;break}}return!fe})}mapIntegersToDayMonthYear(V){if(V[1]>31||V[1]<=0)return null;let me=0,fe=0,ke=0;for(let Pe=0,_e=V.length;Pe<_e;Pe+=1){let at=V[Pe];if(at>99&&at<1e3||at>2050)return null;at>31&&(fe+=1),at>12&&(me+=1),at<=0&&(ke+=1)}return fe>=2||me===3||ke>=2?null:this.getDayMonth(V)}getDayMonth(V){let me=[[V[2],V.slice(0,2)],[V[0],V.slice(1,3)]],fe=me.length;for(let ke=0;ke=1&&Pe<=31&&_e>=1&&_e<=12)return{day:Pe,month:_e}}return null}twoToFourDigitYear(V){return V>99?V:V>50?V+1900:V+2e3}}let ue=new Uint32Array(65536),se=(Ve,V,me)=>{let fe=0,ke=Object.keys(V).find(Pe=>{let _e,at,pt=(_e=Ve.length<=Pe.length,at=Ve.length<=me,_e||at?Math.ceil(Ve.length/4):me);if(Math.abs(Ve.length-Pe.length)>pt)return!1;let na=((Sa,Va)=>{if(Sa.length{let Te=ma.length,Ge=oe.length,Ye=1<{let Te=oe.length,Ge=ma.length,Ye=[],Qe=[],Pt=Math.ceil(Te/32),Zt=Math.ceil(Ge/32);for(let Xt=0;Xt>>er&1,Cr=Ye[er/32|0]>>>er&1,pn=Jr|Xt,Ga=((Jr|Cr)&rr)+rr^rr|Jr|Cr,cn=Xt|~(Ga|rr),fa=rr&Ga;cn>>>31^Fr&&(Qe[er/32|0]^=1<>>31^Cr&&(Ye[er/32|0]^=1<>>Xt&1,$a=Ye[Xt/32|0]>>>Xt&1,er=rr|vt,Jr=((rr|$a)&wa)+wa^wa|rr|$a,Fr=vt|~(Jr|wa),Cr=wa&Jr;wr+=Fr>>>Ge-1&1,wr-=Cr>>>Ge-1&1,Fr>>>31^zr&&(Qe[Xt/32|0]^=1<>>31^$a&&(Ye[Xt/32|0]^=1<","/"],w:["^/","uu","vv","2u","2v","\\\\/\\\\/"],x:["%","><"],z:["2"]},W={warnings:{straightRow:"straightRow",keyPattern:"keyPattern",simpleRepeat:"simpleRepeat",extendedRepeat:"extendedRepeat",sequences:"sequences",recentYears:"recentYears",dates:"dates",topTen:"topTen",topHundred:"topHundred",common:"common",similarToCommon:"similarToCommon",wordByItself:"wordByItself",namesByThemselves:"namesByThemselves",commonNames:"commonNames",userInputs:"userInputs",pwned:"pwned"},suggestions:{l33t:"l33t",reverseWords:"reverseWords",allUppercase:"allUppercase",capitalization:"capitalization",dates:"dates",recentYears:"recentYears",associatedYears:"associatedYears",sequences:"sequences",repeated:"repeated",longerKeyboardPattern:"longerKeyboardPattern",anotherWord:"anotherWord",useWords:"useWords",noNeed:"noNeed",pwned:"pwned"},timeEstimation:{ltSecond:"ltSecond",second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",month:"month",months:"months",year:"year",years:"years",centuries:"centuries"}};class G{constructor(V=[]){this.parents=V,this.children=new Map}addSub(V,...me){let fe=V.charAt(0);this.children.has(fe)||this.children.set(fe,new G([...this.parents,fe]));let ke=this.children.get(fe);for(let Pe=1;Pe(Object.entries(Ve).forEach(([me,fe])=>{fe.forEach(ke=>{V.addSub(ke,me)})}),V);class X{constructor(){this.matchers={},this.l33tTable=J,this.trieNodeRoot=Q(J,new G),this.dictionary={userInputs:[]},this.rankedDictionaries={},this.rankedDictionariesMaxWordSize={},this.translations=W,this.graphs={},this.useLevenshteinDistance=!1,this.levenshteinThreshold=2,this.l33tMaxSubstitutions=100,this.maxLength=256,this.setRankedDictionaries()}setOptions(V={}){V.l33tTable&&(this.l33tTable=V.l33tTable,this.trieNodeRoot=Q(V.l33tTable,new G)),V.dictionary&&(this.dictionary=V.dictionary,this.setRankedDictionaries()),V.translations&&this.setTranslations(V.translations),V.graphs&&(this.graphs=V.graphs),V.useLevenshteinDistance!==void 0&&(this.useLevenshteinDistance=V.useLevenshteinDistance),V.levenshteinThreshold!==void 0&&(this.levenshteinThreshold=V.levenshteinThreshold),V.l33tMaxSubstitutions!==void 0&&(this.l33tMaxSubstitutions=V.l33tMaxSubstitutions),V.maxLength!==void 0&&(this.maxLength=V.maxLength)}setTranslations(V){if(this.checkCustomTranslations(V))this.translations=V;else throw Error("Invalid translations object fallback to keys")}checkCustomTranslations(V){let me=!0;return Object.keys(W).forEach(fe=>{fe in V?Object.keys(W[fe]).forEach(ke=>{ke in V[fe]||(me=!1)}):me=!1}),me}setRankedDictionaries(){let V={},me={};Object.keys(this.dictionary).forEach(fe=>{V[fe]=h(this.dictionary[fe]),me[fe]=this.getRankedDictionariesMaxWordSize(this.dictionary[fe])}),this.rankedDictionaries=V,this.rankedDictionariesMaxWordSize=me}getRankedDictionariesMaxWordSize(V){let me=V.map(fe=>typeof fe!="string"?fe.toString().length:fe.length);return me.length===0?0:me.reduce((fe,ke)=>Math.max(fe,ke),-1/0)}buildSanitizedRankedDictionary(V){let me=[];return V.forEach(fe=>{let ke=typeof fe;(ke==="string"||ke==="number"||ke==="boolean")&&me.push(fe.toString().toLowerCase())}),h(me)}extendUserInputsDictionary(V){this.dictionary.userInputs||(this.dictionary.userInputs=[]);let me=[...this.dictionary.userInputs,...V];this.rankedDictionaries.userInputs=this.buildSanitizedRankedDictionary(me),this.rankedDictionariesMaxWordSize.userInputs=this.getRankedDictionariesMaxWordSize(me)}addMatcher(V,me){this.matchers[V]?console.info(`Matcher ${V} already exists`):this.matchers[V]=me}}let ee=new X;class be{constructor(V){this.defaultMatch=V}match({password:V}){let me=V.split("").reverse().join("");return this.defaultMatch({password:me}).map(fe=>({...fe,token:fe.token.split("").reverse().join(""),reversed:!0,i:V.length-1-fe.j,j:V.length-1-fe.i}))}}class ve{constructor({substr:V,limit:me,trieRoot:fe}){this.buffer=[],this.finalPasswords=[],this.substr=V,this.limit=me,this.trieRoot=fe}getAllPossibleSubsAtIndex(V){let me=[],fe=this.trieRoot;for(let ke=V;ke=this.limit)return;if(fe===this.substr.length){V===me&&this.finalPasswords.push({password:this.buffer.join(""),changes:Pe});return}let pt=[...this.getAllPossibleSubsAtIndex(fe)],na=!1;for(let Dt=fe+pt.length-1;Dt>=fe;Dt-=1){let Sa=pt[Dt-fe];if(Sa.isTerminal()){if(_e===Sa.parents.join("")&&at>=3)continue;for(let Va of(na=!0,Sa.subs)){this.buffer.push(Va);let ma=Pe.concat({i:ke,letter:Va,substitution:Sa.parents.join("")});if(this.helper({onlyFullSub:V,isFullSub:me,index:Dt+1,subIndex:ke+Va.length,changes:ma,lastSubLetter:Sa.parents.join(""),consecutiveSubCount:_e===Sa.parents.join("")?at+1:1}),this.buffer.pop(),this.finalPasswords.length>=this.limit)return}}}if(!V||!na){let Dt=this.substr.charAt(fe);this.buffer.push(Dt),this.helper({onlyFullSub:V,isFullSub:me&&!na,index:fe+1,subIndex:ke+1,changes:Pe,lastSubLetter:_e,consecutiveSubCount:at}),this.buffer.pop()}}getAll(){return this.helper({onlyFullSub:!0,isFullSub:!0,index:0,subIndex:0,changes:[],lastSubLetter:void 0,consecutiveSubCount:0}),this.helper({onlyFullSub:!1,isFullSub:!0,index:0,subIndex:0,changes:[],lastSubLetter:void 0,consecutiveSubCount:0}),this.finalPasswords}}class je{constructor(V){this.defaultMatch=V}isAlreadyIncluded(V,me){return V.some(fe=>Object.entries(fe).every(([ke,Pe])=>ke==="subs"||Pe===me[ke]))}match({password:V}){let me=[],fe=new ve({substr:V,limit:ee.l33tMaxSubstitutions,trieRoot:ee.trieNodeRoot}).getAll(),ke=!1,Pe=!0;return fe.forEach(_e=>{if(ke)return;let at=this.defaultMatch({password:_e.password,useLevenshtein:Pe});Pe=!1,at.forEach(pt=>{var na,Dt;let Sa,Va,ma,oe,Te;ke||(ke=pt.i===0&&pt.j===V.length-1);let Ge=(na=pt.i,Dt=pt.j,Sa=_e.changes.filter(Zt=>Zt.iZt-Ct.letter.length+Ct.substitution.length,na),ma=(Va=_e.changes.filter(Zt=>Zt.i>=na&&Zt.i<=Dt)).reduce((Zt,Ct)=>Zt-Ct.letter.length+Ct.substitution.length,Dt-na+Sa),oe=[],Te=[],Va.forEach(Zt=>{0>oe.findIndex(Ct=>Ct.letter===Zt.letter&&Ct.substitution===Zt.substitution)&&(oe.push({letter:Zt.letter,substitution:Zt.substitution}),Te.push(`${Zt.substitution} -> ${Zt.letter}`))}),{i:Sa,j:ma,subs:oe,subDisplay:Te.join(", ")}),Ye=V.slice(Ge.i,+Ge.j+1||9e9),Qe={...pt,l33t:!0,token:Ye,...Ge},Pt=this.isAlreadyIncluded(me,Qe);Ye.toLowerCase()===pt.matchedWord||Pt||me.push(Qe)})}),me.filter(_e=>_e.token.length>1)}}class qe{constructor(){this.l33t=new je(this.defaultMatch),this.reverse=new be(this.defaultMatch)}match({password:V}){return c([...this.defaultMatch({password:V}),...this.reverse.match({password:V}),...this.l33t.match({password:V})])}defaultMatch({password:V,useLevenshtein:me=!0}){let fe=[],ke=V.length,Pe=V.toLowerCase();return Object.keys(ee.rankedDictionaries).forEach(_e=>{let at=ee.rankedDictionaries[_e],pt=Math.min(ee.rankedDictionariesMaxWordSize[_e],ke);for(let na=0;na{let Pe,_e=me[ke];for(_e.lastIndex=0;Pe=_e.exec(V);)if(Pe){let at=Pe[0];fe.push({pattern:"regex",token:at,i:Pe.index,j:Pe.index+Pe[0].length-1,regexName:ke,regexMatch:Pe})}}),c(fe)}}var Ke={nCk(Ve,V){let me=Ve;if(V>me)return 0;if(V===0)return 1;let fe=1;for(let ke=1;ke<=V;ke+=1)fe*=me,fe/=ke,me-=1;return fe},log10:Ve=>Ve===0?0:Math.log(Ve)/Math.log(10),log2:Ve=>Math.log(Ve)/Math.log(2),factorial(Ve){let V=1;for(let me=2;me<=Ve;me+=1)V*=me;return V}};let Se=(Ve,V)=>{let me=0,fe=Ve.indexOf(V);for(;fe>=0;)me+=1,fe=Ve.indexOf(V,fe+V.length);return me},Oe={bruteforce:({token:Ve})=>{let V=10**Ve.length;return V===1/0&&(V=Number.MAX_VALUE),Math.max(V,Ve.length===1?11:51)},date:({year:Ve,separator:V})=>{let me=365*Math.max(Math.abs(Ve-I),20);return V&&(me*=4),me},dictionary:({rank:Ve,reversed:V,l33t:me,subs:fe,token:ke,dictionaryName:Pe})=>{let _e,at=(na=>{let Dt=na.replace(R,"");if(Dt.match(z)||Dt.toLowerCase()===Dt)return 1;let Sa=[f,p,v],Va=Sa.length;for(let ma=0;ma{let oe=ma.split(""),Te=oe.filter(Pt=>Pt.match(B)).length,Ge=oe.filter(Pt=>Pt.match(S)).length,Ye=0,Qe=Math.min(Te,Ge);for(let Pt=1;Pt<=Qe;Pt+=1)Ye+=Ke.nCk(Te+Ge,Pt);return Ye})(Dt)})(ke),pt=(({l33t:na,subs:Dt,token:Sa})=>{if(!na)return 1;let Va=1;return Dt.forEach(ma=>{let{subbedCount:oe,unsubbedCount:Te}=(({sub:Ge,token:Ye})=>{let Qe=Ye.toLowerCase();return{subbedCount:Se(Qe,Ge.substitution),unsubbedCount:Se(Qe,Ge.letter)}})({sub:ma,token:Sa});if(oe===0||Te===0)Va*=2;else{let Ge=Math.min(Te,oe),Ye=0;for(let Qe=1;Qe<=Ge;Qe+=1)Ye+=Ke.nCk(Te+oe,Qe);Va*=Ye}}),Va})({l33t:me,subs:fe,token:ke});return _e=Pe==="diceware"?3888:Ve*at*pt*(V&&2||1),{baseGuesses:Ve,uppercaseVariations:at,l33tVariations:pt,calculation:_e}},regex:({regexName:Ve,regexMatch:V,token:me})=>{let fe={alphaLower:26,alphaUpper:26,alpha:52,alphanumeric:62,digits:10,symbols:33};return Ve in fe?fe[Ve]**me.length:Ve==="recentYear"?Math.max(Math.abs(parseInt(V[0],10)-I),20):0},repeat:({baseGuesses:Ve,repeatCount:V})=>Ve*V,sequence:({token:Ve,ascending:V})=>{let me=Ve.charAt(0),fe=0;return fe=["a","A","z","Z","0","1","9"].includes(me)?4:me.match(/\d/)?10:26,V||(fe*=2),fe*Ve.length},spatial:({graph:Ve,token:V,shiftedCount:me,turns:fe})=>{let ke=(({token:Pe,graph:_e,turns:at})=>{var pt;let na,Dt=Object.keys(ee.graphs[_e]).length,Sa=(pt=ee.graphs[_e],na=0,Object.keys(pt).forEach(oe=>{let Te=pt[oe];na+=Te.filter(Ge=>!!Ge).length}),na/=Object.entries(pt).length),Va=0,ma=Pe.length;for(let oe=2;oe<=ma;oe+=1){let Te=Math.min(at,oe-1);for(let Ge=1;Ge<=Te;Ge+=1)Va+=Ke.nCk(oe-1,Ge-1)*Dt*Sa**Ge}return Va})({token:V,graph:Ve,turns:fe});if(me){let Pe=V.length-me;if(me===0||Pe===0)ke*=2;else{let _e=0;for(let at=1;at<=Math.min(me,Pe);at+=1)_e+=Ke.nCk(me+Pe,at);ke*=_e}}return Math.round(ke)},separator:()=>Y},Fe={password:"",optimal:{},excludeAdditive:!1,separatorRegex:void 0,fillArray(Ve,V){let me=[];for(let fe=0;fe{var na;let Dt,Sa={};if("guesses"in at&&at.guesses!=null)return at;let Va=(Dt=1,at.token.length1&&(ke*=this.optimal.pi[fe.i-1][V-1]);let Pe=Ke.factorial(V)*ke;this.excludeAdditive||(Pe+=1e4**(V-1));let _e=!1;Object.keys(this.optimal.g[me]).forEach(at=>{let pt=this.optimal.g[me][at];parseInt(at,10)<=V&&pt<=Pe&&(_e=!0)}),_e||(this.optimal.g[me][V]=Pe,this.optimal.m[me][V]=fe,this.optimal.pi[me][V]=ke)},bruteforceUpdate(Ve){let V=this.makeBruteforceMatch(0,Ve);this.update(V,1);for(let me=1;me<=Ve;me+=1){V=this.makeBruteforceMatch(me,Ve);let fe=this.optimal.m[me-1];Object.keys(fe).forEach(ke=>{fe[ke].pattern!=="bruteforce"&&this.update(V,parseInt(ke,10)+1)})}},unwind(Ve){let V=[],me=Ve-1,fe=0,ke=1/0,Pe=this.optimal.g[me];for(Pe&&Object.keys(Pe).forEach(_e=>{let at=Pe[_e];at=0;){let _e=this.optimal.m[me][fe];V.unshift(_e),me=_e.i-1,fe-=1}return V}};var xt={mostGuessableMatchSequence(Ve,V,me=!1){Fe.password=Ve,Fe.excludeAdditive=me;let fe=Ve.length,ke=Fe.fillArray(fe,"array");V.forEach(pt=>{ke[pt.j].push(pt)}),ke=ke.map(pt=>pt.sort((na,Dt)=>na.i-Dt.i)),Fe.optimal={m:Fe.fillArray(fe,"object"),pi:Fe.fillArray(fe,"object"),g:Fe.fillArray(fe,"object")};for(let pt=0;pt{na.i>0?Object.keys(Fe.optimal.m[na.i-1]).forEach(Dt=>{Fe.update(na,parseInt(Dt,10)+1)}):Fe.update(na,1)}),Fe.bruteforceUpdate(pt);let Pe=Fe.unwind(fe),_e=Pe.length,at=this.getGuesses(Ve,_e);return{password:Ve,guesses:at,guessesLog10:Ke.log10(at),sequence:Pe}},getGuesses(Ve,V){let me=Ve.length;return Ve.length===0?1:Fe.optimal.g[me-1][V]}};class bt{match({password:V,omniMatch:me}){let fe=[],ke=0;for(;kePe instanceof Promise)?Promise.all(fe):fe}normalizeMatch(V,me,fe,ke){let Pe={pattern:"repeat",i:fe.index,j:me,token:fe[0],baseToken:V,baseGuesses:0,repeatCount:fe[0].length/V.length};return ke instanceof Promise?ke.then(_e=>({...Pe,baseGuesses:_e})):{...Pe,baseGuesses:ke}}getGreedyMatch(V,me){let fe=/(.+)\1+/g;return fe.lastIndex=me,fe.exec(V)}getLazyMatch(V,me){let fe=/(.+?)\1+/g;return fe.lastIndex=me,fe.exec(V)}setMatchToken(V,me){let fe,ke="";if(me&&V[0].length>me[0].length){fe=V;let Pe=/^(.+?)\1+$/.exec(fe[0]);Pe&&(ke=Pe[1])}else(fe=me)&&(ke=fe[1]);return{match:fe,baseToken:ke}}getBaseGuesses(V,me){let fe=me.match(V);return fe instanceof Promise?fe.then(ke=>xt.mostGuessableMatchSequence(V,ke).guesses):xt.mostGuessableMatchSequence(V,fe).guesses}}class Lt{constructor(){this.MAX_DELTA=5}match({password:V}){let me=[];if(V.length===1)return[];let fe=0,ke=null,Pe=V.length;for(let _e=1;_e1||Math.abs(fe)===1){let _e=Math.abs(fe);if(_e>0&&_e<=this.MAX_DELTA){let at=ke.slice(V,+me+1||9e9),{sequenceName:pt,sequenceSpace:na}=this.getSequence(at);return Pe.push({pattern:"sequence",i:V,j:me,token:ke.slice(V,+me+1||9e9),sequenceName:pt,sequenceSpace:na,ascending:fe>0})}}return null}getSequence(V){let me="unicode",fe=26;return k.test(V)?(me="lower",fe=26):y.test(V)?(me="upper",fe=26):D.test(V)&&(me="digits",fe=10),{sequenceName:me,sequenceSpace:fe}}}class At{constructor(){this.SHIFTED_RX=/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/}match({password:V}){let me=[];return Object.keys(ee.graphs).forEach(fe=>{let ke=ee.graphs[fe];l(me,this.helper(V,ke,fe))}),c(me)}checkIfShifted(V,me,fe){return!V.includes("keypad")&&this.SHIFTED_RX.test(me.charAt(fe))?1:0}helper(V,me,fe){let ke,Pe=[],_e=0,at=V.length;for(;_e2&&Pe.push({pattern:"spatial",i:_e,j:pt-1,token:V.slice(_e,pt),graph:fe,turns:Dt,shiftedCount:ke}),_e=pt;break}}}return Pe}}let St=RegExp(`[${M.join("")}]`);class ha{static getMostUsedSeparatorChar(V){let me=[...V.split("").filter(ke=>St.test(ke)).reduce((ke,Pe)=>{let _e=ke.get(Pe);return _e?ke.set(Pe,_e+1):ke.set(Pe,1),ke},new Map).entries()].sort(([ke,Pe],[_e,at])=>at-Pe);if(!me.length)return;let fe=me[0];if(!(fe[1]<2))return fe[0]}static getSeparatorRegex(V){return RegExp(`([^${V} -])(${V})(?!${V})`,"g")}match({password:V}){let me=[];if(V.length===0)return me;let fe=ha.getMostUsedSeparatorChar(V);if(fe===void 0)return me;let ke=ha.getSeparatorRegex(fe);for(let Pe of V.matchAll(ke)){if(Pe.index===void 0)continue;let _e=Pe.index+1;me.push({pattern:"separator",token:fe,i:_e,j:_e})}return me}}class Aa{constructor(){this.matchers={date:ae,dictionary:qe,regex:Re,repeat:bt,sequence:Lt,spatial:At,separator:ha}}match(V){let me=[],fe=[];return[...Object.keys(this.matchers),...Object.keys(ee.matchers)].forEach(ke=>{if(!this.matchers[ke]&&!ee.matchers[ke])return;let Pe=new(this.matchers[ke]?this.matchers[ke]:ee.matchers[ke].Matching)().match({password:V,omniMatch:this});Pe instanceof Promise?(Pe.then(_e=>{l(me,_e)}),fe.push(Pe)):l(me,Pe)}),fe.length>0?new Promise((ke,Pe)=>{Promise.all(fe).then(()=>{ke(c(me))}).catch(_e=>{Pe(_e)})}):c(me)}}let L={second:1,minute:60,hour:3600,day:86400,month:2678400,year:32140800,century:321408e4};class te{translate(V,me){let fe=V;me!==void 0&&me!==1&&(fe+="s");let{timeEstimation:ke}=ee.translations;return ke[fe].replace("{base}",`${me}`)}estimateAttackTimes(V){let me={onlineThrottling100PerHour:V/.027777777777777776,onlineNoThrottling10PerSecond:V/10,offlineSlowHashing1e4PerSecond:V/1e4,offlineFastHashing1e10PerSecond:V/1e10},fe={onlineThrottling100PerHour:"",onlineNoThrottling10PerSecond:"",offlineSlowHashing1e4PerSecond:"",offlineFastHashing1e10PerSecond:""};return Object.keys(me).forEach(ke=>{let Pe=me[ke];fe[ke]=this.displayTime(Pe)}),{crackTimesSeconds:me,crackTimesDisplay:fe,score:this.guessesToScore(V)}}guessesToScore(V){return V<1005?0:V<1000005?1:V<100000005?2:V<10000000005?3:4}displayTime(V){let me,fe="centuries",ke=Object.keys(L),Pe=ke.findIndex(_e=>V-1&&(fe=ke[Pe-1],Pe!==0?me=Math.round(V/L[fe]):fe="ltSecond"),this.translate(fe,me)}}var Ae=()=>null,He=()=>({warning:ee.translations.warnings.dates,suggestions:[ee.translations.suggestions.dates]}),ct=(Ve,V)=>{let me=((Pe,_e)=>{let at=null,pt=Pe.dictionaryName,na=pt==="lastnames"||pt.toLowerCase().includes("firstnames");if(pt==="passwords"){let Dt;Dt=null,!_e||Pe.l33t||Pe.reversed?Pe.guessesLog10<=4&&(Dt=ee.translations.warnings.similarToCommon):Dt=Pe.rank<=10?ee.translations.warnings.topTen:Pe.rank<=100?ee.translations.warnings.topHundred:ee.translations.warnings.common,at=Dt}else if(pt.includes("wikipedia")){let Dt;Dt=null,_e&&(Dt=ee.translations.warnings.wordByItself),at=Dt}else na?at=_e?ee.translations.warnings.namesByThemselves:ee.translations.warnings.commonNames:pt==="userInputs"&&(at=ee.translations.warnings.userInputs);return at})(Ve,V),fe=[],ke=Ve.token;return ke.match(f)?fe.push(ee.translations.suggestions.capitalization):ke.match(v)&&ke.toLowerCase()!==ke&&fe.push(ee.translations.suggestions.allUppercase),Ve.reversed&&Ve.token.length>=4&&fe.push(ee.translations.suggestions.reverseWords),Ve.l33t&&fe.push(ee.translations.suggestions.l33t),{warning:me,suggestions:fe}},It=Ve=>Ve.regexName==="recentYear"?{warning:ee.translations.warnings.recentYears,suggestions:[ee.translations.suggestions.recentYears,ee.translations.suggestions.associatedYears]}:{warning:null,suggestions:[]},Jt=Ve=>{let V=ee.translations.warnings.extendedRepeat;return Ve.baseToken.length===1&&(V=ee.translations.warnings.simpleRepeat),{warning:V,suggestions:[ee.translations.suggestions.repeated]}},Bt=()=>({warning:ee.translations.warnings.sequences,suggestions:[ee.translations.suggestions.sequences]}),sa=Ve=>{let V=ee.translations.warnings.keyPattern;return Ve.turns===1&&(V=ee.translations.warnings.straightRow),{warning:V,suggestions:[ee.translations.suggestions.longerKeyboardPattern]}},Wa=()=>null;let La={warning:null,suggestions:[]};class Qt{constructor(){this.matchers={bruteforce:Ae,date:He,dictionary:ct,regex:It,repeat:Jt,sequence:Bt,spatial:sa,separator:Wa},this.defaultFeedback={warning:null,suggestions:[]},this.setDefaultSuggestions()}setDefaultSuggestions(){this.defaultFeedback.suggestions.push(ee.translations.suggestions.useWords,ee.translations.suggestions.noNeed)}getFeedback(V,me){if(me.length===0)return this.defaultFeedback;if(V>2)return La;let fe=ee.translations.suggestions.anotherWord,ke=this.getLongestMatch(me),Pe=this.getMatchFeedback(ke,me.length===1);return Pe!=null?Pe.suggestions.unshift(fe):Pe={warning:null,suggestions:[fe]},Pe}getLongestMatch(V){let me=V[0];return V.slice(1).forEach(fe=>{fe.token.length>me.token.length&&(me=fe)}),me}getMatchFeedback(V,me){return this.matchers[V.pattern]?this.matchers[V.pattern](V,me):ee.matchers[V.pattern]&&"feedback"in ee.matchers[V.pattern]?ee.matchers[V.pattern].feedback(V,me):La}}var Ne=(Ve,V,me)=>{let fe;return function(...ke){let Pe=this,_e=me&&!fe;if(fe!==void 0&&clearTimeout(fe),fe=setTimeout(()=>{fe=void 0,me||Ve.apply(Pe,ke)},V),_e)return Ve.apply(Pe,ke)}};let jt=()=>new Date().getTime(),Ba=(Ve,V,me)=>{let fe=new Qt,ke=new te,Pe=xt.mostGuessableMatchSequence(V,Ve),_e=jt()-me,at=ke.estimateAttackTimes(Pe.guesses);return{calcTime:_e,...Pe,...at,feedback:fe.getFeedback(at.score,Pe.sequence)}},Ia=(Ve,V)=>(V&&ee.extendUserInputsDictionary(V),new Aa().match(Ve)),Ha=(Ve,V)=>{let me=jt(),fe=Ia(Ve,V);if(fe instanceof Promise)throw Error("You are using a Promised matcher, please use `zxcvbnAsync` for it.");return Ba(fe,Ve,me)},cr=async(Ve,V)=>{let me=Ve.substring(0,ee.maxLength),fe=jt();return Ba(await Ia(me,V),me,fe)}},3618(s,r,i){i.r(r),i.d(r,{dictionary:()=>l,adjacencyGraphs:()=>c});let l={diceware:"abacus,abdomen,abdominal,abide,abiding,ability,ablaze,able,abnormal,abrasion,abrasive,abreast,abridge,abroad,abruptly,absence,absentee,absently,absinthe,absolute,absolve,abstain,abstract,absurd,accent,acclaim,acclimate,accompany,account,accuracy,accurate,accustom,acetone,achiness,aching,acid,acorn,acquaint,acquire,acre,acrobat,acronym,acting,action,activate,activator,active,activism,activist,activity,actress,acts,acutely,acuteness,aeration,aerobics,aerosol,aerospace,afar,affair,affected,affecting,affection,affidavit,affiliate,affirm,affix,afflicted,affluent,afford,affront,aflame,afloat,aflutter,afoot,afraid,afterglow,afterlife,aftermath,aftermost,afternoon,aged,ageless,agency,agenda,agent,aggregate,aghast,agile,agility,aging,agnostic,agonize,agonizing,agony,agreeable,agreeably,agreed,agreeing,agreement,aground,ahead,ahoy,aide,aids,aim,ajar,alabaster,alarm,albatross,album,alfalfa,algebra,algorithm,alias,alibi,alienable,alienate,aliens,alike,alive,alkaline,alkalize,almanac,almighty,almost,aloe,aloft,aloha,alone,alongside,aloof,alphabet,alright,although,altitude,alto,aluminum,alumni,always,amaretto,amaze,amazingly,amber,ambiance,ambiguity,ambiguous,ambition,ambitious,ambulance,ambush,amendable,amendment,amends,amenity,amiable,amicably,amid,amigo,amino,amiss,ammonia,ammonium,amnesty,amniotic,among,amount,amperage,ample,amplifier,amplify,amply,amuck,amulet,amusable,amused,amusement,amuser,amusing,anaconda,anaerobic,anagram,anatomist,anatomy,anchor,anchovy,ancient,android,anemia,anemic,aneurism,anew,angelfish,angelic,anger,angled,angler,angles,angling,angrily,angriness,anguished,angular,animal,animate,animating,animation,animator,anime,animosity,ankle,annex,annotate,announcer,annoying,annually,annuity,anointer,another,answering,antacid,antarctic,anteater,antelope,antennae,anthem,anthill,anthology,antibody,antics,antidote,antihero,antiquely,antiques,antiquity,antirust,antitoxic,antitrust,antiviral,antivirus,antler,antonym,antsy,anvil,anybody,anyhow,anymore,anyone,anyplace,anything,anytime,anyway,anywhere,aorta,apache,apostle,appealing,appear,appease,appeasing,appendage,appendix,appetite,appetizer,applaud,applause,apple,appliance,applicant,applied,apply,appointee,appraisal,appraiser,apprehend,approach,approval,approve,apricot,april,apron,aptitude,aptly,aqua,aqueduct,arbitrary,arbitrate,ardently,area,arena,arguable,arguably,argue,arise,armadillo,armband,armchair,armed,armful,armhole,arming,armless,armoire,armored,armory,armrest,army,aroma,arose,around,arousal,arrange,array,arrest,arrival,arrive,arrogance,arrogant,arson,art,ascend,ascension,ascent,ascertain,ashamed,ashen,ashes,ashy,aside,askew,asleep,asparagus,aspect,aspirate,aspire,aspirin,astonish,astound,astride,astrology,astronaut,astronomy,astute,atlantic,atlas,atom,atonable,atop,atrium,atrocious,atrophy,attach,attain,attempt,attendant,attendee,attention,attentive,attest,attic,attire,attitude,attractor,attribute,atypical,auction,audacious,audacity,audible,audibly,audience,audio,audition,augmented,august,authentic,author,autism,autistic,autograph,automaker,automated,automatic,autopilot,available,avalanche,avatar,avenge,avenging,avenue,average,aversion,avert,aviation,aviator,avid,avoid,await,awaken,award,aware,awhile,awkward,awning,awoke,awry,axis,babble,babbling,babied,baboon,backache,backboard,backboned,backdrop,backed,backer,backfield,backfire,backhand,backing,backlands,backlash,backless,backlight,backlit,backlog,backpack,backpedal,backrest,backroom,backshift,backside,backslid,backspace,backspin,backstab,backstage,backtalk,backtrack,backup,backward,backwash,backwater,backyard,bacon,bacteria,bacterium,badass,badge,badland,badly,badness,baffle,baffling,bagel,bagful,baggage,bagged,baggie,bagginess,bagging,baggy,bagpipe,baguette,baked,bakery,bakeshop,baking,balance,balancing,balcony,balmy,balsamic,bamboo,banana,banish,banister,banjo,bankable,bankbook,banked,banker,banking,banknote,bankroll,banner,bannister,banshee,banter,barbecue,barbed,barbell,barber,barcode,barge,bargraph,barista,baritone,barley,barmaid,barman,barn,barometer,barrack,barracuda,barrel,barrette,barricade,barrier,barstool,bartender,barterer,bash,basically,basics,basil,basin,basis,basket,batboy,batch,bath,baton,bats,battalion,battered,battering,battery,batting,battle,bauble,bazooka,blabber,bladder,blade,blah,blame,blaming,blanching,blandness,blank,blaspheme,blasphemy,blast,blatancy,blatantly,blazer,blazing,bleach,bleak,bleep,blemish,blend,bless,blighted,blimp,bling,blinked,blinker,blinking,blinks,blip,blissful,blitz,blizzard,bloated,bloating,blob,blog,bloomers,blooming,blooper,blot,blouse,blubber,bluff,bluish,blunderer,blunt,blurb,blurred,blurry,blurt,blush,blustery,boaster,boastful,boasting,boat,bobbed,bobbing,bobble,bobcat,bobsled,bobtail,bodacious,body,bogged,boggle,bogus,boil,bok,bolster,bolt,bonanza,bonded,bonding,bondless,boned,bonehead,boneless,bonelike,boney,bonfire,bonnet,bonsai,bonus,bony,boogeyman,boogieman,book,boondocks,booted,booth,bootie,booting,bootlace,bootleg,boots,boozy,borax,boring,borough,borrower,borrowing,boss,botanical,botanist,botany,botch,both,bottle,bottling,bottom,bounce,bouncing,bouncy,bounding,boundless,bountiful,bovine,boxcar,boxer,boxing,boxlike,boxy,breach,breath,breeches,breeching,breeder,breeding,breeze,breezy,brethren,brewery,brewing,briar,bribe,brick,bride,bridged,brigade,bright,brilliant,brim,bring,brink,brisket,briskly,briskness,bristle,brittle,broadband,broadcast,broaden,broadly,broadness,broadside,broadways,broiler,broiling,broken,broker,bronchial,bronco,bronze,bronzing,brook,broom,brought,browbeat,brownnose,browse,browsing,bruising,brunch,brunette,brunt,brush,brussels,brute,brutishly,bubble,bubbling,bubbly,buccaneer,bucked,bucket,buckle,buckshot,buckskin,bucktooth,buckwheat,buddhism,buddhist,budding,buddy,budget,buffalo,buffed,buffer,buffing,buffoon,buggy,bulb,bulge,bulginess,bulgur,bulk,bulldog,bulldozer,bullfight,bullfrog,bullhorn,bullion,bullish,bullpen,bullring,bullseye,bullwhip,bully,bunch,bundle,bungee,bunion,bunkbed,bunkhouse,bunkmate,bunny,bunt,busboy,bush,busily,busload,bust,busybody,buzz,cabana,cabbage,cabbie,cabdriver,cable,caboose,cache,cackle,cacti,cactus,caddie,caddy,cadet,cadillac,cadmium,cage,cahoots,cake,calamari,calamity,calcium,calculate,calculus,caliber,calibrate,calm,caloric,calorie,calzone,camcorder,cameo,camera,camisole,camper,campfire,camping,campsite,campus,canal,canary,cancel,candied,candle,candy,cane,canine,canister,cannabis,canned,canning,cannon,cannot,canola,canon,canopener,canopy,canteen,canyon,capable,capably,capacity,cape,capillary,capital,capitol,capped,capricorn,capsize,capsule,caption,captivate,captive,captivity,capture,caramel,carat,caravan,carbon,cardboard,carded,cardiac,cardigan,cardinal,cardstock,carefully,caregiver,careless,caress,caretaker,cargo,caring,carless,carload,carmaker,carnage,carnation,carnival,carnivore,carol,carpenter,carpentry,carpool,carport,carried,carrot,carrousel,carry,cartel,cartload,carton,cartoon,cartridge,cartwheel,carve,carving,carwash,cascade,case,cash,casing,casino,casket,cassette,casually,casualty,catacomb,catalog,catalyst,catalyze,catapult,cataract,catatonic,catcall,catchable,catcher,catching,catchy,caterer,catering,catfight,catfish,cathedral,cathouse,catlike,catnap,catnip,catsup,cattail,cattishly,cattle,catty,catwalk,caucasian,caucus,causal,causation,cause,causing,cauterize,caution,cautious,cavalier,cavalry,caviar,cavity,cedar,celery,celestial,celibacy,celibate,celtic,cement,census,ceramics,ceremony,certainly,certainty,certified,certify,cesarean,cesspool,chafe,chaffing,chain,chair,chalice,challenge,chamber,chamomile,champion,chance,change,channel,chant,chaos,chaperone,chaplain,chapped,chaps,chapter,character,charbroil,charcoal,charger,charging,chariot,charity,charm,charred,charter,charting,chase,chasing,chaste,chastise,chastity,chatroom,chatter,chatting,chatty,cheating,cheddar,cheek,cheer,cheese,cheesy,chef,chemicals,chemist,chemo,cherisher,cherub,chess,chest,chevron,chevy,chewable,chewer,chewing,chewy,chief,chihuahua,childcare,childhood,childish,childless,childlike,chili,chill,chimp,chip,chirping,chirpy,chitchat,chivalry,chive,chloride,chlorine,choice,chokehold,choking,chomp,chooser,choosing,choosy,chop,chosen,chowder,chowtime,chrome,chubby,chuck,chug,chummy,chump,chunk,churn,chute,cider,cilantro,cinch,cinema,cinnamon,circle,circling,circular,circulate,circus,citable,citadel,citation,citizen,citric,citrus,city,civic,civil,clad,claim,clambake,clammy,clamor,clamp,clamshell,clang,clanking,clapped,clapper,clapping,clarify,clarinet,clarity,clash,clasp,class,clatter,clause,clavicle,claw,clay,clean,clear,cleat,cleaver,cleft,clench,clergyman,clerical,clerk,clever,clicker,client,climate,climatic,cling,clinic,clinking,clip,clique,cloak,clobber,clock,clone,cloning,closable,closure,clothes,clothing,cloud,clover,clubbed,clubbing,clubhouse,clump,clumsily,clumsy,clunky,clustered,clutch,clutter,coach,coagulant,coastal,coaster,coasting,coastland,coastline,coat,coauthor,cobalt,cobbler,cobweb,cocoa,coconut,cod,coeditor,coerce,coexist,coffee,cofounder,cognition,cognitive,cogwheel,coherence,coherent,cohesive,coil,coke,cola,cold,coleslaw,coliseum,collage,collapse,collar,collected,collector,collide,collie,collision,colonial,colonist,colonize,colony,colossal,colt,coma,come,comfort,comfy,comic,coming,comma,commence,commend,comment,commerce,commode,commodity,commodore,common,commotion,commute,commuting,compacted,compacter,compactly,compactor,companion,company,compare,compel,compile,comply,component,composed,composer,composite,compost,composure,compound,compress,comprised,computer,computing,comrade,concave,conceal,conceded,concept,concerned,concert,conch,concierge,concise,conclude,concrete,concur,condense,condiment,condition,condone,conducive,conductor,conduit,cone,confess,confetti,confidant,confident,confider,confiding,configure,confined,confining,confirm,conflict,conform,confound,confront,confused,confusing,confusion,congenial,congested,congrats,congress,conical,conjoined,conjure,conjuror,connected,connector,consensus,consent,console,consoling,consonant,constable,constant,constrain,constrict,construct,consult,consumer,consuming,contact,container,contempt,contend,contented,contently,contents,contest,context,contort,contour,contrite,control,contusion,convene,convent,copartner,cope,copied,copier,copilot,coping,copious,copper,copy,coral,cork,cornball,cornbread,corncob,cornea,corned,corner,cornfield,cornflake,cornhusk,cornmeal,cornstalk,corny,coronary,coroner,corporal,corporate,corral,correct,corridor,corrode,corroding,corrosive,corsage,corset,cortex,cosigner,cosmetics,cosmic,cosmos,cosponsor,cost,cottage,cotton,couch,cough,could,countable,countdown,counting,countless,country,county,courier,covenant,cover,coveted,coveting,coyness,cozily,coziness,cozy,crabbing,crabgrass,crablike,crabmeat,cradle,cradling,crafter,craftily,craftsman,craftwork,crafty,cramp,cranberry,crane,cranial,cranium,crank,crate,crave,craving,crawfish,crawlers,crawling,crayfish,crayon,crazed,crazily,craziness,crazy,creamed,creamer,creamlike,crease,creasing,creatable,create,creation,creative,creature,credible,credibly,credit,creed,creme,creole,crepe,crept,crescent,crested,cresting,crestless,crevice,crewless,crewman,crewmate,crib,cricket,cried,crier,crimp,crimson,cringe,cringing,crinkle,crinkly,crisped,crisping,crisply,crispness,crispy,criteria,critter,croak,crock,crook,croon,crop,cross,crouch,crouton,crowbar,crowd,crown,crucial,crudely,crudeness,cruelly,cruelness,cruelty,crumb,crummiest,crummy,crumpet,crumpled,cruncher,crunching,crunchy,crusader,crushable,crushed,crusher,crushing,crust,crux,crying,cryptic,crystal,cubbyhole,cube,cubical,cubicle,cucumber,cuddle,cuddly,cufflink,culinary,culminate,culpable,culprit,cultivate,cultural,culture,cupbearer,cupcake,cupid,cupped,cupping,curable,curator,curdle,cure,curfew,curing,curled,curler,curliness,curling,curly,curry,curse,cursive,cursor,curtain,curtly,curtsy,curvature,curve,curvy,cushy,cusp,cussed,custard,custodian,custody,customary,customer,customize,customs,cut,cycle,cyclic,cycling,cyclist,cylinder,cymbal,cytoplasm,cytoplast,dab,dad,daffodil,dagger,daily,daintily,dainty,dairy,daisy,dallying,dance,dancing,dandelion,dander,dandruff,dandy,danger,dangle,dangling,daredevil,dares,daringly,darkened,darkening,darkish,darkness,darkroom,darling,darn,dart,darwinism,dash,dastardly,data,datebook,dating,daughter,daunting,dawdler,dawn,daybed,daybreak,daycare,daydream,daylight,daylong,dayroom,daytime,dazzler,dazzling,deacon,deafening,deafness,dealer,dealing,dealmaker,dealt,dean,debatable,debate,debating,debit,debrief,debtless,debtor,debug,debunk,decade,decaf,decal,decathlon,decay,deceased,deceit,deceiver,deceiving,december,decency,decent,deception,deceptive,decibel,decidable,decimal,decimeter,decipher,deck,declared,decline,decode,decompose,decorated,decorator,decoy,decrease,decree,dedicate,dedicator,deduce,deduct,deed,deem,deepen,deeply,deepness,deface,defacing,defame,default,defeat,defection,defective,defendant,defender,defense,defensive,deferral,deferred,defiance,defiant,defile,defiling,define,definite,deflate,deflation,deflator,deflected,deflector,defog,deforest,defraud,defrost,deftly,defuse,defy,degraded,degrading,degrease,degree,dehydrate,deity,dejected,delay,delegate,delegator,delete,deletion,delicacy,delicate,delicious,delighted,delirious,delirium,deliverer,delivery,delouse,delta,deluge,delusion,deluxe,demanding,demeaning,demeanor,demise,democracy,democrat,demote,demotion,demystify,denatured,deniable,denial,denim,denote,dense,density,dental,dentist,denture,deny,deodorant,deodorize,departed,departure,depict,deplete,depletion,deplored,deploy,deport,depose,depraved,depravity,deprecate,depress,deprive,depth,deputize,deputy,derail,deranged,derby,derived,desecrate,deserve,deserving,designate,designed,designer,designing,deskbound,desktop,deskwork,desolate,despair,despise,despite,destiny,destitute,destruct,detached,detail,detection,detective,detector,detention,detergent,detest,detonate,detonator,detoxify,detract,deuce,devalue,deviancy,deviant,deviate,deviation,deviator,device,devious,devotedly,devotee,devotion,devourer,devouring,devoutly,dexterity,dexterous,diabetes,diabetic,diabolic,diagnoses,diagnosis,diagram,dial,diameter,diaper,diaphragm,diary,dice,dicing,dictate,dictation,dictator,difficult,diffused,diffuser,diffusion,diffusive,dig,dilation,diligence,diligent,dill,dilute,dime,diminish,dimly,dimmed,dimmer,dimness,dimple,diner,dingbat,dinghy,dinginess,dingo,dingy,dining,dinner,diocese,dioxide,diploma,dipped,dipper,dipping,directed,direction,directive,directly,directory,direness,dirtiness,disabled,disagree,disallow,disarm,disarray,disaster,disband,disbelief,disburse,discard,discern,discharge,disclose,discolor,discount,discourse,discover,discuss,disdain,disengage,disfigure,disgrace,dish,disinfect,disjoin,disk,dislike,disliking,dislocate,dislodge,disloyal,dismantle,dismay,dismiss,dismount,disobey,disorder,disown,disparate,disparity,dispatch,dispense,dispersal,dispersed,disperser,displace,display,displease,disposal,dispose,disprove,dispute,disregard,disrupt,dissuade,distance,distant,distaste,distill,distinct,distort,distract,distress,district,distrust,ditch,ditto,ditzy,dividable,divided,dividend,dividers,dividing,divinely,diving,divinity,divisible,divisibly,division,divisive,divorcee,dizziness,dizzy,doable,docile,dock,doctrine,document,dodge,dodgy,doily,doing,dole,dollar,dollhouse,dollop,dolly,dolphin,domain,domelike,domestic,dominion,dominoes,donated,donation,donator,donor,donut,doodle,doorbell,doorframe,doorknob,doorman,doormat,doornail,doorpost,doorstep,doorstop,doorway,doozy,dork,dormitory,dorsal,dosage,dose,dotted,doubling,douche,dove,down,dowry,doze,drab,dragging,dragonfly,dragonish,dragster,drainable,drainage,drained,drainer,drainpipe,dramatic,dramatize,drank,drapery,drastic,draw,dreaded,dreadful,dreadlock,dreamboat,dreamily,dreamland,dreamless,dreamlike,dreamt,dreamy,drearily,dreary,drench,dress,drew,dribble,dried,drier,drift,driller,drilling,drinkable,drinking,dripping,drippy,drivable,driven,driver,driveway,driving,drizzle,drizzly,drone,drool,droop,dropdown,dropbox,dropkick,droplet,dropout,dropper,drove,drown,drowsily,drudge,drum,dry,dubbed,dubiously,duchess,duckbill,ducking,duckling,ducktail,ducky,duct,dude,duffel,dugout,duh,duke,duller,dullness,duly,dumping,dumpling,dumpster,duo,dupe,duplex,duplicate,duplicity,durable,durably,duration,duress,during,dusk,dust,dutiful,duty,duvet,dwarf,dweeb,dwelled,dweller,dwelling,dwindle,dwindling,dynamic,dynamite,dynasty,dyslexia,dyslexic,each,eagle,earache,eardrum,earflap,earful,earlobe,early,earmark,earmuff,earphone,earpiece,earplugs,earring,earshot,earthen,earthlike,earthling,earthly,earthworm,earthy,earwig,easeful,easel,easiest,easily,easiness,easing,eastbound,eastcoast,easter,eastward,eatable,eaten,eatery,eating,eats,ebay,ebony,ebook,ecard,eccentric,echo,eclair,eclipse,ecologist,ecology,economic,economist,economy,ecosphere,ecosystem,edge,edginess,edging,edgy,edition,editor,educated,education,educator,eel,effective,effects,efficient,effort,eggbeater,egging,eggnog,eggplant,eggshell,egomaniac,egotism,egotistic,either,eject,elaborate,elastic,elated,elbow,eldercare,elderly,eldest,electable,election,elective,elephant,elevate,elevating,elevation,elevator,eleven,elf,eligible,eligibly,eliminate,elite,elitism,elixir,elk,ellipse,elliptic,elm,elongated,elope,eloquence,eloquent,elsewhere,elude,elusive,elves,email,embargo,embark,embassy,embattled,embellish,ember,embezzle,emblaze,emblem,embody,embolism,emboss,embroider,emcee,emerald,emergency,emission,emit,emote,emoticon,emotion,empathic,empathy,emperor,emphases,emphasis,emphasize,emphatic,empirical,employed,employee,employer,emporium,empower,emptier,emptiness,empty,emu,enable,enactment,enamel,enchanted,enchilada,encircle,enclose,enclosure,encode,encore,encounter,encourage,encroach,encrust,encrypt,endanger,endeared,endearing,ended,ending,endless,endnote,endocrine,endorphin,endorse,endowment,endpoint,endurable,endurance,enduring,energetic,energize,energy,enforced,enforcer,engaged,engaging,engine,engorge,engraved,engraver,engraving,engross,engulf,enhance,enigmatic,enjoyable,enjoyably,enjoyer,enjoying,enjoyment,enlarged,enlarging,enlighten,enlisted,enquirer,enrage,enrich,enroll,enslave,ensnare,ensure,entail,entangled,entering,entertain,enticing,entire,entitle,entity,entomb,entourage,entrap,entree,entrench,entrust,entryway,entwine,enunciate,envelope,enviable,enviably,envious,envision,envoy,envy,enzyme,epic,epidemic,epidermal,epidermis,epidural,epilepsy,epileptic,epilogue,epiphany,episode,equal,equate,equation,equator,equinox,equipment,equity,equivocal,eradicate,erasable,erased,eraser,erasure,ergonomic,errand,errant,erratic,error,erupt,escalate,escalator,escapable,escapade,escapist,escargot,eskimo,esophagus,espionage,espresso,esquire,essay,essence,essential,establish,estate,esteemed,estimate,estimator,estranged,estrogen,etching,eternal,eternity,ethanol,ether,ethically,ethics,euphemism,evacuate,evacuee,evade,evaluate,evaluator,evaporate,evasion,evasive,even,everglade,evergreen,everybody,everyday,everyone,evict,evidence,evident,evil,evoke,evolution,evolve,exact,exalted,example,excavate,excavator,exceeding,exception,excess,exchange,excitable,exciting,exclaim,exclude,excluding,exclusion,exclusive,excretion,excretory,excursion,excusable,excusably,excuse,exemplary,exemplify,exemption,exerciser,exert,exes,exfoliate,exhale,exhaust,exhume,exile,existing,exit,exodus,exonerate,exorcism,exorcist,expand,expanse,expansion,expansive,expectant,expedited,expediter,expel,expend,expenses,expensive,expert,expire,expiring,explain,expletive,explicit,explode,exploit,explore,exploring,exponent,exporter,exposable,expose,exposure,express,expulsion,exquisite,extended,extending,extent,extenuate,exterior,external,extinct,extortion,extradite,extras,extrovert,extrude,extruding,exuberant,fable,fabric,fabulous,facebook,facecloth,facedown,faceless,facelift,faceplate,faceted,facial,facility,facing,facsimile,faction,factoid,factor,factsheet,factual,faculty,fade,fading,failing,falcon,fall,false,falsify,fame,familiar,family,famine,famished,fanatic,fancied,fanciness,fancy,fanfare,fang,fanning,fantasize,fantastic,fantasy,fascism,fastball,faster,fasting,fastness,faucet,favorable,favorably,favored,favoring,favorite,fax,feast,federal,fedora,feeble,feed,feel,feisty,feline,felttip,feminine,feminism,feminist,feminize,femur,fence,fencing,fender,ferment,fernlike,ferocious,ferocity,ferret,ferris,ferry,fervor,fester,festival,festive,festivity,fetal,fetch,fever,fiber,fiction,fiddle,fiddling,fidelity,fidgeting,fidgety,fifteen,fifth,fiftieth,fifty,figment,figure,figurine,filing,filled,filler,filling,film,filter,filth,filtrate,finale,finalist,finalize,finally,finance,financial,finch,fineness,finer,finicky,finished,finisher,finishing,finite,finless,finlike,fiscally,fit,five,flaccid,flagman,flagpole,flagship,flagstick,flagstone,flail,flakily,flaky,flame,flammable,flanked,flanking,flannels,flap,flaring,flashback,flashbulb,flashcard,flashily,flashing,flashy,flask,flatbed,flatfoot,flatly,flatness,flatten,flattered,flatterer,flattery,flattop,flatware,flatworm,flavored,flavorful,flavoring,flaxseed,fled,fleshed,fleshy,flick,flier,flight,flinch,fling,flint,flip,flirt,float,flock,flogging,flop,floral,florist,floss,flounder,flyable,flyaway,flyer,flying,flyover,flypaper,foam,foe,fog,foil,folic,folk,follicle,follow,fondling,fondly,fondness,fondue,font,food,fool,footage,football,footbath,footboard,footer,footgear,foothill,foothold,footing,footless,footman,footnote,footpad,footpath,footprint,footrest,footsie,footsore,footwear,footwork,fossil,foster,founder,founding,fountain,fox,foyer,fraction,fracture,fragile,fragility,fragment,fragrance,fragrant,frail,frame,framing,frantic,fraternal,frayed,fraying,frays,freckled,freckles,freebase,freebee,freebie,freedom,freefall,freehand,freeing,freeload,freely,freemason,freeness,freestyle,freeware,freeway,freewill,freezable,freezing,freight,french,frenzied,frenzy,frequency,frequent,fresh,fretful,fretted,friction,friday,fridge,fried,friend,frighten,frightful,frigidity,frigidly,frill,fringe,frisbee,frisk,fritter,frivolous,frolic,from,front,frostbite,frosted,frostily,frosting,frostlike,frosty,froth,frown,frozen,fructose,frugality,frugally,fruit,frustrate,frying,gab,gaffe,gag,gainfully,gaining,gains,gala,gallantly,galleria,gallery,galley,gallon,gallows,gallstone,galore,galvanize,gambling,game,gaming,gamma,gander,gangly,gangrene,gangway,gap,garage,garbage,garden,gargle,garland,garlic,garment,garnet,garnish,garter,gas,gatherer,gathering,gating,gauging,gauntlet,gauze,gave,gawk,gazing,gear,gecko,geek,geiger,gem,gender,generic,generous,genetics,genre,gentile,gentleman,gently,gents,geography,geologic,geologist,geology,geometric,geometry,geranium,gerbil,geriatric,germicide,germinate,germless,germproof,gestate,gestation,gesture,getaway,getting,getup,giant,gibberish,giblet,giddily,giddiness,giddy,gift,gigabyte,gigahertz,gigantic,giggle,giggling,giggly,gigolo,gilled,gills,gimmick,girdle,giveaway,given,giver,giving,gizmo,gizzard,glacial,glacier,glade,gladiator,gladly,glamorous,glamour,glance,glancing,glandular,glare,glaring,glass,glaucoma,glazing,gleaming,gleeful,glider,gliding,glimmer,glimpse,glisten,glitch,glitter,glitzy,gloater,gloating,gloomily,gloomy,glorified,glorifier,glorify,glorious,glory,gloss,glove,glowing,glowworm,glucose,glue,gluten,glutinous,glutton,gnarly,gnat,goal,goatskin,goes,goggles,going,goldfish,goldmine,goldsmith,golf,goliath,gonad,gondola,gone,gong,good,gooey,goofball,goofiness,goofy,google,goon,gopher,gore,gorged,gorgeous,gory,gosling,gossip,gothic,gotten,gout,gown,grab,graceful,graceless,gracious,gradation,graded,grader,gradient,grading,gradually,graduate,graffiti,grafted,grafting,grain,granddad,grandkid,grandly,grandma,grandpa,grandson,granite,granny,granola,grant,granular,grape,graph,grapple,grappling,grasp,grass,gratified,gratify,grating,gratitude,gratuity,gravel,graveness,graves,graveyard,gravitate,gravity,gravy,gray,grazing,greasily,greedily,greedless,greedy,green,greeter,greeting,grew,greyhound,grid,grief,grievance,grieving,grievous,grill,grimace,grimacing,grime,griminess,grimy,grinch,grinning,grip,gristle,grit,groggily,groggy,groin,groom,groove,grooving,groovy,grope,ground,grouped,grout,grove,grower,growing,growl,grub,grudge,grudging,grueling,gruffly,grumble,grumbling,grumbly,grumpily,grunge,grunt,guacamole,guidable,guidance,guide,guiding,guileless,guise,gulf,gullible,gully,gulp,gumball,gumdrop,gumminess,gumming,gummy,gurgle,gurgling,guru,gush,gusto,gusty,gutless,guts,gutter,guy,guzzler,gyration,habitable,habitant,habitat,habitual,hacked,hacker,hacking,hacksaw,had,haggler,haiku,half,halogen,halt,halved,halves,hamburger,hamlet,hammock,hamper,hamster,hamstring,handbag,handball,handbook,handbrake,handcart,handclap,handclasp,handcraft,handcuff,handed,handful,handgrip,handgun,handheld,handiness,handiwork,handlebar,handled,handler,handling,handmade,handoff,handpick,handprint,handrail,handsaw,handset,handsfree,handshake,handstand,handwash,handwork,handwoven,handwrite,handyman,hangnail,hangout,hangover,hangup,hankering,hankie,hanky,haphazard,happening,happier,happiest,happily,happiness,happy,harbor,hardcopy,hardcore,hardcover,harddisk,hardened,hardener,hardening,hardhat,hardhead,hardiness,hardly,hardness,hardship,hardware,hardwired,hardwood,hardy,harmful,harmless,harmonica,harmonics,harmonize,harmony,harness,harpist,harsh,harvest,hash,hassle,haste,hastily,hastiness,hasty,hatbox,hatchback,hatchery,hatchet,hatching,hatchling,hate,hatless,hatred,haunt,haven,hazard,hazelnut,hazily,haziness,hazing,hazy,headache,headband,headboard,headcount,headdress,headed,header,headfirst,headgear,heading,headlamp,headless,headlock,headphone,headpiece,headrest,headroom,headscarf,headset,headsman,headstand,headstone,headway,headwear,heap,heat,heave,heavily,heaviness,heaving,hedge,hedging,heftiness,hefty,helium,helmet,helper,helpful,helping,helpless,helpline,hemlock,hemstitch,hence,henchman,henna,herald,herbal,herbicide,herbs,heritage,hermit,heroics,heroism,herring,herself,hertz,hesitancy,hesitant,hesitate,hexagon,hexagram,hubcap,huddle,huddling,huff,hug,hula,hulk,hull,human,humble,humbling,humbly,humid,humiliate,humility,humming,hummus,humongous,humorist,humorless,humorous,humpback,humped,humvee,hunchback,hundredth,hunger,hungrily,hungry,hunk,hunter,hunting,huntress,huntsman,hurdle,hurled,hurler,hurling,hurray,hurricane,hurried,hurry,hurt,husband,hush,husked,huskiness,hut,hybrid,hydrant,hydrated,hydration,hydrogen,hydroxide,hyperlink,hypertext,hyphen,hypnoses,hypnosis,hypnotic,hypnotism,hypnotist,hypnotize,hypocrisy,hypocrite,ibuprofen,ice,iciness,icing,icky,icon,icy,idealism,idealist,idealize,ideally,idealness,identical,identify,identity,ideology,idiocy,idiom,idly,igloo,ignition,ignore,iguana,illicitly,illusion,illusive,image,imaginary,imagines,imaging,imbecile,imitate,imitation,immature,immerse,immersion,imminent,immobile,immodest,immorally,immortal,immovable,immovably,immunity,immunize,impaired,impale,impart,impatient,impeach,impeding,impending,imperfect,imperial,impish,implant,implement,implicate,implicit,implode,implosion,implosive,imply,impolite,important,importer,impose,imposing,impotence,impotency,impotent,impound,imprecise,imprint,imprison,impromptu,improper,improve,improving,improvise,imprudent,impulse,impulsive,impure,impurity,iodine,iodize,ion,ipad,iphone,ipod,irate,irk,iron,irregular,irrigate,irritable,irritably,irritant,irritate,islamic,islamist,isolated,isolating,isolation,isotope,issue,issuing,italicize,italics,item,itinerary,itunes,ivory,ivy,jab,jackal,jacket,jackknife,jackpot,jailbird,jailbreak,jailer,jailhouse,jalapeno,jam,janitor,january,jargon,jarring,jasmine,jaundice,jaunt,java,jawed,jawless,jawline,jaws,jaybird,jaywalker,jazz,jeep,jeeringly,jellied,jelly,jersey,jester,jet,jiffy,jigsaw,jimmy,jingle,jingling,jinx,jitters,jittery,job,jockey,jockstrap,jogger,jogging,john,joining,jokester,jokingly,jolliness,jolly,jolt,jot,jovial,joyfully,joylessly,joyous,joyride,joystick,jubilance,jubilant,judge,judgingly,judicial,judiciary,judo,juggle,juggling,jugular,juice,juiciness,juicy,jujitsu,jukebox,july,jumble,jumbo,jump,junction,juncture,june,junior,juniper,junkie,junkman,junkyard,jurist,juror,jury,justice,justifier,justify,justly,justness,juvenile,kabob,kangaroo,karaoke,karate,karma,kebab,keenly,keenness,keep,keg,kelp,kennel,kept,kerchief,kerosene,kettle,kick,kiln,kilobyte,kilogram,kilometer,kilowatt,kilt,kimono,kindle,kindling,kindly,kindness,kindred,kinetic,kinfolk,king,kinship,kinsman,kinswoman,kissable,kisser,kissing,kitchen,kite,kitten,kitty,kiwi,kleenex,knapsack,knee,knelt,knickers,knoll,koala,kooky,kosher,krypton,kudos,kung,labored,laborer,laboring,laborious,labrador,ladder,ladies,ladle,ladybug,ladylike,lagged,lagging,lagoon,lair,lake,lance,landed,landfall,landfill,landing,landlady,landless,landline,landlord,landmark,landmass,landmine,landowner,landscape,landside,landslide,language,lankiness,lanky,lantern,lapdog,lapel,lapped,lapping,laptop,lard,large,lark,lash,lasso,last,latch,late,lather,latitude,latrine,latter,latticed,launch,launder,laundry,laurel,lavender,lavish,laxative,lazily,laziness,lazy,lecturer,left,legacy,legal,legend,legged,leggings,legible,legibly,legislate,lego,legroom,legume,legwarmer,legwork,lemon,lend,length,lens,lent,leotard,lesser,letdown,lethargic,lethargy,letter,lettuce,level,leverage,levers,levitate,levitator,liability,liable,liberty,librarian,library,licking,licorice,lid,life,lifter,lifting,liftoff,ligament,likely,likeness,likewise,liking,lilac,lilly,lily,limb,limeade,limelight,limes,limit,limping,limpness,line,lingo,linguini,linguist,lining,linked,linoleum,linseed,lint,lion,lip,liquefy,liqueur,liquid,lisp,list,litigate,litigator,litmus,litter,little,livable,lived,lively,liver,livestock,lividly,living,lizard,lubricant,lubricate,lucid,luckily,luckiness,luckless,lucrative,ludicrous,lugged,lukewarm,lullaby,lumber,luminance,luminous,lumpiness,lumping,lumpish,lunacy,lunar,lunchbox,luncheon,lunchroom,lunchtime,lung,lurch,lure,luridness,lurk,lushly,lushness,luster,lustfully,lustily,lustiness,lustrous,lusty,luxurious,luxury,lying,lyrically,lyricism,lyricist,lyrics,macarena,macaroni,macaw,mace,machine,machinist,magazine,magenta,maggot,magical,magician,magma,magnesium,magnetic,magnetism,magnetize,magnifier,magnify,magnitude,magnolia,mahogany,maimed,majestic,majesty,majorette,majority,makeover,maker,makeshift,making,malformed,malt,mama,mammal,mammary,mammogram,manager,managing,manatee,mandarin,mandate,mandatory,mandolin,manger,mangle,mango,mangy,manhandle,manhole,manhood,manhunt,manicotti,manicure,manifesto,manila,mankind,manlike,manliness,manly,manmade,manned,mannish,manor,manpower,mantis,mantra,manual,many,map,marathon,marauding,marbled,marbles,marbling,march,mardi,margarine,margarita,margin,marigold,marina,marine,marital,maritime,marlin,marmalade,maroon,married,marrow,marry,marshland,marshy,marsupial,marvelous,marxism,mascot,masculine,mashed,mashing,massager,masses,massive,mastiff,matador,matchbook,matchbox,matcher,matching,matchless,material,maternal,maternity,math,mating,matriarch,matrimony,matrix,matron,matted,matter,maturely,maturing,maturity,mauve,maverick,maximize,maximum,maybe,mayday,mayflower,moaner,moaning,mobile,mobility,mobilize,mobster,mocha,mocker,mockup,modified,modify,modular,modulator,module,moisten,moistness,moisture,molar,molasses,mold,molecular,molecule,molehill,mollusk,mom,monastery,monday,monetary,monetize,moneybags,moneyless,moneywise,mongoose,mongrel,monitor,monkhood,monogamy,monogram,monologue,monopoly,monorail,monotone,monotype,monoxide,monsieur,monsoon,monstrous,monthly,monument,moocher,moodiness,moody,mooing,moonbeam,mooned,moonlight,moonlike,moonlit,moonrise,moonscape,moonshine,moonstone,moonwalk,mop,morale,morality,morally,morbidity,morbidly,morphine,morphing,morse,mortality,mortally,mortician,mortified,mortify,mortuary,mosaic,mossy,most,mothball,mothproof,motion,motivate,motivator,motive,motocross,motor,motto,mountable,mountain,mounted,mounting,mourner,mournful,mouse,mousiness,moustache,mousy,mouth,movable,move,movie,moving,mower,mowing,much,muck,mud,mug,mulberry,mulch,mule,mulled,mullets,multiple,multiply,multitask,multitude,mumble,mumbling,mumbo,mummified,mummify,mummy,mumps,munchkin,mundane,municipal,muppet,mural,murkiness,murky,murmuring,muscular,museum,mushily,mushiness,mushroom,mushy,music,musket,muskiness,musky,mustang,mustard,muster,mustiness,musty,mutable,mutate,mutation,mute,mutilated,mutilator,mutiny,mutt,mutual,muzzle,myself,myspace,mystified,mystify,myth,nacho,nag,nail,name,naming,nanny,nanometer,nape,napkin,napped,napping,nappy,narrow,nastily,nastiness,national,native,nativity,natural,nature,naturist,nautical,navigate,navigator,navy,nearby,nearest,nearly,nearness,neatly,neatness,nebula,nebulizer,nectar,negate,negation,negative,neglector,negligee,negligent,negotiate,nemeses,nemesis,neon,nephew,nerd,nervous,nervy,nest,net,neurology,neuron,neurosis,neurotic,neuter,neutron,never,next,nibble,nickname,nicotine,niece,nifty,nimble,nimbly,nineteen,ninetieth,ninja,nintendo,ninth,nuclear,nuclei,nucleus,nugget,nullify,number,numbing,numbly,numbness,numeral,numerate,numerator,numeric,numerous,nuptials,nursery,nursing,nurture,nutcase,nutlike,nutmeg,nutrient,nutshell,nuttiness,nutty,nuzzle,nylon,oaf,oak,oasis,oat,obedience,obedient,obituary,object,obligate,obliged,oblivion,oblivious,oblong,obnoxious,oboe,obscure,obscurity,observant,observer,observing,obsessed,obsession,obsessive,obsolete,obstacle,obstinate,obstruct,obtain,obtrusive,obtuse,obvious,occultist,occupancy,occupant,occupier,occupy,ocean,ocelot,octagon,octane,october,octopus,ogle,oil,oink,ointment,okay,old,olive,olympics,omega,omen,ominous,omission,omit,omnivore,onboard,oncoming,ongoing,onion,online,onlooker,only,onscreen,onset,onshore,onslaught,onstage,onto,onward,onyx,oops,ooze,oozy,opacity,opal,open,operable,operate,operating,operation,operative,operator,opium,opossum,opponent,oppose,opposing,opposite,oppressed,oppressor,opt,opulently,osmosis,other,otter,ouch,ought,ounce,outage,outback,outbid,outboard,outbound,outbreak,outburst,outcast,outclass,outcome,outdated,outdoors,outer,outfield,outfit,outflank,outgoing,outgrow,outhouse,outing,outlast,outlet,outline,outlook,outlying,outmatch,outmost,outnumber,outplayed,outpost,outpour,output,outrage,outrank,outreach,outright,outscore,outsell,outshine,outshoot,outsider,outskirts,outsmart,outsource,outspoken,outtakes,outthink,outward,outweigh,outwit,oval,ovary,oven,overact,overall,overarch,overbid,overbill,overbite,overblown,overboard,overbook,overbuilt,overcast,overcoat,overcome,overcook,overcrowd,overdraft,overdrawn,overdress,overdrive,overdue,overeager,overeater,overexert,overfed,overfeed,overfill,overflow,overfull,overgrown,overhand,overhang,overhaul,overhead,overhear,overheat,overhung,overjoyed,overkill,overlabor,overlaid,overlap,overlay,overload,overlook,overlord,overlying,overnight,overpass,overpay,overplant,overplay,overpower,overprice,overrate,overreach,overreact,override,overripe,overrule,overrun,overshoot,overshot,oversight,oversized,oversleep,oversold,overspend,overstate,overstay,overstep,overstock,overstuff,oversweet,overtake,overthrow,overtime,overtly,overtone,overture,overturn,overuse,overvalue,overview,overwrite,owl,oxford,oxidant,oxidation,oxidize,oxidizing,oxygen,oxymoron,oyster,ozone,paced,pacemaker,pacific,pacifier,pacifism,pacifist,pacify,padded,padding,paddle,paddling,padlock,pagan,pager,paging,pajamas,palace,palatable,palm,palpable,palpitate,paltry,pampered,pamperer,pampers,pamphlet,panama,pancake,pancreas,panda,pandemic,pang,panhandle,panic,panning,panorama,panoramic,panther,pantomime,pantry,pants,pantyhose,paparazzi,papaya,paper,paprika,papyrus,parabola,parachute,parade,paradox,paragraph,parakeet,paralegal,paralyses,paralysis,paralyze,paramedic,parameter,paramount,parasail,parasite,parasitic,parcel,parched,parchment,pardon,parish,parka,parking,parkway,parlor,parmesan,parole,parrot,parsley,parsnip,partake,parted,parting,partition,partly,partner,partridge,party,passable,passably,passage,passcode,passenger,passerby,passing,passion,passive,passivism,passover,passport,password,pasta,pasted,pastel,pastime,pastor,pastrami,pasture,pasty,patchwork,patchy,paternal,paternity,path,patience,patient,patio,patriarch,patriot,patrol,patronage,patronize,pauper,pavement,paver,pavestone,pavilion,paving,pawing,payable,payback,paycheck,payday,payee,payer,paying,payment,payphone,payroll,pebble,pebbly,pecan,pectin,peculiar,peddling,pediatric,pedicure,pedigree,pedometer,pegboard,pelican,pellet,pelt,pelvis,penalize,penalty,pencil,pendant,pending,penholder,penknife,pennant,penniless,penny,penpal,pension,pentagon,pentagram,pep,perceive,percent,perch,percolate,perennial,perfected,perfectly,perfume,periscope,perish,perjurer,perjury,perkiness,perky,perm,peroxide,perpetual,perplexed,persecute,persevere,persuaded,persuader,pesky,peso,pessimism,pessimist,pester,pesticide,petal,petite,petition,petri,petroleum,petted,petticoat,pettiness,petty,petunia,phantom,phobia,phoenix,phonebook,phoney,phonics,phoniness,phony,phosphate,photo,phrase,phrasing,placard,placate,placidly,plank,planner,plant,plasma,plaster,plastic,plated,platform,plating,platinum,platonic,platter,platypus,plausible,plausibly,playable,playback,player,playful,playgroup,playhouse,playing,playlist,playmaker,playmate,playoff,playpen,playroom,playset,plaything,playtime,plaza,pleading,pleat,pledge,plentiful,plenty,plethora,plexiglas,pliable,plod,plop,plot,plow,ploy,pluck,plug,plunder,plunging,plural,plus,plutonium,plywood,poach,pod,poem,poet,pogo,pointed,pointer,pointing,pointless,pointy,poise,poison,poker,poking,polar,police,policy,polio,polish,politely,polka,polo,polyester,polygon,polygraph,polymer,poncho,pond,pony,popcorn,pope,poplar,popper,poppy,popsicle,populace,popular,populate,porcupine,pork,porous,porridge,portable,portal,portfolio,porthole,portion,portly,portside,poser,posh,posing,possible,possibly,possum,postage,postal,postbox,postcard,posted,poster,posting,postnasal,posture,postwar,pouch,pounce,pouncing,pound,pouring,pout,powdered,powdering,powdery,power,powwow,pox,praising,prance,prancing,pranker,prankish,prankster,prayer,praying,preacher,preaching,preachy,preamble,precinct,precise,precision,precook,precut,predator,predefine,predict,preface,prefix,preflight,preformed,pregame,pregnancy,pregnant,preheated,prelaunch,prelaw,prelude,premiere,premises,premium,prenatal,preoccupy,preorder,prepaid,prepay,preplan,preppy,preschool,prescribe,preseason,preset,preshow,president,presoak,press,presume,presuming,preteen,pretended,pretender,pretense,pretext,pretty,pretzel,prevail,prevalent,prevent,preview,previous,prewar,prewashed,prideful,pried,primal,primarily,primary,primate,primer,primp,princess,print,prior,prism,prison,prissy,pristine,privacy,private,privatize,prize,proactive,probable,probably,probation,probe,probing,probiotic,problem,procedure,process,proclaim,procreate,procurer,prodigal,prodigy,produce,product,profane,profanity,professed,professor,profile,profound,profusely,progeny,prognosis,program,progress,projector,prologue,prolonged,promenade,prominent,promoter,promotion,prompter,promptly,prone,prong,pronounce,pronto,proofing,proofread,proofs,propeller,properly,property,proponent,proposal,propose,props,prorate,protector,protegee,proton,prototype,protozoan,protract,protrude,proud,provable,proved,proven,provided,provider,providing,province,proving,provoke,provoking,provolone,prowess,prowler,prowling,proximity,proxy,prozac,prude,prudishly,prune,pruning,pry,psychic,public,publisher,pucker,pueblo,pug,pull,pulmonary,pulp,pulsate,pulse,pulverize,puma,pumice,pummel,punch,punctual,punctuate,punctured,pungent,punisher,punk,pupil,puppet,puppy,purchase,pureblood,purebred,purely,pureness,purgatory,purge,purging,purifier,purify,purist,puritan,purity,purple,purplish,purposely,purr,purse,pursuable,pursuant,pursuit,purveyor,pushcart,pushchair,pusher,pushiness,pushing,pushover,pushpin,pushup,pushy,putdown,putt,puzzle,puzzling,pyramid,pyromania,python,quack,quadrant,quail,quaintly,quake,quaking,qualified,qualifier,qualify,quality,qualm,quantum,quarrel,quarry,quartered,quarterly,quarters,quartet,quench,query,quicken,quickly,quickness,quicksand,quickstep,quiet,quill,quilt,quintet,quintuple,quirk,quit,quiver,quizzical,quotable,quotation,quote,rabid,race,racing,racism,rack,racoon,radar,radial,radiance,radiantly,radiated,radiation,radiator,radio,radish,raffle,raft,rage,ragged,raging,ragweed,raider,railcar,railing,railroad,railway,raisin,rake,raking,rally,ramble,rambling,ramp,ramrod,ranch,rancidity,random,ranged,ranger,ranging,ranked,ranking,ransack,ranting,rants,rare,rarity,rascal,rash,rasping,ravage,raven,ravine,raving,ravioli,ravishing,reabsorb,reach,reacquire,reaction,reactive,reactor,reaffirm,ream,reanalyze,reappear,reapply,reappoint,reapprove,rearrange,rearview,reason,reassign,reassure,reattach,reawake,rebalance,rebate,rebel,rebirth,reboot,reborn,rebound,rebuff,rebuild,rebuilt,reburial,rebuttal,recall,recant,recapture,recast,recede,recent,recess,recharger,recipient,recital,recite,reckless,reclaim,recliner,reclining,recluse,reclusive,recognize,recoil,recollect,recolor,reconcile,reconfirm,reconvene,recopy,record,recount,recoup,recovery,recreate,rectal,rectangle,rectified,rectify,recycled,recycler,recycling,reemerge,reenact,reenter,reentry,reexamine,referable,referee,reference,refill,refinance,refined,refinery,refining,refinish,reflected,reflector,reflex,reflux,refocus,refold,reforest,reformat,reformed,reformer,reformist,refract,refrain,refreeze,refresh,refried,refueling,refund,refurbish,refurnish,refusal,refuse,refusing,refutable,refute,regain,regalia,regally,reggae,regime,region,register,registrar,registry,regress,regretful,regroup,regular,regulate,regulator,rehab,reheat,rehire,rehydrate,reimburse,reissue,reiterate,rejoice,rejoicing,rejoin,rekindle,relapse,relapsing,relatable,related,relation,relative,relax,relay,relearn,release,relenting,reliable,reliably,reliance,reliant,relic,relieve,relieving,relight,relish,relive,reload,relocate,relock,reluctant,rely,remake,remark,remarry,rematch,remedial,remedy,remember,reminder,remindful,remission,remix,remnant,remodeler,remold,remorse,remote,removable,removal,removed,remover,removing,rename,renderer,rendering,rendition,renegade,renewable,renewably,renewal,renewed,renounce,renovate,renovator,rentable,rental,rented,renter,reoccupy,reoccur,reopen,reorder,repackage,repacking,repaint,repair,repave,repaying,repayment,repeal,repeated,repeater,repent,rephrase,replace,replay,replica,reply,reporter,repose,repossess,repost,repressed,reprimand,reprint,reprise,reproach,reprocess,reproduce,reprogram,reps,reptile,reptilian,repugnant,repulsion,repulsive,repurpose,reputable,reputably,request,require,requisite,reroute,rerun,resale,resample,rescuer,reseal,research,reselect,reseller,resemble,resend,resent,reset,reshape,reshoot,reshuffle,residence,residency,resident,residual,residue,resigned,resilient,resistant,resisting,resize,resolute,resolved,resonant,resonate,resort,resource,respect,resubmit,result,resume,resupply,resurface,resurrect,retail,retainer,retaining,retake,retaliate,retention,rethink,retinal,retired,retiree,retiring,retold,retool,retorted,retouch,retrace,retract,retrain,retread,retreat,retrial,retrieval,retriever,retry,return,retying,retype,reunion,reunite,reusable,reuse,reveal,reveler,revenge,revenue,reverb,revered,reverence,reverend,reversal,reverse,reversing,reversion,revert,revisable,revise,revision,revisit,revivable,revival,reviver,reviving,revocable,revoke,revolt,revolver,revolving,reward,rewash,rewind,rewire,reword,rework,rewrap,rewrite,rhyme,ribbon,ribcage,rice,riches,richly,richness,rickety,ricotta,riddance,ridden,ride,riding,rifling,rift,rigging,rigid,rigor,rimless,rimmed,rind,rink,rinse,rinsing,riot,ripcord,ripeness,ripening,ripping,ripple,rippling,riptide,rise,rising,risk,risotto,ritalin,ritzy,rival,riverbank,riverbed,riverboat,riverside,riveter,riveting,roamer,roaming,roast,robbing,robe,robin,robotics,robust,rockband,rocker,rocket,rockfish,rockiness,rocking,rocklike,rockslide,rockstar,rocky,rogue,roman,romp,rope,roping,roster,rosy,rotten,rotting,rotunda,roulette,rounding,roundish,roundness,roundup,roundworm,routine,routing,rover,roving,royal,rubbed,rubber,rubbing,rubble,rubdown,ruby,ruckus,rudder,rug,ruined,rule,rumble,rumbling,rummage,rumor,runaround,rundown,runner,running,runny,runt,runway,rupture,rural,ruse,rush,rust,rut,sabbath,sabotage,sacrament,sacred,sacrifice,sadden,saddlebag,saddled,saddling,sadly,sadness,safari,safeguard,safehouse,safely,safeness,saffron,saga,sage,sagging,saggy,said,saint,sake,salad,salami,salaried,salary,saline,salon,saloon,salsa,salt,salutary,salute,salvage,salvaging,salvation,same,sample,sampling,sanction,sanctity,sanctuary,sandal,sandbag,sandbank,sandbar,sandblast,sandbox,sanded,sandfish,sanding,sandlot,sandpaper,sandpit,sandstone,sandstorm,sandworm,sandy,sanitary,sanitizer,sank,santa,sapling,sappiness,sappy,sarcasm,sarcastic,sardine,sash,sasquatch,sassy,satchel,satiable,satin,satirical,satisfied,satisfy,saturate,saturday,sauciness,saucy,sauna,savage,savanna,saved,savings,savior,savor,saxophone,say,scabbed,scabby,scalded,scalding,scale,scaling,scallion,scallop,scalping,scam,scandal,scanner,scanning,scant,scapegoat,scarce,scarcity,scarecrow,scared,scarf,scarily,scariness,scarring,scary,scavenger,scenic,schedule,schematic,scheme,scheming,schilling,schnapps,scholar,science,scientist,scion,scoff,scolding,scone,scoop,scooter,scope,scorch,scorebook,scorecard,scored,scoreless,scorer,scoring,scorn,scorpion,scotch,scoundrel,scoured,scouring,scouting,scouts,scowling,scrabble,scraggly,scrambled,scrambler,scrap,scratch,scrawny,screen,scribble,scribe,scribing,scrimmage,script,scroll,scrooge,scrounger,scrubbed,scrubber,scruffy,scrunch,scrutiny,scuba,scuff,sculptor,sculpture,scurvy,scuttle,secluded,secluding,seclusion,second,secrecy,secret,sectional,sector,secular,securely,security,sedan,sedate,sedation,sedative,sediment,seduce,seducing,segment,seismic,seizing,seldom,selected,selection,selective,selector,self,seltzer,semantic,semester,semicolon,semifinal,seminar,semisoft,semisweet,senate,senator,send,senior,senorita,sensation,sensitive,sensitize,sensually,sensuous,sepia,september,septic,septum,sequel,sequence,sequester,series,sermon,serotonin,serpent,serrated,serve,service,serving,sesame,sessions,setback,setting,settle,settling,setup,sevenfold,seventeen,seventh,seventy,severity,shabby,shack,shaded,shadily,shadiness,shading,shadow,shady,shaft,shakable,shakily,shakiness,shaking,shaky,shale,shallot,shallow,shame,shampoo,shamrock,shank,shanty,shape,shaping,share,sharpener,sharper,sharpie,sharply,sharpness,shawl,sheath,shed,sheep,sheet,shelf,shell,shelter,shelve,shelving,sherry,shield,shifter,shifting,shiftless,shifty,shimmer,shimmy,shindig,shine,shingle,shininess,shining,shiny,ship,shirt,shivering,shock,shone,shoplift,shopper,shopping,shoptalk,shore,shortage,shortcake,shortcut,shorten,shorter,shorthand,shortlist,shortly,shortness,shorts,shortwave,shorty,shout,shove,showbiz,showcase,showdown,shower,showgirl,showing,showman,shown,showoff,showpiece,showplace,showroom,showy,shrank,shrapnel,shredder,shredding,shrewdly,shriek,shrill,shrimp,shrine,shrink,shrivel,shrouded,shrubbery,shrubs,shrug,shrunk,shucking,shudder,shuffle,shuffling,shun,shush,shut,shy,siamese,siberian,sibling,siding,sierra,siesta,sift,sighing,silenced,silencer,silent,silica,silicon,silk,silliness,silly,silo,silt,silver,similarly,simile,simmering,simple,simplify,simply,sincere,sincerity,singer,singing,single,singular,sinister,sinless,sinner,sinuous,sip,siren,sister,sitcom,sitter,sitting,situated,situation,sixfold,sixteen,sixth,sixties,sixtieth,sixtyfold,sizable,sizably,size,sizing,sizzle,sizzling,skater,skating,skedaddle,skeletal,skeleton,skeptic,sketch,skewed,skewer,skid,skied,skier,skies,skiing,skilled,skillet,skillful,skimmed,skimmer,skimming,skimpily,skincare,skinhead,skinless,skinning,skinny,skintight,skipper,skipping,skirmish,skirt,skittle,skydiver,skylight,skyline,skype,skyrocket,skyward,slab,slacked,slacker,slacking,slackness,slacks,slain,slam,slander,slang,slapping,slapstick,slashed,slashing,slate,slather,slaw,sled,sleek,sleep,sleet,sleeve,slept,sliceable,sliced,slicer,slicing,slick,slider,slideshow,sliding,slighted,slighting,slightly,slimness,slimy,slinging,slingshot,slinky,slip,slit,sliver,slobbery,slogan,sloped,sloping,sloppily,sloppy,slot,slouching,slouchy,sludge,slug,slum,slurp,slush,sly,small,smartly,smartness,smasher,smashing,smashup,smell,smelting,smile,smilingly,smirk,smite,smith,smitten,smock,smog,smoked,smokeless,smokiness,smoking,smoky,smolder,smooth,smother,smudge,smudgy,smuggler,smuggling,smugly,smugness,snack,snagged,snaking,snap,snare,snarl,snazzy,sneak,sneer,sneeze,sneezing,snide,sniff,snippet,snipping,snitch,snooper,snooze,snore,snoring,snorkel,snort,snout,snowbird,snowboard,snowbound,snowcap,snowdrift,snowdrop,snowfall,snowfield,snowflake,snowiness,snowless,snowman,snowplow,snowshoe,snowstorm,snowsuit,snowy,snub,snuff,snuggle,snugly,snugness,speak,spearfish,spearhead,spearman,spearmint,species,specimen,specked,speckled,specks,spectacle,spectator,spectrum,speculate,speech,speed,spellbind,speller,spelling,spendable,spender,spending,spent,spew,sphere,spherical,sphinx,spider,spied,spiffy,spill,spilt,spinach,spinal,spindle,spinner,spinning,spinout,spinster,spiny,spiral,spirited,spiritism,spirits,spiritual,splashed,splashing,splashy,splatter,spleen,splendid,splendor,splice,splicing,splinter,splotchy,splurge,spoilage,spoiled,spoiler,spoiling,spoils,spoken,spokesman,sponge,spongy,sponsor,spoof,spookily,spooky,spool,spoon,spore,sporting,sports,sporty,spotless,spotlight,spotted,spotter,spotting,spotty,spousal,spouse,spout,sprain,sprang,sprawl,spray,spree,sprig,spring,sprinkled,sprinkler,sprint,sprite,sprout,spruce,sprung,spry,spud,spur,sputter,spyglass,squabble,squad,squall,squander,squash,squatted,squatter,squatting,squeak,squealer,squealing,squeamish,squeegee,squeeze,squeezing,squid,squiggle,squiggly,squint,squire,squirt,squishier,squishy,stability,stabilize,stable,stack,stadium,staff,stage,staging,stagnant,stagnate,stainable,stained,staining,stainless,stalemate,staleness,stalling,stallion,stamina,stammer,stamp,stand,stank,staple,stapling,starboard,starch,stardom,stardust,starfish,stargazer,staring,stark,starless,starlet,starlight,starlit,starring,starry,starship,starter,starting,startle,startling,startup,starved,starving,stash,state,static,statistic,statue,stature,status,statute,statutory,staunch,stays,steadfast,steadier,steadily,steadying,steam,steed,steep,steerable,steering,steersman,stegosaur,stellar,stem,stench,stencil,step,stereo,sterile,sterility,sterilize,sterling,sternness,sternum,stew,stick,stiffen,stiffly,stiffness,stifle,stifling,stillness,stilt,stimulant,stimulate,stimuli,stimulus,stinger,stingily,stinging,stingray,stingy,stinking,stinky,stipend,stipulate,stir,stitch,stock,stoic,stoke,stole,stomp,stonewall,stoneware,stonework,stoning,stony,stood,stooge,stool,stoop,stoplight,stoppable,stoppage,stopped,stopper,stopping,stopwatch,storable,storage,storeroom,storewide,storm,stout,stove,stowaway,stowing,straddle,straggler,strained,strainer,straining,strangely,stranger,strangle,strategic,strategy,stratus,straw,stray,streak,stream,street,strength,strenuous,strep,stress,stretch,strewn,stricken,strict,stride,strife,strike,striking,strive,striving,strobe,strode,stroller,strongbox,strongly,strongman,struck,structure,strudel,struggle,strum,strung,strut,stubbed,stubble,stubbly,stubborn,stucco,stuck,student,studied,studio,study,stuffed,stuffing,stuffy,stumble,stumbling,stump,stung,stunned,stunner,stunning,stunt,stupor,sturdily,sturdy,styling,stylishly,stylist,stylized,stylus,suave,subarctic,subatomic,subdivide,subdued,subduing,subfloor,subgroup,subheader,subject,sublease,sublet,sublevel,sublime,submarine,submerge,submersed,submitter,subpanel,subpar,subplot,subprime,subscribe,subscript,subsector,subside,subsiding,subsidize,subsidy,subsoil,subsonic,substance,subsystem,subtext,subtitle,subtly,subtotal,subtract,subtype,suburb,subway,subwoofer,subzero,succulent,such,suction,sudden,sudoku,suds,sufferer,suffering,suffice,suffix,suffocate,suffrage,sugar,suggest,suing,suitable,suitably,suitcase,suitor,sulfate,sulfide,sulfite,sulfur,sulk,sullen,sulphate,sulphuric,sultry,superbowl,superglue,superhero,superior,superjet,superman,supermom,supernova,supervise,supper,supplier,supply,support,supremacy,supreme,surcharge,surely,sureness,surface,surfacing,surfboard,surfer,surgery,surgical,surging,surname,surpass,surplus,surprise,surreal,surrender,surrogate,surround,survey,survival,survive,surviving,survivor,sushi,suspect,suspend,suspense,sustained,sustainer,swab,swaddling,swagger,swampland,swan,swapping,swarm,sway,swear,sweat,sweep,swell,swept,swerve,swifter,swiftly,swiftness,swimmable,swimmer,swimming,swimsuit,swimwear,swinger,swinging,swipe,swirl,switch,swivel,swizzle,swooned,swoop,swoosh,swore,sworn,swung,sycamore,sympathy,symphonic,symphony,symptom,synapse,syndrome,synergy,synopses,synopsis,synthesis,synthetic,syrup,system,tshirt,tabasco,tabby,tableful,tables,tablet,tableware,tabloid,tackiness,tacking,tackle,tackling,tacky,taco,tactful,tactical,tactics,tactile,tactless,tadpole,taekwondo,tag,tainted,take,taking,talcum,talisman,tall,talon,tamale,tameness,tamer,tamper,tank,tanned,tannery,tanning,tantrum,tapeless,tapered,tapering,tapestry,tapioca,tapping,taps,tarantula,target,tarmac,tarnish,tarot,tartar,tartly,tartness,task,tassel,taste,tastiness,tasting,tasty,tattered,tattle,tattling,tattoo,taunt,tavern,thank,that,thaw,theater,theatrics,thee,theft,theme,theology,theorize,thermal,thermos,thesaurus,these,thesis,thespian,thicken,thicket,thickness,thieving,thievish,thigh,thimble,thing,think,thinly,thinner,thinness,thinning,thirstily,thirsting,thirsty,thirteen,thirty,thong,thorn,those,thousand,thrash,thread,threaten,threefold,thrift,thrill,thrive,thriving,throat,throbbing,throng,throttle,throwaway,throwback,thrower,throwing,thud,thumb,thumping,thursday,thus,thwarting,thyself,tiara,tibia,tidal,tidbit,tidiness,tidings,tidy,tiger,tighten,tightly,tightness,tightrope,tightwad,tigress,tile,tiling,till,tilt,timid,timing,timothy,tinderbox,tinfoil,tingle,tingling,tingly,tinker,tinkling,tinsel,tinsmith,tint,tinwork,tiny,tipoff,tipped,tipper,tipping,tiptoeing,tiptop,tiring,tissue,trace,tracing,track,traction,tractor,trade,trading,tradition,traffic,tragedy,trailing,trailside,train,traitor,trance,tranquil,transfer,transform,translate,transpire,transport,transpose,trapdoor,trapeze,trapezoid,trapped,trapper,trapping,traps,trash,travel,traverse,travesty,tray,treachery,treading,treadmill,treason,treat,treble,tree,trekker,tremble,trembling,tremor,trench,trend,trespass,triage,trial,triangle,tribesman,tribunal,tribune,tributary,tribute,triceps,trickery,trickily,tricking,trickle,trickster,tricky,tricolor,tricycle,trident,tried,trifle,trifocals,trillion,trilogy,trimester,trimmer,trimming,trimness,trinity,trio,tripod,tripping,triumph,trivial,trodden,trolling,trombone,trophy,tropical,tropics,trouble,troubling,trough,trousers,trout,trowel,truce,truck,truffle,trump,trunks,trustable,trustee,trustful,trusting,trustless,truth,try,tubby,tubeless,tubular,tucking,tuesday,tug,tuition,tulip,tumble,tumbling,tummy,turban,turbine,turbofan,turbojet,turbulent,turf,turkey,turmoil,turret,turtle,tusk,tutor,tutu,tux,tweak,tweed,tweet,tweezers,twelve,twentieth,twenty,twerp,twice,twiddle,twiddling,twig,twilight,twine,twins,twirl,twistable,twisted,twister,twisting,twisty,twitch,twitter,tycoon,tying,tyke,udder,ultimate,ultimatum,ultra,umbilical,umbrella,umpire,unabashed,unable,unadorned,unadvised,unafraid,unaired,unaligned,unaltered,unarmored,unashamed,unaudited,unawake,unaware,unbaked,unbalance,unbeaten,unbend,unbent,unbiased,unbitten,unblended,unblessed,unblock,unbolted,unbounded,unboxed,unbraided,unbridle,unbroken,unbuckled,unbundle,unburned,unbutton,uncanny,uncapped,uncaring,uncertain,unchain,unchanged,uncharted,uncheck,uncivil,unclad,unclaimed,unclamped,unclasp,uncle,unclip,uncloak,unclog,unclothed,uncoated,uncoiled,uncolored,uncombed,uncommon,uncooked,uncork,uncorrupt,uncounted,uncouple,uncouth,uncover,uncross,uncrown,uncrushed,uncured,uncurious,uncurled,uncut,undamaged,undated,undaunted,undead,undecided,undefined,underage,underarm,undercoat,undercook,undercut,underdog,underdone,underfed,underfeed,underfoot,undergo,undergrad,underhand,underline,underling,undermine,undermost,underpaid,underpass,underpay,underrate,undertake,undertone,undertook,undertow,underuse,underwear,underwent,underwire,undesired,undiluted,undivided,undocked,undoing,undone,undrafted,undress,undrilled,undusted,undying,unearned,unearth,unease,uneasily,uneasy,uneatable,uneaten,unedited,unelected,unending,unengaged,unenvied,unequal,unethical,uneven,unexpired,unexposed,unfailing,unfair,unfasten,unfazed,unfeeling,unfiled,unfilled,unfitted,unfitting,unfixable,unfixed,unflawed,unfocused,unfold,unfounded,unframed,unfreeze,unfrosted,unfrozen,unfunded,unglazed,ungloved,unglue,ungodly,ungraded,ungreased,unguarded,unguided,unhappily,unhappy,unharmed,unhealthy,unheard,unhearing,unheated,unhelpful,unhidden,unhinge,unhitched,unholy,unhook,unicorn,unicycle,unified,unifier,uniformed,uniformly,unify,unimpeded,uninjured,uninstall,uninsured,uninvited,union,uniquely,unisexual,unison,unissued,unit,universal,universe,unjustly,unkempt,unkind,unknotted,unknowing,unknown,unlaced,unlatch,unlawful,unleaded,unlearned,unleash,unless,unleveled,unlighted,unlikable,unlimited,unlined,unlinked,unlisted,unlit,unlivable,unloaded,unloader,unlocked,unlocking,unlovable,unloved,unlovely,unloving,unluckily,unlucky,unmade,unmanaged,unmanned,unmapped,unmarked,unmasked,unmasking,unmatched,unmindful,unmixable,unmixed,unmolded,unmoral,unmovable,unmoved,unmoving,unnamable,unnamed,unnatural,unneeded,unnerve,unnerving,unnoticed,unopened,unopposed,unpack,unpadded,unpaid,unpainted,unpaired,unpaved,unpeeled,unpicked,unpiloted,unpinned,unplanned,unplanted,unpleased,unpledged,unplowed,unplug,unpopular,unproven,unquote,unranked,unrated,unraveled,unreached,unread,unreal,unreeling,unrefined,unrelated,unrented,unrest,unretired,unrevised,unrigged,unripe,unrivaled,unroasted,unrobed,unroll,unruffled,unruly,unrushed,unsaddle,unsafe,unsaid,unsalted,unsaved,unsavory,unscathed,unscented,unscrew,unsealed,unseated,unsecured,unseeing,unseemly,unseen,unselect,unselfish,unsent,unsettled,unshackle,unshaken,unshaved,unshaven,unsheathe,unshipped,unsightly,unsigned,unskilled,unsliced,unsmooth,unsnap,unsocial,unsoiled,unsold,unsolved,unsorted,unspoiled,unspoken,unstable,unstaffed,unstamped,unsteady,unsterile,unstirred,unstitch,unstopped,unstuck,unstuffed,unstylish,unsubtle,unsubtly,unsuited,unsure,unsworn,untagged,untainted,untaken,untamed,untangled,untapped,untaxed,unthawed,unthread,untidy,untie,until,untimed,untimely,untitled,untoasted,untold,untouched,untracked,untrained,untreated,untried,untrimmed,untrue,untruth,unturned,untwist,untying,unusable,unused,unusual,unvalued,unvaried,unvarying,unveiled,unveiling,unvented,unviable,unvisited,unvocal,unwanted,unwarlike,unwary,unwashed,unwatched,unweave,unwed,unwelcome,unwell,unwieldy,unwilling,unwind,unwired,unwitting,unwomanly,unworldly,unworn,unworried,unworthy,unwound,unwoven,unwrapped,unwritten,unzip,upbeat,upchuck,upcoming,upcountry,update,upfront,upgrade,upheaval,upheld,uphill,uphold,uplifted,uplifting,upload,upon,upper,upright,uprising,upriver,uproar,uproot,upscale,upside,upstage,upstairs,upstart,upstate,upstream,upstroke,upswing,uptake,uptight,uptown,upturned,upward,upwind,uranium,urban,urchin,urethane,urgency,urgent,urging,urologist,urology,usable,usage,useable,used,uselessly,user,usher,usual,utensil,utility,utilize,utmost,utopia,utter,vacancy,vacant,vacate,vacation,vagabond,vagrancy,vagrantly,vaguely,vagueness,valiant,valid,valium,valley,valuables,value,vanilla,vanish,vanity,vanquish,vantage,vaporizer,variable,variably,varied,variety,various,varmint,varnish,varsity,varying,vascular,vaseline,vastly,vastness,veal,vegan,veggie,vehicular,velcro,velocity,velvet,vendetta,vending,vendor,veneering,vengeful,venomous,ventricle,venture,venue,venus,verbalize,verbally,verbose,verdict,verify,verse,version,versus,vertebrae,vertical,vertigo,very,vessel,vest,veteran,veto,vexingly,viability,viable,vibes,vice,vicinity,victory,video,viewable,viewer,viewing,viewless,viewpoint,vigorous,village,villain,vindicate,vineyard,vintage,violate,violation,violator,violet,violin,viper,viral,virtual,virtuous,virus,visa,viscosity,viscous,viselike,visible,visibly,vision,visiting,visitor,visor,vista,vitality,vitalize,vitally,vitamins,vivacious,vividly,vividness,vixen,vocalist,vocalize,vocally,vocation,voice,voicing,void,volatile,volley,voltage,volumes,voter,voting,voucher,vowed,vowel,voyage,wackiness,wad,wafer,waffle,waged,wager,wages,waggle,wagon,wake,waking,walk,walmart,walnut,walrus,waltz,wand,wannabe,wanted,wanting,wasabi,washable,washbasin,washboard,washbowl,washcloth,washday,washed,washer,washhouse,washing,washout,washroom,washstand,washtub,wasp,wasting,watch,water,waviness,waving,wavy,whacking,whacky,wham,wharf,wheat,whenever,whiff,whimsical,whinny,whiny,whisking,whoever,whole,whomever,whoopee,whooping,whoops,why,wick,widely,widen,widget,widow,width,wieldable,wielder,wife,wifi,wikipedia,wildcard,wildcat,wilder,wildfire,wildfowl,wildland,wildlife,wildly,wildness,willed,willfully,willing,willow,willpower,wilt,wimp,wince,wincing,wind,wing,winking,winner,winnings,winter,wipe,wired,wireless,wiring,wiry,wisdom,wise,wish,wisplike,wispy,wistful,wizard,wobble,wobbling,wobbly,wok,wolf,wolverine,womanhood,womankind,womanless,womanlike,womanly,womb,woof,wooing,wool,woozy,word,work,worried,worrier,worrisome,worry,worsening,worshiper,worst,wound,woven,wow,wrangle,wrath,wreath,wreckage,wrecker,wrecking,wrench,wriggle,wriggly,wrinkle,wrinkly,wrist,writing,written,wrongdoer,wronged,wrongful,wrongly,wrongness,wrought,xbox,xerox,yahoo,yam,yanking,yapping,yard,yarn,yeah,yearbook,yearling,yearly,yearning,yeast,yelling,yelp,yen,yesterday,yiddish,yield,yin,yippee,cheetah,yodel,yoga,yogurt,yonder,yoyo,yummy,zap,zealous,zebra,zen,zeppelin,zero,zestfully,zesty,zigzagged,zipfile,zipping,zippy,zips,zit,zodiac,zombie,zone,zoning,zookeeper,zoologist,zoology,zoom".split(","),passwords:"123456,password,12345678,qwerty,123456789,12345,1234,111111,1234567,dragon,123123,baseball,abc123,football,monkey,letmein,shadow,master,696969,michael,mustang,666666,qwertyuiop,123321,1234567890,pussy,superman,1qaz2wsx,7777777,fuckyou,jordan,qazwsx,jennifer,123qwe,000000,killer,trustno1,hunter,harley,zxcvbnm,asdfgh,buster,andrew,batman,soccer,tigger,charlie,robert,sunshine,thomas,iloveyou,fuckme,ranger,daniel,hockey,george,computer,michelle,jessica,starwars,asshole,pepper,klaster,112233,zxcvbn,freedom,princess,joshua,maggie,pass,ginger,11111111,131313,fuck,amanda,ashley,love,cheese,159753,nicole,summer,matthew,chelsea,dallas,biteme,matrix,william,yankees,6969,taylor,corvette,austin,access,martin,heather,thunder,merlin,secret,diamond,hello,anthony,hammer,fucker,1234qwer,silver,gfhjkm,justin,patrick,richard,bailey,internet,samantha,golfer,scooter,test,orange,cookie,q1w2e3r4t5,maverick,jackson,sparky,mickey,phoenix,bigdog,snoopy,guitar,whatever,chicken,morgan,andrea,camaro,mercedes,peanut,ferrari,cowboy,falcon,welcome,samsung,sexy,steelers,joseph,smokey,dakota,melissa,arsenal,boomer,eagles,tigers,marina,nascar,booboo,gateway,porsche,yellow,monster,spider,diablo,hannah,bulldog,junior,london,purple,compaq,lakers,iceman,qwer1234,hardcore,cowboys,money,banana,ncc1701,boston,brandon,tennis,johnny,miller,q1w2e3r4,coffee,scooby,123654,edward,nikita,mother,yamaha,brandy,barney,chester,fuckoff,oliver,charles,player,knight,forever,steven,rangers,midnight,chicago,bigdaddy,redsox,victoria,badboy,angel,please,fender,chris,jasper,james,slayer,rabbit,natasha,rachel,bigdick,marine,wizard,marlboro,raiders,prince,casper,fishing,flower,crystal,jasmine,panties,iwantu,adidas,winner,winter,gandalf,password1,enter,ghbdtn,1q2w3e4r,angela,mike,golden,lauren,cocacola,jordan23,winston,madison,angels,blowme,panther,sexsex,bigtits,spanky,bitch,shannon,sophie,johnson,asdfasdf,david,horny,thx1138,toyota,tiger,murphy,dick,canada,danielle,12344321,blowjob,8675309,jonathan,liverpoo,muffin,cooper,apples,jackie,dennis,black,qwerty123,passw0rd,john,abcd1234,sandra,pokemon,123abc,slipknot,carlos,qazxsw,123456a,scorpion,qwaszx,nathan,butter,startrek,rainbow,asdfghjkl,razz,redskins,newyork,gemini,cameron,qazwsxedc,florida,liverpool,turtle,nicholas,viking,booger,wilson,sierra,butthead,doctor,rocket,159357,victor,dolphins,captain,bandit,jaguar,packers,pookie,peaches,789456,asdf,blue,dolphin,helpme,tucker,theman,tiffany,maxwell,jeremy,qwertyui,shithead,debbie,albert,maddog,lovers,monica,alex,united,giants,nirvana,metallic,hotdog,rosebud,mountain,benjamin,warrior,stupid,elephant,suckit,success,bond007,jackass,bonnie,alexis,porn,lucky,jason,scorpio,samson,q1w2e3,rush2112,azerty,freddy,driver,willie,calvin,1q2w3e4r5t,sydney,gators,dexter,red123,12345a,123456q,bubba,creative,golf,voodoo,happy,arthur,trouble,america,nissan,gunner,rebecca,stella,garfield,gordon,jessie,bullshit,parker,asdfghjk,5150,fucking,apollo,jack,1qazxsw2,2112,eminem,december,legend,airborne,beavis,august,bear,apple,brooklyn,godzilla,skippy,buddy,4815162342,qwert,kitten,magic,shelby,beaver,phantom,fred,nothing,asdasd,williams,xavier,braves,darkness,blink182,travis,copper,tomcat,platinum,qweqwe,girls,01012011,bigboy,green,power,102030,animal,police,11223344,online,voyager,lifehack,12qwaszx,fish,sniper,315475,trinity,walter,blazer,heaven,lover,snowball,playboy,bubbles,loveme,hooters,cricket,marvin,willow,donkey,topgun,nintendo,saturn,family,november,gabriel,destiny,pakistan,pumpkin,digital,sergey,chance,explorer,redwings,private,therock,runner,tits,789456123,lasvegas,guinness,beatles,fire,cassie,christin,qwerty1,asdf1234,celtic,broncos,andrey,007007,babygirl,nelson,donald,scott,eclipse,cartman,fluffy,louise,michigan,testing,carolina,little,samuel,alexande,birdie,steve,cherry,pantera,sharon,gibson,vampire,mexico,dickhead,peter,buffalo,montana,genius,beer,flyers,maximus,school,minecraft,lovely,stalker,metallica,doggie,carter,kristina,kimberly,spencer,speedy,barbara,snickers,sabrina,carmen,marcus,bronco,yankee,friends,paradise,lol123,dreams,magnum,horses,cool,caroline,147258369,lacrosse,ou812,goober,member,qwertyu,enigma,scotty,pimpin,bollocks,brian,cock,surfer,sammy,genesis,poohbear,dave,star,asd123,qweasdzxc,baby,racing,friend,hello1,hawaii,eagle1,billy,viper,october,vanessa,poopoo,einstein,boobies,stanley,12345q,walker,bitches,paul,drowssap,stephen,courtney,simple,alaska,badger,action,jake,bill,denise,jester,111222,spitfire,drummer,forest,patricia,maryjane,champion,diesel,svetlana,rock,friday,kevin,mark,gregory,pamela,frank,hotrod,147258,chevy,anderson,lucky1,douglas,westside,security,google,badass,shorty,tester,thumper,hitman,mozart,general,reddog,boobs,zaq12wsx,music,010203,lizard,alexander,melanie,a123456,ruslan,123456789a,vincent,eagle,1232323q,sweet,teresa,scarface,147852,qwerty12,a12345,marshall,olivia,veronica,porno,buddha,spirit,frankie,money1,stargate,antonio,liberty,natalie,mercury,naruto,qwe123,12345qwert,suzuki,semperfi,king,popcorn,spooky,marley,system,brittany,claudia,kelly,scotland,free,kitty,cherokee,vikings,simpsons,death,leslie,rascal,qweasd,jimmy,loveyou,hummer,michael1,allison,rocky,patches,russia,adrian,jupiter,penguin,cumshot,howard,passion,honda,vfhbyf,andre,vladimir,franklin,sandman,123789,infinity,homer,bastard,raider,passport,assman,sucker,fantasy,bulldogs,1234554321,horney,domino,budlight,ironman,disney,norman,usuckballz1,softball,bishop,francis,brutus,ford,redrum,brooke,bigred,jeffrey,jesus,fktrcfylh,karina,marines,kawasaki,digger,ireland,oksana,fireman,cougar,college,shit,alicia,russell,houston,monday,bradley,cunt,sarah,nigger,justice,super,wildcats,tinker,duncan,dancer,logitech,avalon,swordfis,everton,reggie,motorola,alexandr,molly,timothy,hentai,pussy1,claire,patriots,madonna,colorado,eugene,ducati,kermit,juventus,indian,connor,galore,freeuser,smooth,house,titanic,boogie,simpson,warcraft,wolverin,elizabet,arizona,saints,valentin,georgia,asdfg,test123,accord,matt,baxter,denver,mitchell,christ,password123,yfnfif,slut,smith,stinky,zachary,roland,naughty,ncc1701d,spiderma,chopper,brenda,hello123,extreme,virginia,water,skyline,poop,zombie,pearljam,froggy,pirate,fylhtq,vision,123qweasd,awesome,alyssa,dreamer,predator,bullet,empire,wolf,charlie1,kirill,123123a,people,penis,elvis,panthers,skipper,nemesis,peekaboo,rasdzv3,simon,alison,rolltide,american,cardinal,arnold,chevelle,daddy,psycho,happy1,danger,mookie,wanker,manutd,9379992,tommy,hobbes,vegeta,goblue,852456,burton,fyfcnfcbz,picard,159951,bobby,windows,loverboy,lovelove,vfrcbv,victory,123654789,bambam,turkey,serega,tweety,hiphop,galina,changeme,rooster,polina,berlin,suckme,taurus,electric,ronald,avatar,134679,mine,raptor,alpha1,maksim,spring,brazil,eric,bigcock,newport,hard,kenneth,hendrix,madmax,england,a1b2c3,alpha,sublime,britney,france,darkside,bigman,hercules,lawrence,wolfpack,classic,letmein1,lincoln,ronaldo,741852963,spiderman,1q2w3e,blizzard,cheyenne,123456789q,wombat,bubba1,tiger1,cjkysirj,raymond,brother,kristen,pandora,devils,zxc123,simone,holiday,wildcat,horse,kramer,12312,147852369,buddy1,sterling,caesar,alabama,carrie,bondage,basketball,sports,pussycat,pickle,catch22,leather,shaggy,a1b2c3d4,chronic,flowers,qaz123,qqq111,robbie,admin,gracie,amber,freepass,airplane,perfect,kodiak,billybob,katana,sunset,crazy,good,stingray,maria,anna,snowman,phpbb,angel1,chocolat,zeppelin,garcia,detroit,wolves,pontiac,candy,firebird,vagina,gundam,panzer,outlaw,time,pretty,fisher,connie,honey,business,trevor,redhead,hardon,greenday,tarheels,01011980,nastya,hellfire,cobra,engineer,dragon1,savage,service,serenity,sasha,michele,dude,lickme,fireball,1029384756,white,remember,darkstar,miranda,flash,mustang1,01011,124578,harvey,oscar,strike,freddie,pavilion,beauty,bobafett,01012000,adam,dbrnjhbz,jeff,bigmac,chris1,duke,clinton,bowling,jenny,natali,future,harrison,jones,wallace,welcome1,swimming,apache,rulez,pyramid,dodgers,girl,whynot,fuckit,defender,teens,morris,trooper,135790,cancer,precious,packard,lucifer,popeye,weasel,142536,raven,icecream,stewart,tanner,swordfish,blonde,sandy,presario,rockstar,viktor,manager,cheryl,norton,james1,control,wutang,airforce,julian,atlanta,pimp,spike,thailand,looking,casino,741852,21122112,paris,mouse,lennon,456123,bluebird,theone,hawkeye,hacker,lisa,dustin,elaine,nfnmzyf,sailor,catfish,goldfish,maxima,tattoo,barbie,light,design,pervert,machine,herman,wrangler,rocks,trucks,nipples,roscoe,tornado,jerry,lights,bubble,cadillac,666999,madman,orlando,pegasus,target,longhorn,laura,philip,browns,eatme,stefan,cannon,dilbert,baller,microsoft,winnie,christia,katie,qazwsx123,shooter,xfiles,qazqaz,lesbian,street,seattle,corona,amateur,cthutq,prelude,246810,beach,malibu,freaky,assassin,integra,atlantis,123qweasdzxc,pussies,dragons,iloveu,monkey1,unicorn,lonewolf,regina,753951,stealth,kristin,tony,peewee,openup,bobcat,stacey,software,newton,leonardo,student,srinivas,angelina,young,enjoy,valentina,trigger,zaqwsx,lolita,athena,shotgun,coyote,bruins,veronika,dollar,country,rocky1,joker,babydoll,lestat,wordpass,hottie,smiley,potter,random,sweety,butterfly,woody,chipper,snake,samurai,video,gizmo,maddie,devildog,valerie,mistress,flipper,freedom1,express,powers,soso123aljg,cessna,teacher,goldie,moose,polaris,piglet,cookies,elena,montreal,hjvfirf,ladies,wolfgang,fatboy,scully,father,single,wicked,daisy,fetish,foobar,castle,tickle,bunny,pepsi,balls,transam,dfvgbh,31415926,oicu812,impala,sunday,booty,hotstuff,ronnie,jasmin,ryan,gambit,toshiba,basketba,lancer,birthday,texas,stephani,jessica1,hooker,knicks,314159,roberto,stinger,testtest,fuckyou2,kathleen,savannah,shamrock,benson,squirt,deftones,trucker,nick,redneck,goldberg,alfred,blaster,siemens,shelly,renegade,manson,subaru,ibanez,blondie,hamilton,casey,swinger,reaper,cristina,minnie,mylove,harry,galaxy,lindsay,dudley,farmer,gloria,special,blahblah,enterpri,1234abcd,travel,babylon5,bigone,sweetpea,sugar,smoke,skeeter,fucked,indiana,great,ficken,trfnthbyf,master1,freeman,curtis,smitty,marino,joanne,bigfoot,escort,babes,check,larisa,trumpet,tristan,spartan,babylon,asdfghj,sister,valera,stormy,paladin,andreas,cavalier,marathon,hamlet,aardvark,butterfl,bigboobs,mister,manchester,yankees1,rusty,napoleon,seven,indigo,hornet,skater,jerome,pierre,wonder,toronto,rose,indians,karate,buckeyes,01011990,julie,hesoyam,fredfred,charger,highland,sweetie,holland,1qaz2wsx3edc,chiefs,diamonds,buckeye,aurora,hotsex,campbell,griffin,brandi,redman,passwor,chandler,drpepper,monika,maiden,elizabeth,leonard,bernie,brown,pornstar,garden,storm,autumn,12345678910,linda,thuglife,millie,jungle,pencil,tomtom,insane,pizza,timber,jesus1,sherlock,mariah,audrey,david1,1a2b3c,hamster,aragorn,pioneer,techno,catdog,lollol,triumph,sidney,141627,321654,fktrctq,none,sophia,morpheus,island,wetpussy,hobbit,blabla,erotic,shadow1,aaron,pascal,sampson,consumer,justme,marion,stones,chrissy,tyler,nadine,marie,goforit,burger,pitbull,kelsey,adgjmptw,spartak,german,karen,kissme,hunting,kaiser,martha,colors,artist,harold,bass,italia,sammie,barcelona,mario,nicolas,virgin,pebbles,sundance,isabella,overlord,emerald,callie,doggy,irina,racecar,isabelle,germany,1478963,goddess,change,wesley,nipple,basket,joejoe,holly,poison,zipper,alpine,shirley,element,huskers,marcel,eddie,danny,christy,pussys,sakura,chichi,inside,ultimate,dirty,nicola,ncc1701e,blackie,q12345,omega,watson,rommel,matthew1,geronimo,nikki,caserta,trojan,123qwe123,philips,sergio,nugget,sammy1,tarzan,bassman,warren,trixie,chicks,aleksandr,cream,webster,help,sherry,manuel,portugal,dodger,anakin,bobbob,bomber,michel,madness,superfly,q1w2e3r4t5y6,loser,123asd,florence,yvonne,fatcat,global,ybrbnf,energy,desire,wrinkle1,soldier,bianca,sexual,warlock,martina,babe,951753,11235813,51505150,andrei,larry,seminole,peace,alejandr,westham,concrete,access14,harris,margaret,hector,christop,naked,ladybug,letmein2,network,bernard,weed,tintin,qazxswedc,trombone,chuck,pleasure,rhbcnbyf,home,history,bluesky,sherman,logan,january,onelove,cotton,christian,cdtnkfyf,sunny,archie,holden,whore,brianna,vfvjxrf,titans,stallion,lindsey,singer,truck,smile,party,missy,hansolo,angelo,joanna,natalia,beagle,phillip,panama,smiles,blue22,juice,qawsed,inferno,moon,mongoose,connect,kingkong,snatch,flatron,sex4me,bluemoon,turbo,rocker,personal,emily,blessed,snakes,dominic,joey,forget,finger,beetle,jamaica,alberto,a1234567,mulder,fuckyou1,jamie,susan,immortal,head,passat,plastic,123454321,dietcoke,spunky,suck,long,anthony1,whiskey,monitor,giovanni,cactus,ripper,spyder,markus,planet,magic1,teen,patton,exigen,sticky,waters,sluts,nolimit,daniela,hollywoo,abigail,apple1,morrison,katrina,trunks,1234321,andy,assass,always,diana,deedee,14789632,clifford,april,speed,japan,mission,pickles,million,sailing,freak,holmes,bonehead,fernando,ghbdtnbr,112358,911911,charlott,delta,yomama,darren,rubber,newman,molly1,1123581321,faster,cumming,bertha,memphis,sylvia,open,ilovesex,maurice,william1,hongkong,olga,jumper,unreal,geheim,rodney,nylons,sebastia,pentium,legion,shalom,kennedy,555666,brooks,movie,dodge,dream,graham,sprite,curious,pacific,loulou,funtime,philly,ferret,niners,orion,werewolf,milton,cantona,kingdom,stars,africa,office,boeing,gilbert,abgrtyu,pirates,super123,sheila,french,sweets,cooldude,palmer,eternity,lollipop,tottenha,green1,stocking,monique,anything,foster,irish,jackoff,7895123,biscuit,drizzt,camera,columbia,fossil,moomoo,makaveli,tracey,colt45,robinson,isabel,martini,salmon,shasta,jersey,verbatim,maniac,snapper,satan666,nasty,solomon,patriot,jacob,standard,shaved,blackcat,asdzxc,punkrock,raistlin,infantry,qwerty12345,4128,dillon,gerald,twister,ricardo,waterloo,cjkywt,clayton,crimson,serena,01012010,oxford,maxmax,denis,flight,condor,seinfeld,silvia,biggie,maxine,musicman,ravens,teddy,colleen,bruce,wolfman,sharks,megadeth,cosmos,velvet,butt,keeper,foxtrot,garrett,black1,damien,anton,sesame,skywalke,gn56gn56,banshee,cats,squirrel,wolverine,dogs,sunrise,rick,ghost,western,grendel,sucks,roxanne,privet,legolas,frog,felix,marlin,stone,herbert,lvbnhbq,qazwsxed,carrot,blades,frosty,stardust,121314,helena,brownie,groovy,penny,butler,coolio,twilight,daytona,licker,peanuts,intrepid,pikachu,trains,mollie,vanhalen,jericho,hershey,strider,lobster,punisher,grace,bird,zaq123,bottom,ninja,1234567a,murray,kansas,shogun,goblin,search,neptune,ball,showtime,darwin,amadeus,suzanne,fuckfuck,seven7,jason1,111222333,oldman,bruno,showme,henry,getsome,muscle,obiwan,support,rfrfirf,skittles,ekaterina,gold,whitney,shark,maestro,anal,danni,tanker,english,tarheel,fighter,thanks,blue123,hannibal,capital,newlife,anubis,gothic,chaos,blues,cindy,sabine,thunder1,roman,preston,princes,brendan,slick,123456z,evelyn,python,test1,richie,tequila,boss,cody,devil,chelsea1,clover,delete,mirage,blood,surfing,1q2w3e4r5t6y,bentley,portland,potato,baggins,review,porter,chubby,panasonic,sandiego,sooners,buffy,buck,tina,derrick,penelope,blackdog,harmony,fusion,dima,mature,malcolm,allen,mary,buttons,1a2b3c4d,californ,safety,playtime,dagger,moscow,swallow,warriors,byteme,stimpy,gangster,lucas,christine,turner,iverson,lester,chargers,liquid,asdf123,mushroom,cracker,dingdong,lucky7,misty,nymets,456852,robin,bigguy,mobile,tazman,greg,nimrod,newpass,miami,crusader,bugger,stranger,dkflbvbh,anastasia,marco,volume,masters,monroe,miguel,doodle,collins,powder,archer,gotcha,battle,dublin,slapshot,guardian,147896325,janice,charly,septembe,photos,knights,woody1,short,angelica,nookie,milano,pepsi1,scarlett,stuart,damian,grizzly,123098,123321123,camille,scruffy,brasil,latino,kittycat,poopie,munchkin,lorenzo,rammstein,1701,1passwor,bananas,barcelon,santiago,thegame,robert1,hell,world,gerard,picasso,viper1,walnut,kolobok,blackman,wisdom,trance,starcraft,parrot,quality,blade,pink,auburn,goodluck,eatshit,dorothy,dusty,engine,coltrane,gorilla,wheels,katerina,tamara,postal,fuck_inside,luther,ranger1,pass123,carlo,cassidy,discover,oakland,andrew1,spanking,osiris,dumbass,shaney14,192837465,lonestar,ping,bridge,bingo,bender,annie,stonecol,dookie,meridian,sally,megaman,heather1,25802580,racerx,rjntyjr,sirius,firefly,richard1,julia,alexandra,madrid,terry,griffey,women,phoebe,zaq1xsw2,weezer,beautiful,violet,ledzep,lowrider,randy,gangsta,ghjcnj,paradox,tacobell,123698745,loving,catalina,vertigo,halflife,carson,sergei,shiloh,johnjohn,sobaka,buffett,aliens,sadie,chucky,bonjour,kangaroo,jazz,josh,thompson,sinner,socrates,soccer1,keyboard,0.0.000,stevie,0007,jeep,trebor,finish,dark,luke,sprint,shazam,lady,national,celica,sarah1,scarlet,formula1,hoover,sommer,frances,hotboy,cynthia,qwerasdf,12369874,penguins,bond,formula,rebels,fuckface,elwood,melvin,honda1,vacation,kiss,ragnarok,bollox,lexmark,asshole1,mailcreated5240,lorraine,258456,claude,rockon,duck,dodgeram,tacoma,romeo,wookie,prodigy,tempest,vfhecz,flames,sebastian,colombia,bang,kitkat,oblivion,mystery,sithlord,server,molson,mustangs,incubus,smoker,123qaz,window,scoobydo,1122,rescue,bigballs,zxcv1234,carpet,titleist,richmond,director,lawyer,megan,juan,magnolia,celeste,melinda,lucy,wright,jimbob,golfing,kenny,roger,bobbie,xanadu,tardis,blueeyes,hearts,dixie,pussy69,pooper,shaman,mersedes,102938,12312312,springer,imagine,janine,patrick1,kenwood,123zxc,dogg,garbage,martinez,topper,cowboys1,roberts,lizzie,ashton,elliott,oracle,sheena,chloe,nuttertools,mallard,123987,1122334455,analsex,shemale,gateway1,mikey,asterix,faith,monkeys,imperial,jimbo,cooler,grateful,gillian,peterpan,kingston,yourmom,sleepy,gremlin,printer,hudson,pa55word,stud,freckles,birdman,frank1,aussie,esther,defiant,margarita,445566,deadhead,polo,anime,tatyana,jackal,frogger,bridget,wayne,research,tobias,mariners,rootbeer,blondes,donnie,katrin,weather,aspirine,frederic,parola,photo,children,account,israel,stephanie,shaolin,noodles,celine,willy,willis,forgot,scooter1,hallo,mandy,thomas1,11112222,rogers,palace,santos,ohyeah,magnus,laurie,creampie,amazon,kisses,queen,ludwig,fatass,plymouth,justdoit,assfuck,nellie,1234567q,12121,987456,6751520,putter,broken,nopass,letsgo,bryan,bones,harley1,tatiana,camel,champs,lightnin,massive,camelot,bosco,deanna,gizmodo,spidey,caliente,aezakmi,456654,goodtime,mypass,roller,catherin,active,pooh,payton,lonely,redalert,brucelee,smokin,porkchop,astros,aquarius,raiders1,thankyou,kevin1,atomic,fletcher,shopping,a1s2d3f4,mason,rusty1,marian,vanilla,hunter1,unknown,sapphire,temple,qwert123,marvel,beckham,qazwsxedcrfv,kaktus,753159,myself,sooner,blacky,elvis1,hastings,buster1,power1,blackjac,aggies,scream,picture,123321q,abc12,judith,iforgot,kasper,cxfcnmt,bangkok,01012001,shitty,spectrum,eduard,vader,jammer,painter,primus,veritas,ernest,kristi,chevrole,amber1,amsterdam,slappy,valley,1221,horny1,pete,hitler,clancy,spankme,granny,avenger,satan,sasha1,usa123,diamond1,rosemary,husker,candyman,beatrice,scrappy,john316,simba,falcons,dylan,front242,harder,atlantic,labrador,123456qwerty,smudge,syracuse,southern,melody,timmy,elijah,center,darling,throat,stuff,fatman,krishna,sanchez,pancho,gator,pacman,commando,delta1,vulcan,bush,clitoris,lemons,alice,8j4ye3uz,boner,keith,odessa,barkley,monopoly,method,kelley,sara,punkin,pineappl,celtics,lesbians,223344,space,gangbang,bennett,area51,lick,flyboy,hamburg,aaa111,asian,carol,spartans,tricky,romashka,123456aa,snuggles,phoenix1,boat,infiniti,anders,billie,life,homer1,drago,blake,hermes,jesse,goose,jeremiah,vivian,annette,homerun,dead,forrest,carolyn,1234567890q,topcat,hayden,cosworth,vectra,grover,goodbye,charlotte,cuddles,bossman,horndog,doberman,gary,telefon,dawg,qawsedrf,ivanov,durango,peugeot,killer1,franco,kyle,plumber,bell,rbhbkk,pauline,exigent,brandon1,laguna,emmanuel,webmaster,bowler,leopard,strong,theking,redbull,alan,pics,beast,viktoria,porsche9,breeze,topdog,starbuck,omega1,dance,dalton,fuckers,oscar1,hungry,beefcake,reality,gjkbyf,speaker,shelley,godsmack,clarence,writer,loveit,kingpin,nokia,valhalla,night,starfish,anarchy,herbie,blacks,content,906090,sailboat,desert,fitness,brando,bohica,achilles,tractor,jordan1,ncc1701a,drake,bull,hidden,kicker,arsenal1,labtec,napass,bart,pa55w0rd,amelia,tuesday,frontier,swingers,jimmy1,caitlin,muppet,terror,legacy,farside,terminator,bella,matilda,kentucky,jackson1,doughboy,ramona,butthole,phillies,jrcfyf,789654,camels,dannyboy,oakley,daniel1,nebraska,latin,double,qwertyuio,sabbath,chang,pinkfloy,homers,striker,looker,fallen,maryland,luckydog,azamat,september,iguana,oklahoma,moloko,qwerty123456,agent007,vfrcbvrf,javier,vette,daniil,command,rhonda,studio,pistol,miles,skiing,franky,stoner,conrad,select,tanya,houses,boris,puppy,elliot,charmed,vladik,nathalie,whocares,666777,maynard,vkontakte,ihateyou,puppies,zidane,eileen,dilligaf,crash,mandingo,moneys,tyrone,funny,nevada,kotenok,mystic,california,123457,budman,church,carlton,rafael,technics,bone,stick,golfball,rookie,panda,laptop,today,01011991,jennie,triton,river,trojans,bunghole,zvezda,132435,15426378,hurrican,central,stripper,dale,filter,jethro,snow,gustav,ivan,escape,gizmo1,hawk,igor,aberdeen,shane,lespaul,rfnthbyf,enterprise,butch,dthjybrf,963852,1366613,cutter,splash,handsome,oilers,randall,cash,nofear,cupcake,excalibu,batman1,momoney,gbpltw,bigger,belinda,svetik,possum,metal,moocow,brothers,bethany,keystone,babyboy,flamingo,super1,firefox,bogdan,ccbill,passwort,soleil,lancelot,melissa1,vipers,marilyn,tdutybq,juliet,leader,madden,russian,australia,sabina,chase,coolman,babies,skinny,zaphod,raven1,kamikaze,verona,bacon,noodle,rebel,doobie,designer,deadman,attack,vortex,killme,dogman,pokemon1,gopher,somethin,danila,12332,reagan,apollo13,chevy1,cancel,torres,000007,freaks,azsxdc,sassy,donna,dracula,play,poncho,bearbear,boots,engage,steve1,deskjet,bradford,bitch1,hammers,deeznuts,warhammer,rangers1,tight,justine,ralph,fabian,lewis,casey1,summer1,blueblue,marissa,oregon,bubbas,sinatra,hilton,meatball,mailman,dawson,columbus,manchest,cthulhu,macdaddy,mighty,michaela,grandma,ready,sterlin,cartoon,summit,123456789z,sentinel,tolkien,bicycle,peter1,blow,beverly,breast,lickit,kathy,crazy1,meghan,universe,capone,jenna,julius,wendy,bryant,truelove,helen,123456k,nancy,eatpussy,hailey,kitty1,daisy1,chair,362436,bowser,kathryn,sexygirl,fernand,eleven,rockets,billyboy,military,demon,davis,jamesbon,iloveyo,texas1,traffic,saint,daddy1,redhot,microsof,sonic,miracle,microlab,gofish,pantyhos,pilot,lifetime,rugby,mayday,aikido,nina,star69,01011985,conner,cutlass,tree,thekid,gordon24,theodore,titties,sweden,function,polska,danie,gang,73501505,market,scotch,lansing,elvira,bloody,sexx,hustler,anfield,coke,smut,catman,rush,bonita,tracy,sony,fast,1234qwe,1225,passwor1,irish1,cheers,tinman,airbus,peters,china,azsxdcfv,santana,hayley,station,gabrie,scottie,orioles,jenny1,01011970,charlton,saun,fortuna,dfkthbz,rustam,warlord,retard,fatima,ultima,kong,bigmoney,4runner,rotten,betty,grumpy,oranges,kelly1,superstar,fordf150,asdfjkl,boxing,xtreme,denali,selena,zxcasd,huskies,128500,terminal,wilbur,kristy,wildfire,vladislav,bikini,thor,hollywood,mayhem,sultan,gretchen,figaro,sixers,sparta,saratoga,321654987,running,01011981,cloud9,music1,models,mojo,greenbay,cancun,marlene,trinidad,tammy,chewie,hope,number1,billy1,feet,crunch,bigbird,mellon,chicken1,bigtime,fashion,piccolo,fabie,789123,rjirfrgbde,rovers,meatloaf,hyperion,sandro,rightnow,jarhead,armani,treasure,miriam,hansen,natural,01011986,lisalisa,sport,bizkit,chester1,jasmine1,maradona,1066,sayang,charli,rfhbyf,utopia,anaconda,japanese,camilla,coconut,govols,emerson,memory,catherine,jedi,cosmo,cruise,giant,ricky,dragoon,woofwoof,giorgi,packer,pass1234,poontang,emily1,illini,christopher,davids,zaqxsw,sandy1,pedro,sticks,revenge,exodus,reebok,chanel,albatros,cabbage,goku,wally,beaner,quincy,greens,tomato,toby,chief,richards,turkey50,adriana,kenworth,happy123,deborah,down,cooter,dinosaur,holyshit,eeyore,movies,dana,lionking,creamy,adult,poodle,tsunami,happyday,321123,knopka,tommy1,bogart,corrado,volley,tyler1,chickens,orgasm,whisper,flying,first,chocolate,walleye,hopper,katie1,sean,twisted,chaser,pepper1,memorex,ericsson,1001,100000,jensen,positive,crazybab,science,frisco,dong,jose,zorro,romance,sherwood,shania,rereirf,sausage,milana,tasha,vfvekz,profit,zenith,fugazi,junebug,clemson,polniypizdec0211,tootsie,fktrcfylhf,comics,zxcasdqwe,vfczyz,150781,werner,aspire,hardrock,condom,cocks,rachael,gringo,anhyeuem,madeline,rich,becky,canon,february,alien,abc12345,harper,justin1,stocks,marcos,samsung1,clapton,roberta,coleman,applepie,skywalker,fubar,theresa,koshka,tundra,vitalik,arjay,gmoney,bigsexy,ingrid,pillow,gandalf1,lucky13,fingers,samiam,dean,davidson,skorpion,candle,nobody,hellyeah,better,australi,drew,rockhard,boob,easy,bears,sparkle,johanna,everest,rfrnec,hedgehog,13243546,wolfie,surf,bobby1,fart,yosemite,marisa,voyeur,baddog,brad,jazzman,dicks,tool,temp,cheetah,1qa2ws3ed,slacker,steele,mikemike,wood,pooppoop,america1,barsik,valeria,deniska,br0d3r,fright,karolina,kirsten,vfksirf,kume,kenshin,bootie,cyclone,starship,monty,balloon,maxell,dildo,rupert,0.0.0.000,milena,bonsai,lion,salvador,greatone,vernon,50cent,slider,lillian,admiral,cecilia,stolen,albion,boys,midget,fuckin,freeporn,nikola,amanda1,hithere,football1,222333,78945612,damnit,dinamo,francois,cheng,calico,duchess,scratch,powell,packers1,stefano,fortune,nyjets,artemis,robotech,roadkill,backdoor,rastaman,fiesta,felicia,alliance,fletch,jerkoff,killbill,goliath,cinnamon,rambler,malaka,tekken,sojdlg123aljg,321456,18436572,963852741,carrera,bangbang,jeanette,marc,fritz,ramses,operator,shado,duster,spank,wibble,alibaba,mechanic,keywest,sword,amsterda,hal9000,bristol,pingpong,rasputin,marianne,hooter,tara,rctybz,sanders,faggot,krista,presto,majestic,332211,nguyen,fowler,passwords,buttman,snake1,spurs,carl,pompey,trident,viagra,qwert1,brian1,kipper,kingfish,zxcvbnm1,gotohell,angie,guest,garage,heidi,mattie,slutty,isaiah,steeler,wrestlin,pooter,divine,emma,route66,clipper,charley,macross,railroad,lineage2,oleg,420247,seamus,swimmer,ne1469,jokers,thursday,chico,a123456789,solnce,erik,kimber,guiness,pussie,mathew,nature,matador,sparks,typhoon,hank,secret1,retired,subway,slave,ivanova,ghetto,florian,love69,vermont,tang,ktyjxrf,lolipop,moose1,spears,yzerman,peterson,magick,phillips,cinder,nwo4life,flash1,shearer,pupsik,charles1,dfkthf,allsop,162534,456321,000001,city,qwer123,grapes,123123q,pippen,belle,chad,venus,kcj9wx5n,sex123,dammit,barry,caveman,critter,underdog,r2d2c3po,skydive,renault,onlyme,george1,murder,snoopdog,jayhawk,hotshot,caramel,broadway,kinky,theboss,fuckher,train,trout,ding,umbrella,feather,credit,splinter,depeche,seeker,fuckthis,respect,crysis,direct,animals,chemical,cyclops,1000,122333,135246,789987,123789456,chivas,jamesbond,blackhaw,passpass,sinclair,team,megapass,beanie,translator,helloo,magicman,cunts,phil,fishes,supersta,giuseppe,caligula,kill,shannon1,juggalo,frozen,quattro,usmc,meredith,java,wassup,rosie,bullseye,saturday,pornos,cohiba,ashley1,floppy,alucard,deacon,heart,tabitha,kristine,nicole1,tunafish,great1,gfhjkm123,dallas1,xbox360,dkflbckfd,kickass,p0015123,10203,200000,7753191,12131415,vietnam,kendall,pearl,safari,gonzo,crawford,bob123,klingon,jacob1,rain,looser,goalie,damage,maureen,west,dawn,tazmania,cigars,facial,cobra1,deepthroat,malina,silence,samara,dfktynbyf,fang,cruiser,vector,tommyboy,jean,banker,horizon,chainsaw,button,bigbear,forfun,abraham,123456r,astrid,carole,andres,sharky,enter1,vh5150,royals,christina,small,misfit,work,yousuck,louis,fallout,marino13,scania,maxx,nudist,getmoney,budweise,qazwsx12,song,believe,brighton,absolut,kungfu,kostya,monaco,death1,gunners,vfhufhbnf,mamapapa,1230,minime,blueboy,penthous,chrisbln,steph,whitey,europa,jade,bertie,daphne,groucho,champ,benny,grant,mirror,village,trader,stroke,walrus,susanne,number,sabres,nipper,woman,floyd,snowboar,undertaker,flounder,moneyman,patty,bottle,love123,kahuna,canadian,wolf359,viewsonic,coolguy,rules,downtown,wagner,strange,fabric,trisha,italian,ybrjkfq,cypress,01011989,qwerty1234,eastside,sneakers,passme,topher,taylor1,golfgolf,barber,sinbad,frodo,panasoni,craig,alfa,mybaby,skidoo,chicago1,massimo,back,jillian,cat123,q123456,sparrow,senior,dalejr,thecat,fucku2,snapple,mondeo,leanne,emmitt,thanatos,z1x2c3,ghjcnjnfr,maximum,smegma,thesims,whitesox,chong,778899,2128506,bonkers,poseidon,musica,doug,johannes,gargoyle,0420,olivier,hambone,bluedog,intruder,sunnyday,cyber,compute,kids,smelly,spawn,wapbbs,answer,studly,poppy,paper,ferrari1,simona,solution,madison1,newcastl,adonis,goodman,sexxxx,europe,goldstar,again,quantum,buckshot,static,turbo1,dollars,01011988,titanium,holly1,erica,danzig,sadie1,jabroni,library,journey,beastie,chrono,dang,1024,555777,edwards,jane,test1234,gunnar,federico,korn,custom,lance,1qwerty,assholes,daewoo,jess,briana,watcher,superman1,albina,sunflowe,dorian,babyblue,premier,staples,nike,stereo,westwood,apple123,mouse1,usnavy,boomboom,fresh,florida1,sasuke,dharma,pisces,motherlode,multiplelo,hang,bike,sapper,scanner,marius,zeus,racer,callaway,user,bayern,rover,lamont,rivers,snoop,over,walmart,micheal,starfire,theend,steel,tigger1,erotica,aaliyah,doogie,renee,paintbal,winston1,sexy69,paint,123qwerty,tyson,joshua1,newbie,knickers,lokomotiv,112211,192837,hotred,ufkbyf,panther1,dodge1,laurel,shawn,12345z,wasser,scott1,jessic,thirteen,rjycnfynby,avalanch,outkast,truman,magpie,scout,philippe,poetry,martin1,havefun,michell,cubbies,losers,hotpussy,deejay,fghtkm,droopy,blossom,333666,777888,allmine,01011984,zerocool,janet,tomorrow,godfather,abby,greece,second,reading,greene,sascha,busted,ming,bimmer,original,cbr600,ocean,anne,builder,demons,nitram,pudding,bounce,donuts,01011987,fucku,newyork1,jeanne,idontknow,audia4,aleksey,vfvfgfgf,leonid,smokes,mylife,beerbeer,sims,redfish,harry1,working,rodman,beaches,1x2zkg8w,hairy,contact,start,luis,bogey,prissy,123456s,gegcbr,tights,insert,carla,dante,beretta,francesc,jewels,searay,padres,celeron,mittens,quartz,ziggy,diehard,micron,syncmaster,cornell,christie,stunner,hockey1,simon1,rtyuehe,hoosier,zxasqw12,peyton,cheese1,orange1,paintball,bing,4121,monalisa,queens,terrapin,a1s2d3,spongebob,buzz,attitude,backup,whisky,clevelan,ling,cedric,marin,barefoot,artur,chuckles,barrett,meathead,bigass,ou8122,titty,spike1,gretzky,02071986,kosmos,cfitymrf,biggles,cambiami,sexy1,12345678q,03082006,thongs,blessing,what,aleksandra,ginger1,twinkle,gladiator,gollum,southpark,rabota,mazafaka,336699,goodboy,carbon,scuba,tango,stoney,brent,weaver,will,volvo,footbal,pianoman,gaston,casanova,traveler,clark,stumpy,hawkeyes,clarinet,looney,mommy,maggot,felipe,bucket,sex,eduardo,freeze,sound,sexyman,johnboy,dian,snapon,deeznutz,warthog,vegas,rooney,honey1,futbol,filthy,steam,carina,1012,90210,10203040,123aaa,mustard,boricua,meowmeow,maste,mellow,love1,abc1234,sunshin,bengals,combat,goofy,whatsup,sauron,krystal,alina,lover1,monster1,prophet,joker1,loco,lovesex,twins,triangle,booker,reefer,nickel,venice,xander,strip,valencia,01011910,lord,rhiannon,crystal1,smeghead,valeri,andromeda,12qwas,12345679,diver,cerberus,james007,sputnik,groove,lambert,usarmy,more,tiberius,zigzag,sting,abcd123,bean,welder,radio,petra,focus,gabriell,candice,salamander,eternal,silver1,bunny1,motley,resident,hayabusa,marcia,rambo,together,rainman,poochie,purdue,redwood,ripple,buzzard,wang,redwing,boobie,juliette,monke,hokies,phish,1q2w3e4r5,crjhgbjy,jagger,nokia6300,rockford,shou,tuan,goldwing,1007,10101,brewster,bermuda,zero,thegreat,proxy,confused,badgirl,lola,bacardi,sweet1,derek,whiskers,spaceman,starman,rebecca1,trial,karma,claudio,12qw34er,allstar,carolin,gesperrt,lynn,swords,rasta,wildman,nikolay,kang,slinky,wrestling,jamie1,mohammed,pinhead,hacked,logan1,sersolution,penny1,overkill,rhfcjnrf,mishka,montgom240,123451,banane,bulldog1,person,public,fester,something,12345qwe,lions,helmet,buffy1,ripken,frisky,changed,games,higgins,trapper,piper,windsor,supreme,ib6ub9,kaylee,athens,norway,runescape,oasis,jill,hurley,lightning,dbrnjh,shun,chun,11223,235689,784512,14725836,19411945,edward1,darius,chip,hill,midway,kool,hoosiers,vinnie,recovery,cicero,napster,lionel,amazing,tracker,laser,01011992,adrienne,roadking,menace,secure,stoned,br549,thedog,sacred,squash,nice,smoking,pony,feng,illusion,01091989,woohoo,rachel1,medicine,antoine,leavemealone,bagira,megatron,787898,5551212,orchid,reader,comet,clown,zippy,company,doghouse,stacy,wild,army,maxim,12345678a,paula,bravo,buddah,jaybird,chuckie,look,maria1,morning,dino,peach,todd,hanna,chuang,mortgage,idiot,heineken,saleen,rulezzz,fishing1,massage,sonics,moonlight,butts,motherfucker,02071982,pobeda,benfica,poker,kashmir,realmadrid,balloons,optimus,chunky,gsxr750,tinkerbell,chou,shai,135792468,common,starter,brewer,babyface,pants,gregor,dogfood,hardcock,deluxe,bigmike,01011975,blackbir,bookworm,hampton,jeffery,salomon,godfathe,meister,angus,intel,seahawks,eagles1,talisman,blackjack,eraser,collin,pissing,hawaiian,zhong,mian,1005,7779311,michae,berger,alphabet,tricia,beautifu,misha,maryann,123456654321,adams,jenn,riley,xxx123,really,sally1,mortimer,tongue,gator1,century,sancho,remote,darkman,buddie,roadrunn,pizzas,lexus,password2,medusa,health,stalin,toledo,cubswin,dutch,lilly,beowulf,charlene,willia,christmas,pool,handyman,f**k,pacers,unique,eleanor,digital1,missy1,clouds,tiffany1,cgfhnfr,breasts,chinook,just4me,nuts,01011993,wedding,calgary,dutchess,gfhjkm1,heckfy,max123,ludmila,gong,12301230,nova,shell,lori,site,because,cheater,famous,delphi,cathy,wareagle,martine,gromit,sponge,ashlee,valkyrie,yoda,glory,teddy1,passwd,idontkno,smiths,mohamed,teddybea,killers,boxster,five,dragonball,beast1,babybaby,mermaid,qazwsx1,satana,dolphin1,bhbirf,foryou,misty1,nasty1,qazzaq,hong,puddin,chao,shang,zhei,quan,inuyasha,1213,stanford,peacock,assword,misery,desiree,barnes,sullivan,beamer,diggler,medical,1pussy,wishbone,circle,property,ripley,thedude,cloud,fisting,austin1,alexia,beemer,jayden,gameover,sparky1,redline,venera,linda1,salsero,fuckoff1,adam12,lust,fytxrf,sergi,kittykat,spanish,sinister,india,vedder,gonavy,manowar,02021987,novell,lang,colonel,rancid,diao,147369,dragon12,chrome,friendly,aa123456,destroy,titten,electra,polly,geoffrey,newpass6,bella1,eureka,onetime,phone,katherine,otto,lakota,claymore,hotbox,asia,banner,madina,02011985,manuela,bitchass,ruby,sporting,bartman,matthews,checkers,playing,01011977,02041986,carmel,gabriela,dfcbkbq,nimbus,wrestle,bulls,02081988,jktymrf,alexalex,preacher,gamecube,02051986,mustafa,svoboda,123321a,circus,armagedon,alenka,playstation,z1x2c3v4,leng,qing,cong,zheng,02091987,1369,12011987,magical,park,claudi,marine1,rhtdtlrj,pablo,thumbs,camper,doitnow,goaway,subzero,charity,hootie,face,pissoff,jammin,beth,blackout,crow,darrell,cocaine,bcfields,skylar,rolling,loaded,milkman,lotus,davide,bigbutt,electron,johann,devil666,12345t,cheeks,skate,silverad,lighter,02021988,hassan,02031986,pothead,oliver1,gobucks,123456qw,squall,thunderb,02101985,courage,pippin,ghostrider,antoni,kaitlyn,neng,peng,miao,teng,xuan,xiao,1017,1020,1492,654123,794613,reynolds,cannabis,xerxes,ipswich,ninjas,mango,farley,lucille,pinky,jimmie,nude,dieter,annika,mitch,southpar,marika,jackson5,dickie,jetski,finance,tdutybz,dianne,forward,jenkins,bright,absolute,morgan1,bilbo,musashi,ferris,iamgod,lipstick,1234567890a,laurence,02061985,02011987,mandarin,baseball1,quest,tottenham,adults,yfnfkmz,kleopatra,tulips,nong,piao,ruan,zhuang,chai,dirtbike,111333,369963,1236987,1357924680,sheba,pickup,dwayne,othello,mari,katherin,forum,sonny,12qw12,rider,a11111,warner,northern,cinema,cameltoe,petrov,bluefish,fuzzy,pheonix,iscool,secrets,02021986,elite,toon,modena,bert,marsha,slippery,kissing,caravan,divorce,tank,beatle,jump,akira,sanfran,01011983,1qaz2ws,cheech,000111,badman,02091986,samtron,paloma,yang,dolores,sveta,qweasd123,shadows,mollydog,annabell,starcraf,ghblehjr,vasilisa,jameson,chuai,deng,qiao,zhou,zhun,jiang,luan,sang,ying,scorpio1,beans,slim,illinois,warning,ebony,meat,jockey,deadpool,hillary,bearcat,caprice,farscape,evan,bigtit,lassie,zappa,sander,nicol,sunflower,hopeless,sheriff,carpedie,bank,love12,asdfzxcv,sherri,march,bingo1,slave1,barton,shepherd,02021984,gatorade,keegan,high,cameron1,guitar1,toolman,barker,spectre,pussey,nuggets,borussia,mantis,01011982,banzai,ariana,flexible,chloe1,mullet,graphics,fyutkbyf,123qq123,mancity,templar,stories,yfcntymrf,02081984,02081987,fergie,records,thedoors,7ugd5hip2j,gawker,pussyman,skyler,elizaveta,colton,huai,seng,xiang,zhuai,guai,02061986,solo,moritz,monte,lemon,strength,talon,rhino,cowboy1,susana,sonoma,three,mack,spinner,allan,keller,webmaste,aaron1,grease,augustus,raquel,alejandro,chimera,rufus,stretch,ticket,bacchus,kendra,twenty,corsair,kinder,argentina,corleone,zhai,spice,mickey1,vampires,domain,iomega,heater,02031984,02021985,hover,alex123,ltybcrf,artemka,xxxpass,qiong,ting,hippie,jing,reng,tian,tong,2580,123455,21031988,987456321,poland,deutsch,babylove,becker,speedo,brett,oceans,slapper,letter,harvard,bonjovi,mazda,virtual,cosmic,leon,snuffy,blaze,sergeant,maggie1,dragonba,spurs1,stonecold,hellos,jacques,register,buttercu,01020304,huang,01011999,millions,millwall,patience,chrysler,merlot,bullfrog,latinas,a12345678,02011986,xyz123,istanbul,phoeni,ashleigh,02081989,kotaku,universal,noelle,binladen,artem,shanghai,porsche1,castro,gabriel1,ceng,chuo,jiong,xiong,shei,meng,hans,wraith,pierce,jayhawks,kilroy,amateurs,dotcom,cattle,daemon,ntktajy,barbados,renata,thoma,balance,mikey1,chan,nomore,pdtplf,canyon,kayla,jackpot,mets,orion1,pulsar,baron,marker,chippy,nightmare,monarch,hamish,aubrey,reds,knockers,dipshit,alexey,malone,athlon,hubert,chevrolet,eddie1,vadim,everett,napoli,myname,belly,cobalt,counter,dialog,house1,augusta,smokie,cristian,coolness,cougars,screen,02041984,criminal,hardware,ramones,bobdylan,ning,capslock,02061989,rong,zaraza,ciccio,teddybear,alisha,gfhjkmgfhjkm,chui,liang,pian,niao,1123,120676,147963,gadget,shiner,laurent,fulham,missouri,carlitos,dwight,helene,halifax,dogshit,entropy,coldbeer,silent,lost,silly,netscape,boom,edgar,dog123,golfer1,county,deep,freeway,syzygy,andromed,game,media,wings,brigitte,danny1,yeahbaby,diego,yolanda,eldorado,hollow,crack,eastwood,monkey12,gunther,paranoid,anita,sexyboy,rainbow6,soulmate,gooner,drunk,persik,lesley,geneva,9293709b13,microphone,kakashka,02021983,50spanks,111111a,fgtkmcby,mclaren,spread,geng,shuo,zhui,duan,nuan,qiang,weng,shuang,159632,9562876,1234567891,bamboo,brittney,fastball,creature,cards,just4fun,matteo,fuckyo,hack,smashing,foot,washington,arlene,baggio,carlito,jones1,hopeful,astro,hondas,snooker,sophi,redbird,bigblue,annie1,dynasty,mephisto,temp123,trainer,rebel1,iceberg,shitface,fountain,specialk,estrella,some,02031987,generic,buddyboy,stevens,02041983,arcadia,02051983,manning,nikitos,piramida,02021989,violetta,bailey1,piano,spencer1,salasana,q2w3e4r5,maxxxx,zang,shutup,thing,suan,heritage,liao,1022,1223,15975,11221122,browning,homerj,tiburon,obelix,kris,chopin,02041982,insomnia,hooper,promise,cygnus,theater,romero,jelly,plasma,kissmyass,here,ninja1,submit,spider1,budapest,jayson,sexysexy,jorda,citizen,sahara,pinkfloyd,card,stroker,pavlov,playboy1,pasword,amigo,heynow,arturo,fight,ventura,sandwich,fraser,yummy,homeboy,royal,testpass,gamecock,milo,maxwell1,magician,female,wildcard,sassy1,magazine,telephon,bigfish,tripod,kuai,lazarus,cleo,licking,dundee,1234asdf,02081986,1a2s3d4f,brodie,misfits,slavik,rochelle,sleeper,seeking,pringles,butcher,patric,iverson3,nanook,02041987,02041988,vsjasnel12,darklord,loveless,bruno1,radiohea,02011988,cang,shao,sheng,guang,shuai,xing,1011,2469,12365,karin,hughes,giorgio,maxime,sphinx,reckless,triple,baldwin,taxman,orient,desmond,married,zhjckfd,mordor,hunt,romano,jiggaman,ramsey,officer,lovebug,sam123,tiger123,classics,hooligan,pluto,georg,bolton,scrabble,jezebel,major,010180,jellybea,mason1,shock,drakon,seadoo,mexican,hawaii50,pharmacy,door,lena,abnormal,patrice,concorde,alfredo,01011979,02081985,cdtnbr,qazwsxedc123,puffy,islander,02101984,chantal,jakejake,02011980,yjdsqgfhjkm,bunnies,bushido,kazantip,strawberry,verizon,maksimka,dupont,crusher,jiao,zong,zhang,pang,1211,1224,123465,655321,ghost1,premium,wg8e3wjf,corey,426hemi,goat,diane,channel,project,hole,cthtuf,arrow,meagan,tootie,bounty,blue12,02021982,porno1,kfhbcf,kirsty,howdy,ramrod,sweetnes,master12,bird33,bummer,corolla,andersen,blond,race,darryl,senator,ferguson,donovan,123456qwe,thelma,dynamite,gertrude,doomsday,rhjrjlbk,hjccbz,players,mariposa,killer12,ozzy,mazda626,excalibur,marcello,buttfuck,moore,samsun,masamune,zhao,niang,zhuo,02071984,998877,12365478,darlene,bessie,brains,north,attila,clowns,chestnut,woofer,model,1qa2ws,moses,someone,lindros,tiny,dottie,civic,july,a1a2a3,merlin1,anthrax,lilian,imation,beacon,tripper,snoopy1,vsegda,tiger2,ursula,fullmoon,spiker,sporty,force,pornporn,citadel,jacobs,michael2,volcom,dynamo,amerika,02031985,bombers,hannah1,burrito,andrea1,inspiron,forsaken,spock,mallory,lantern,nextel,goirish,snowboard,haggis,callum,violin,lollypop,insanity,placebo,creation,glacier,02061988,stepan,zander,dabears,water1,katarina,iloveme,sexxxy,moonbeam,webber,gonzalez,henry1,tiao,tigger2,4417,7007,69696,147741,258852,dogger,pecker,stiffy,senators,create,june,wingman,pumpkins,felix1,windsurf,ernie,mick,watch,green123,jarvis,zephyr,fishman,dell,reddevil,wanted,sheridan,larry1,nichole,bronze,concord,rjhjktdf,kellie,baker,zalupa,killkill,avenue,asddsa,bunker,wrench,paddle,schalke,cobain,shanna,poopy,broker,mouth,woodland,yvette,suicide,vanguard,aviation,exotic,heat,stanislav,02081982,superb,q1q2q3,fergus,mihail,vfibyf,02051982,yankees2,mobydick,icu812,sausages,tuning,francesco,ganesh,anastasiya,nevermind,presiden,faithful,kerstin,vfitymrf,varvara,happiness,1z2x3c,robotics,zuan,nang,shui,225588,369258,normal,deer,bigcat,store,02011984,karen1,tech,temppass,laura1,onetwo,postman,weird,uranus,highheel,aloha,cigar,puss,stylus,gobears,duckie,stratus,thong,tigers1,jimbo1,mandy1,pippo,conover,soprano,jingle,firewall,polopolo,dolly,pepito,piazza,radical,alone,mail,boxer,02031982,reload,evolution,julie1,grande,drummer1,tipper,fuckme1,02061980,battery,dogcat,bubba69,drive,kirby,candace,digimon,bombay,mariana,sowhat,pussy123,pumpkin1,lips,download,fandango,kamila,popper,dusty1,gore,beng,rang,bian,cuan,smokey1,1112,369852,1000000,1234560,lenny,qwerty11,mypassword,louie,earnhard,dancing,simmons,airport,snappy,angelika,fishin,boxers,icehouse,qqqqq1,cramps,basset,dogboy,hall,abstr,softail,titan,santa,killjoy,fischer,electro,mygirl,delilah,misfit99,nutmeg,111qqq,christma,kittens,krusty,script,zaqxswcde,bigboss,falcon1,flores,guyver,coach,fender1,praise,prowler,harvest,latina,asdf12,clit,moreno,erin,02061987,02091983,01081989,spikes,zxcvbnm123,jubilee,shan,choice,yugioh,toaster,pineapple,harrypotter,gorgeous,namaste,carnage,yong,zeng,redsox1,biao,heng,keng,kuang,1013,1023,12051988,alissa,nigga,dayton,chriss,niceguy,magelan,qwert12345,almond,club,bumper,partner,vikings1,123qw,marty,spongebo,erika,judy,ghosts,broncos1,hookup,bigben,hammer1,wifey,cindy1,carmex2,enrico,starstar,gilles,chillin,superma,radiohead,havana,lumber,pistons,viktoriya,gameboy,robot,santafe,holidays,jennife,mckenzie,reddwarf,dodgers1,cascade,kidrock,pinball,isaac,banger,05051987,02071987,02101989,02041985,arrows,cookie1,london1,platypus,password12,foxy,02071980,1z2x3c4v,abrakadabra,doofus,passes,shanti,barron,marianna,longbow,services,02101987,heroes,living,mankind,stasik,jets,beardog,longjohn,123000,134679852,glenn,01011900,nikki1,alessandro,garion,live,juanita,honolulu,nygiants,slick1,busty,install,niceass,string,boozer,mars,astra,junior1,abbott,puffin,dogbert,queenie,mother1,miller1,muscles,highway,visa,02091984,cottage,compton,steffi,romans,beerman,megan1,windmill,guitars,earth,freebird,slamdunk,snowflak,tasty,delight,nights,biology,joseph1,emilia,bronson,frost,irishman,badgers,state,02091981,bergkamp,pixies,training,warrior1,playstat,milk,oatmeal,mudvayne,airwolf,season,lottie,dudedude,jackjack,johndeer,zildjian,magnet,vjcrdf,02061983,02041981,hammond,ramirez,02091980,mang,aptiva,anai,qwer12,gidget,1121,78945,153624,333777,22041987,stop,kjkszpj,manolo,jerry1,bruiser,chilly,medion,josephin,giraffe,jared,paulina,fishbone,edison,caught,gasman,genesis1,pocket,moondog,charter,camila,impact,tbone,bigblock,rudy,towers,krypton,hallie,jefferso,pelican,altima,clippers,getout,compass,kimmie,chambers,winners,paulie,spoon,sucking,albany,toffee,theatre,never,pavel,111111q,climber,marlon,micro,thisisit,armand,ultra,aladin,monkeybo,comfort,123456l,epsilon,idunno,death666,stress,hounddog,pallmall,02051988,angel123,02041979,kate,webhompas,monsters,picturs,02051987,sairam,02081977,05051985,02071988,easter,cobras,ballin,comanche,landon,severin,15051981,26061987,whiteout,roadster,basebal,stone55,drifter,easton,werder,norwich,stubby,stefanie,clay,gene,mike123,ellie,versace,food,visual,heinrich,record,white1,bowwow,ellen,undertak,demo,hookem,anastasi,fiction,medic,colnago,storm1,booster,festival,zzzxxx,coolcool,qwe123qwe,sinned,foreve,squeeze,02031981,mazdarx7,anthon,diving,shocker,hewlett,cross,sutton,choochoo,08031986,02051989,milan,defense,123456789s,iloveyou2,fidelio,welcom,123456m,word,lithium,02051984,02061984,kisskiss,cbr900rr,british,franc,kings,mama123,lovelife,hellboy,chipmunk,good123654,saiyan,chase1,bluebell,federal,trust,format,kjrjvjnbd,ctrhtn,1234qw,hollie,celeb,fuckinside,1215,111000,987123,10011986,11051987,13041988,21031987,kirk,washingt,tkbpfdtnf,sensei,smirnoff,mydick,spam,macbeth,cabron,guess,pipeline,mike1,clyde,dalshe,james123,zebra,mortal,fishhead,gustavo,vintage,06061986,pigeon,carver,winner1,gypsy,konstantin,beta,freefree,sheba1,summer99,newcastle,krasotka,01031988,komodo,02091985,juicy,punk,starligh,flyfish,wireless,carman,81fukkc,manila,nathan1,olesya,salome,lowell,torpedo,switch,motion,sharp,toejam,julien,puppet,buceta,scoobydoo,02021979,super12,koroleva,lineage,michaels,redrose,close,yogibear,redbaron,codered,testing1,frogman,02021981,tatarin,azazel,moskva,kitchen,freesex,nascar24,president,7894561230,news,mykids,bitter,highbury,zachary1,tranny,redfox,02061982,1002,135791,username,achtung,johnny1,spotty,survivor,program,prayer,transit,sanity,seagull,flanker,cocker,qwerty7,wanderer,soccer12,fuckhead,zodiac,isabell,costello,virgil,nutter,rockies,irinka,washburn,catwoman,upyours,kelvin,lemonade,chilli,bearcats,chef,itsme,gravity,chevys,solitude,sunny1,cocksuck,minerva,boomer1,deeper,01011978,02011989,ohshit,vera,cricket1,sugar1,rober,slowhand,tommie,ross,jsbach,lorena,dinara,paradigm,smoke1,lilith,nostromo,borabora,arkansas,chiara,savanna,presley,bologna,terminat,habibi,contest,sushi,markiz,sigma,rainbow1,bdsm,blam,fantasia,stephen1,mildred,02041989,grandpa,underground,johnson1,peaches1,cnfybckfd,ghbywtccf,02101986,bigbob,11081989,12021988,13041987,14061991,20061988,21011989,22021989,24061986,30051985,74108520,joel,slater,comedy,marti,grand,georgie,wildbill,smart,kent,larissa,gilligan,blast,hornets,brain,berkeley,pool6123,birgit,maggi,armstron,3000gt,01061990,corndog,hilary,troy,123qwer,lane,piggy,destin,tropical,sundevil,shinobi,horace,gagging,hurricane,volkswag,wasabi,01011960,nurses,bmw325,02021976,zanzibar,reilly,mustang6,trouble1,angelus,chinese,sissy,sunfire,tonight,sonia,sneaky,report,02071981,coventry,jeremy1,gtnhjdbx,03041991,sekret,45m2do5bs,undead,qazws,madcat,hotone,eastern,123ewq,daniele,nirvana1,lasvega,amorcit,wasted,sidekick,pizza1,02031979,yfnfkb,revolver,jackass1,cleopatr,nfytxrf,jermaine,gbhfvblf,kalina,02081983,marines1,1031,1102,1125,1235,172839,420000,635241,18011987,23041987,cisco,everlast,hopkins,nitro,vader1,south,nation,tinkerbe,lamer,boating,glass,bluesman,weston,leroy,customer,physics,12qw12qw,paolo,dakota1,quentin,messiah,hitachi,marjorie,krissy,shawna,conan,woodie,troll,groups,penguin1,spikey,fatty,villa,denmark,stephan,birddog,cyborg,keenan,tokiohotel,straight,nautilus,kieran,slayer1,rubble,highlander,redeye,justus,firefire,from,02071983,schmidt,longdong,boiler,margie,heidi1,suckers,waffle,khan,sonata,lopez,there,skyhawk,joebob,armada,simba1,blues1,07071987,reflex,threesom,asdqwe123,02021973,01121986,americ,goten,loud,ghjcnjgfhjkm,02011981,01071986,02091989,02071989,nokia6233,ghbdtn123,asdfgh01,sisters,valentine,yuan,monty1,cole,1812,10031988,10071987,12121990,13031987,14111986,19061987,19101987,24011985,25081988,28041987,123456123,bighead,matthias,changes,descent,mazda6,fenway,taco,eggman,aaaaa1,jonny,buddy123,private1,dogface,bowman,irishka,shibby,antonia,astral,nudes,teenage,enterme,thecrow,andyod22,score,complete,rivera,belmont,tigge,junkie,fredrick,daniels,vickie,candy1,bennie,skinner,razor,umpire,blanco,fearless,citroen,rollins,sluggo,torino,antelope,marseille,aramis,emilie,compaq1,gryphon,malachi,pantera1,viewsoni,ethan,yeah,marble,02081980,reptile,02021990,chandra,kille,dindom,01091987,evangelion,handball,nancy1,barselona,draven,zxcasdqwe123,sandrine,fuck1,sprinter,fyfnjkbq,01041985,02101988,stinker,palmtree,sonyericsson,hotties,rampage,seabee,chick,1776,987321,10011990,10051987,10101986,11061985,12121985,13061986,14021985,17051988,20111986,22011988,25800852,28021992,gordo,bigpimp,question,soccer10,boytoy,quasar,carpente,spartan1,amand,luca,pasadena,biatch,benoit,glock,coldplay,expert,audi,mario1,castor,deadly,fairlane,joe123,elcamino,callisto,glamour,datsun,studman,hanson,mentor,tomahawk,shamus,gladiato,diaper,keisha,stupid1,styles,squeak,cayman,runaway,dentist,navy,skip,fantomas,thewho,zippo,castillo,luck,arianna,honeybee,papito,yamahar1,holycow,02031989,ukraine,doors,wildwood,yellow1,skibum,gambler,helper,09051945,best,brown1,malice,david123,karachi,jewel,excite,toilet,corinne,morton,johngalt,sweetness,options,loretta,mcdonald,sf49ers,palermo,buffalo1,playa,lambda,02031980,01121988,gideon,matthe,02101981,medved,cheshire,superior,08121986,ministry,trinitro,pebble,casper1,bismillah,roses,elefant,player1,capricorn,harlem,04041991,nikolai,vendetta,bobdole,03041986,wizard1,02101983,manfred,pinky1,biker,margarit,bigpoppa,success1,ijrjkfl,voyager1,asimov,bruce1,winter1,iloveyou1,01011995,dominik,1210,24680,100500,196969,415263,11051990,16051987,16051989,17061988,20031987,20091991,21031990,22021986,25031987,25121987,27061988,28011987,28021990,29011985,29051989,29071983,30041986,paris1,limited,vitamin,calibra,zarina,perry,iforget,04041988,glasgow,shrimp,antares,hola,antonina,jamess,hetfield,warez,bigones,cutiepie,chapman,bolitas,dimas,nonenone,bestbuy,papillon,baritone,knock,eight,stream,sleep,stephane,freefall,vjqgfhjkm,show,0000007,priest,jules,mischief,rogue,hate,foxylady,flip,ernesto,dominion,vienna,macman,enforcer,devo,3x7pxr,parol,tophat,megane,dungeon,leedsutd,f00tball,mingus,skillet,robins,twiggy,bitchy,giggles,remingto,alberta,ducks,rfvfcenhf,book,02011983,otis,derparol,02051980,quebec,emperor,buste,05051989,synergy,08051990,02041980,shakira,older,asdqwe,01041988,01061986,mamamia,cleopatra,rosario,finland,modern,carnival,01011994,dmitriy,coolcat,purple1,ghjuhfvvf,knuckles,mahler,kayleigh,klaste,1003,1025,1204,4200,224466,1234123,11121986,12031985,12031987,13121985,15011987,15051990,15101986,18061990,18091985,20051988,20091988,21051991,21101986,22071986,30031988,31011987,notused,bigdawg,grinch,chips,letmei,slugger,02071978,mental,harddick,brand,bozo,paco,kojak,tabasco,chelse,spud,rico,keepout,kokomo,firefigh,addison,barney1,blowfish,1dragon,hugo,samira,sexylady,sevens,08031985,stacie,rusty2,dimples,post,tuna,alexandre,whiteboy,roger1,films,cromwell,magneto,kernel,carroll,minemine,dontknow,02011982,acmilan,wp2003wp,sanford,referee,lakeside,polish,123456ru,noname123,screamer,calimero,portal,kfgjxrf,conway,rockie,02101979,02051985,dfktynby,francisc,swinging,02041974,cygnusx1,trucking,08081988,obsidian,sales,auditt,money123,02031988,oxygen,roswell,tower,01031989,01011974,papers,popova,03031986,giovanna,sasha_007,thecure,02051978,bigbang,lfybbk,pizdec,12345qw,02071979,zoloto,marijuana,02031977,02051976,kimball,jaguars,kordell1,kerouac,142857,258369,999666,10101990,13021990,14021986,15021985,16121987,17011987,21051988,22031984,22041988,23021986,24111989,25041988,25091987,26031988,27081990,30041987,07091990,stryker,ksusha,entry,roma,maple,choke,cassandr,moonligh,fenris,12345s,duffman,fuck123,john123,dirty1,blueball,bigbooty,cars,wrestler,salope,sexxy,dinner,building,mopar,cecile,fishfish,paramedi,capricor,robocop,rimmer,hardone,w_pass,4ever,evil,alice1,nomad,nuclear,asgard,series,advent,01031985,universa,jorge,kestrel,spanner,guido,cheddar,carlos1,lalakers,acura,cherries,eclipse1,anchor,cold,yoyoma,darkangel,aspen,bahamut,little1,whistler,57chevy,smackdow,galant,bukkake,leopold,option,strawber,facebook,susanna,bookie,crusty,qwedsa,nine,extra,matrix1,02051981,01021990,transfer,breanna,mothers,clarissa,peachy,prozac,p@ssw0rd,loki,scuba1,bootys,argentin,flame,bricks,slimshady,dkflbr,nokian73,chris123,11111q,krolik,joshu,korova,johncena,magpies,pictures,cevthrb,suckmydick,spanker,dogpound,02051973,impreza,02041975,132456,145236,357159,741963,10041986,10071988,11021985,13071984,14081985,15071987,17111985,18091986,19011989,19031985,19283746,21011988,21011991,22061988,23031990,24111987,25011990,25091990,31031988,notebook,brandy1,prospect,bettina,gymnast,jktxrf,seneca,zxcv123,ksenia,rudolf,marquis,huge,daylight,golden1,q11111,tribal,zack,blue32,johndoe,hejsan,biteme1,jeannie,lemmein,salem,petrova,clutch,django,sexgod,sexxx,capetown,tupac,cartman1,ratman,09021988,vlad,fortress,canucks,01091985,virus,chocha,serpent,wallet,inter,telephone,eggplant,april1,camero,roofer,nazgul,fussball,cardiff,perfect1,wendy1,hallo123,fktyrf,pufunga7782,amore,02041978,factory,doggy1,budweiser,alanis,loser1,marseill,janelle,wealth,addict,goodgirl,timeout,wolfpac,02051972,camden,liverpool1,tenchi,05061990,godlike,university,turnip,beaker,vincent1,k.lvbkf,010191,01031984,02031983,repair,nbvjatq,vehpbr,southpaw,sylveste,redhat,forever1,wingnut,patrol,magellan,vampir,captain1,assasin,aikman,trailer,mariya,taekwondo,258963,7896321,10081989,11031988,11071988,12041986,12041988,12061988,13011987,13011988,13051987,14011986,14021990,15011985,15041988,16051988,22021988,22071987,22091988,22121987,23021989,23041986,23051985,25101988,30081984,sonyfuck,style,llamas,clifton,irene,sabrina1,02031978,punch,noname,goldfing,marie1,1234zxcv,jumbo,helmut,maveric,ricard,antony,happy2,marcius2,susan1,ballet,pentagon,sawyer,faith1,gina,pearson,hotgirls,flasher,tracer,boater,shoes,peppe,joyce,cornwall,goodie,devon,benito,butters,angus1,sixpack,mandrake,bubbles1,earthlink,lookout,slammer,venture,gagged,onion,01071987,truth,aries,12345m,lakewood,loveya,dogwood,money12,moonshin,ring,wyoming,suburban,challeng,olympus,volkov,opendoor,01011976,04041983,commande,stanley1,hoops,jonathon,diablo2,08081986,seymour,beach1,ashle,oreo,murzik,bubba123,02051977,navigator,right,gratis,myrtle,native,trip,lakers1,twelve,02081976,hellokitty,arctic,fkbyjxrf,rasmus,wormix,randy1,02091988,07071977,03021986,millenium,radar,07071990,gerrard,05071984,01041987,goth,asians,gateway2,camaross,bluejays,gaell,333444,10031987,10101985,10121987,11061991,11121985,12071989,12081985,13061987,14101987,15071986,15071988,16021990,17061989,17101986,18021984,18041986,18051988,18101987,19051987,19061990,19121989,20041986,20081991,20091986,20121989,21061986,22011986,23051990,24031988,26031990,27041990,27061985,27071987,29061990,29071985,30041985,135798642,lekker,qazxcv,borders,davies,midnite,lloyd,beater,05071988,whatwhat,optimist,damon,02071985,gotmilk,blue99,clock,decker,larkin,road,loren,redskin,hung,bremen,enternow,knight1,prince1,page,01051989,03081989,bimbo,peace1,destiny1,beavis1,hattrick,aaasss,1a2s3d,dejavu,markie,ou8123,1master,start1,test12,beatles1,screw,2fast4u,daddyo,natasha1,bordeaux,stone1,12345qwer,blaine,vanessa1,rough,alchemy,09041987,qwert40,hott,therock1,real,ilovegod,solaris,proton,links,cardinals,marriage,disco,peggy,spence,fanny,coming,swedish,espresso,auggie,02071975,vbkfirf,dougie,p4ssw0rd,richar,noway,nightwish,saigon,holes,jocelyn,gsxr1000,23skidoo,platon,ghhh47hj7649,shadow12,speedway,01041992,01041990,devin,leeds,09031988,timosha,roadrunner,ironmaiden,mackie,supernov,delfin,toriamos,06041988,ceasar,trans,patches1,oberon,vjkjrj,capecod,glow,nevets,1008,123567,147896,875421,10061986,11051984,11051986,11091989,12041990,12051986,12051990,12121988,14041988,15021990,15051985,15111988,16051985,17041991,20021988,20041988,21061985,22061989,22081986,25071990,25111987,26061985,30011985,mamacita,mad,derf,sandie,jaime,longer,cowgirl,stigmata,munch,gonzales,alena,01121987,pass1,data,shag,nineinch,a1234,waterboy,klondike,ilove,finally,bomb,spiral,boulder,odyssey,amigos,somerset,01031986,pain,burns,mulligan,krokodil,explore,lawson,charon,peeper,redcar,fellow,ambers,sloppy,savior,schatz,moron,q2w3e4,hardball,azertyui,republic,patch,reggae,canuck,romantic,vauxhall,boston1,angelic,emilio,doggies,tennis1,advance,02061977,around,159357a,06021987,spoons,rfntymrf,almighty,deputy,06081987,tosser,stratfor,mississippi,suckdick,houston1,eating,intercourse,power123,closer,01021989,lenochka,marijuan,02031975,globus,sterva,domingo,limewire,terefon,coors,04041990,suslik,steaua,blue1234,bledsoe,12345qwerty,greedy,01061988,iriska,htubcnhfwbz,zasada,sandr,awesome1,beezer,champ1,funstuff,evgeniy,bball,patrici,cuervo,printing,111777,357951,10011983,11011990,14011989,14031988,15021986,16051990,17031987,17071989,18021988,18111987,19061985,20031991,21041992,24031990,24091986,25011986,25061985,27081986,28051987,29051985,29061989,pastor,funky,theforce,chiquita,strap,yessir,daman,05081988,beech,streets,chaos1,wxcvbn,admin1,holein1,maserati,berry,qqqwww,geezer,coral,cabernet,joecool,nastia,egghead,doris,sheepdog,terrell,jomama,kane,armando,hairball,christa,aileen,clarke,insight,afrika,vancouve,tender,munich,02071976,123456789m,grandam,brady,luciano,alcohol,sheep,default,idefix,cyprus,trees,scheisse,montana1,mooney,ambrose,hoffman,pimpdadd,baltimor,jennaj,m123456,norbert,call,jaeger,mash4077,watford,davinci,mizzou,steven1,gocubs,square,pigpen,123456t,houdini,jewish,tomas,kirkland,ophelia,riccardo,07051990,another,rodeo,luna,bonanza,lhfrjy,02061976,sigmachi,revolution,dragon69,firenze,03041980,selina,absolutely,lback,ghbrjk,rfhnjirf,05091988,sammy123,sophie1,cvthnm,colonial,toolbox,04061986,hunte,ringo,bongo,02101976,azert,junk,banan,howell,magic32,liliana,q1234567,medina,riders,elway7,ilikepie,09021989,toonarmy,laddie,01031983,footjob,06051986,kronos,eskimo,wolfen,natalie1,barley,pancake,bigdicks,dabomb,cashmone,02081981,junio,02041977,dylan1,01021988,monic,1004,3006,123459,223322,556677,996633,1235789,5201314,11011991,11071985,11081987,12071987,12081984,12101988,13031986,14021987,14071987,15051987,15081991,16011989,16061986,16111990,17071985,18051990,18061985,19071986,19071988,19101990,20031988,21021985,22021985,22041986,22061941,22061987,22071989,22081983,22121983,22121986,23011985,23021985,24061987,24061988,25011985,25041985,25061986,25101989,26021987,27031989,28021985,28051986,lolol,myxworld,audio,kristian,samoht,dominiqu,joemama,gabber,toocool,ariel,twinkie,zxasqw,marcelo,darkange,persona,scrapper,delaware,tyson1,progress,cafc91,kurt,shuttle,link,gabriele,smoothie,slimshad,08071987,q123456789,youtube,franks,norris,yasmin,outside,sandra1,hottest,cumslut,tripleh,mann,starr,morales,vqsablpzla,pathfind,trace,elisabet,doit,evolutio,fishon,books,02021980,flicks,peanut1,velocity,ranch,annmarie,barry1,gthcbr,biggun,dolemite,vagabond,outback,sexo,woodstoc,02081979,macleod,plastics,javelin,bootsy,02021991,08061987,aolsucks,c2h5oh,02031973,sofia,redbone,klizma,rachelle,petunia,pumper,all4one,mohawk,lobo,billabon,rockin,ncc74656,austin31,baylor,04061991,koolaid,granada,allegro,02021971,alinka,nevermore,mikael,p0o9i8u7,forgetit,smith1,montag,poker1,frodo1,beloved,breaker,tasha1,honeys,password9,reginald,sheeba,killer123,02091976,wives,dukeduke,archange,fuck69,metroid,minimoni,wizards,hellsing,rocknrol,02041976,fabio,03071987,zaqwsxcde,max333,wanking,awful,morrowind,friendster,irving,goodday,modelsne,bumble,kenny1,nataly,juliana,cirrus,samm,03111987,nittany,dogbone,storage,05061986,04041985,punker,02011975,purpl,futurama,skateboard,6996,132465,10031991,10111986,11081990,11111987,11121987,12011989,12061986,12121982,12121987,13111990,14021983,14051990,14071988,14101988,15011986,15071985,15081988,15091987,16031990,16101987,17041987,17061986,19011987,19051986,19071990,20021986,21041985,21081987,21111985,22021990,22031991,22041985,22061990,23061990,24051990,26031984,26031987,27031987,27091985,29051990,29081985,29081990,29111989,29121987,30121987,31121990,esquire,homemade,kiteboy,herewego,bedford,dirk,lonesome,boxcar,panda1,pornking,blackbird,dickens,nokia1,four,climax,gotribe,bleach,cheeky,cucumber,vipergts,scooby1,awnyce,123qwert,muhammad,summer69,jeepster,alex12,hello12,harbor,acidburn,harald,calling,dingo,fireblad,christi,pinnacle,shodan,11111a,fallon,03061987,02101977,deniro,08041986,dudeman,harrier,jellybean,buffet,mariner,foolish,wildone,peterbil,allgood,fields,dilbert1,salami,bugs,estelle,lighting,mega,butkus,elvisp,homework,russel,donner,doktor,tycoon,cement,romeo1,04051988,ottawa,bigguns,lillie,fellatio,weed420,emmett,kiwi,barfly,03031988,baracuda,newyear,flipflop,raleigh,singapor,sperma,04081987,maxdog,sasha123,opennow,thedon,sedona,sixty,terra,blunts,linkin,lander,alisa,02091977,12345abc,05051990,crackers,doubled,warhamme,proview,masterbate,starwars1,02091975,status,01011971,females,flamengo,behappy,lfitymrf,qwe321,starwar,snowbird,123456789d,corwin,bradley1,fucker1,azzer,02101980,lagnaf,daughter,cubs,navyseal,01081990,carebear,protect,kamasutra,bastards,delmar,musical,deaths,metall,steffen,01061987,02051975,wiseguy,pimping,robin1,515000,1598753,10041983,10061987,10081985,10293847,11011987,11071986,12051985,12101985,13111984,14071986,14881488,15051986,16061985,17011990,17021985,17091987,17101987,18011986,18021986,18041990,19091988,19111987,20011989,20051985,20071986,21071989,21111990,21121986,23011990,23021988,23051986,24011990,24021991,24061992,24121986,25011993,26041986,26041991,26051988,27011988,27051987,28021986,28071986,29011987,31011990,gators1,02071971,whiplash,lara,fuckme2,adriano,boyz,hatred,reserve,draco,rainyday,mercede,grin,smart1,stafford,mone,motor,ontario,stang,gardner,weekend,jakarta,shonuf,clovis,drum,gotham,jughead,golfgti,dooley,sand,nightmar,wetter,johnny5,tanya1,03051987,01051988,comein,meadow,69camaro,chessie,marshal,phyllis,mutant,dingle,chelle,nautica,haley,camber,dragonfl,senna,bigjohn,heels,stickman,sambo,03071986,hiziad,sexybitch,puppydog,5wr2i7h8,deville,pacino,paragon,pointer,s123456,tarpon,melanie1,sprout,durham,apollo11,bigdog1,wheeler,spliff,sick,gonzo1,rockwell,vfntvfnbrf,meliss,narnia,eleonora,lefty,chewy,payday,atlas,alleycat,ambrosia,drums,linden,trustme,austria,phialpha,exchange,rage,lokiloki,tarakan,cartoons,02091973,01051986,bungle,contract,03011987,kolokol,daisydog,penetration,06041987,laetitia,gohome,03031990,02101978,pushkin,leigh,mustang2,gianni,wordup,orchard,freddy1,adrenalin,goldeney,luckyone,06031983,tuscl,kathy1,escalade,0192837465,gerbil,blanca,widget,samuel1,fyutkjxtr,01011973,02071977,02081974,touching,trinity1,04091986,sites,pookey,1q2q3q,charisma,07081986,inlove,rainbows,grass,kolbasa,07091982,newark,12345qaz,bootsie,interne,raphael,rated,cleveland,02061979,henrik,roll,bandit1,08051987,jenifer,cocksucker,03031993,222777,777999,1234566,10011988,10031989,10041990,10061984,10071985,11071989,11091984,11111986,12011985,12021985,12031988,12051989,12091988,12111990,12121989,12348765,14011987,14011988,14021989,14081988,14121989,15021983,15031988,15061988,15091988,15111984,16011987,16111982,18021987,18031991,19021990,19101986,19111986,20011988,20021985,20031986,20061986,20081986,21051986,21071987,21101989,22051986,22071983,23031987,23051987,23051991,24011987,24071987,24101986,24111990,25021988,26031986,26091986,26101986,26111985,27021991,27111985,28031982,28041992,28061986,28121984,29041985,30011986,30061987,31121987,31121988,369258147,point,hello2,05021988,dragster,bismarck,cambridg,cliff,1michael,honor,buzzer,supra,treefrog,kerry,reason,frogs,blake1,treetop,catcher,dicky,xantia,daisey,siobhan,lister,dome,strelok,auto,gamma,jello,hawkins,123456789qwe,prosper,pitch,stan,workout,walton,catnip,dima123,06071983,trauma,sebring,michal,nounours,kittie,burning,driller,angela1,thierry,lumina,speakers,brennan,rabbits,colin,buttercup,neon,atticus,puzzle,sixty9,mallorca,delaney,burn,checker,jabber,alexander1,melrose,zyjxrf,normandy,ariane,dbnfkbr,bambi,lucia,blue42,wilder,thumper1,killa,masterp,02051979,playball,scamper,7777777a,lauren1,wonderful,signal,base,benessere,freee,01021985,getting,smackdown,melons,02051990,trumpet1,cooper1,pandas,chains,asdffdsa,03041987,favorite6,melina,sexybabe,cannibal,fosters,beethove,skipper1,02091971,01051990,burner,nthvbyfnjh,meow,malaysia,rugby1,azertyuiop,02091982,rocknroll,bynthytn,grace1,aprilia,02011990,venom,italy,meier,shen,pavement,03051986,stockton,06061987,peppers,tantra,guillaum,32167,777333,888999,10041991,10101989,10121985,10121986,11011989,11041991,11061989,11081988,11101986,12021991,12051987,13021987,13081985,14031989,14041987,14041992,14081990,14091990,15041987,15071983,15081990,15091989,16021987,17021987,17061991,18011988,18041991,18051987,18061991,18081988,18121984,19031987,19091990,20041990,20051989,20061984,21021987,21071992,21081985,22061985,22071990,22081991,22091986,22111985,23061992,23071985,23091987,23121986,24021988,24031987,24041988,24081988,25051985,25121985,26051986,26061986,26071987,27041985,28051985,28051990,28071987,30041991,30051989,30061983,30071986,30111987,789654123,007bond,redd,manny,giulia,caster,jupiter1,readers,mooses,worthy,royalty,jonas,rita,segblue2,trustno,dixie1,hansol,gumby,phish1,enrique,body,123456w,abcdefg1,paulpaul,gannibal,earl,compact,frosch,skylark,hallowee,kenobi,kittys,andrews,young1,terrier,dirt,farm,marbles,ticklish,07071985,frenchy,offshore,jazzy,sexyone,algebra,allison1,lucas1,special1,hyundai,hotass,sexman,sex69,olive,leinad,farmboy,02041973,middle,clement,amethyst,letsdoit,gofast,thrasher,plato,soul,ride,notredam,murphy1,candyass,travis1,hannes,spooge,systems,gatsby,junkmail,ladder,uptown,shower,chill,flower2,karine,09051986,matty,airman,06011988,wayne1,volleyba,stayout,liberty1,abacab,blanche,buckley,bouncer,vodka,bettyboo,shauna,02061981,manga,02011979,02101973,muslim,08011986,cutie,ilikeit,06061985,01051985,constant,longhair,their,kaboom,elmira,amatory,09081988,q1w2e3r,navajo,alcatraz,olenka,01021987,09091986,05021987,mynameis,08071988,larson,sunshine1,04051985,powerful,04061984,sephiroth,panter,password01,casio,summers,02061972,computer1,1qazxsw23edc,jesus123,nikolas,rugger,05031991,sparkles,bosco1,skinhead,sonysony,snicker,pancakes,charlie2,pilgrim,ananas,contra,sheldon,generals,grisha,montecar,briggs,02061974,010390,ploppy,7894,115599,321678,951357,1234561,1234568,10011992,10061989,10071990,10081983,10081990,11041990,12071988,12071990,12081983,12081988,12091991,12101984,12101990,12121986,12121991,12211221,13071990,13101987,13121983,14041986,15031990,16031988,16071987,16071991,16091987,16121986,18111986,18121983,18121987,19061992,19091983,20051987,20061990,20101988,20121986,20121988,21031985,21121985,22011985,22051991,22071991,22121989,23031986,23051983,23091986,23111987,24071991,24101989,25081986,26071986,26071989,26101987,27021990,27031986,27061983,28061988,29031988,29061985,29061988,30011987,30031986,30031992,30091989,30121986,31031987,31051985,31101987,1234567899,renate,radeon,sergbest,08111984,talbot,pathetic,errors,springs,needles,restart,stock,hiking,auckland,jimmys,pearls,allen1,01041980,billbill,hazard,calvin1,capitals,02031990,pizzaman,fitter,biit,tazz,ulysses,jehovah,stitch,itisme,delpiero,wind,neville,nico,09111987,1234rewq,virginie,alive,grunt,emil,octopus,04111988,tampabay,puppy1,ratboy,1qazzaq1,playboy2,gabby,1million,vampire1,playmate,zorro1,08101986,dfcbkbcf,carrots,istheman,jarrett,yamato,rumble,ilovepussy,wonderboy,montrose,dunlop,werdna,cassandra,clemente,tralala,collie,swoosh,06031992,dreamcas,track,sliver,londo,cocoa,rfgecnf,05051991,rollin,painting,makaka,04041987,thebear,01071984,zxcvb123,05011987,04061987,lockdown,blacklab,riffraff,legs,kahlua,fidelity,05111986,08121987,frankie1,alexi,winger,07071988,07051987,edmonton,07071982,pressure,streaming,amstel,supernova,02081973,fujitsu,05031990,fluff,tango1,samanth,panic,napalm,08051989,justice1,09081985,07071984,camil,blubber,02031991,01021992,tujhrf,gatit,titts,camping,cable,babycake,budgie,dani,vfndtq,fuckme69,hewitt,spot,frederik,motocros,01101987,rustydog,pinetree,07101987,120689,1357911,10031990,10031993,10041987,10051990,10061985,10071986,10091984,11031983,11051988,11071987,12071991,12081987,12081990,12111985,12111991,12131213,13021985,13061985,13071987,14101986,15011983,15061985,15081986,15091985,15111989,15121987,16061987,16061988,16081986,16091988,17021989,17051987,17051989,17051990,18011985,18021992,18031988,18051989,18101985,19021991,19061991,20041985,20061983,20071988,21031984,21061988,22011992,22031986,22051987,22051989,22061984,22071984,22071985,22091991,23061989,23091985,23091989,23111989,24091991,24121987,25031983,25031991,25041991,25051987,25061987,25081985,26081986,27021992,27031992,27111989,28011988,28081986,28081990,28101986,29011982,29061986,29091987,30011990,30051987,31051993,31071990,44332211,66613666,1234509876,keith1,duffer,ollie,benton,tetsuo,glasses,nestor,feelgood,cola,cleaner,rocco,benny1,smirnov,roxy,dummy,loose,maximo,iceland,tigercat,citation,blitz,icecube,burnout,puck,twist,asses,noel,panhead,adelina,hanuman,sunlight,02061971,cupoi,bigtruck,phat,rolex,06061981,exeter,r2d2,kingking,lilbit,canada1,rhubarb,morten,trooper1,custer,buford,papamama,mouser,bowtie,perkins,toast,shark1,husband,betsy,jefferson,serious,elements,zapper,02031974,harriet,cummins,02051970,semper,herring,123456as,sonic1,accept,video1,bucky,07071989,lemans,winona,finder,treble,password99,popcorn1,stellar,04041986,saskia,doreen,chavez,blue11,furball,08021990,asd222,02021978,corner,05121990,03091983,06021986,titfuck,02011977,salman,bagpuss,01081985,04071986,01091992,blue23,09051987,07041987,darina,francine,05031987,redstar,revoluti,mommy1,sniffing,chouchou,giants1,quick,gareth,usmarine,03051988,01121990,dresden,julio,doom,09091988,01081992,02041972,07101984,07021991,03041983,123456qqq,malish,planes,videos,enters,08081990,nympho,123456d,pajero,03031992,left4dead,england1,booyah,conquest,delldell,brest,eunice,momdad,slonik,nursing,bismark,lol12345,01011972,met2002,123456n,garnet,02061978,rambo1,bonner,07081987,gogators,please1,cashmoney,09041986,blobby,04071988,02011976,dimitri,3ip76k2,07091988,fabienn,iklo,123450,10021986,10021987,10051988,10081987,10091986,10101980,10101988,11081986,11091985,11091986,12021984,12031990,12061987,12071984,12101989,13031989,13051990,13061991,13071985,13071989,13091984,13101982,13101988,13101992,14051983,14061988,14091987,15011988,15061984,15101991,15121983,16011986,16021988,16031986,16041985,16101986,16121991,17041985,17041986,17061987,17071986,17071987,17111987,17121985,18091987,18121812,18121985,18121990,19041985,19051983,19081987,19111985,20011983,20031985,20031990,20051983,20071984,20101987,21021989,21051990,21091989,21101987,21101988,21111986,22051988,22091984,22091990,22111988,23021983,23021992,23041988,23061987,23091991,24071992,24101984,24101990,24121988,24121989,25021986,25031984,25111991,26031991,26121989,27091991,29041988,30101988,30121985,30121988,31051987,31051991,31121985,31121986,cyrano,crappy,volcano,eatmenow,02111987,renato,goodyear,budd,08031987,spoiled,kamilla,hogtied,omar,lunchbox,mantle,piercing,makayla,cyrus,asdfgh1,mufasa,beau,boobear,town,rudeboy,riversid,hemlock,john1,onions,01091988,03031984,holger,scissors,hound,crescent,erection,libero,hair,entrance,fduecn,weare138,italiano,rufus1,matchbox,ramjet,acapulco,mohammad,trek,weiner,lebowski,03031987,ridge,surprise,shampoo,loverman,monk,12345r,abracadabra,03061985,diver1,duane,dnsadm,fisherman,toomuch,athome,01061983,whatthe,08041985,someday,dan123,celebrity,madagaskar,marcin,valery,maison,forlife,mindy,azrael,alain,dreaming,hardy,mercury1,hfytnrb,01051980,01071990,macintos,tennesse,hardwood,sweetheart,pride,invest,03071985,mariam,rhfcfdbwf,ronaldinho,masterbating,discus,fabulous,sextoy,this,instant,duckman,caracas,begemot,parlament,migue,alpha123,sylvie,nadia,04031991,vegitto,02011971,requiem,misiek,altoids,naughty1,09031987,03061986,02061990,05051986,05061989,mazda3,rhinos,paladin1,asdfg123,liliya,06011982,dragonballz,retire,these,07021980,hellas,07061988,rfhfvtkmrf,capcom,rjhjkm,ass,kicksass,dental,hores,harman,07041989,sharpe,09041985,05061988,03101991,07031989,lookin,poptart,02081970,jeter2,pugsley,gamble,08081989,hawks,jordan2,gladys,granite,sqdwfe,5000,111555,123890,334455,777666,1231234,10011980,10031980,10041984,10071989,11031986,11041985,11061984,11061986,11061987,11091990,11111991,12021990,12041991,12071992,12081993,12091986,12111984,13041989,13051986,13071982,13081986,13091986,13091988,14031986,15011990,15031991,15051989,15051992,15071990,15081989,16041988,16091990,17051983,17071990,17091985,18031986,18071986,18071989,18071990,18111983,19041986,19071989,19081986,19121988,20031992,20061987,20061991,20081990,21021988,21021990,21031986,21041987,21041991,21101983,21111983,21121989,22071988,22071992,23031983,23041991,23101987,23111986,24041984,24041985,24041986,24051989,24061985,24071990,24101988,24101991,25021985,25041987,25051980,25051988,25071983,25071985,25071987,25091989,25091991,26011986,26011990,26021992,26061989,26061991,26071984,27071988,27111990,28021983,28071985,28121989,29031990,29041989,29051992,30051986,30051988,30061988,31051982,goldeneye,interest,harmon,melani,zach,spleen,alfonso,jeeper,07081984,natedogg,09051984,emanuel,locks,1qazxsw,tammy1,lizzy,menthol,pharao,alterego,donna1,fick,bauhaus,alexxx,brook,jerk,cbr900,medic1,vaughn,simple1,pong,lake,ibrahim,huskers1,mogwai,owen,aol123,benjami,nicky,rabbit1,adelaide,smurf,skirt,nineball,shady,mafia,tiamat,aircraft,bama,having,dipset,logger,mamas,gerry,04111991,trenton,altair,01041993,jingles,mallrats,backbone,clever,stanton,dipper,innocent,unlock,chen,donjuan,harle,termite,05041985,49ers,missie,diamon,encore,forbes,ziggy1,follow,trash,freestyle,03061988,zerozero,shovel,matisse,anonymous,laserjet,leeann,parkour,waterman,ballsack,bluejay,shakur,welkom,dangerous,ghjcnbnenrf,hacking,01031981,flyer,information,03091988,07041988,01061992,babybear,highlife,raduga,favorite,laser1,aisan,probes,sucked,ljxtymrf,05071985,becca,trinitron,beat,clips,thumb,desktop,muffin1,things,supersonic,blueberr,123q123,satchmo,05081992,claudia1,demon666,natalya,pooky,victori,legos,06061988,diana1,glover,03041984,boroda,tamerlan,1qw23er4,chamber,03041989,qwerasdfzxcv,mariel,06041984,04071987,flyers88,nokia5800,stewart1,01071988,iceman1,01041983,bathing,chess,mangos,rapper,darkone,pokemo,05081986,douche,redwine,ismail,02091978,06101989,humphrey,justi,03031991,maximka,cashflow,ireland1,implants,juniper,grayson,08071985,cantona7,bobmarley,shojou,gramma,princesa,bendover,04021990,julia1,05121988,giggle,cloudy,03011991,penis1,gotenks,sopranos,159263,250588,333555,456987,963258,1237895,10021983,10081991,10091985,10101991,11021990,11041986,11041987,11061988,12041987,12081986,12091990,12101986,12121984,13021991,13031991,13061990,13071991,13081987,13091987,14021991,14041991,14051987,14101983,14101991,15031987,15111986,15121985,16011985,16011991,16061990,16111989,17021986,17031992,17111988,17121986,17121987,18011984,18061986,18061987,19011985,19021985,19071983,20011987,20051986,20061980,20101986,21021986,21041990,21091990,21111989,21121988,22041991,22051990,22061991,22091985,22091987,22446688,23021991,23051984,23061985,23071986,23091982,24041990,25051989,25081987,25081989,25091992,26041983,26041988,26051990,26111984,26121987,27061990,27091983,27101987,27101989,28021989,28041988,28051988,28071984,29031982,29041987,29051987,29071986,29081982,29081987,29111987,29111988,29121984,29121988,30061985,30061989,30071992,30101987,31011985,31051986,31081989,31101991,larsen,kappa,worker,mustang5,spark,placid,downer,screwy,amiga,hillbill,pearl1,klaus,aaaa1111,simons,mortis,leland,binder,border,chemist,flower1,oral,gone,buster12,carlisle,protocol,dynamic,ajax,talks,05061983,tuxedo,cook,01051987,amature,triplex,dudes,turbos,jennifer1,edge,ringer,03061984,joke,grimace,jarrod,socce,feathers,nemrac58,riddle,xian,wonderfu,surgery,qweasdzxc123,bourbon,dickdick,bite,06061990,08021989,annaanna,pimpdaddy,baura,commander,helsinki,basil,8inches,cyclones,bong,macaroni,pollux,funk,motown,fiddle,thebeast,marauder,rodrigo,oyster,09101985,listen,fruity,06021989,chachi,hand,gizzmo,01041989,blinky,braves1,prime,hancock,espana,lennox,corinna,frisbee,lancia,02031970,sapphic,09051990,06091989,02021977,123456g,homepage,spock1,dimadima,womans,03101985,04051987,halloween,pinkie,metal1,07021987,cheerleaers,shopper,05041986,soccer11,josiah,redheads,weller,scouts,photon,metallica1,garlic,03121986,greywolf,estrell,06081986,diva,ghjcnjq,alvaro,06081988,egorka,06031986,rfhfylfi,08111983,01031980,08061986,06051987,06071984,reeves,picks,123456789r,reloaded,holla,mierda,04061990,04021985,gigabyte,flvbybcnhfnjh,dortmund,korean,karaoke,sashka,godbless,allday,flipper1,pro100,jurassic,experienced,thebest,05101984,nimitz,love1234,trigun,coolhand,banana1,kcchiefs,09011990,dicker,baboon,05091987,08071986,barefeet,1111qqqq,jesper,belkin,zoomzoom,asdasd123,madcow,101091m,greedisgood,198,5683,918273,7412369,10011989,10021988,10041989,10051986,10071983,10101987,10111989,11021984,11021987,11021988,11051989,11121990,12031986,12061980,12071982,13021984,13121989,14031990,14051986,14091988,14091989,14111987,14785236,15021991,15031986,15031989,15051991,15081980,16021989,16041986,16051986,17081990,18091984,18101989,19011986,19091986,20021990,20021991,20051984,20111987,21011985,21011990,21041986,21061989,21071990,21081990,21091987,21121987,22031987,22081987,23021984,23061988,24021985,24061984,24081990,25021983,25021984,25111988,26041990,26081983,27011990,27051986,27051991,27061989,27071983,27091984,27091987,28011989,28041983,28051989,28071988,28121990,29011988,29011990,29041984,29041986,29061984,29081988,30081989,30091985,31031990,77347734,1020304050,0001,suede,margot,willard,tetris,cypher,05081989,gavin,nevermin,apricot,legman,arizona1,alex1234,111aaa,trick,nopassword,abacus,55bgates,moto,tucson,123456789987654321,rosewood,shane1,dank,analog,outsider,minnesot,ganja,07111987,darthvad,06111986,paulin,getoff,chappy,range,salsa,olemiss,07041985,06071986,warwick,baby123,taffy,rubicon,bellagio,redlight,handbag,aztnm,sweeps,baberuth,girlie,messenger,teensex,peabody,abc123456,copenhag,maxi,noles1,bigal,lavalamp,patrik,dougal,culinary,wannabe,amelie,4you,lipton,beckham7,riley1,cumm,doughnut,tessie,horton,trueblue,totoro,hogan,line,killian,asdfqwer,bramble,bowl,advanced,elway,monterey,source,whores,mytime,seaside,whatup,waterfal,sickboy,bukowski,smile1,07061986,union,freedo,bogus,metro,arsena,aimee,05081987,verena,figure,tbird,angel2,lian,06051983,08081983,mario66,kara,spook,bigblack,gianluca,02061973,golfpro,02101975,nokia123,09041990,taichi,smother,as123456,06081990,blackhawk,charle,onlyone,05041990,access1,dtkjcbgtl,wave,salvatore,davedave,gilmore,03071984,tribble,05041991,wanrltw,jetta,kristin1,alexa,03021987,01041986,pyon,satellite,04021987,festus,wazzup,05071983,04031982,daredevi,duckduck,08021985,03051985,07031986,recall,kamikadze,09061990,03111986,01091986,08081979,biohazard,05071986,05051982,phantom1,1q2q3q4q,06071990,03011986,aleksei,trample,05041983,07021989,01031991,aviator,08011988,poppy1,sarita,frazier,dfytxrf,yinyang,aragon,deathnote,pertinant,lilwayne,sierra1,meteor,vides,hakr,hotgirl,06111990,blackberry,poophead,glitter,04061988,bbking,08031988,stiletto,asswipe,wearing,gallaries,fungus,mammoth,02011978,1234567aa,riverrat,jesse1,04011990,fishtank,04081985,dominique,zurich,griffith,nightowl,waiting,04111989,civicsi,valeriya,tabatha,driven,natchez,114477,10051989,10111983,10121989,11031987,11031990,11081983,11081984,11081985,11101990,12021987,12061984,12061990,12345677,13031990,13051988,13061989,13081982,13081988,13091990,13101985,13101990,13111985,13111986,13121990,14031985,14061985,14081986,14101989,15031984,15041983,15081984,15101983,15111985,15111987,15121989,16021982,16061984,16071986,16081985,17011985,17011986,17111989,18041983,18041988,18051982,18081989,19101989,20011985,20071985,20111984,20121985,21011986,21051983,21051989,21061987,21071983,21071985,21071986,22081990,22091983,22101988,23021987,23031989,23071988,24011986,24011989,24101987,24121984,24121990,25041983,25041984,25091984,25121986,26011989,26021990,26091985,26121984,26121985,27011983,27011985,27021986,27041987,27121988,28021984,28041986,28061984,28061985,28081985,28121986,28121987,28121988,29031983,29071988,29091990,30041988,30071983,31071986,741258963,pretzel,myporn,export,joelle,qweasdzx,skilled,land,gizmos,silicon,lizzard,deltas,standby,topolino,blah,buddydog,rrpass1,orgy,care1839,titman,qqwwee,think,dick1,break,neil,kismet,happyman,aaa123,deadspin,crispy,eighteen,mini,hartford,mongo,softtail,04051990,schumi,beavers,jupiter2,1love,lucky123,zelda,zulu,ltkmaby,muffy,blazers,dogmeat,04121986,mustan,joan,blonds,stonewal,issues,midland,lawman,myspace1,fleming,dingbat,hotrats,powerman,soldat,whales,smartass,08081985,bedlam,waldo,chitown,nestle,z12345,woodman,qwerty13,prototype,strife,dipstick,angell,celina,crap,darkelf,liza,surveyor,visitor,nascar1,1234qaz,atreides,icarus,nicetits,chopper1,03021982,bellaco,amor,althea,z1x2c3v4b5,feline,mastermind,05121985,manunited,amonra,ahmed,05121983,01071989,alex1,cfvceyu,zone,112233445566,010181,alcatel,123456v,civilwar,05101986,05021989,gaymen,harcore,corazo,03081984,downhill,dallas22,2hot4u,mendoza,interacial,pusyy,clint,shitshit,waterski,01061985,06071988,allah,goose1,socks,07011989,03101983,ass123,07031988,05051988,01011950,monkeyboy,audia6,01041979,pjkjnj,contour,07031985,05061987,06031988,passord,turtles,daniell,dtxyjcnm,01111990,princess1,yfcntyf,06111984,01041981,nosferatu,02101974,02091974,helios,oswald,ekmzyf,09051983,04121987,06031984,fynjirf,06071985,taylo,prophecy,02091979,funny1,vincenzo,pitchers,rene,raining,sealteam,mouses,kakashi,paxton,tortoise,craving,pack,kuan,jimbeam,summe,integral,notnow,drag0n,start123,light1,chewbacc,deerhunt,greenman,winter99,hooyah,02021974,09011987,myworld,04121985,02081975,444555,902100,999888,10021985,10041982,10081988,10091988,10091989,10111981,10111988,10121979,11041988,11071984,11091983,11111979,11111983,12041985,12071983,12071985,12091987,13021989,13081984,13081990,13121984,14021988,14061982,14071983,14091982,14121986,15021988,15081985,15101987,16021983,16031987,16111987,17021988,17071984,17081988,18011989,19071985,19101982,19101983,19121985,19121986,20041981,20061989,20071981,20091984,21121984,22021984,22081985,23011984,23011988,23011989,23031988,23061983,23081986,24071989,24121985,25011988,25071989,25081983,25091988,26051987,26111987,27051984,27081989,27121986,28031984,28071989,28101988,29011983,29091986,30061986,31011983,31071985,31081985,789632145,1357908642,dasani,miami1,kikimora,nothing1,04051983,karl,03011984,vantage,fudge,01081980,redone,dunbar,sonora,peavey,manu,barrage,bonovox,willem,rice,slash,carme,locutus,bryan1,ocelot,hamper,rocky2,belair,mercer,aaabbb,gentle,mike1234,girlies,root,chuck1,density,continue,galileo,virago,vicky,ground,crazyman,doodles,hydro,08061989,attract,volvo1,bear1,jordon,2wsx3edc,bertram,lapochka,worm,09121983,06071987,wdtnjxtr,batista,xxxxxx1,pinto,05101983,audi80,morgoth,kubrick,demon1,charge,calypso,disaster,suckcock,ripped,makeitso,anton1,equinox,benji,fishy,fuller,lonnie,olympic,talk,bracken,bizzare,sammys,camero1,metoo,sable,kurtis,fivestar,belinea,screwyou,123456789v,abraxas,sentry,total,oaktree,honesty,olympia,caddy,adidas1,daniella,asshol,persian,spiffy,jaguar1,shot,foreplay,mizuno,canton,daffy,times,fister,02061975,a1a2a3a4,blueberry,gizmodo1,01021986,paperino,bisexual,rodrigue,06081985,03101989,darrel,ohmygod,lfybkf,libertad,01021980,shurik,lock,martian,danilka,animated,02081971,eldiablo,mashka,nate,womam,lunatic,04081989,skolko,poop123,bluestar,agassi,aladdin,tickler,08041988,03021989,youknow,03031989,07041986,matri,jackie1,taipan,cool123,markmark,02081972,01071985,07081989,07071986,04041984,honduras,tobydog,01051983,quake,neutron,volleyball,04011988,carola,nachos,hatter,pizzahut,03071989,tequier,07071980,01061984,q1q2q3q4q5,converse,maxpower,opus,dragonfly,fishcake,mississi,girls1,pic's,seductive,ntktdbpjh,solace,tadpole,03101988,galary,traktor,happines,bengal,hotlips,portia,vegitta,hotel,badabing,05051980,08091988,bikers,zimmer,storms,03081988,moonman,nightwin,pitcher,comeon,01091984,kenneth1,raymond1,boners,02071974,done,hilltop,sprocket,ownage,passmast,3000,741258,852258,986532,999000,10031985,10031986,10051983,10051985,11011980,11031982,11031984,11041983,11071983,11081982,11101985,12011988,12021986,12031989,12041983,12101987,13011981,13011985,13051985,13051989,13061983,13061984,13071983,13121988,14031984,14081989,14101985,14111989,14121987,15031985,15041985,15071984,15091983,16031985,16111983,16121982,16121985,17021982,17091984,17111982,18031981,18051985,18071988,18081986,19021982,19031980,19041987,19061984,19061986,20011984,20031984,20091983,21051985,21091984,21091988,23031985,23081984,23101988,24021986,24021987,24051986,24051987,24071986,24081987,25051984,25071986,25091985,25121982,26011981,26021985,26041984,26081985,27031985,27041988,27071984,28051981,28081984,28091984,28091985,28111986,28111987,29061987,29071987,29081983,29121985,30061982,99762000,123456987,918273645,shine,ruth,landmark,graves,harpoon,flesh,divers,augustin,mark1,nathanie,kissmyas,mantra,smithers,georgina,bdfyjd,cali,case,abdullah,envelope,surfer1,dealer,mart,racers,blue1,russ,magenta,shells,stern,stoppedby,loop,climbing,7grout,mutley,beverley,edcrfv,alessand,04071983,graduate,01081988,spiderman1,foreskin,alpina,meggie,jesus777,stephens,fisherma,cullen,nassau,03091986,rocket1,confirm,123456789o,friday13,ritter,address,leaves,jennings,randolph,guillerm,benedict,bismilla,prague,heyyou,07011988,hondacbr,spunk,evans,lourdes,locust,whoknows,blunt,therapy,ghbdtnrfrltkf,melisa,canary,vfhujif,color,paisley,booger1,jonesy,saffron,consult,bigdick1,sephirot,05031988,zxccxz,tyrant,ruthie,newuser,firedog,shield,cornelia,field,04121988,qaz123wsx,1z2x3c4v5b,nokia5530,09051985,06031985,gabrielle,bread,anfisa,elpaso,poster,07091985,123456f,negative,websol76,03031983,04121984,07021986,05051983,01031987,02051974,brenna,garner,09071984,sokolova,soulfly,alyson,diapers,09011985,foxfire,india123,weapon,hugoboss,kontol,fuzzy1,websolutions,01071980,04051984,reveal,badboys,06101986,06061982,baddest,showing,06011987,07101985,thinking,malika,01111987,werter,openit,finalfantasy,20spanks,timoxa94,malinka,rhjkbr,mamochka,ciaociao,godspeed,monste,ayanami,1234567890z,mazda323,jonatha,tictac,lockout,aside,gangbanged,utjhubq,wally1,gagarin,reuben,morgana,osprey,nurlan,05031986,lovehate,qian,04011987,guan,safeway,yaroslav,hookers,norfolk,shoe,skydiver,trey,pisser,magic123,seadog,dogfart,kristen1,04111986,02101982,25252,120986,130680,214365,515051,777555,895623,9111961,10101983,10111987,10121984,11011982,11011985,11101987,11121984,12021980,12041984,12111987,13011983,13011984,13031985,13051983,13071988,13111988,13121986,14061984,14111988,14121988,15041982,15061983,15081987,16041984,16071983,16091986,16101985,17011701,17081984,17111986,18021982,18041985,18081987,18111984,19041988,19081985,19081988,20021981,20061981,20081987,21011987,21021983,21021984,21091986,21121980,22051980,22101985,22111982,23091983,23111982,23111985,24051985,24101985,25021978,25021987,25091986,25101986,26011987,26091984,26101984,26121983,27011986,27031983,27071982,28021981,28031986,28051983,28061983,28091987,29101985,30011983,30051984,survey,qq123456,willi,squirts,profile,architec,philipp,buddys,mikkel,01071983,1bitch,creepers,opiate,09121987,horatio,kristie,bergen,getit,dfhdfhf,paige,jeffrey1,froggie,aspirin,didier,dive,came11,canine,12345d,band,trent,treetree,bigd,godawgs,leonie,petrovich,rotary,pommes,return,lionheart,maya,chairman,plane,honeybun,golfnut,06111985,09071987,1qaz2wsx3edc4rfv,johnnie,bucker,slimjim,2sweet,andyandy,allstate,christophe,tickling,zinger,letme1n,darian,topsecret,josep,recon,roosters,instinct,teaser,daddys,bigbucks,humbug,03071983,buddy2,pusssy,crumbs,rainer,skunk,eloise,wsxedc,smalls,rhino1,ilya1234,denied,fighting,dirtydog,03091984,ankara,gaylord,losangeles,pippen33,senate,queen1,marty1,merchant,adventure,francisco,leonidas,ender,blade1,prayers,flanders,wizzard,bucks,esprit,spooner,vancouver,jeepers,dinger,sugars,system1,kenzie,georgia1,jolene,gucci,horror,trout1,sandberg,susieq,scrotum,letsfuck,slipper,lighthou,laughing,danish,b12345,piston,general1,locoloco,qw123456,daredevil,02011974,rhfcjnf,indira,05061985,bears1,07081982,chickenwing101,boris1,icecold,spain,hero,fresno,valleywa,livewire,05021985,01041982,04121982,dasha,livelife,05121986,07121987,website,producer,08031983,debra,chadwick,rosebud1,987654321a,yorkie,fantom,kontakt,mousey,teller,03101984,09071986,catfight,a1b2c3d4e5,edwin,rehbwf,heavenly,honest,tribe,01101985,loveis,blackops,galway,dianna,04081986,hydrogen,sarasara,pakista,wiccan,waffles,pavlik,02121983,cool12,racer1,true,sniper1,sluttey,antonov,womble,faraon,objects,lehjxrf,splendid,vodafone,vfcnth,slapnuts,godiva,bernice,wachtwoord,dewalt,noles,hobart,bp2002,nancy123,sebora,02041970,01011961,09101986,sandman1,buddies,ralphie,puffer,tracy1,fujifilm,coochie,marcella,trista,vbienrf,baronn,6669,101080,120786,124038,258000,1475369,10041985,10051984,10071984,10121982,11021981,11091987,11111982,12051981,12121977,12121981,13031980,13041984,14031987,14041984,14081982,14091986,15011981,15051982,15061987,15121986,16071985,16111986,17031983,17031984,17051986,17091986,17121983,18071983,19081983,20011981,20021983,20031980,20051981,20111985,21051984,22041983,22121982,23041985,23061980,23071984,24081986,24101980,24111983,24121982,24681012,25031986,25041980,25111986,26061983,27061984,27071985,28031983,28071983,28091982,28111984,29031986,29051984,29051986,29091982,29091985,29111983,29121986,30011980,30071985,30101984,30101986,31031986,31101986,31121983,123581321,place,pianos,clean,big1,candies,qpalzm,punkass,05091985,joystick,amalia,addicted,flowe,roadway,bustle,010170,ribbit,thirty,methos,02091972,block,anthony7,victory1,nermal,load,axio,shayla,snyder,photo1,peddler,goofy1,piggies,rams,pasha,01121984,rockrock,access99,vixen,ludacris,blink,wilhelm,nineteen,cocacol,flint,cousin,salinas,getlost,anytime,beerme,fringe,decimal,lionhear,alexus,6uldv8,editor,quant4307s,tammie,info,stripes,seawolf,swifty,dork,flashman,bogota,dasher,ladyboy,graywolf,07041983,qaywsx,paradis,z123456,maurizio,plants,bullit,jessi,elmo,musician,infected,gerhard,garrison,badboy1,kick,forsberg,flathead,eagle2,okinawa,saxophon,smooch,bundy,mona,dope,09121982,comcast,silk,sarajevo,a1s2d3f4g5,loader,tonytony,ezekiel,bigjim,tatjana,muschi,basement,lacoste,fernande,comets,123456c,gdtrfb,susie,squid,mpegs,monkey69,sabre,02081978,rowing,01061979,seaman,reboot,winfield,bahamas,batman12,morena,niggers,06051985,singapore,timur,lincoln1,horse1,indain,dorado,indon,duffy,escorpio,orpheus,rfgbnjirf,molly123,marta,sheryl,mygirls,underwear,maurici,nikon,newness,hippo,redleg,ghbdtndctv,01091979,slava,gerber,booboo1,08101980,goofball,zxcvasdf,legenda,sickness,05081985,04061982,07021984,hugetits,gfynthf,01091980,star123,02031976,3rjs1la7qe,internal,07061985,squerting,firestorm,p0o9i8,nissan1,starlight,01121985,06061983,03051984,torture,blackice,bandi,password11,mathias,01081986,jessica2,mailru,tangerin,dragon01,kitties,qazxsw123,smirnova,ranetki,unbelievable,rhythm,nastena,bernardo,warcraft3,shanno,oscars,gloves,zebras,bazooka,infamous,housewifes,nfhfrfy,glenda,famil,stopit,katelyn,hillside,privacy,hospital,ralph1,odin,macgyver,02061970,05041984,1009,748596,10031984,10101982,11051979,11051985,11121981,12031984,12041978,12121980,13091985,14021984,14051985,14061983,14111982,14111984,15051983,15081983,15101984,16011983,16061983,17021983,17031985,17041984,17061983,17061985,18061984,18071981,19111984,19121982,20021980,20031983,20041984,20081984,20081985,20121982,21061983,21071982,21091985,22101981,22101983,22121985,23011980,23011982,23031980,23121983,24011983,24021983,24031985,25121983,26031985,27051985,27081985,29091980,30061981,30121984,31071983,74123698,159753456,macaco,freaked,bigred1,vince,chevys10,acclaim,cesare,lahore,bloke,samir,survival,gutter,hooters1,noah,rising,douglas1,rushmore,dawgs,garland,rebelz,android,hoochie,gibson1,shaker,kelli,court,virgo,basic,scirocco,fuzzball,mikado,lily,frogfrog,hotspur,helium,toad,03041985,911turbo,beef,detroit1,administrator,cornhole,monica1,0o9i8u7y,hose,terry1,letmesee,offspring,argyle,nataha,aaaaaa1,school1,mike23,02031972,clemens,johnston,daniel12,dust,code,shredder,sweeney,wednesda,estate,raiden,truffles,nathaniel,fantasies,image,dunhill,chowchow,atlanta1,checkmat,phreak,starlite,caleb,jacket,truck1,allnight,vgirl,horsemen,higher,shop,josephine,05111982,dante1,1mustang,pregnant,romario,firehawk,sparhawk,cosmo1,crosby,pokey,favorite2,stirling,silverado,freewill,labia,vegas1,stooge,glendale,a111111,a4tech,02031971,groupd2013,vflfufcrfh,rugrat,aerosmit,rapture,eyes,angel666,bmw318,crash1,farida,jediknig,close-up,pounding,pissed,06021984,02121981,lesbain,pulled,alert,nexus6,funtimes,fmale,gfgfvfvf,santiag,corina,evangeli,archery,stokes,02041971,03051981,lacrimosa,astro1,bionicle,visited,04091985,esteban,madonna1,butch1,sooners1,orang,06121982,devilman,lamborghini,03011985,07081983,08061984,woods,angelit,rockey,tunnel,baggies,03051979,rjhjdf,cnfkrth,08071983,05031984,nadejda,experience,pietro,carpediem,garret,reznor,schubert,shelby1,poisson,fran,fhntvrf,caitlyn,picnic,bassoon,milamber,motocross,euphoria,browndog,asdas,luckyme,domenico,telecom,skeeter1,bajingan,baker1,08061985,husky,scorpions,rapier,lydia,123321123321,06101985,bertrand,frenchie,09051981,fucks,09121985,carsten,jachin,mutter,cooking,passfan,blaze1,03121985,service1,yfnfirf,sleeping,rjcvjc,babemagnet,timothy1,mimosa,232425,651550,666333,6661313,9874123,10081981,10241024,11001001,11051982,11061980,11081980,12041982,12051983,12345687,12349876,13081983,15021984,15121984,16061981,16081980,16111984,17061982,17091981,18041984,18051984,19091980,20101982,20101984,21041983,21101980,22061982,23041983,23041984,24021984,24031980,24051979,24091984,24111982,25051983,25071984,27031984,27111984,27121981,28111982,29011980,30111982,31121982,bmw2002,nudity,zoomer,swatch,kareem,blender,present,ducky,slow,merrill,heavy,horseman,midori,bopper,tires,asthma,whale,hummel,nero,wendell,biguns,armstrong,snapshot,darth,vivid,wyatt,wanda,release,nurse,1234abc,chingon,quake3,priyanka,hunter12,sanjay,euclid,tools,east,tahiti,libido,nielsen,branch,buffa,sometime,pilot1,lotus1,ekim,abbey,prestige,homely,corps,1password,loomis,hawthorn,nickie,christo,swiss,optima,aqwzsx,sigmar,lexus1,balboa,greatest,wage,mainland,shimmer,riddler,offroad,bulletin,dutchman,passcode,crown,ramada,striper,sounds,alley,bravo1,camp,worship,carling,dempsey,09081984,tugboat,roman1,regional,bernhard,gregory1,05031981,assmunch,beatriz,cazzo,asslover,rocky123,04041982,diablo1,seville,tiptop,zaq12345,carmine,sizzle,gaucho,buckaroo,puddles,creed,chooch,comp,tonya,sexpot,diplomat,tito,alesha,morrow,kobe,ethan1,karamba,skeleton,corazon,06081983,sexy123,samue,eatme1,winters,futyn007,laker,02101972,mannheim,picher,camaro1,02101970,adrianna,board,bionic,disney1,acid,hackers,dominick,before,wellingt,nash,fubar1,lynette,dancer1,jolly,romania,fernanda,dragon123,manager1,calendar,pennywis,ecuador,komputer,saxman,rudolph,devine,04081978,07121984,teapot,pictere,alonso,07011980,plumbing,07111982,thetruth,rosa,speed1,04081982,06011984,justinbieber,08031980,gulnara,alex01,09111983,madala11,dinero,shakes,punani,nokia5130,quinn,thick,hybrid,kakarot,suntzu,lockerroom,dima1995,09101984,vaness,yeahyeah,ejaculation,pictuers,07101983,debora,craven,nian,wrinkles,poon,dumb,baron1,beeline,loyola,bettyboop,openme,elodie,2300mj,lakshmi,frederick,huan,daydream,friends1,denis1,01121980,breath,vfhbyjxrf,inna,dominika,02021975,153759,333999,3141592,10071980,10081982,11031980,11041980,11061983,11121980,12021983,12031982,12041977,12051982,12091982,12091983,12345123,13031983,13091982,15071980,15071981,16011982,17111979,18061982,18081982,19011981,19121978,20021982,20041980,20071983,21031981,21051979,21061980,21081980,23021982,23071981,23101981,24031981,25011983,25091983,26031982,26101983,26111978,27011982,27111982,28071982,29061982,29071982,30091983,963258741,falling,agent,smoke420,cobra427,marcela,rochard,thighs,reed,kidney,extensa,cherie,excess,embalmer,basketbal,tailgate,salvator,niko,nocturne,sexymama,rebekah,lilman,crane,aassdd,terran,disabled,sonja,12345w,binky,goats,ricky1,papabear,wednesday,lisenok,muffins,shinigami,cajun,panorama,scout1,illmatic,flex,rhodes,tortuga,ticktock,fantasy1,misses,08041980,woodstock,aligator,hocke,hellno,jian,mojojojo,konyor,earthlin,pinch,oldfart,lovejoy,pussy2,reindeer,thomson,shiva,supply,texans,citrus,undertow,sail,05061981,alabama1,freedom2,jewell,indy,monolith,nastenka,123456y,ramon,orbital,meonly,bonghit,fullback,bigworm,evilone,hotmama,elevator,prudence,radar1,privat,neworder,churchil,nonstop,smithy,jigga,goarmy,troubles,zardoz,corbin,l3tm31n,norwood,dizzy,dagmar,maker,fzappa,basher,lukas,sfgiants,pussylover,xxx777,newone,qwedsazxc,lioness,montoya,dabulls,cortez,divx1,worlds,beating,vulva,rugrats,newstart,avanti,contortionist,japanees,reviews,capoeira,javie,gayboy,bonzai,vivitron,dreamcast,fruitbat,legends,michelle1,corn,attorney,admin123,rosie1,mjolnir,fraggle,vbifyz,05061980,insecure,01061982,pushok,08041982,belize,willie1,tom123,caution,bigdad,09031981,saibaba,ramzes,armageddon,csyjxtr,06021981,delphine,casablanca,alejandra,03031982,fhctybq,wdtnjr,123qwe123qwe,ciao,amo,quaker,hustle,myfriend,paola,magdalena,wifes,knickerless,trotter,billabong,discovery,fhvfutljy,my3sons,sperm,seth,cerebus,thumbnils,weenie,s12345,pupkin,slasher,wilma,welcome2,hester,02021972,kraken,lebanon,needle,toulouse,fireman1,linux,delboy,salesman,surfsup,footman,orgasms,woodwork,toasty,03071980,02011972,daedalus,starfox,violator,123412,300465,666555,987789,10021982,10041979,10091980,10101975,10101981,11041974,11101982,12011979,12021982,12041980,12051980,13071979,13111982,13121982,14051982,15041980,15071982,15101982,16041978,18031980,18031982,18061981,18071979,18121979,19051977,19061982,19081982,22071981,22091981,22121978,23041982,23121982,24081982,25011982,25031980,27731828,29041982,29101982,29121982,30051981,30061979,30061980,30071982,30081982,mike69,jasper1,domini,strat,yamaha1,alexis1,q1q2q3q4,04071982,voltron,cecil,zimbabwe,toni,budlite,newproject2004,creeper,shimano,monkey2,wing,catfood,sparty,moochie,creator,serge,amour,redstorm,cantor,aabbcc,schultz,1monkey,luckys,allman,jasons,brisbane,dagobert,xyzzy,gate,murph,bigjoe,sativa,stinger1,fozzie,couples,windows1,luigi,natascha,kennwort,empire1,alatam,barbara1,arnaud,02011973,rammstei,bubba2,wingzero,swampy,3edc4rfv,elmer,lighthouse,fordtruc,letmeinn,grinder,stinks,nebula,destroyer,sublime1,rogue1,athletic,praxis,12345v,chateau,franci,stinky1,lorien,fantasti,jumanji,man,cummer,sverige,michele1,clueless,spamspam,belfast,nigeria,costanza,beyonce,monies,planner,skin,jonboy,morticia,drywall,sunkist,pdiddy,massey,csyekz,campus,boots1,bigpenis,vanity,vette1,devil1,lingerie,reeses,iphone,corky,impulse,diamante,1a2s3d4f5g,shawn1,marymary,alfarome,sledge,shinji,qawsedrftg,prelude1,sinful,shitter,miles1,riverside,03101979,02071972,greentea,iiyama,07041980,marley1,parsons,giveme,imtheman,sharma,09071981,gabby1,qazwsxedc1,evanescence,henti,w00t88,motdepasse,porsche911,alessio,aceman,arrakis,pussy4me,shelter,becky1,rosita,munster,kickflip,emine,gocats,03031981,rodger,boogers,landrove,longshot,wooden,superbow,list,02071970,comicbookdb,prosto,rfhlbyfk,kfcnjxrf,kavkaz,01101979,robots,forge,marlins,scoobie,anthony2,paramore,hfljcnm,buckwhea,pornographic,plokij,03021979,01071978,minnesota,lambchop,chango,money2,silvi,anakonda,cjytxrf,sanjose,arcangel,koleso,j3qq4h7h2v,starbucks,core,allie,mahalo,nigger1,samdog,gfhjdjp,litle,transexual,webcam,bolivi,vfpfafrf,lucian,josie,m12345,petite,archangel,www123,piper1,cheeba,braveheart,myspace,lux2000,paddy,emili,08081981,masturbation,bunnie,collect,tulip,homebrew,whites,boingo,04101980,berserk,fordf350,thrust,pilots,cheesy,leeloo,star12,zealots,camel1,07081981,02071973,milkyway,forester,babemagn,02051971,101077,121281,615243,10011001,11081978,11111978,12111981,13121980,14051977,14051981,14121979,17051981,17101980,19021980,19051981,20011980,21011981,21101981,21121978,22031981,22081981,23051980,24111981,25111978,26031980,27011981,28031981,29071981,29121981,30071979,31051977,31071980,1213141516,ellis,gemini1,swim,maxpayne,google1,bliss,duracell,armored,12locked,alonzo,detect,cashew,krypto,hattie,shrink,custard,mocha,albino,room,spanky1,gates,acdc,singh,xxxzzz,allied,libra,maryam,magoo,billows,chief1,chinchin,benz,sonny1,ronald1,123456789p,heeled,ramstein,coffees,swing,adrock,noreen,burgess,nope,twat,scotts,britt,coaster,altec,scroll,tippy,lesbos,kookie,forall,trousers,cybersex,cows,bugman,wildlife,topspin,terri,pronto,cristin,zzxxcc,shaft,corvet07,tiberian,kevin123,buffer,urlaub,doorknob,monday1,cheste,thanos,faisal,richter,saltydog,bullwink,shevchenko,space1,blanked,darnell,1qwert,mistake,morozova,mdogg,maximilian,opera,sentra,diamant,steiner,sodapop,adria,headache,gstring,hellohel,messier,alvin,arthur1,needforspeed,panache,a123456a,fireblade,ironman1,devilmaycry,tricks,asmodeus,rodent,mikayla,iron,shawnee,bravehea,chemistry,abbey1,vfhnsirf,somebody,sharpie,mypasswo,05081977,vorona,cradle,table,asd456,01011967,pennstat,milfnew,momsuck,cooki,01081978,hotdogs,marsel,cocktail,sosiska,intern,uncle,motherfu,orwell,selmer,marajade,lesbean,pounded,scarab,princeto,fruit,rapunzel,hernande,ytngfhjkz,phones,correct,maximus1,pegasus1,chat,disturbed,bills,iamcool,pioner,balrog,03051980,dreamer1,evildead,aggie,01051979,ltymub,everques,06081979,songoku,deepthro,gfhjkm12,tkfkdg,halo,blessed1,tical,bartok,klopklop,theboys,colt,12345asd,fishface,yankee1,chewey,kjiflm,cntgfy,gretta,m0nkey,nemesis1,gorillaz,kombat,fyyeirf,narut,wine,sevenof9,vicious,sarge,gitara,manhatta,elektra,sixteen,kseniya,ursitesux,sachin,zhan,vova,revival47,detectiv,businessbabe,123456789l,bedrock,rjitxrf,denni,yfnfitymrf,stooges,04101977,fastcar,ibilltes,02091970,dropkick,sk8ordie,otter,montecarlo,peaceful,breathe,flavor,ameteur,veronic,04061980,enter123,christel,09051975,cowboyup,juli,goethe,spiders,fialka,1234kekc,kostik,rdfhnbhf,marishka,vika,555222,630112,753357,837519,1122334,3698741,3984240,10061980,11101979,12011980,12071980,12340987,12345612,13245768,14031978,14031980,14041976,17051979,17091979,18061980,20011979,22334455,23021977,23021978,25071978,27111978,28101979,30031979,890098890,tanaka,apollo1,motors,royboy,margo,turk182,bobb,honeydew,broad,origin,monsoon,outlaws,theduke,cedars,ladybird,quaint,ddddd1,bbbbbb1,cccccc1,fucmy69,puff,breezy,chauncey,smeller,cambridge,sigrid,succes,pass12,ulrich,beebop,fokker,maryanne,perrin,fourteen,aslan,blind,reddog1,borges,derick,washer,janet1,gecko,biker1,llama,avalanche,snowman1,patron,clyde1,banaan,icetea,petrus,shelton,lorenz,scenery,sexyme,bullock,niki,aurelie,mike12,restless,sunbeam,bluenose,not4you,doll,leticia,pork,linus,wsxzaq,cayenne,klaatu,click,vicki,charlie123,fremont,optiplex,123456qq,bulldawg,omegared,caldwell,comment,heathe,chowder,renee1,barnie,howie,1fuck,curley,flange,twin,message,large,bastet,yello,hermann,jelena,fuckthat,candles,123456ab,genocide,charming,losangel,impalass,fartman,realtor,puta,sorrow,pendejo,flyguy,tokyo,lasers,zapata,crissy,locked,123ab,skynet,marybeth,newpass1,seahorse,goodsex,ab1234,zxcvb12345,lorelei,machines,corvett,02021970,cazzone,alla,07041979,monkey123,scumbag,fuckmehard,master123,goldrush,trailers,today1,03071978,adrian1,filippo,capital1,wyvern,lothar,turtle1,rowdy,device,asd12345,qwerty78,whateve,vtldtlm,lovely1,lbvjxrf,09091979,casual,kazanova,magadan,12345k,rktjgfnhf,insider,jazmin,bitchs,spalding,santacru,alisher,01011966,sunderla,1a2b3c4d5e,puma,09051978,08031977,snoopdogg,nokia5230,fktyeirf,everton1,01011965,ghjdthrf,01031976,vfhbirf,bhbcrf,123mudar,kerrie,udacha,159753a,geibcnbr,lovem,hulk,blondinka,child,chees,robyn,pingvin,avery,123456789123,l58jkdjp!,1a2a3a4a,gandolf,hartley,darknes,fever,katya,funtik,product,baylee,bignuts,videoes,beachbum,waffenss,123qweas,braxton,oedipus,quest1,shotokan,02101971,fridge,hulkster,rbcekz,brick,poobear,eatme69,samadams,heather2,mastermi,sammydog,ignatius,redwall,toohot,dragrace,graphic,booter,chris12,monkeyman,slipkno,wrigley,vorlon,lol5,lbtest,1006,141516,222555,665544,10101977,13081978,15031975,19041978,21041978,22011975,22041976,23021975,23051978,23061976,28071978,29091977,43046721,123698741,yoshi,sanity72,niggaz,hussain,03021978,frank123,ingram,naught,thalia,abba,rasta69,poets,drifting,deepak,contests,branden,bowie,skins,glassman,taiwan,xmas,damion,1money,rt6ytere,cesar,homeless,daytek,mark123,zippy1,yourmama,partners,navigato,goatboy,maddux,buckeye1,angel12,costaric,nutella,terrance,janina,barks,allyson,vangogh,angeles,newport1,babel,peanu,caralho,lever,saddle,danman,four20,evergree,minimum,utahjazz,come,xxx666,robson,nickolas,rb26dett,althor,marinka,snowy,jeffjeff,negro,buff,doggys,betty1,lookup,baraka,mummy,topaz,cynthia1,feeling,infinite,crockett,gatito,keesha,ange,thething,loves,swift,bigshow,viking1,jakester,cochise,hazmat,johan,smack,willy1,brenda1,soft,james2,twins2,woodside,hombre,geil,torrent,zzz111,bugsbunn,furious,roach,rosanna,nettie,texaco,bushman,smarty,stripe,skills,pontiac1,anechka,aquila,wishes,manual,ransom,fred1,invictus,sniffer,marnie,rawhide,rosco,valiant,tonto,zoom,wolvie,everyday,russell1,feeder,delsol,candys,angelok,vasiliy,austin316,mitchel,kbctyjr,naples,apple2,biggirl,memories,jesus7,adventur,tequiero,teacher1,asscock,grils,jacqui,abstract,bubblegum,fist,callofduty,dickweed,punjab,porn4me,boohoo,thatsme,hershey1,irisha,bosshog,control1,fuking,housewife,temptress,belle1,dima55,chris2,warsaw,verygood,hogwarts,wingchun,heinlein,01051974,princ,mystical,surgeon,bloods,pavlova,aerosmith,tooth,blackbelt,hotshit,manue,agatha,ethernet,bulls23,qaz741,eightbal,solnishko,01011968,snowflake,firestar,djkjlz,hornyman,manders,girfriend,lebron23,grammy,poppie,timelord,milhouse,kumar,leningrad,caterina,avrora,qwerty99,janeway,cneltyn,sestra,03061977,romanov,cory,shaun,kayla1,allblack,cerber,irakli,anna2614,ulrike,pussyeat,wakeup,mackenzi,danilo,masterbaiting,uncencored,dimple,manifest,songbird,triplets,pamel,devious,sukebe,ghjnjnbg,bdfyjdf,chuan,gforce,pyramid1,submarin,partizan,bettis,dokken,pasta,123456b,choppers,planeta,fuckm,patti,saab900,vandal,snafu,bigboy1,phishy,rewind,manatee,fred1234,yitbos,lovel,vbhevbh,desperado,chewy1,yeshua,fabia,papit,seabass,159852,197777,335577,357753,555333,777111,1235813,10121976,14021977,15121977,18273645,22091977,31071977,callahan,sienna,niklas,sven,nogard,marsh,jacko,deuce,echo,dmband,manuals,vargas,homo,micky,thriller,ilikesex,marina1,antwerp,norma,bulls1,1letmein,barb,ericeric,littlema,boats,rashid,caspe,patrizia,love11,070462,hook,xman,12345654321,wapapapa,sarina,woof,forme,hoser,crafty,mistral,arielle,gravis,nirvan,davis1,1911a1,buick,rayman,hornyguy,carajo,miamor,commerce,necklace,radio1,fifteen,simply,cannonda,seventeen,sports1,bambino,cartier,blackcock,nexus,barracud,pathfinder,sammi,crew,fuckshit,leeroy,scrooge,brunette,parsifal,birthday4,alkaline,chino,shitfuck,muffdive,sage,nfy.irf,bobert,bedroom,boarder,account1,courier,abcxyz,lampard,zooropa,guard,edthom,brians,lemon1,glennwei,antigone,ishmael,mrbill,henley,dragonz,pizda,beepbeep,hotbabes,fordf250,buller,acer,motorcyc,spades,batma,akasha,coolgirl,skulls,rickster,under,omicron,gender,maganda,theshit,hirsch,snowdog,boxter,citibank,delgado,newday,marmite,ozzie,goodguy,gobigred,river1,007700,harrys,oasis1,brutal,professor,fkbyrf,cvbhyjdf,trish,league,biscuits,angele,cassie1,edmund,03041975,vaughan,tenerife,asss,goodlife,qwaszx12,volkswagen,1qazxc,southside,fulcrum,maurolarastefy,gumbo,spartan117,concept,columbo,08081976,miamo,danil,riptide,yanks1,mamont,hedges,tater,yuliya,peregrin,antonio1,munson,nika,jigsaw,feanor,raindrop,bavaria,locker,beyond,perkele,laracroft,novikova,joeblow,fathead,plum,0000000000o,bonnie1,fynjybyf,molotok,thought,12345678900,hotlegs,paranoia,caboose,markiza,degree,porshe,dolphi,sabaka,germany1,fakepass,becool,supernatural,tecumseh,chatham,tonyhawk,skating,francesca,mahalkita,ruben,apteka,nikita1,reborn,maine,thistle,pfloyd,pitures,rover1,yngwie,creepy,rutgers,iloveporn,hallo1,cherry1,falstaff,clerks,shuan,dominate,deborah1,libby,golfman,sigma1,bassin,bastian,hunter2,lancaster,pumkin,gamer,astonvil,jayman,bobmarle,fritz1,natedog,hennessy,produce,elvis123,nonmembe,tramp,full,bonethug,terriers,tooltime,fedorov,sharon1,terrence,zhuan,virgini,krasota,russian7,3004,362514,699669,777000,823762,1230123,1596321,3151020,11122233,12041976,13011976,23021973,fiona,glider,pyramids,koala,leroy1,chas,horn,stands,grime,chili,pixie,roserose,shoot,flare,albert1,view,port,seattle1,saunders,okmijn,lololol,schnuffi,eddy,potatoes,beanbag,joyful,marita,ragnar,phaedrus,skillz,regent,barclay,flashy,marketing,raptors,prima,fear,stefania,ballard,cxfcnkbdfz,adeline,drop,streak,lasalle,guesswho,idiots,lindsay1,davidc,nicky1,samson1,matros,zxcvvcxz,tiff,tonka,epson,joaquin,miki,jamesb,arch,poi098,drinker,passthie,testibil,mueller,muriel,marriott,snookie,summertime,music123,helphelp,theedge,fannie,takamine,woodrow,bigpussy,louisa,balder,parker1,duckhunt,candie,ironhors,bagels,vibrate,dalejr8,mooner,gray,helen1,tulane,niagara,polly1,ronny,lemmings,pluto1,beck,factor,theclash,boromir,sundown,ashtray,primal,unicorn1,shadow01,camino,luckie,sparkey,couple,zappa1,jessie1,hamburger,lucent,ditto,cake,colossus,gotyoass,qwerty2,nixon,class,qaz12345,gohan,satori,bigbutts,zzz123,elbereth,blaster1,lagwagon,gumby1,feniks,davidb,ceaser,fuckyeah,location,corgan,catalog,chiks,modles,penetrating,forgotten,walking,academy,asylum,pokemon123,gbcmrf,optical,faust,thesaint,montero,malakas,element1,amnesia,sonne,morbid,astalavista,nhfrnjh,asdfg12345,05051975,gaelic,hazel,saratov,bhbyrf,elisa,vfkbyf,professional,123123z,hermione,beijing,marketin,segreto,mowgli,misiaczek,shandy,mamo4ka,joung,prick,gymnastic,goodfell,veteran,sexsexse,axeman,gulliver,natal,letters,juneau,01081975,djdjxrf,cristal,rostov,volkodav,02011970,ybrbnjc,bigmama,domainlock2005,muller,dazzle,stefani,youandme,soviet,katten,leafs,riddick,pinguin,dogggg,galeries,scandinavian,pintail,lakers24,flowers1,raketa,bach,jeadmi,rerfhtre,scoote,pappy,edmond,666666a,vepsrf,craft,bilbo1,hell666,macintosh,sober,osama,enough,zaxscd,dhjnvytyjub,killzone,cujo,yamahar6,basebal1,labonte,homer123,grandpri,premiere,ovation,smokedog,ametuer,tahoe,halcyon,left,laure,deicide,garnett,watermelon,rockman,john12,mayfield,masha,hardwork,lance1,skippy1,mango1,staind,cassi,ussy,dog,lasttime,r4e3w2q1,eyeball,peaceout,vivaldi,friday1,1dallas,kimmy,serg,angeline,jaycee,silve,details,express1,katzen,x72jhhu3z,1q2w3,222444,885522,999111,1234569,14031972,147896321,369852147,growler,goody,bookcase,kingtut,cooker,lugano,newhouse,mojave,franck,beaks,domestic,acetate,maciek,muttley,chicco,scorpi,blackcoc,blackboy,barlow,patata,dobber,mathieu,ram1500,doggydog,brock,123456asd,fuckem,numbers,p455w0rd,gisela,mensch,rattle,blair,rabbi,redwolf,mauro,slicer,butchie,complex,william2,nigel,places,1ranger,bobcats,envision,gazelle,!qaz2wsx,67camaro,algernon,12qwerty,cordoba,baywatch,thrawn,byron,defcon,gman,sexyass,01011964,phoenix2,rsalinas,nickels,gomets,blocked,never1,punter,allegra,larsson,rowena,staff,hawks1,dangerou,error,headless,beaumont,evergreen,frasier,last,donut,acura1,bradshaw,osgood,barracuda,tomservo,greatsex,dbrecz,zeke,f15eagle,dewayne,cadman,spaniel,nemo,fool,radius,cedar,rental,go2hell,bolero,yesterda,flippy,zelda1,fuckof,arman,alexei,ginola,jerky,1qazse4,marvin1,monkeyma,aquarium,cbr600rr,movers,mosaic,cronic,cluster,mystuff,arcane,dickey,tomate,kuwait,goochi,repoman,dogma,payton34,bassbass,123456789k,bugatti,blackass,snakeman,marat,genghis,gramps,escher,sincity,canon1,valdez,polaroid,hotman,witch,worldcup,solar,letsplay,slide,deutschland,jordyn,saab9000,amoremio,kjifhf,family1,greta,magics,vaseline,alligator,seventy,learjet,computers,dimension,packard1,crave,nacked,shade,bhjxrf,uhbujhbq,citron,kodiak1,phrases,pomidor,golfclub,ace123,longhorns,holdem,chance1,wellhung,tryagain,killah,colombo,dodges,saddam,alfalfa,january1,blunted,furman,mysecret,pfqxbr,druid,jenna1,qweewq,gopack,zolushka,shayne,copper1,fanatic,catdaddy,stella1,17171717aa,pfkegf,loglatin,gbyudby,barrel,samanta,rigger,girsl,photog,mustang9,chipper1,spide,nadezhda,lite,edinburg,panties1,maripos,dingo1,excellen,sokolov,rjnzhf,dashka,rooter,pandora1,romanova,vfylfhby,eragon,luscious,mayfair,sonyvaio,flipmode,borman,yorktown,states,jbond007,type,777vlad,silly1,hercule,doggystyle,dkflbvbhjdbx,goodwill,sofiya,watching,escobar,handle,holahola,davidoff,mich,prancer,robinhood,machoman,klaudia,henning,debbie1,mccarthy,protoss,tittys,beeker,12s3t4p55,momsanaladventure,fabrizio,humble,strato,foreman,theman1,avengers,kruger,pipe,ivanhoe,october1,dating,tomboy,seal,seaweed,sixtynin,toonces,erica1,reaver,chrisb,soleda,trekker,database,cortina,nichola,twostep,wiggles,gjhjkm,bobbys,easypay,deal,elisabeth,chevy2,goonies,lesbens,cueball,fuckedup,meandyou,hickory,everquest,omerta,fun4me,supers,sunbird,remington,hotter,jason123,olives,manage,01011958,schmuck,kram,evelina,timmy1,lancaste,hd764nw5d7e1vb1,loloxx,3001,25000,123698,224488,622521,747400,852963,10101968,69213124,78963214,briefs,garter,cheyanne,mentos,ortega,ginge,united1,keksa12,juanito,ginscoot,gaijin,abrupt,ub6ib9,kodak,bloopers,bobber,final,maddy,anthem,torque,flubber,mothra,steveo,clara,slam,nolan,snuggle,dshade,policy,gooseman,babushka,123bbb,patterso,fragile,felicity,plummer,bushel,kolibri,goal,blondie1,blueman,crocodil,sport1,first1,section,zzzzz1,social,acacia,bmw320,minute,yahweh,buds,5tgb6yhn,qazwsxedcrfvtgb,camelot1,guilty,helpless,soccer13,jazzy1,nugent,sweetass,sober1,rickie,major1,bootleg,bonzo,getmein,fine,ponyboy,andi,waldo1,sebastie,grove,shibumi,boogaloo,marlow,angelito,carlin,andrej,ebony1,myboys,zztop,hotty,lombard,francis1,gallery,peternorth,freiheit,kindred,valentino,tessa,a1a2a3a4a5,victor1,357mag,000000a,leahcim,hitman47,porn123,getin,winchest,konrad,nicknick,orleans,aleksander,blue44,mille,shades,consuelo,dantes,pimpster,butchy,guevara,dandy,cliffy,lifeisgood,splatter,matias,zxcvbn1,camilo,blower,feetfeet,ferrar,darthvader,ynot,georges,bruno123,wayer,secre,caseydog,amarillo,1basebal,satellit,mustang8,brent1,denton,tiffan,shifty,mate,cezer121,sonya,gomez,theo,romulus,robbins,looper,doomed,kleenex,123hfjdk147,carlotta,oralsex,kimchi,crayon,masterkey,blackbel,caramba,belgium,drjynfrnt,familia,lotus123,happydog,quarter,insertions,buchanan,monkey11,sidewind,missing,fettish,storys,newjob,paroll,bigpun,hannover,langley,politics,assault,cimbom,asdfjkl;,ohbaby,chronos,logical,m0nk3y,pookie1,tylers,4rfv3edc,delphin,vfnbkmlf,eleven11,vishnu,123qwe456,grapeape,andreev,sanane,kthjxrf,654321a,deathrow,merlyn,onepiece,waterpolo,rattler,dragon13,voodoo1,pilsner,donny,peepers,anna123,techniques,rodina,stetson,buratino,distance,facefuck,fabiol,morga,ijrjkflrf,avangard,volkova,naruto1,vineyard,qazxsw12,calculus,rfhfgep,buttbutt,china1,maybe,jack1,morley,zz8807zpl,archon,bignasty,emmitt22,toes,amidala,romaroma,maddison,stamford,dropdead,erasure,britta,lopata,badguy,farrell,hunters,cassius,ericka,tracks,router,123456789012,piss,8phrowz622,swanson,qazplm,balls1,dragon11,hawker,same,blondy,chastity,slippy,lindsey1,hatteras,claudine,ben123,skull,foxcg33,wicket,luciana,corporal,mazda1,index,trucker1,hills,rushrush,gotigers,eatme2,iloveit,ganjaman,meowmix,vegas123,sheets,geology,spice1,lacey,wiggle,rave,tim123,dude123,chelsey,rebbyt34,cletus,imhorny,hawkeye1,chin,mischa,mypussy,slayers,janna,jeffro,lizard1,klopik,123masha,talgat,1hxboqg2,rootedit,3003,123458,999777,100200300,universi,sexyred,sabrin,toyota1,priscill,yanks,okay,b123456,evil666,lexingky,david12,eight8,murdock,steel1,mandolin,teamwork,malaga,c3por2d2,smash,crowbar,dawns,gunner1,carefree,guru,rome,footlove,xrated,redwing1,muskrat,carmen1,giveitup,gspot,wilmer,reno,sexe,cleaning,blowme1,121212q,assface,rastus,andre1,085tzzqi,usmc0311,tanechka,elgato,aguila,fuckall,loveme89,test2,terrible,teufel,goodness,puppys,glenwood,ceckbr,retsam,star1,shiznit,samba,hottub,ufhvjybz,dildos,mongol,crowley,cool1,penal,1shadow,martin6,fulton,allright,goodwin,tucker1,sevilla,bobbi,latex,shift,claypool,car123,checkit,sydney1,vamp,imzadi,gandon,windy,julieann,greyhoun,063dyjuy,trivia,damn,shamil,pushing,reliant,booper,crevice,nyyankee,penfold,calamity,kajak,pagan,conquer,dewey,dillweed,pantyhose,cavalry,golf1,crank,arabella,forces,mauricio,jazmine,gophers,goodison,ayrton,123321z,bucs,loudog,tobacco,spade1,corpse,kayak,plaster,seviyi,ally,luv2epus,moment,12345c,taxi,noob,hackerz,thewall,tigre,alphaman,simcity,bowl300,pedersen,jackdog,feedme,44magnum,apples1,barnaby,written,blank,soledad,assassins,qwerty777,boris123,01478520,jared1,squire,drevil,arse,harpua,angie1,slainte,indy500,marusya,summer12,helpme1,augusto,bachelor,badnaamhere,nevermor,mattingl,lavender,patate,raster,mattmatt,texass,headshot,open1234,topsecre,boot,boobed,mariko,renat,mckenna,brigada,donald1,088011,gordon1,cute,batgirl,hotchick,banks,monique1,willow1,fabiola,alanna,cordelia,boliva,polar,titan1,akatsuki,fresh1,openopen,geraldin,freeland,mike01,rodriguez,princessa,miranda1,federica,5hsu75kpot,gbgbcmrf,ragman,0102030405,fabienne,abudfv,k.jdm,mamita,hellow,babygir,santino,carthage,raul,corsica,moonshine,chrissy1,touch,lucien,brother1,naomi,uzumymw,gooddog,aquafina,carney,voland,dbnfkz,catholic,indycar,bryson,bassett,alexandru,dawgs1,123456abc,police1,loveyou2,deepblue,argent,novifarm,alright,holiday1,black123,ducati99,mannn,selene,moonstar,finnegan,contains,schatzi,amores,nbuhtyjr,sexy12,satanas,johndeere,ultraman,samantha1,ocean1,dbnfkbq,r2d2c3p0,badkarma,teejay,wahoo,funeral,random1,lenin,niggas,swallows,seraphim,bigbad,damned,baldur,wendys,racoon,peter01,marco1,hawkwind,ruffles,hatchet,vwgolf,colts,zydfhm,harding,labatt,tiger7,assclown,crunchy,redneck1,mailbox,jamaica1,cerveza,catalyst,davidd,password3,passwerd,pepsi123,open123,mind,colony,classy,lives,trojans1,blaise,shiraz,fastcars,polinka,rundmc,pantie,failsafe,iris,insertion,modem,dkflbvbhjdyf,passed,hilfiger,businka,bronco1,55chevy,caffeine,klein,cipher,qwerty77,margaux,jacker,igorek,ella,pornpass,smutty,stas,matvey,123258,253634,427900,515253,1725782,12345432,32165498,74185296,3216732167,whaler,michael3,stuffer,sphere,divorced,bartek,anteater,anette,mustang0,redshift,fenton,cableguy,killroy,kingsize,collecti,2w3e4r,buffalos,steve123,resume,bryce,xxxxx1,brutis,warehous,bayliner,axel,catter,crusade,flow,soup,kilgore,shanny,basser,pitt,kilo,charles2,smoked,pattaya,coolboy,solrac,suikoden,year2005,bench,shyguy,lumpy,gangrel,dakine,buffys,billion,develop,bushed,porn69,single1,whoopass,press,0o9i8u,gardens,marigold,kermit1,yyyyyy1,allan1,aqualung,jamison,summer01,arcade,titus,wedge,steamer,perro,ricochet,days,jaydee,liam,woodson,hippos,cumeater,chico1,jesuss,rickey,kasumi,ninguna,112233a,rand,process,pamela1,nicki,ralphy,christy1,1sexy,nichols,goldman,112233q,margit,transfor,hart,roland1,coffee1,papaya,carlson,jackets,arslan,felony,andrew12,haynes,indiana1,strange1,dart,alexandria,alessia,garth,joseluis,centre,leno4ka,saab,learning,kathrin,wolfwolf,thorsten,carol1,luckyman,tennessee,kirby1,needit,hallmark,saturn1,leeds1,tiller,alex11,mahal,gfnhbjn,polarbea,cvbhyjd,louise1,gfcgjhn,blackie1,mostwanted,heretic,loveme1,pentium4,poopsie,all4me,raziel,erwin,1qaz!qaz,anduril,resource,tail,darlin,prime1,broodwar,xterra,jimmy123,golfing1,opensesame,nadegda,ninanina,8phrowz624,chemistr,ward,gulnaz,qwert12,numlock,prison,nitrox,morozov,januar,gfhjkzytn,aeynbr,porky,lol1234,prospero,brownies,flyers1,master01,pipers,mamma,mindless,rakkaus,cobraya,mywife,darker,ytrhjvfyn,percy,licorice,allstars,kosova,angel7,memnoch,lalaland,giacomo,schastie,crfprf,arsenalfc,durden,teabag,alpha7,barakuda,stell,floyd1,westham1,pluton,bondarenko,marykay,anatoliy,wysiwyg,stampede,dane,ananda,myhouse,carissa,loveyou1,saopaulo,tinker1,jamesd,passions,dream1,mexic,loll,freeme,mobbdeep,flintsto,endless,lovegod,covenant,sound1,robert2,tigress,kabuki,capri,dance1,nessie,beers,serial,boober,trophy,zhen,phillip1,lemming,mapet123456,steak,yodayoda,vladvlad,pleasant,vergeten,funky1,calcutta,bmw525,3465xxx,halibut,incest,muskie,vfr750,hangman,yfafyz,manhattan,sailfish,summerti,revolt,righton,foxhound,budget,gunsling,gonads,lusty,h2opolo,coolone,bluedevi,boswell,yess,thornton,patter,boilers,backspac,snacks,rosalie,victo,daffodil,pussylicker,crush,10sne1,magali,chaplin,essence,pochta,redrock,sergej,ghjvtntq,blindax,197,9000,123454,333221,456258,963369,1212121,12041961,13572468,48151623,123321456,rerehepf,niceday,counterstrike,titanic1,burly,forumwp,dolly1,sceptre,mickie,mustang3,alfons,whodat,baphomet,cloggy,lionlion,kasey,bob,longlegs,flora,limpone,oldone,fire1,oilman,gwen,norm,bastos,christ1,abdulla,biff,gato,zxcvb1,kostas,hot123,fred123,starsky,dapper,good4u,lemieux,amador,thunderbird,nippon,invis,falco,conan1,lockheed,voiture,rockroll,regal,jeepjeep,parking,derby,diddle,drink,adam25,sandys,marcus1,adam1,bigtoe,hands,henderson,wicked1,laugh,takashi,ladles,ducksoup,sully,palomino,test11,grey,shroom,buster01,taste,pine,yesterday,maxfli,cabinet,dann,mosquito,buggy,leah,01011963,aruba,sabian,1asshole,26exkp,forklift,number9,jerusalem,dddddd1,dennis1,nomar5,planning,teenie,aquaman,maribel,jesusc,backs,psyche,booty1,hometown,aces,prisoner,sexton,toons,just,bigdave,request,franz,theory,away,quack,ltdjxrf,milenium,vegita,jodeci,kenya,lounge,meltdown,mammamia,caribou,postov1000,world1,anita1,pussylov,flapper,fancy,pops,name,evgenii,pump,elrond,tigger12,berkut,bully,cadets,import,limpbizkit,biceps,saphire,redhead1,theworld,points,ilya1992,culture,user345,juvenile,jumping,omsairam,speedy1,12345678901,whatever1,dustydog,yfnfkbz,afrodita,aria,antoshka,wasdwasd,ambition,raoul,arrow1,gannon,gumball,gillette,champions,acoustic,forums,charlie3,pennstate,reeder,wheel,bball1,smooth1,colombi,khalid,teste,celticfc,tooltool,horsey,hollis,zhenya,bonghits,solidsnake,oldschool,mymother,romana,longtime,01011955,asasin,matter,yfhenj,cumonme,cristiano,nolimits,galaxie,noriko,michael9,tested,delivery,messi10,lotion,essendon,ratdog,legoland,tashkent,skyline1,sargent,plague,rhfcfdxbr,asterios,nbvjif,seahawk,dominator,pleaseme,vicecity,junkyard,nokia3250,aloha1,magnavox,count,investor,amos,connection,focus1,mommie,natha,whoami,lakings,katharin,frenzy,filimon,hellohello,lauras,33rjhjds,bunnys,march13,gogeta,fightclub,franki,1a2a3a,illumina,copenhagen,denny,lopas,metalgear,thinkpad,tkfkdgo,bastard1,fenix,lovesme,swanky,lovefeet,billiard,walters,bareback,cinderella,touchdow,elise,limpopo,gussie,rooster1,coolbean,galadriel,third,rincon,showboat,shabba,creatine,dominica,bones1,intense,dahlia,fucing,123rrr,rainier,truckin,socrate,beeper,sushi1,shipping,sideways,buttplug,sorry,matthew2,searcher,hartman,jenni,chesty,nickle,your,appleton,sandi,garry,getsdown,tandem,goldfinger,pioneer1,volodya,chillout,erasmus,october2,meeting,ohio,danmark,qwezxc,ronaldo7,d12345,westlife,madiso,gfdkbr,prashant,thelast1,vadimka,mateusz,5566,10000,111666,124356,131415,135799,145632,315920,322223,555000,555556,789852,1478520,13576479,159753123,333666999,walter1,tristar,1footbal,rakesh,hayes,sandydog,mustangg,angelofwar,blue69,film,151nxjmt,goheels,puerto,gsxr600,primera,vesper,rubbing,lucas123,smuggles,peoples,cisco1,bethan,cwoui,aaaaaaa1,schneider,ketchup,version,nonsense,psychnau,valdepen,bantam,petter,hateme,memo,charm,dupa,shadow2,kirkwood,dragon99,party1,anselmo,camara,schule,sting1,ultras,weapons,level42,walker1,roygbiv,skazka,fifty,scottt,snoogans,adelaida,1batman,2wsxzaq1,glove,yogurt,noonan,vols,boring,satchel,raisin,wrong,curly,1killer,indica,dina,liver,pick,trustn01,splurge,obrien,chisox,cretin,fairway,crimson1,rapid,alec,kovalenko,passfind,forgiven,wisconsi,letmein22,ballgag,elite1,boss302,carwash,mike11,nata,derevo,makoto,carmelo,asphalt,mavericks,lineman,asssss,stink,nikko,sailor1,azteca,tartan,erfolg,cavallo,agyvorc,warden,twodogs,melon,joshua12,behemoth,price,123321qwe,iloveu2,remy,romain,audi100,tuffy,7hrdnw23,chosen,ghjnjrjk,sixtynine,flossie,swansea,maroon,marsik,horus,bluebear,8ball,titlover,kilkenny,jackel,agnes,glen,reset,mycock,cfiekz,rice80,zaq1xsw2cde3,tuttle,viper123,destroye,zcxfcnkbdf,baraban,teres,satan1,mariano,chocolate1,ashlyn,abigail1,codeblue,dunkin,slayer666,haley1,minotaur,scoop,tales,havoc,goodstuf,argonaut,annabelle,lucky777,number6,leilani,baldrick,nitrous,metropol,hernandez,adonai,footbal1,juancarlo,fuckyou123,pipiska,agnieszka,armitage,bubbaa,indonesia,empires,arioch,favorite8,bartlett,cognac,sauce,master11,apelsin,powerade,chobits,shadow11,parliament,bladerunner,batigol,charms,tracie,firework,language,besiktas,baltika,vfvfvskfhfve,01011962,1a2a3a4a5a,gilmour,mackey,salt,orlando1,isabe,aleksa,gfhfljrc,krasnodar,lunar,blink18,topless,makarov,tarantul,meaghan,overtime,fy.nrf,davecole,jetson,wonton,mousepad,browneye,talent,brenden,schwanz,anderso,violeta,ecstasy,browne,brianna1,nacional,dfghjc,red12345,vfhbyrf,mathilde,doodie,yukon,kiko,venezuel,kochamcie,vthctltc,buddha1,bianchi,favorite7,famili,wildcat1,hounds,aztecs,k123456,andover,goodone,ryjgrf,metalica,skateboa,pieman,shooter1,olivia1,silvana,orange12,redbeard,paulus,louis1,nectar,rocks1,sampson1,colour,schwartz,theflash,perez,natalka,hitter,fucke,nokian70,nfvfhf,tyrell,pass99,lugnut,omanko,gy3yt2rgls,fuckup,oscar123,derrick1,side,grant1,embassy,riviera,nomads,stew,femmes,zhua,puddle,asd123asd,jackman,cubano,carly,myangel,scruffy1,brutus1,bizarre,longdick,network1,clitlick,raffles,1buster,fathom,ghtktcnm,nosferat,fomoco,penn,dumpster,judge,dirtbag,jediknight,nighthaw,rerfhfxf,charlies,dvader,shady1,overload,kitty123,morlii,passw0r,tamuna,ladygaga,hotsauce,dmitry,dimasik,hfleuf,htubyf,100001,123369,124816,233223,333222,444777,500000,1233211,1234432,3234412,3263827,7415963,246813579,eric1,coach1,sallas,lisboa,mnbvcxz1,discreet,diabl,interex,neal,brasilia,birdie1,nvidia,rajesh,access2,amir,posture,griffon,repytwjdf,sheltie,daisymae,killyou,author,gixxer,tacit,fuck0ff,whopper,leone,nascar3,janus,sensual,simpson1,david2,meyer,plus,champagn,birthday1,grifter,vincen,asdfg1,closeup,spinach,autocad,3e2w1q,story,mill,jacks,riker,samhain,iawgk2,aztec,07101962,beethoven,chocobo,katy,greek,adrien,1lover,nelso,fluffy1,clues,eek,discount,wade,mikki,papichul,conman,ranchero,1jennife,dove,auction,waves,sassie,characte,k2trix,eighty,classic1,bodies,lovesexy,thissuck,gunsmoke,crappie,khalil,gohogs,pooch,orca,olds442,jerking,gibbons,darts,maryjo,slut69,shana,bible,gubber,moneybag,masa,cowman,ndirish,bypass,bumblebe,halfmoon,airborn,jim123,gremlins,zzzzzz1,juno,muff,thatcher,jerem,karla,lind,televizor,vostok,telecast,atlas1,davidj,relief,torment,1fuckme,aziz,pelikan,southsid,micha,picker,1harley,mormon,guide,sex1,henderso,mettss,fuckfest,gregg,kylie,chacal,foghorn,hornyboy,retail,farcry,karapuz,print,realms,tities,multisyn,michael8,sector,dagestan,qweqwe123,123456789abc,nubian,yasmine,hellokit,blowjobs,jelly1,toggle,balle,ocarina,booties,cheer,soda,boscoe01,joachim,tristan1,doggone,thematrix,wsxqaz,badlands,galactic,donkey1,commodor,kings1,soccer2,passion1,jamila,mackenzie,knockout,tess,anjali,malcolm1,bigpimpi,sneaker,brian123,winchester,main,snikers,flhtyfkby,carter1,hrvatska,d123456,only,tactical,imcool,nikitin,octavia,svetka,hondacivic,dreamers,spartacu,syrinx,afghan,brabus,marietta,ararat,timeless,sable1,steelhea,ctdfcnjgjkm,watashi,conker,welcome123,myszka,dragon7,lostsoul,jagr68,poopy1,wilso,123456h,rubbish,doodah,angel13,evgeniya,rfkbyf,hibernia,q1234567890,mansion,cashman,seren,loredana,123456789n,kukolka,sinjin,lfhbyf,pi314159,patit,farter,fkmnthyfnbdf,razzle,biggdogg,knife,oriflame,rats,gtkmvtym,totally,crisis,joyce1,daytime,rockydog,pasport,ytyfdbcnm,micke,manana,dimebag,online1,mothe,redfive,georgi,ganesha,internet1,iwantsex,rasta1,tigger01,vitaliy,ghbrjkbcn,mugwump,reporter,chucha,knulla,petra1,ashes,avgust,frontera,bigpapa,grape,tony1,ganjubas,rodion,venezia,signals,pendrago,1234567u,intelligence,haribo,hotbabe,elisha,rocketma,hammerhe,darkmoon,thematri,popsicle,jewboy,boggie,rocketman,hellome,ruger,viola,ratfink,glock17,semen,force1,margosha,geisha,68camaro,ibilljpf,kevins,bigstick,lehman,1bigdog,westie,salad,milford,sweet16,gypsy1,voyage,jukebox,jackso,riches,martino,stephy,shrike,jadzia,passage,democrat,iloveher,otters,milashka,floria,biggest,swede,matt1,hoes,funnyman,sawdust,emachines,rob123,playboys,randal,twiztid,charl,dave123,satriani,lolwut,wobble,lucky2,susann,faulkner,gospel,xavier1,suzie,tables,roderick,bloomin,rjyjgkz,johnn,lowdown,ghjcnjghjcnj,strannik,satin,megafon,thomas12,123123e,marko,ibill01,ghbdtn12,admin18533362,15151,135531,271828,777444,1231231,1233210,1475963,2234562,5641110,7555545,12233445,159753852,777888999,domenow,wowser,stroller,jerryg,014789,tazdevil,dale03,sarah123,crossbow,bigg,rocco1,abc321,08154711,critical,borg,oldnavy,freetime,001100,kingrich,tupelo,funhouse,clarion,lynne,hun999,playful,capt,coop,swat,trader12,parade,dickman,bogie,prasad,heart1,roberto1,billyb,metals,billing,013579,dave1,material,hottie1,toxic,shining,lemond,whkzyc,njdevils,mika,hotwife,hrfzlz,diane1,gravel,thunders,aman,nose,mounta1n,murat,andros,jana,inform,royale,internat,camaroz2,paper1,damager,mage,toshiba1,pinewood,dick69,1qay2wsx,2wsxcde3,nihongo,thinker,trust1,august1,jabba,stockings,elena1,egorov,hiroshi,sure,futures,boobs1,holeinon,mazinger,oneton,empress,%%passwo,vampyre,canad,pokey1,clocks,hooch,jamest,2cool4u,college1,8balls,treacle,ak1234,blazin,bonefish,pass01,islands,homies,xmen,blue45,fairview,bigfoot1,funn,cramer,million1,chewbacca,enfield,piramide,patrick2,juggle,chump,sc00ter,galahad,winter12,bettie,inches,decatur,hatfield,blueline,fishnet,underworld,piranha,nino,lager,freight,catfish1,orland,bourque,bound,maxman,jiggy,yackwin,girlfriend,bateman,interpol,sydne,tide,dandfa,windstar,tenpin,skittle,bluegill,edith,brat,lizaveta,fatpussy,isgreat,stlouis,bereza,baloney,st0n3,beckett,camaro69,wacker,jeeves,gobucs,player69,hommer,therion,cadence,beluga,polgara,samael,josef,crazy8,qqqqqq1,group,warcraft1,a123321,qwerfdsa,income,nutsack,peterose,qqqq1111,viewer,marduk,architect,mansur,mutabor,bitchin,zamboni,123456p,ckfdbr,123456zxc,mofo,allure,mclean,13579-,jacque,smurfs,truffle,marcie,gimme,jack123,qazedc,rosette,centrino,marx,aguilera,amherst,paula1,nikit,sega,photoes,herald,kobe08,wonderland,bingos,memorial,midwest,trashman,danielit,green12,asd1234,fonzie,clubber,invader,artofwar,lexicon,keys,puckett,metal666,dripping,flamer,mansell,flapjack,kassie,123xyz,samwise,raider1,newworld,organic,landscap,verify,cristi,temp1234,23176djivanfros,salamandra,vbkbwbz,ljrnjh,123456789qwerty,null,oktober,deimos,dzxtckfd,sobriety,tookie,casa,angeleye,yecgaa,hotcock,saturn5,thetachi,dickface,iddqd,advocate,nasdaq,schoo,marma,nokia5300,edition,gemstone,minion,nonrev67,amormi,godofwar,smallville,qwertasdfg,dthjxrf,rfntyjr,mashina,audis4,lisa69,stamps,astroboy,woodward,armenia,delores,ubnfhf,cyberonline,galatasaray,vbkfyf,sexybaby,hendrix1,mitsubishi,notredame,blacksun,qazxswedcvfr,vittorio,azsxdcfvgb,tillie,shakti,karamelka,shadow13,capa200,novikov,catalin,qwertyasdfgh,glamur,mobil,cathy1,devils1,patryk,hitomi,dominic1,gallardo,rjyatnrf,imperium,inflames,bugsbunny,nicholas1,vlad1996,arina,jakers,dragon88,connie1,astra1,connect1,ukraina,freezer,piedmont,bagwell,qwe789,grassy,katrina1,davidm,dorsey,blade2,bigdogg,pheasant,blastoff,ginger12,convoy,venus1,steves,pablo1,tuborg,indahous,laredo,ilovemyself,parasite,voltaire,123456j,touchme,delano,banjo,bronte,robinhoo,wallace1,seven77,newage,cummings,shorty1,jimi,polska1,laracrof,bosstone,quixote,tribes,justin12,system32,zebra1,pigdog,bluenote,nibbles,flossy,islam,sk8ter,brentfor,shari,goldmine,wellington,bassist,manner,forty,goodtimes,michi,camill,mousse,colgate,budda,wtpfhm,schwinn,holley,sincere,dewitt,wantit,humpty,exploite,giddyup,dopey,greedo,mewtwo,salute,reverb,morgen,useless,lapdance,cvzefh1gkc,mania,water123,killemall,guyute,joyride,nelson1,matvei,marlowe,driving,velcro,pusher,lfybkrf,craig1,bublik,fantastic,rocking,scooby2,cnthdf,covert,ramazan,gail,iwantyou,repytwjd,radiance,lethal,ruthless,sweethea,peter123,poohbea,volodin,olechka,kapusta,01011957,89600506779,sandeep,pablito,damage11,212223,235711,524645,555444,5550666,748159263,987412365,pissant,michael7,caddis,chicke,country1,pogo,jerrys,haters,cumload,raccoon,epaulson,perils,slurred,hermit,cards1,powerpc,kalle,ariadne,bungalow,drag,patsy,semaj,garten,brandie,tripp,chatte,jjjjj1,gggggg1,ppppp1,loading,stomper,seller,jamal,cafe,1aaaaa,john1234,aurelius,monet,man123,buttsex,gifted,merli,cuba,etienne,grainger,charcoal,eatmee,marisol,xytfu7,stand,vulture,ronaldo9,soraya,kona,homebase,yannick,take,lana,adrianne,1chris,sensatio,1george,1bubba,1diamond,1golfer,burke,mclane,conejo,edwardss,crybaby,3edcvfr4,1qw23e,terence,george12,dune,lazy,playoffs,passe,lovegun,king123,closed,andreas1,month,panchito,frantic,jys6wz,train1,out3xf,picard1,munchie,fellowes,thirdeye,alfaromeo,hellion,isacs155,paige1,joanie,dominus,hubbard,roodypoo,stars1,mcleod,oops,scooters,dbrf134,sludge,paul123,tahoe1,bugsy,etnies,jesuschrist,maverick1,dragons1,ashman,palmetto,sylvania,gerardo,tobago,favre4,hansel,thebes,vertical,psycho1,aurelia,fordman,chanda,callme,w1w2w3w4,launch,proteus,melbourn,desperad,save13tx,relax,angle,hotwheel,bretagne,arabic,trinket,starla,300zx,phatty,caspar,sportste,aida,pickett,terrace,ship,raging,madsen,marcy,vatoloco,ghostman,jedimast,pringle,futura,bungie,prakash,muncher,sunrise1,clinton1,blingbling,pembroke,fatim,arsehole,barret,slayer66,animal1,framer,bored,psychnaut1,bonito,begood,started,mollys,harlan,prairie,braden,odysseus,pizzapie,silver12,desires,alpha12,accent,reverse,driver1,guess1,wargames,elissa,winkle,give,mysterio,darkknight,actor,career,integra1,blondi,westcoast,scotia,xfactor,banderas,4r3e2w1q,crabby,fatluvr69,trilogy,xsw21qaz,denisa,yjdsqujl,felice,slimed123,kawaii,malvina,1q2q3q4q5q,sailormoon,habana,varsity,current,big123,sameer,levi,tele,spanks,indians1,babycakes,sarahs,teddyb,schweiz,mack10,rouge,creativ,scoob,wooster,diesel1,oldham,pussyeater,ghfdlf,nikita123,muenchen,sashok,yana,qwerty22,medicina,gabriella,cristia,alex22,stussy,petersen,mara,cyber1,mercy,den123,izzicam,warpten,nokia3310,samolet,reaction,scott123,whosyourdaddy,prikol,black2,egorova,auralo,japan1,rafae,astoria,carcass,bill1,tagheuer,dexter1,weeble,xthtgfirf,1234567z,kochanie,oc247ngucz,carioca,manish,gianna,orkiox.,kingair,squish,1111111111zz,tired,porn4life,anatomy,snooks,illegal,warped,slimer,littlebi,siberian,limerick,toys,xboxlive,spawn1,ignacio,gaffer,parish,rostik,lunch,baile,mopar1,desk,kratos,prettygirl,calvary,moonpie,thejoker,greeny,coyotes,cleric,riding,cuntlick,metalman,freak1,chantel,pounder,leiceste,osborne,handcuff,warhawk,temper,princeton,trolls,kailua,peaches2,minister,three3,billys,wife,cum4me,sitruc,firestor,rhapsody,nodoubt,angels1,jeronimo,denise1,makemoney,annemari,ironmaid,utvols,chevyman,resist,bungee,ready1,hugecock,refresh,tooshort,primetim,yogi,sylvester,compa,thomas2,lasher,oceans11,tugger,richard2,passing,valdemar,jetaime,bear12,yendor,toobad,goodies,death123,outcast,safe,darkwing,taylor12,wipeout,chrism,jeepcj7,nikitina,abrams,jaws,nickname,yomomma,coopers,cereal,flyaway,caitlin1,slipknot1,muaddib,nelly,123456o,ramone,dima1996,fnkfynblf,skypilot,newstyle,levani,0wnsyo0,123sas,258741,335533,451236,479373,554455,555888,741236,852654,951159,968574,12332112,13579246,96385274,159875321,326159487,789123456,1223334444,alvarez,timbo,luckyboy,mullins,asecret,booby,ramair,miss,2112rush,chicas,duranduran,hiro,gunman,daily,pescator,dte4uw,gaetano,chapin,merrick,linsey,brayden,rulz,police22,giovann,trina,candi,silva,bakers,boner1,burnley,bbbbb1,thebomb,elite11,birdy,sexslave,hobbs,ganster,buckie,bosworth,heinz,mulberry,elohim,willys,purgen,waterfall,skeletor,plant,annett,pulamea,mccabe,caballo,rule,human,disco1,itworks,santo,steph1,idiom,walk,asslick,gaysex,bebop,creep,notice,pepsicola,winamp,octavian,love22,serebro,qwerty00,eeeee1,123123123q,detail,itachi,ilove69,squiggy,w4g8at,macho,montauk,dwarf,terrie,1jordan,4snz9g,hot2trot,blue33,thug,delorean,bianco,matthew7,step,ishikawa,simeon,magyar,baldy,bullets,explode,hash,boggle,burgers,alias,pedro1,primo,document,jessika,retep,zorglub,wilcox,fistfuck,dixon,barnett,fredd,pedros,gfhkfvtyn,omega2,runner1,gorman,sexyguy,seagate,whitney1,jailbird,arrowhea,tainted,sexbomb,casablan,creek,qazxswed,moneymoney,miroslav,dagwood,showcase,bulldog2,barca,omega3,collette,polkmn,sorcerer,sex6969,pato,hemicuda,saber,hotel6,stargaze,funguy,1111aaaa,tweet,polka,weirdo,imogen,bling,adams1,conflict,ironhead,shorts,smarts,bones69,fuck777,moosey,winky,cnhtktw,fktrcfylhjdbx,poppet,char,checks,vfnhbwf,scimitar,nikolaus,mikaela,ashish,oriental,trippin,hellothe,parole,nordic,chatter,reverend,ronaldo1,oven,negrit,whiskey1,edinburgh,gemin,hondacrx,zaxscdvf,latvia,zepplin,popular,voltage,kitten1,slap,rebirth,voetbal,as1234,order,anton123,pervasive,kelly123,goodnews,astonvilla,cheval,milagro,pepper12,stewie,ashley12,cachorro,imback,truckers,sysadmin,olivetti,89015173454,mamedov,petey,rjcnbr,multimedia,daddy123,navarro,manitou,symphony,sanjuan,toronto1,emachine,fktrcfylhjdyf,phuket,asdfjk,danni1,malcom,cnfcbr,regret,scotty1,bonfire,vaz21099,sandals,reklama,violent,slammed,joselui,plover,smarties,healey,wars,roxana,stanger,sunita,hanover,genesi,frankfur,godwin,horny69,gfhnbpfy,bubby,svetlanka,cuthbert,steward,password4,alcat,odette,blue21,stealth1,naked1,declan,nagrom,yardbird,godfrey,morkovka,atdhfkm,gjgeufq,dmitrii,kisska,qwaszx123,virtua,dragon22,arhangel,percival,fresca,minako,kban667,muaythai,whitman,nyknicks,mahalko,yorkshir,rodrig,enkeli,echo45,molina,junction,guitarra,tatian,hereford,sweeper,badger1,tippy1,tightass,metro1,hoddle,jackson2,taekwond,island1,phenix,moses1,millerli,layla,cstrike,123123qwe,staple,qwer4321,division,gr8ful,feyenoord,solid,morrigan,dtythf,hello2u,apathy,parolparol,vermont1,kamehame,round,jake12,arschloch,catlover,whatthefuck,madoka,bigshot,bagger,dogfish,calcio,direwolf,karmen,jakedog,reaper1,1357911q,rocheste,pittbull,hondo,rache,roma123,bethann,jobs,bernard1,terminus,walden,trigger1,pennst,grandprix,future1,drinks,comicbook,japanes,excell,jeanie,sonnyboy,sexboy,bennett1,daniela1,twingo,moneyy,lickem,slydog,rumple,lucinda,logan5,eltoro,parties,lawdog,gibbon,helloyou,gunter,jimmy2,fencer,starks,redtruck,trex,cuties,chevyz71,miko,header,walkman,1nicole,surfin,kosher,kindbud,morrisse,trafford,update,mymoney,match,evenflow,concert,geneviev,marisha,oneshot,konfetka,knowledge,irvine,halflife2,laxman,maus,sk84life,fuck12,versus,123456789w,dawg1,denis123,12344321q,fyutkjr,ghblehrb,lbfyjxrf,dron,lollol1,kurosaki,4000,123333,123666,567765,789321,963741,976431,4637324,11121314,19844891,21125150,132465798,243462536,tommys,brandt,bmwm3,redbirds,mint,skelter,westport,rock1,slacking,crysta,soldier1,hosted,annual,makemone,indiglo,strings,antonius,legal,3some,bogey1,culo,olivi,frehley,eadgbe,talon1,541233432442,dmitri,patriot1,fish1,hoss,weights,takehana,12345e,robert12,ratchet,germaine,chain,becket,rotterda,vicente,fcbayern,pirata,toosweet,love13,nolove,380zliki,knarf,startac,milesd,schwarz,1robert,coast,4free,warhol,figment,bellevue,bayview,prizrak,arigato,sallie,scores,monica2,tiramisu,1daddy,reggie1,mambo,belarus,wetlands,practice,12qwasz,sssss1,luckey,watermel,paulo,platoon,johnmish,orange8,gump,natas,seraph,t34vfrc1991,hecate,melville,stuttgart,fffff1,bolivar,muffi,check1,westgate,hr3ytm,theraven,superdup,folder,skoal,mzepab,maria123,winifred,adagio,benning,abulafia,al9agd,oemdlg,dhip6a,cranky,7uftyx,antioch,trustnoone,papercut,energize,oriole,barnsley,alexan,hoopster,eightball,toughguy,babygurl,moore1,deadeye,fermat,azer,dalila,doctor1,mahoney,circuit,blanket,spooky1,nada,razorbac,paints,schlong,brazzers,cornholi,champagne,singing,yokohama,bigboi,kaya,brew,firetruc,thurston,epiphone,gateways,chicago2,mexico1,transam1,seven11,edwar,proverbs,bulldo,patricio,pionee,good2go,ellen1,brianjo,davida,puravida,shocking,baby1,123456qaz,chasey,warfare,durand,tremere,vfhrbp,glorious,catch,soccer15,strategy,q1w2e3r4t,stallone,payne,nails,jeter,ishtar,bugaga,arisha,sunderland,seven777,a12345a,carrier,sandy123,capitol,stringer,penner,yingyang,kramer1,chevy454,anamaria,ilovepor,ghandi,beauty1,gfhreh,asdewq,ashanti,tough,shannara,kremlin,whatisit,niunia,config,kakaroto,friendship,nurbek,buzzsaw,candid,superboy,cellular,dress,maricon,pacifica,teacup,weedman,annabel,phantasm,antman,salvation,finalfan,cogito,yummy1,sepultura,azerty123,adida,tigerlil,adrenali,hellbent,mina,guderian,samurai1,grimlock,airwalk,playbo,anklet,aenima,pampers,caller,baltimore,render,arena,wilson1,beaut,airforce1,asdasdas,girdle,rebelde,newlife1,batter,texas2,seafood,dahc1,cheesecake,rebecc,testme,swindon,izabella,123qaz123,kardon,brindle,shotgun1,northsta,sherwin,rosetta,kindness,kusanagi,diceman,junfan,alaina,shake,charlie9,malishka,aa1234,szevasz,pepit,robby,iskander,fgjrfkbgcbc,rfgbnfy,katenok,123456789qaz,555555a,a123123,cabrio,home123,dreamy,55555a,aol999,sammyboy,bagpipes,dimarik,4rfv5tgb,reward,ismael,aliska,cjrjkjdf,barsuk,froggy1,3girls,lebron,celtic1,mamit,freedom7,buldog,alyssa1,vfrcbvec,utility,butter1,mello,cfhfnjd,favorit,haha123,kellys,oliveira,tigerwoo,brewers,garrett1,cnjvfnjkju,lover69,cambodia,centurion,anime1,warzone,verity,colette,vfiekz,rediska,neptun,onclick,fidelis,piazza31,boogie1,spandex,1234qwerty,ihateu,liberal,ostrich,doremi,shelia,scooter2,mickeymouse,vjhrjdrf,rainbo,creamer,ilona,rolando,grasshop,snotty,colleen1,bauer,wonkette,ernie1,melonie,vasya,patrick9,jake1,klootzak,jake123,geniu,trouts,vsijyjr,britain,landry,later,bubbadog,mustang7,ghbrjkmyj,makarova,effect,kohler,beto,travelle,tiedup,chevron,deere,elvira26,steelers1,compusa,reject,bootneck,biggin,red1234,watkins,cuckoo,sharo,gohawks,ou812ic,000006,bobby123,nutz,yoohoo,redsox04,ladybug1,fuckslut,bigdee,mcgwire,canseco,joann,hotpants,shaw,slaves,aluminum,grizli,mylene,nodrog,adelphia,frederi,tavern,thomas01,golgo13,crime,mcguire,coffin,password69,supper,lolit,stalker1,matches,panacea,keaton,r12345,portman,prefect,lakeview,jonathan1,medieval,lollo,hammers1,towing,flavia,neogeo,all4u8,longbeac,lina,ravage,networks,joness,cinders,lesbo,jansen,albania,larry123,hansolo1,4904s677075,kirill123,paul1,jemoeder,shadow123,oddjob,reddragon,w12345,respekt,kevi,12345i,dawggy,orlova,natashka,123555,222888,224422,242526,475869,12345671,12347890,19933991,44445555,135797531,1111122222,tincup,mrbrownxx,harley01,007james,flyhigh,sonnet,cordell,love23,strike1,apache1,freestyl,barman,hardhead,l2g7k3,pollock,celtics1,juergen,soccer7,maribe,ballz,yamah,mellons,shadow69,trashy,guns,mitten,weber,andy123,cain,fartripper,ggggg1,eeeeee1,superbee,turkish,knowledg,eyecandy,eugen,engel,topfuel,budice,eatmeraw,asteroid,crewcom,blister,khaled,cheeta,12345f,abcdef1,ellie1,agustin,spectra,doqvq3,kswbdu,browns1,parke,oconnor,cerbera,anselm,sister1,kitty2,divx,phipsi,tomm,maximal,franny,marimba,juster,bulldogg,mavrick,vander,merry,meyers,1william,c6h12o6,1james,flogger,carmex,letitbe,mylord,steeler1,kosovo,bobdog,redhawk,squonk,lamar,sycamore,tigerman,moss,009900,howler,cleaver,squishy,shiny,marky,bethel,pkxe62,2fchbg,ladydog,fun123,pascale,ewtosi,aaa340,mp8o6d,tyvugq,nowhere,hard1,tequila1,hunter01,tzpvaw,diogenes,macros,marillio,xngwoj,realdeal,greeks,larrys,ferrari3,craps,fido,cheeze,chilidog,lanman,winston2,mozzer,regiment,grogan,gerhardt,astana,asdf1,asakura,people1,soccer14,webb,davidl,power2,013cpfza,bmw325i,pompier,fredderf,hodges,nietzsch,bluerose,workshop,bharat,qpwoeiruty,symbol,12345trewq,hillman,woodys,ritchie,defiant1,dustoff,ganymede,chapel,maxie,thelema,clear,satanic,beasts,1234rmvb,freelove,daniel2,aqswdefr,pootie,numbnuts,quetzal,walley,siemens1,love2,juggs,whistle,kakadu,jay123,antigua,amanda18,minidisc,blablabl,voices,razdvatri,sensor,pakistani,maddog1,babygirl1,fylhtqrf,alhambra,alastair,ukflbjkec,gonefish,biteme69,kozerog,xcountry,hakeem,bigwilly,humboldt,faceoff,greenbud,colby,iluvsex,chester2,override,destro,bosnia,blacksta,scooby12,erick,sherpa,godson,rules1,jumpman,joints,biscuit1,beaver1,salamand,chantell,change1,acosta,poli,carmela,jenny69,milagros,kailey,coffe,chelseafc,paroli,memento,gtnhjdf,roxan,10inches,t123456,felip,mikhail,0147896325,lynx,darkjedi,katana1,blackrose,falcon16,godislove,aldo,region,q1a2z3,ghjkju,weronika,rankin,g00ber,agosto,haircut,blue13,vfhvtkfl,primrose,password0,london12,kukuruza,kozlov,rfpfynbg,farrah,jacki,dragon76,gaming,grenade,cristo,brit,kasparov,flipside,kadett,12345g,memyself,gfgjxrf,kidd,doritos,ghbdtnbrb,micros,dashadasha,blue55,wesson,hellya,daniel123,savant,ghbdtnghbdtn,juarez,valerie1,rfhjkbyf,boaz,evely,kukushka,latitude,barbie1,sistema,cthuttdyf,strelec,sonechka,xtkjdtr,chicca,belochka,atlant,atybrc,rerjkrf,gnusmas,rasengan,packman,transport,eater,marjan,ulysse,scribble,cdtnjxrf,jarred,marbella,sparco,landlord,1cowboy,blackber,alvar,elnino,carguy,selen,ameli,packers4,martini1,schlampe,red321,caro,assmaste,capitan,loulo,anasazi,natash,maxim1,mrhappy,golf12,shizzle,jledfyxbr,vika123,churchill,miracles,hoopla,timoha,ricardo1,password1234,07831505,pike,monkee,bigsky,nbvcxw,foolio,saint1,silverfo,lilly1,sabotage,tackle,baller1,spoonman,babyboo,bandera,fred12,cupcake1,swan,congress,chisel,gfhfif,bmw123,xrp23q,leo123,britneys,drinking,sideshow,ppspankp,4life,gearhead,bark,jamies,kamil,rope,hooked,q8zo8wzq,1winner,bassfish,batman99,queer,rider1,accounts,etoile,kinky1,federic,joking,dannon4,stratos,carbine,jigger,gamers,scottish,biggy,temporar,stump,multisync,boing,slinger,hollydog,scribe,neuken,12345678900987654321,bella123,kari,moonie,lovepussy,sumner,kaneda,lexingto,canadien,bluearmy,wrxsti,luzern,knives,bobbo,blythe,laverne,problem,dollface,letitrid,juventu,goodfood,super7,kelsie,peterbilt,getalife,porker,sunnie,shock5,stairway,driver8,rahasia,nakita,bonham,mills,troopers,halfpint,browser,westcoas,deusex,costa,steady,3stooges,toolshed,canes,buddy12,mattman,drdoom,timing,rapids,goobers,pepsis,buttocks,lausanne,sebastien,wildrose,doorman,iwantin,bocephus,loveme2,davi,pats,squeaky,nafets,jeanine,lottery,katina,kenyon,jesucrist,ghbdtn1,skyblue,bestfriend,graeme,qazxsw21,kallie,howard1,favour,kingsley,stacy1,dmoney,washere,greenwoo,problems,debate,sharik,coconuts,ibill123,08522580,florenc,lena123,fussbal,images,harry123,katusha,20001,113322,123234,133113,135792,333888,555111,557744,1001001,1212123,2583458,11924704,12345666,19877891,25251325,43211234,123123321,titsnass,connery,erika1,heaven1,123asd123,haunted,freenet,testme2,mabel,jumble,wallis,gnasher23,regis,greasy,sinfonia,rjw7x4,wavpzt,newguy,birthday21,gabi,dad2ownu,jaspe,fleet,maui,reksio,1pillow,019283,elaine22,mrbrownx,yyyyy1,iiiiii1,hhhhhhh1,curtis1,testy,spenser,dominos,probe,phaser,adolf,wash,matte,moby,suresh,shooting,qw1234,mitch1,hopefull,piotrek,jordan12,dolfan,gnaget,pwxd5x,tron,gotlove,replay,8dihc6,qbg26i,amtrak,upnfmc,herons,bluemax,trotsky,recycle,wiking,manzana,superson,commie,herb,ford1,lamesa,bringit,camell,joonas,serene,intell,leila,abdul,alex13,hyper,qwerzxcv,grubber,canela,ichabod,vibrator,1hunter,hillbilly,westwind,hotline,snowy1,1tigger,iggy,covers,piglets,bronx,frame,yakuza,alex99,154ugeiu,crypto,clarkie,education,gandalf2,corvus,ichiro,duluth,rosalind,paramedic,scenic,111111aa,schnee,opel,downey,lustful,g3ujwg,reddrago,wins,hufmqw,hellou,meddle,likeit,manwhore,mamasita,aassddff,sexme,powerboo,cracksevi,ford150,51051051051,davey,fidget,cup2006,383pdjvl,planetx,pipo,landing,rottweil,playe,karlos,nazareth,gudrun,tercel,paperboy,draper,bochum,adjust,scranton,notagain,2girls,springst,drumline,salamat,lagoon,powermac,woaini,duckling,rellik,iiiii1,canabis,rjynfrn,vestax,burbank,checking,kira,wiseman,african,brendan1,fontaine,wizkid,dragon2,romina,easy123,weiser,hotrod1,mask,jiujitsu,buckey,backlash,quark,pennie,2w3e4r5t,ancient,neuron,porn1,270873_,wells,colt1911,chic,hahah,knocker,myhome,bulova,shingo,thisone,gordito,jennys,judas,kickit,tolstoy,dingus,changeit,winning,possible,fucklove,mozilla,chipie,doma77ns,lostone,hoopstar,alamo,cosita,strangle,venom121293,frolova,corrie,hatcher,blue01,fabregas,ambassador,miria,vacuum,free4all,vbktyf,welkom01,guessit,assa,cuntsoup,12345zxcvb,blackshe,osbourne,catarina,moss84,chalupa,gargamel,anutka,gomer,attica,zealot,madonn,golf18,porno69,coronado,kaplan,chaoss,jizz,commodore,teiubesc,vfvf123,meatman,hellcat,outlook,promethe,baikal,melissa2,anuradha,berliner,jesu,painkiller,reviewpa,pepsione,cass,frieda,montes,salina,black12,slade,gtkmvtyb,rockport,harrypot,clair,newmoon,vodoley,confuse,positivo,teddie,derek1,maid,pflybwf,humper,foosball,kipling,foxtrot1,gonzale,viviana,riker1,saltanat,kjgfnf,vfvfbgfgf,hadoken,syclone,mythos,gigolo,biggs,kelly001,hamburge,duffbeer,jennife1,saywhat,amanda12,webhompass,a7777777,countach,wembley,cumface,piano1,bates,britney1,works,seagulls,grunge,anabel,alfa156,amylee,guatemal,zamora,gtxtymrf,liberta,helpdesk,mazdarx8,gfhjkmxbr,fuckina,gehrig,scamp,cruzazul,giselle,colon,pollito,hermos,lovecraf,darien,alici,castaway,dianka,gecko1,wings1,peoria,breakers,thisisme,master2,sherman1,almera,alpacino,mall,gamera,meadows,louie1,incognito,badone,defence,victoria1,annamari,suzenet,marissa1,rollie,quality1,cnhjqrf,manunite,qwerty21,andree,dockers,purity,package,sarasota,checkmate,boondock,vredina,garci,nokia5310,happydays,landrover,kfvgjxrf,chesterfield,opensesa,crossfire,senna1,apocalypse,thetick,wildblue,dragon66,junker,transpor,spokane,nec3520,locoman0,tenni,submarine,neveragain,nokia6303,moving,cookies1,powerup,galena,moneymaker,westbrom,haggard,autobahn,denver1,shua,cycle,jasonb,gazza,official,phantoms,wesley1,1patrick,benji1,suzy,wester,fatcock,new123,sprinkle,deepsea,samsara,julies,maldini,quick1,purchase,1hello,drivers,client,shayna,interests,mets86,dryden,dothedew,defjam,billy123,felixx,scales,010203040506,number2,binger,nigga1,chicken2,libby1,kevlar,mgoblue,shakey,sparkie,paterson,gizmo123,sandrock,binkie,bubber,shaka,tommygun,hockey12,pimp69,usmc1775,open4me,fightclu,caps,audia3,kasia1,tanja,thunde,gandhi,mauser,lakers32,griff,gorgon,dragon23,bigbuck,heybaby,bridgett,lexi,iloveyou!,society,smokeweed,gibsonsg,firefighter,ozzie1,funsex,seagrave,darla,bourne,madhouse,bookmark,soloman,caruso,sissy1,tristen,[start],mookie1,its420,one,panty,broncos7,windex,dobson,bells,teri,vonnegut,robbie1,drawing,bolivia,fighters,cachondo,kasandra,chelsea2,homersim,eros,syncmast,spirit1,hayward,doraemon,chaotic,nurse1,roxie,vasilii,farting,taras,rodeo1,croatia,john11,lol12,f00bar,alpha3,samsung2,cherish,puller,berries,eugeni,tyler123,rfnthbyrf,tease,handler,pepino,montagne,patel,4wheel,graffiti,smile123,trusting,newports,topgun1,shank,perico,treat,lfiekz,hjvfyjdf,qwe123asd,cresta,sogood,tmoney,woogie,kbytqrf,lost4815162342,kozlova,mobil1,platform,silicone,naresh,art131313,45645,113355,123432,123444,178500,192168,999333,2580456,55832811,98745632,99887766,124578963,314159265,321456987,eagleone,crazyzil,kristal,yssup,dimensio,penney,blacktop,acrobat,kenton,nacho,trap,srilanka,muddy,bedtime,session,tyler2,pimple,jjjjjj1,12345678c,claus,slipknot666,batman69,finley,ffffff1,sqrunch,gobrowns,wellcome,bear123,montague,accessno,sweetie1,123zzz,irland,updown,6string,spicey,patent,tratata,iamgay,christof,buckster,gldmeo,m5wkqf,ratpack,marios,jake01,1martin,giulio,merritt,l8g3bkde,bommel,geirby,waller,sunstar,imissyou,bakery,abbie,ar3yuk3,goober1,4r5t6y,sallad,trial1,pershing,xena,manchu,hcleeb,x24ik3,razor1,scot,dummies,frigid,bobbyy,tawnee,pigs,greddy,sami,ccccc1,hhhhh1,102030405060,marks,patch1,garvey,just4you,antilles,bethany1,deadlift,gordo1,visions,shankar,southend,glotest,brianne,sxhq65,lindas,edgewise,math,abracada,drummers,scxakv,t26gn4,winslow,calhoun,shifter,3cudjz,xqgann,teenager,pxx3eftp,lada,archive,f9lmwd,durango1,hihje863,oakwood,alma,payback,george2,moldova,w0rm1,bonds,jdeere,dapzu455,chucho,password6,gabe,leisure,cuda,hicks,ballon,bare,cool99,123kat,lowlife,lovin,joeboy,alpha06,fiat,mooseman,onkelz,coffey,buckle,skooter,green2,aarons,heath,oneeye,gr8one,qwerty6,juices,merhaba,bowhunt,godboy,scratchy,sex666,postov10,mica,tooter,jimbos,2sexy2ho,cumalot,thaddeus,kassandra,stadium,rama,stjabn,katie123,gabbie,fastback,trails,cfvjktn,phone1,reliable,ohiostat,jellyfis,morons,bigbill,pidaras,brazil1,fuckmenow,bullhead,austin12,1234ab,mira,arsenalf,temporary,ghbynth,lolly,glist,ranger99,vjkjltw,utyyflbq,baguvix,phydeaux,mindy1,sevenup,qwertyu1,numark,lettuce,dummy1,dread,78girl,dionne,mongo1,sylvain,dthyjcnm,skate1,enable,ronal,hellraiser,abpbrf,donger,eminem1,africa1,access12,timex,cidkid86,cortland,aceshigh,kimberle,verizon1,ulisse,gaby,gardenia,beware,boxer1,griffen,biotech,cigar1,secreto,tomoko,testing123,shipyard,orange44,pepsimax,salem1,wolves1,qsdfgh,fall,lyudmila,michaelj,anna12,naruto12,tangerine,loyalty,michelin,telemark,shemales,daisy123,doudo,smiler,adult1,dragon10,starion,claire1,dreamon,happys,hfgcjlbz,cheeto,gemma,shahid,coope,soccer22,anonim,esmeralda,thrill,fabien,taylor2,filipp,ariadna,bluefin,kitana,frdfhbev,ferdinand,winsto,vavilon,caliber,kanada,iloveamy,lynch,gogreen,ollie1,flore,doorway,kaitlin,tallinn,disc,alphaone,cheer1,kamala,censor,centauri,mobius,moren,senha,tori,nataliya,cheap,dbrnjhjdbx,favorite5,nbnfybr,123qwe321,estella,cxfcnmttcnm,supergirl,kennet,rexona,thorpe,lthgfhjkm,wtpmjgda,marlen,weaponx,niceone,gametime,rayden,independent,arian,zujlrf,files,hammarby,grizzly1,allover,lthtdj,pollard,idaho,onyx,obelisk,asdfgh12,florid,cougar1,amanda69,television,oldies,campos,kmfdm,anatol,rockit,madeira,beasty,lovell,teache,google123,charged,planot,myers,indianali,sayangku,myriam,kongen,deadmeat,saruman,apostol,interact,cracker1,letmeinnow,frien,ishot,angelin,monkey7,11223344q,spoon1,skates,sexy1234,master99,ewelina,coldfire,vicki1,ranger01,tenchu,9inches,televisi,sherrie,virtue,climb7,mark1234,hogan1,greeneye,korea,myfamily,pickles1,heathers,paprika,preston1,welles,fiddler,nomad1,rudedog,brussels,gentry,killer7,jeepman,bluegras,darken,wire,barbarian,perfecto,carla1,operation,bartende,blazer1,cart,bobbins,blackbox,charger1,pharaoh,woodduck,coolie,dickless,thales,timeport,clones,johanne,lsutiger,freddie1,verdun,buster11,1234567890s,skytommy,jerrylee,hoboken,cadr14nu,timmie,ready2go,suicidal,well,tokenbad,hotguy,keyser,my3kids,consume,hobo,rossia,scramble,pi3141,jody,shepard,1066ad,review69,deacons,mustdie,wexford,filbert,tania,candy2,hunting1,aragorn1,happy69,paleale,com2,mule,sailing1,excel,ballbag,limaperu,racine,nashvill,kellyb,tropic,pinecone,centaur,scubadiv,tracy71,history1,1summer,nokids,starts,rebeca,raymon,boatman,billyjoe,sheri,bridges,rfrltkf,tazzzz,boness,killing,makers,games1,lions1,yesiam,thrash,nolimit8,inkjet,squids,rhbcnbyjxrf,uniden,marta1,dogbite,oklick,tallyho,homey,lars,parol1,radioman,pirate1,booner,montan,garfiel,satana666,q55555,wall,bonjou,spacey,nx74205,sundin,charmed1,holstein,polaris1,golf72,flaming,savana,mallet,petrol,clemson1,priscilla,stuff1,toro,turkey1,sochi2014,ghostrid,sexmachine,thurman,magdalen,dallastx,docto,powered,gnbxrf,raffaele,starflee,marcopol,dribble,portuga,grigio,doroga,demonic,laughter,asnaeb,gatech,njkcnsq,stepanova,nariman,egor,nikolaeva,marked,123456789g,maksik,littleton,lockwood,stepanov,mark22,nikolaev,vanyarespekt,3008,123345,152535,198200,203040,282860,654456,852147,12312345,18821221,23049307,55556666,134679258,michael6,0070,redgreen,steff,daddio,freebie,123dan,qqh92r,dcpugh,heavyd,opened,muster,danimal,redblue,medium,danthema,odie,basics,walt,level,andriy,katze,zafira,straycat,sicily,elric,johnpaul,fffffff1,lower,zzzzzzz1,wolf666,leonora,simmer,tomcat1,violence,failure,dozer,gtfullam,followme,fritter,andrew2,rudder,1charlie,nimda2k,poilkj,martel,apostle,babette,rolan,picolo,wish,siemen,masaki,d6o8pm,ingeborg,lifter,forensic,7bgiqk,supervisor,nicole2,recoil,wendel,1701d,dgl70460,sosa21,quixtar,hugger,bello,fuente,sussex,cellphon,matman,abel,lovetits,digiview,porche,chubbs,corey1,green3,missile,jacky,wolf1,husky1,ilovemom,redmond,fenster,bondage1,taggart,djgabbab,member1,bangor,herbal,h4x3d,bodine,heel,gert,take8422,christen,rebell,primer,nail,banking,waterpol,hadrian,marconi,packrat,tino,dano,maxtor,bbb747,ch5nmk,withyou,5rxypn,doozer,fuaqz4,mendez,bjorn,jailbait,bono,treeman,lenore,acun3t1x,chgobndg,rasta220,luft4,echelon,phelps,mike13,123456i,fore,omar10,udbwsk,tommy2,redcat,striker1,fernandez,roman123,revilo,macarena,shagger,letmein6,saturno,sexlover,slyfox,jambo,choose,wheat,martyn,octagon,cherr,pasquale,speeds,pegaso,jlaudio,phred,radios,borris,cashmere,molotov,dman,mpower,lookatme,dutch1,bateau,house123,pentax,radiator,1thunder,zoltan,luvfur,mugsy,bangers,vaz2107,alistair,dumber,chinacat,teddy2,gino,jenova,sokrates,maddox,redford,wabbit,asdfas,omegas,vista,gungho,choclate,mass,reese,monaro,matlock,beszoptad,smiley1,sartre,12monkey,miramar,nolimit9,foucault,cities,fktyjxrf,ssssss1,wwwww1,qw12er34,aqswde,fromage,deamon,cochon,tiesto,friendste,pollen,hardcore1,tolik,1fuckyou,apple12,guerrero,woobie,wormwood,saleem,tajmahal,gretel,pucara,demian,student1,aq1sw2de3,aidana,climb,madona,qwerty123456789,paypal,1pepper,gameon,egoist,love143,acidrain,farside1,pepsicol,fortune12,love21,talking,eden,tarheel1,simon123,password7,gander,google12,flakes,farhan,teddy123,serdar,adrenaline,vigilant,lakeland,qwertyu8,aditya,colibri,jessica0,psalms,malamute,megamanx,clare,berenice,123456789x,soccer17,gremio,tampa,kocham,guerra,caesar1,uhbyuj,gross,alyss,rosebowl,noof,lewis1,esperanz,89231243658s,costarica,naveen,millennium,obvious,iseedeadpeople,goblue1,rjdfktyrj,alpha2,douglass,courtney1,suchka,matematika,nikitka,malik,fargo,henry14,vfrfhjys,transformers,olga123,stuffy,tribe1,boobo,ratbag,devilmaycry4,another1,baranov,steinway,rahman,sodium,asroma,zaratustra,dbjktnnf,ghbhjlf,pfchfytw,mama1234,magda1,garand,israe,hellomoto,perros,drgonzo,slaveboy,imperator,dasha123,skyking,anabolic,monstr,booyaa,tigran,bongos,venkat,alligato,chamonix,blood1,ballen,freeman1,weener,kriste,ktjybl,hedwig,trogdor,charlie5,rubies,motivate,golova,ytreza,password5,gracey,celia,deneme,tornado1,secret12,simran,mrpink,mujeres,quiet,eagleeye,vologda,torsten,foxbat,andone,andre123,vehpbkrf,qweasdzxc1,murzilka,solitari,tempus,william3,forest1,lbyfvj,bratan,gfnhbr,fatty1,angler,depechemode,zombies,zanoza,ias100,hosehead,robroy,fuckass,tallman,marcell,gznybwf13,assa1234,vyjujnjxbt,serendip,avenger1,combat123654,arsen,xaccess2,midian,vlad1997,littleman,12e3e456,69a20a,minni,madras,fortytwo,ferari,go1234,huey,minnow,franca,pope,ballss,ilovekim,teflon,paulette,quicksilver,ribbon,that,zinaida,teleport,quint,bigcocks,rimshot,barbos,ghzybr,trespass,nastyboy,mine2306,goggles,bess,earnhardt,cris,startup,qwerty66,peache,trevor1,biotch,1soccer,superd,dfcmrf,curran,feedback,claudius,bassline,xsw23edc,juninho,bathroom,precious1,dunk,wander,dog1,salvatio,piggy1,kkkkk1,ryan1,cozumel,stoops,schooner,robyn1,nikkie,mullin,genuine,chimaera,dispatch,qqaazz,controls,tbone1,spyglass,jack12,poiu0987,summer06,bud420,saracen,gardener,honeyb,tweeter,findme,kacper,rescue1,itstime,good12345,playas,devildriver,kolyan,killer2,pennywise,celestia,rosey,pullings,rimbaud,pentium1,chicky,candycan,wonder1,321ewq,sturgis,hellen,primary,darthmau,cumulus,vinny,gnosis,kewl,jetset,myass,onelove1,ferrari2,bigtits1,hotels,breaks,nalgas,milleniu,mckinley,f150,holder,sunny123,hunger,leandro,paul12,hood,jadakiss,nunzio,harvey1,crowes,toyot,james23,dixiedog,poppin,kati,paulchen,scarecro,rfvtgb,skunky,milwauke,stefa,lucydog,fixit,leglover,dodger1,concha,naciona,maria6,therese,bentley1,s1107d,saints1,smell,cabbie,payment,wetone,tigger69,happyboy,marci,rammer,hoops1,misskitt,xray,theone1,porsch,aalborg,1daniel,relisys,mariso,misha1,rfhfufylf,plastic1,rfnhby,kama,steely,soulman,canes1,tilly,digger1,bladerun,keebler,ginuwine,contrast,crack1,zigazaga,iceman69,sanjeev,intrigue,teetime,gitler,sergeev,brave,radish,paol,farmall,dbrekz,jkmuf,qqqqqqq1,dilshod,gaeta,jmoney,efbcapa201,robbi,intheass,ytcnjh,mikeys,vova123,1dawg,114411,159874,171819,197000,225522,232629,252627,300000,326598,654987,667788,774411,852123,852741,5550123,7550055,9788960,19391945,54132442,456123789,456789123,1112131415,3141592654,deck,james11,michael0,eljefe,squeaker,magda,agenda,johns,gobills,keines,persia,hoop,jennyff,joschi,medlock,elektro,00133,salty,humberto,picasso1,netzwerk,ranger2,wired,art123,souris,heyman,ddddddd1,2002tii,deliver,thunder2,1ginger,proctor,charlie6,tragic,flicka,perv,golde,evidence,podaria,ajem,qwertyytrewq,2hot,badgirls,newyor,smoothy,stromb,putz,loveboat,gonzalo,oneman,ricflair,xerox,snap,milli,silvio,lucifer1,file,nadin,tweeker,monty123,dirtyboy,outlawz,nick12,043aaa,56qhxs,qcfmtz,ugejvp,d6wnro,punkie,englan,super8,1thomas,semprini,sr20det,assist,4meonly,ambulanc,wotan,galaxy1,hanna1,calvert,mutton,farmers,mark12,xakep1234,catt,diese,adler,mybitch,merkin,dogfight,1dick,howdy1,sammy12,2wsx1qaz,fucker69,corran,1orange,wolfer,jimenez,xwing,qwerty5,vatech,marias,subwoofer,seagrams,lbvekz,rudi,jeroen,wulfgar,theron,remark,stephe,arachnid,vanille,hotdamn,.adgjm,pledge,ikarus,jiggle,pockets,casey123,armadill,diabolo,horst,3ki42x,4zqauf,oneway,q9umoz,3mpz4r,yy5rbfsc,lllll1,nochance,w123456,papercli,fhntvbq,skye,dehpye,zsmj2v,david69,redondo,2n6wvq,beelch,p3wqaw,schwein,love4u,buzzers,dolittle,4money,sn00py,2good4u,mihaela,1972chev,cranberr,sesam,dutchy,121212a,beryl,carey,phuong,trickle,nomercy,gossip,susi,screwed,jude,happyme,melnik,uwrl7c,4wwvte,argento,hisashi,gsxr1100,concerto,bubblegu,green5,mellie,ernst,forest11,andrade,tommy123,florin,almost,makita,giant1,diaz,mode,passss,jamesbond007,jobber,defamer,6chid8,ptfe3xxp,roofing,airhead,pervert1,mainman,basses,adgjmpt,waldorf,elmore,cornbrea,123123123a,a987654321,globe,beasley,dont4get,kingsx,golf69,thermal,merkur,duncan1,boone,mehmet,helloworld,colin1,christos,fruits,giorgia,clarity,cheerios,qwedcxzas,tgbyhn,acerview,getty,batterse,snowing,clticic,mof6681,chrystal,rerecz,coupe,jaclyn,saxon,koufax,a55555,goodtogo,letmein7,bayside,torana,donnas,hump,ponce,ferdinan,bigbaby,honeypot,milkbone,ooooo1,umberto,asd123456,chairs,cabowabo,wrinkle5,strekoza,kfylsi,caballer,nanny,kaffee,sleuth,vasilek,jacqueli,smallvil,anna1987,andreeva,rfnfcnhjaf,okidoki,tanstaaf,edelweis,freedom3,birmingham,telnet,abfkrf,superduper,098123,crossing,findout,passer,vfkmdbyf,sadist,guster,matrix2,gold123,123a123,vfvfgfgfz,loveporn,owned,larry33,fcporto,mocha1,sampras,himera,123123qweqwe,julianna,daboss,camera1,doris1,saveme,hinata,easier,mailto,polecat,thatsit,magnetic,karaganda,atrain,elanor,naruto123,brahms,santosh,deathsta,kroshka,9638v,butte,eintrach,healthy,male,vfhcbr,pedigree,quake1,jacqueline,tatanka,note1234,bigal1,campion,sergey1,freeride,alex777,123456789b,asq321,cdznjckfd,pornsite,gfccdjhl,hikaru,geraldine,year2000,andyman,toonporn,pallas,ukflbfnjh,rusalka,jameson1,farhad,flair,luebri,koffie,kinsey,karups,rfhfcm,guita,kristjan,cummin,helicopt,shiver,eugenia,alex32,whitepower,disturbe,mercur,awaken,drakula,anonymou,gala,kryten,mierd,4815162342lost,kami,toodles,rfvbrflpt,sasha1996,ledzeppelin,rkfdbfnehf,hitech,hakkinen,gblfhfcs,1q2a3z,principe,alien1,virgo1,love4ever,falcons1,harrie,pokemon12,elephan,rhfcysq,strokes,arches,plato1,fgntrf,antonell,marusia,xxxman,dfcbkmtd,scarface1,kobe24,modano,angel777,atkins,upgrade,ruffryde,uzumaki,star11,rfn.irf,burgundy,gfdkjdf,ringo1,dannie,anguss,ghjcnj123,imhotep,gjyxbr,snail,ruslana,brooke1,chosen1,redhouse,angel22,fuckmeha,q12345678,veritech,kaos,barbaria,edwina,pongo,studio54,zxcvbnmm,zemfira,orion2,olorin,123456e,brett1,mineral,atlantida,lucky3,mamuka,berserker,antoha,lastochka,recon1,shootme,hobbes1,bh90210,fuji,mosdef,flush,surfing1,memphis1,raja,335533aa,vermin,ruff,professo,999111999q,kfgekz,aspen1,goshen,starling,awsome,f3gh65,shadows1,loveyo,4z34l0ts,tranmere,giuliano,barnet,newell,horns,sugarbea,gonzaga,gallop,passmaster,caviar,schneide,ilovehim,chaucer,kumquat,manta,gipper,banned,fabrice,macduff,stacey1,skipjack,sharkey,barking,horsesho,nokia8800,daimler,coolest,esoteric,test01,leslie1,vitali,other,july23,unlimited,bigbass,majere,loveu2,misty123,treetops,iwanna,coronet,pynchon,herzog,killall,poplar,cuisine,swimmer1,kickme,shimmy,giggs11,candy123,marylou,comic,volition,chinaman,bennet,benjie,king1,rottie,leipzig,jeanluc,fishfood,enzo,marmot,april12,juicer,saving,surround,littleon,sticker,bedpan,lima,juice1,1z2z3z,maritime,hyacinth,flatline,fordham,morphine,thorn,saitek,lancers,plumper,jericho1,slash1,joint,chrisp,brookie,colder,guatemala,maltese,twisted1,witches,grouch,cover,monkey13,tuscan,summer05,willing,drexel,cannot,madzia,blueyes,hotdog1,amber123,hurtme,p12345,bob1,jack1234,phidelt,mcnabb,darrin,hotspot,dogstar,nailer,shlong,fastlane,gobble,ohiostate,jester1,disk,koolio,harvick,glock21,eggs,montego,studmuff,blazed,peeker,protege,ripcurl,negras,count0,superdog,ranger21,blackbea,takeshi,bishop1,sigmanu,djdxbr,sluts1,grasso,disciple,kennedy1,cichlid,kingme,hoseman,march1,carousel,desade,timers,greed,katies,sickan,lasting,jugs,smith123,copycat,maplelea,dragon21,123456789qqq,realtime,inferno1,sanibel,darkwolf,godslove,karpov,travesti,zaragoza,taffy1,boards,kimmy1,jazzbo,siempre,weight,cdjkjxm,090909t,mmmmm1,ness,charlie7,brendon,dumper,ckjybr,jimmyb,melkor,nikole,senha123,allalone,totem,bollock,lolitas,juice2,tower1,sunghile,simbas,lhepmz,nick123,seldom,surrey,shadowfa,madball,crocodile,liverune,suka123,hamradio,vandam,iddqdidkfa,sexyfeet,yhntgb,sandee,geoff,natacha,geordie,martin12,bulgaria,johnso,p00kie,bitch123,cjcbcrf,franko,ballgame,dastan,wrest666,wildroid,cbhbec,qazxs,12345678z,12345as,12qw34,cdtnrf,dont,fabi,evgesha,erhfbyf,nylon,123456789t,qq123456789,kristinka,ilya,78n3s5af,lera,4rkpkt,199,3005,3009,85245,95175,153426,159487,159963,187211,197500,198000,258025,669966,775533,789520,889988,900000,1020304,1233214,12345689,15987532,42042042,49527843,62717315,123459876,555666777,0000001,nokian95,gnatsum,00096462,redrider,computador,bullride,bigtymer,zoloft,makelove,billings,nala,g9zns4,ozlq6qwm,dunn,all4you,pooker,themaster,cabin,pitstop,bruin,hobiecat,novartis,autobot,hardhat,shelly1,angola,amatuers,chelsie,bbbbbbb1,jjjjjjj1,gerasim,mole,barkley1,123www,carolcox,shadow99,topman,antivirus,abcde123,skully,unholy,manger,123fuck,jolie,bless,gwju3g,pzaiu8,gourmet,royal1,shooters,buttons1,redeemed,hugh,368ejhih,57np39,t4nvp7,pieter,1spider,vkaxcs,seventee,808state,trials,rockys,hutton,fatjoe,nameless,guinnes,syntax,87t5hdf,boeder,.ktxrf,bobbijo,kato,jeanna,1andrew,2bad4u,jazzer,masterlo,trustnoo,panocha,1bigdick,savage1,carine,casimir,zambia,asasa,smedley,redrover,bovine,fuel,suffer,grave,maggie11,lifting,angel01,cookie12,spicer,mech,pacific1,topeka,shellie,jochen,legend1,dolphin2,anelka,elfquest,harve,herpes,brooking,infinit,nnagqx,salut,socket,emyeuanh,jurgen,zlzfrh,schorsch,brianb,slowride,3qvqod,hpk2qc,iqzzt580,njqcw4,pn5jvw,whyme,wrecker,cingular,hawaii1,yvtte545,elysium,fdm7ed,cantrell,hostile,ikilz083,cthulu,wpf8eu,cicci,lilred,gallaghe,readme,bridget1,bodyshop,babaloo,zxcv12,nofx,dragan,aloysius,berserke,cohen,554uzpad,vcradq,legsex,hzze929b,uyxnyd,kidder,winter01,jamielee,grimes,turing,cobrajet,horne,babble,gravy,frannie,zaskar,jesusis,photoman,grange,intj3a,kissss,fairfax,trs8f7,issue43,epvjb6,ornw6d,tanman,vasileva,sylvia1,seven1,dime,forgotte,dauren,artwork,sanity729,stewar1,lotus7,pinner,oldsmobi,wc18c2,jodi,wojtek,birdies,rockbott,bashful,mahesh,lovegirl,super2,alicante,juicy1,tripping,flavio,jocker,chop,mongolia,omega7,bustanut,drakkar,painless,vivien,fairmont,harley12,1qwertyu,dunamis,cupid,agony,extreme1,811pahc,read,shaver,pittsburgh,red456,ducker,vespa,kinetic,joker123,concepts,patrick7,theodor,italy1,cocoloco,spaz,shirin,hockey99,martins,lawless,zebulon,wild1,hase,cane,gardiner,sadness,slutwife,eieio,12345678912,timebomb,casandra,kazbek,albundy,feb2000,zenit2011,feliks,josefina,arthu,dank420,hax0red,planet1,muggsy,cbcmrb,badcat,sergeevna,rjcntyrj,gnomes,cubase,abcdef123,westlake,bearshare,sashimi,whatnot,brandon2,kaufman,sword1,affair,aquinas,ahmad,danuta,cadaver,rjnjgtc,asdfghjkl123,pendragon,sexse,watchmen,pizza123,kudos,mateo,quercus,rossi46,vampiro,skater1,theway,limabean,allah1,peaces,1234qwerasdf,adam123,shirak,mafalda,bigten,addams,fuckyou7,mattia,cologne,erickson,chessman,savatage,quake2,sidorov,trade,alex2000,nortel,annalisa,asd12,fighton,sheppard,vittoria,elli,aero,lisa123,pass1word,hopkig,mancheste,blue56,viceroy,zx123456,didit,jg3h4hfn,bigpimpin,nabeel,tinytim,aggie1,calavera,hunter11,crushed,theboy,behind,hazelnut,gaelle,geek,rashad,salavat,asdfgh123,alaska1,qwer12345,airedale,primetime,airline,123qwe456rty,setter,rossi,protein,curve,cuckold,trivial,cierra,tonino,becks,1234567890qw,olamide,vlad7788,alinochka,monkey10,aq1sw2,atkinson,wenger,alfie,goodhead,elizabeth1,surfers,amiga1,monkey99,suerte,rustem,ironpony,88keys,gogetit,tony123,vaz2109,jack11,rjntyjxtr,ghtpbltyn,awards,bueno,aurore,sturgeon,cvtifhbrb,valenti,primavera,stephie,nfbcbz,wantsome,birds,anjing,fynjif,sonic2,bullet1,11111z,sleaze,langer,muffie,nokia7610,tombston,badkitty,g12345,asdfghjkl1,cable1,alskdjfhg,bluess,solnze,00007,poonam,teens1,milen,kokakola,girlss,ibragim,becca1,countyli,djljktq,1234567d,gsxr11,badminton,nervous,kalinka,vjybnjh,lupita,ghjcnjrdfibyj,lollone,gojira,blowme69,semenov,dfktyjr,smitty1,zinedine,lightsab,magister,qapmoc,cakes,lenovo,phenom,dragon5,fedorova,mom4u4mm,hjlbyf,parabola,mechta,danil8098,lookie,orange77,mcdonalds,coorslig,cobblers,redriver,triforce,regular,hecnfv,doggie1,gilberto,guillaume,galactus,reshma,guinea,sevilia1,pebbles1,nfyufh,youwish,r3ady41t,bailee,austi,cutegirl,taipei,blackhol,green11,olddog,davros,oliveoil,sixnine,chiron,fredi,shelley1,omega123,repmvf,bent,heroin,dogbreat,heythere,pikachu1,lovebird,sorrento,maggie2,curtain,underpar,tiger69,santacruz,ottoman,baxter1,carvin,mcbride,doggysty,hinton,condo,simson,techie,goterps,grendel1,jeff24,nitro1,1superma,horny2,welldone,global1,coonass,grady,feynman,pupuce,godisgood,br00klyn,dunce1,gbpacker,sexmeup,bucky1,skeet,broke,payroll,connor1,compaq12,sending,shaggy1,briand,crm114,dynastar,lyle,etower,suntan,sammy2,vision1,chrissie,mudder,chris22,cab4ma99,kitte,klimenko,hotmom,megabyte,strummer,nascar88,bears85,ghostdog,queenbee,m6cjy69u35,froggies,lonsdale,smiling,thor5200,hurricanes,snipe,goodfellas,123456x,kinger,talons,pussypussy,peluche,cherub,rusty123,railway,grommit,diciembr,april10,moody,machine1,sonali,baseba11,mikey123,hardtime,littlee,methodman,tabby,ponies,comcast1,1pass1page,stymie,mckinney,shitbird,heave,sharkman,anus,ouch,tommyt,joker69,summer20,nashville,johanna1,tomatoes,gibby,yasmina,pennys,goddess1,squid1,bomba,slut1,zombie1,winkie,devlin,only4me,cccp,starlet,sweep,brody,aeiou,leviatha,ghbdtnbr1,misato,joshua2,bluecat,dongle,gretsch,draken,lifesuck,kerri,k12345,sade,diego1,santa1,jordans,moveon,bomber1,stomp,ridley,offsprin,ultra1,1qa2ws3e,nbvjirf,blue25,less,ocean11,brend,lepton,provider,hungary,marek,gocanes,fausto,getlaid,3syqo15hil,leonard1,brethart,chrisc,longwood,shaven,sleepers,yamamoto,asterix1,recent,damia,diosesamo,crackhea,sundrop,mexicano,moogle,nosaj,kaizen,fullsail,pallino,azathoth,dantheman,kariya,intranet,masyanya,emanuele,bigdeal,save,webster1,1qazwsx,sense,soap,javaman,tinkerbel,buttmunc,gabriel2,dima12,silky,kamehameha,sellout,essex,bysunsu,huskies1,12345ta,jesuit,stratoca,d1i2m3a4,maverik,lebedeva,njnets,manisha,vjhjpjdf,gjkbyjxrf,zxcvbnm12,kuleshov,freelanc,magazin,external,kamran,rfhfntkm,rizwan,munkey,himmel,ybrjkftdbx,hawkmoon,mironova,budge,gavrik,mixail,asfnhg66,vitalya,mcardle,fhntv1998,8008,75395,78678,123580,147123,161718,181920,430799,444222,555999,557711,616913,666111,4071505,12346789,12481632,19922991,159753258,1122112211,1357997531,mrbrown,drahcir,tabbycat,zxcvbn12,11qq22ww,1sexyred,george01,blader,boome,playgirl,bosley,evad,ha8fyp,slick50,skydog,hhhhhh1,consul,sunray,myxworld4,andi03,hobby,brujah,justina,1test,birthday54,0raziel0,maine1,malena,clubpenguin,evening,buba,bobbyd,michael4,goddog,poke,autopass,deviant,master3,sarahb,dakot,sherbert,nogood,pooki,promote,11c645df,duke3d,dizzy1,pretty1,celest,cheerio,opie,qwepoi,asdlkj,katja,mase,studboy,datalore,vvvvv1,belles,herson,shay,students,womens,obscure,asdfg12,nick1234,eagle123,123red,sonnen,bowers,timber1,lonely1,areyukesc,arlington,genevieve,watch1,14vbqk9p,ab123456,adamant,jamesr,4wcqjn,6bjvpe,863abgsg,qn632o,actors,wilton,bigb,turbo2,braces,psswrd,paganini,elias,corvett1,marcio,master69,osaka,mortar,theroc,bamba,esmerald,pollo,1grand,lama,1lovers,salaam,2bigtits,argentum,radagast,bigload,nohack04,quickie,scatman,pattie,stamp,finest,cn42qj,batboy,babs,extasy,curt,swank,sadler,plokijuh,alana,front,vega,ta8g4w,beatit,backhoe,x35v8l,hamster1,ilovejen,cmfnpu,mwq6qlzo,masahiro,hubble,201jedlz,ndeyl5,mort,qwertyuiop123,geryfe,lzbs2twz,rxmtkp,zxcvbn123,spammy,facesit,whipped,drake1,gangsta1,acls2h,buckwheat,bob1234,yeehaw,griffy,crapola,2kgwai,simhrq,rolex1,sabin,fett,gerry1,ffvdj474,monster2,r29hqq,international,dukedog,richman,mac123,551scasi,arcturus,omega5,lacey1,transformer,golfer23,footlong,azalea,screwbal,independ,slice,celin,outdoors,clark1,pain4me,primetime21,2b8riedt,ssptx452,wanker1,barbi,sunnyboy,tmjxn151,yqlgr667,half,beulah,thunder5,doyle,13579a,raygun,bluered,bree,mumbles,atreyu,stage,michae1,mjordan,fabolous,spring1,michaeld,aldric,stick1,trekkie,gambino,filibert,auntie,pussylic,jq24nc,jardin,schalk,retlaw,qcactw,dflbvrf,matt11,wardog,sasha2,cntgfirf,heathrow,digest,kissarmy,3mta3,chumley,happyone,devin1,michael5,batman01,bowden,mmouse,benedikt,hunter123,klausi,romantik,manny1,chazz,lazer,woodruff,boeing74,millard,1scooter,cronos,mike77,grand1,flights,fourth,hiphop1,paloalto,schnapps,davidk,peterj,elementa,teodor,quickly,kafka,lotte,zeta,dcunited,cubbie,wanger,babes1,horses1,.ktymrf,mecca,submissi,mouton,marcopolo,supersex,azimut,goto,charlie4,kolya,rafiki,1austin,fuckhard,limpbizk,crownvic,poppa,luisito,davido,biggirls,smudger,tbirds,j12345,odense,alan12,aqua,canibus,cheese12,kelly2,glitch,aaron123,hackme,archana,mather,amina,ibill,jonnie,getsmart,masons,urchin,postit,zonker,pass11,money4me,warchild,bmw540,amadeo,ilaria,shadowma,stalingrad,koetsu13,burnside,mamabear,beirut,connecti,cfvehfq,samapi,guyana,viscount,stoke,charmain,beaufort,pericles,dolomite,genera,servus,altoid,vance,bangladesh,jodie,andrzej,james7,monkey77,master22,viper2,atrium,balefire,bowling1,sumerki,revival,desperados,matahari,ybhdfyf,maman,admiral1,gerrity1,netware,support1,challenger,sonia1,maritza,stripclub,patrycja,canberra,tissot,sagitari,djhjyf,splunge,triumph1,invasion,sex1234,chubby1,cojones,flushing,ariel1,gfhjkmm,golakers,237081a,evgenia,zx123456789,hellothere,inessa,soon,saun24865709,kbcbxrf,insuranc,mercury7,jojo12,strutter,aguilar,hopkins1,x123456,love777,salma,novembe,iluvporn,valter,snakeeye,hapkido,pupper,labatts,fiction7,bruins1,noshit,sayana,thirsty,sheffield,bvgthfnjh,tennis12,booze,poop12,apokalipsis,111222333a,cumshots,annelies,aventura,berg,hoot,subrosa,wildthin,666666q,lifesucks,phantom2,palom,shakir,cfvfhf,cthuttdbx,alexsandr,cnhjbntkm,sasha2010,muhtar,lbhtrnjh,rihanna,maldives,m1234567,fallout2,frida,haddock,hbxfhl,perfume,vasquez,mahalkit,modesto,jerico,kalani,critters,spider12,sasha1995,backer,gjhjctyjr,minimal,talley,hotboys,lindaa,1silver,killie,morris1,vfrfhjdf,serafim,sherif,cnhtrjpf,martina1,karsten,cvetok,moremone,sexnow,poopies,swetlana,magica,mom123,goodwood,sdsadee23,solei,1pionee,marmelad,maynard1,qazxcvbn,secret123,nikusha,yfcnz123,anti,calais,madison2,masterca,q1w2e3r4t5y6u7,avatar1,comet1,kirstin,andrey123,thames,dalla,deadwood,woland,corrina,angel11,blasen,mynewpas,cambria,realm,maiden1,vsevolod,pankaj,parrish,taltos,wildwest,teaseme,antosha,4z3al0ts,tekila,shygirl1,salam,wildstar,homer2,arseniy,raspberr,ashland,steamboa,bmw330,buzzy,chicos,phatass,tecate,metros,shelli,arsch,sandmann,peartree,snapper1,idontcare,fridays,killians,dice,scampi,drumset,gagger,pappas,balzac,dupont24,kimber45,heller,letmein0,bangkok1,parris,glock22,bearman,gorilla1,romeo123,clarice,eagle5,liberte,jason2,enigma1,tubitzen,newfie,della,economic,casey2,ville,lilkim,gilgames,akira1,nitwit,pole,123456789f,deerhunter,trippy,brass,batavia,batman2,soccer9,emerald1,nicolai,brittan,battlefield,mike22,pulse,renard,wladimir,dibble,elvin,nnnnn1,orbit,ambush,spawn2,shithole,hello5,strat1,plenty,mittens1,datalife,copeland,boodog,708090a,domino1,summer2,kendal,locke,krueger,pudge,eagle3,lochness,sargon,chimpy,carlos2,snooze,exposure,crotch,hardcor,hermosa,shots,montess,longone,elenka,everything,laundry,jeannine,london22,nemesi,speedrac,sabbat,crippler,lisette,sarge1,777angel,maxwel,mitzi,bitch69,sony123,getiton,mastiff,culver,developer,filipino,gordie,slurpee,hurdle,foxglove,michaelc,sugarray,peniss,nothin,spacer,vbrjkf,pipper,shanks,gear,moleman,mila,mustang4,fatdog,necron,maddie1,chomper,snooky,clambake,sharp1,chochoz,rodolfo,cubfan,familyguy,sales1,manpower,boyscout,scipio,eagles05,binky1,phobos,bistro,loser123,kenny123,evolve,luvbug,alohomora,beard,spade,holler,kimchee,pound,labrat,sheffiel,target1,choco,purple12,diablo66,bumblebee,undies,summer11,london99,karens,seaways,fish1234,undergro,xzsawq21,sellers,kemper,shell1,malibog,foxx,like,vovchik,natusik,cortes,hadley,fucker11,roaddogg,buckfast,cooley,jello1,inspecto,torre,jackdani,1hammer,patrick8,pittsbur,micro1,jamie123,boscoe,hellrais,sharps,ownsu,23dp4x,killa1,torrance,synapse,cardiac,leaving,caterham,1234qwert,masterch,spin,cirque,watts,halley,popolo,mixer,bujhtr,cuddles1,ownzyou,volvos,crazy123,morehead,griffin1,romanroman,valerka,d1lakiss,edward12,soccer3,thomas123,ownz,zaq12ws,hellspawn,yanochka,dantist,doc123,wiggins,098890,mamulya,homeland,programmer,shutdown,dima1997,nakamura,4506802a,qqqwwweee,holden1,lovestory,lenusik,qqq123,dicanio,loveu,fastfood,mimi92139,ghost123,shani,sandal,leanna,jimmyd,mrclean,hendrik,r123456,pierr,pernille,0137485,kodaira52,klingon1,eistee,rebrov,vfrcbr,irontree,olya,ramesh,989244342a,5005,123963,198500,247365,313233,331234,543216,996699,1010101,1123456,1234565,1234576,1598741,2741001,12345600,52678677,55667788,77777778,123456781,0003,doromich,pornoman,gogirl,gracelan,poopface,1wildcat,1compute,chris11,chaz,10inch,letmein9,686xqxfg,04975756,docker,pilot123,folsom,090808qwe,bloom,nastja,artistic,danijela,pajaro,wilfred,klep,reccos,serval,fire777,babe23,cumnow,sunfish,i81u812,workit,warrant,whippet,baum,punky,withlove,starfuck,nederland,xholes,cecelia,burton1,demented,1zzzzz,brando1,1aaaaaaa,pottery,diggity,11bravo,hackman,alpine1,luojianhua,email,comments,smasher,janette,495rus19,jack22,caveman1,wer123,123xxx,griffins,larryb,wiggly,holy,kugm7b,giblet,npyxr5,etvww4,eyphed,pktmxr,vdlxuc,xjznq5,number7,bently,snipes,arkham,karma1,emiliano,majesty,kiefer,redbarch,pravda,operatio,123456zx,vitesse,nokia6120,markos,schiffer,viktoriy,adele,golfin,sweet69,siamese,eternal1,dave12,darrian,acces,drakes,monker,mission1,1eagle,maddy1,bootcamp,user1,gestapo,shilo,gertrud,csfbr5yy,ewyuza,toosexy,royston,pinggolf,jamesc,mifune,twice,lucky5,handbook,jumpin,bingbong,vanman,accident,gandal,ywvxpz,mick7278,9skw5g,vpmfsz,yxkck878,qhxbij,xirt2k,565hlgqo,north1,br5499,extacy,egypt,gimlet,abyss,demeter,4_life,8womys,ms6nud,fx3tuo,luv2fuck,arsenal2,ponder,puschel,7kbe9d,nt5d27,chbjun,gsgba368,ztmfcq,darre,russia1,greeting,utah,pioneers,bartjek,poppies,pussy7,aron,absurd,sieben,annette1,mccoy,twitch,muppets,mako,maggy,dually,erebus,satan66,qdarcv,taboo,pattern,80070633pc,stryder,coolkid,sucker1,alfred1,getnaked,fellini,parallax,vball,orions,kayak1,davidkin,stabilo,tibet,4all,bozeman,satsuma,allthat,wiley,ingram01,klem1,cardenas,plazma,spjfet,thered,freya,sams,whitedog,emotion,audio1,torben,portos,mowerman,lacy,gowest,fylhjvtlf,cabibble,sauber,l8v53x,papi,midnigh,friedman,nantes,fred69,nemisis,minou,ciscokid,makeksa11,kwan,rimjob,camar,nightman,ivanna,medford,multi,schumacher,ragtop,trying,polarbear,whacko,filler,scotsman,pepita,bigdadd,nighthawk,darter,hogs,crooked,johnny69,bancroft,octopuss,nester,bonou2,prentice,stiff,pillar,grandad,a123,allstar1,alesis,fleetwoo,almaz,aa12345,angeliqu,chilton,skank,55555q,poi123,weldon,hacker1,delrio,barely,scarlet1,urban,newpoint,ptybnxtvgbjy,agency,aleks,belial,night1,albatross,star99,briann,abc123abc,qsefth,blackbur,bonit,bahrain,alegria,suzuki1,kannan,lobito,thisis,mcmahon,gfif1991,piggys,palestine,linger,mellissa,jujitsu,lambada,kayaking,alex1996,annushka,mighty1,response,loveable,mariann,mulder1,freiburg,kindbuds,croucher,123as123,jack01,qweas,snooper,gladston,xpress,lickher,blenheim,excalibe,zidane10,tasmania,loopy,gemma1,malaika,tycobb,shearer9,chrissi,russland,bibles,roxette,biteme2,eae21157,score1,chase123,compound,moroni,nite,temporal,123zxc123,tassie,quicksil,bingo123,elefante,hot,rocky6,adriana1,teamo,aa123321,porthos,healing,vertex,forbidde,timofey,fumanchu,levin,psalm23,danville,evgeny,samsung123,asshat,123654a,timofei,sylvan,blue66,rfnfgekmnf,carolyn1,papero,poiu1234,nfvthkfy,wwfwcw,albacore,raintree,demigod,notoriou,anyway,12345l,isobel,yfgjktjy,lawton,pthrfkj,fyabcf,juggernaut,rashmi,aliyah,philly1,wise,aristotle,ghjgecr,gulmira,millers,dallas12,zaqqaz,12345qq,millenni,hoppy,cowbo,dexte,bassman1,shirley1,cinzia,alberto1,barne,redhook,larinso,chile,june22,password13,kamasutr,123a321,karamel,georgiy,angelo4ek,zaqwsx123,alex1990,mydream,undercover,1236987z,antiques,ptktysq,alternative,lavinia,candela,denial,cleavage,highwind,wishmaster,alisa1,viktori,nightwolf,hikari,lovesporn,ponchik,rascal1,mercurio,garcia1,lasombra,jaredleto,lombardi,putang,damascus,pridurok,maggiema,invalidp,madeleine,polniypizdec110211,one4all,sasha12,kaulitz,qwasz,logistic,beehive,rosemari,californi,kendrick,celestin,avalon1,12345n,allanon,gatto,boost,breakfas,dfkmrbhbz,already,qpwoei,holding,bmw520,amsterdam1,pegleg,alvarado,winni,lament,kondor,summer10,patchy,thankgod,1girls,collar,medellin,ducks1,filipe,123456789qw,archibald,roar,asbestos,drunk1,janell,corset,silver7,abcd12,lalal,episode1,buttlove,1qa2ws3ed4rf,stupi,jetbalance,guzman,loophole,moises,blackadd,iamtheone,bonobo,pennies,informat,midnight1,qwertyuiop1,huston,azbuka,carrera4,snuff,dtlmvf,jesus12,zackary,1chicken,strauss,gauntlet,sinead,rawiswar,stronger,ivan123,bannana,potomac,aprils,rusrap,governor,harris1,hutchins,rfghbp,pop123,paradoxx,buttface,lietuva,friend1,dinesh,fenerbahce,kenyatta,hornyone,spanked,hater,maniak,teresita,love2011,vern,skaven,caspian,alizee,bagel,baggins1,bradly,rancho,mouche,petro,ichbins,exit,gertie,amandine,henson,seventh,ferrets,ascona,shortie,slippers,focker,chigger,james01,chiller,biochem,0range,scott2,teardrop,bane,krauss,forte,bassboat,watches,wankers,carpenter,vitara,yeager,warrio,brooks1,farmer1,beachboy,benson1,mayberry,trustee,sudden,simonsay,katerinka,holbrook,kender,district,verycool,prufrock,12345zxc,djamaal,logic,gangst,lizards,bassmast,domin,snider,kettle,holymoly,laramie,zaxxon,hazzard,mcgowan,hamsters,supergir,miata,crafts,m1sf1t,hamburg1,boobies1,nairobi,monmouth,atlast,brady12,foothill,kenney,thehulk,1david,sparky12,bobble,trainman,ruckus,gonoles,tardis1,cruzer,hornie,babycat,oakland1,me1234,retarded,billyd,chunk,canoe,jeff1,dirtyd,jiminy,sandler,sing,fatcat1,serpico,freud,harri,playaz,gadzooks,pornogra,dragnet,marge,beertje,solstice,z123456789,assword1,newpassword,console,gasoline,catwalk,tigrenok,micah,poppen,sexdog,spruce,sacramen,corrine,bonk,lisbon,discgolf,flynn,kmg365,mariachi,tinhorse,rfkmrekznjh,pieces,mannie,guzzi,bigfun,kissass,khorne,saab93,1access,bradpitt,monkey22,timepass,bigdogs,zxc321,community,greenwood,shaner,barons,keeper1,highball,radman,bigdan,mandela,mybuddy,traci,ladyluck,ragdoll,pounds,topflite,bighurt,longcut,asshole2,prettybo,mitsubis,suave,snoops,slither,oscar2,yours,wiggum,favre,fartface,proust,waste,bimini,cocorico,mozart1,proline,v12345,brownie1,1qwerty1,1234567t,spooks,myshit,generation,parkway,bogus1,girlz,blueduck,pussyy,matt123,annie2,dragon0,estela,nokias,melchior,onfire,grind,elfstone,number5,everythi,cops,touchdown,redtail,evets,echoes,tiffani,technolo,bullitt,mine12,pimpin1,stanly,ozzman,paul1234,chiapet,dfkthbq,tissue,leopoldo,jaybee,puertorico,liteon,trajan,noggin,mtndew,carmella,mymusic,justyna,journal,welcome12,sc00by,slowly,friction,collier,coondog,alameda,herrera,brush,speaker1,loislane,proper,newman1,vicky1,rings,burunduk,burnett,gmctruck,1qaz2w,azwebitalia,julianne,mirela,sprewell,spaces,francais,loqse,mullen,stonewall,jonny5,profesor,superman2,rogues,kimberl,choppy,minstrel,turbine,dbrnjhjdyf,pimmel,hotwater,defcon1,callan,jaime1,duke1,fishy1,itdxtyrj,fernandes,jazzie,tatung,fraud,verygoodbot,dragos,guido1,vfhecmrf,pickle1,rfhfvtkm,blue2,rock123,unite,gosia,travi,scruff,ruger1,teeth,indeed,scythe,dietrich,korona,habitat,headcase,123456789zxc,9988aa,dfcbkmtdf,koshechka,mercure,yuki,dima12345,dickson,vitaly,maksimus,wizar,djkrjlfd,leighton,moosehea,elegance,mondo,type40,fyfrjylf,vfkbyrf,pierced,freitag,sambuca,1um83z,ratt,messer,snoogins,origami,seconds,shrooms,ranger11,vjzgjxnf,gangstar,quicken,lerochka,kakka,fighter1,asslicker,layout,musi,shivan,fuckhole,timon,vw198m2n,hanter,paska,zaharov,kaskad,mark69,vfhbif,sigsauer,v123456,maxim1935,sardor,wenef45313,3007,45454,74185,151617,199000,492529,666888,1357900,3364068,10111213,15975321,19966991,19992000,24681357,31121910,34524815,96321478,98741236,159357258,741236985,794613852,00001,espanol,caramelo,munchies,yank,1tiger,doober,maximili,gaines,swampfox,1boomer,skiman,260zntpc,ov3ajy,qguvyt,barty,psylocke,holen1,12pack,grenada,sugarbear,jlhanes,aabbccdd,neuman,blackeye,flyer1,marilyn1,drummond,nocode,costas,syphon,tiki,elviss,suffolk,bigdog69,codfish,lastone,daryl,pentium3,dionysus,charmin,ford9402,tttttt1,tk421,lorrie,silverst,1johnny,creaven,levelone,alona,anon,goomba,scotti,torey,kokanee,qazxsw1,12345678987654321,rrrrr1,desoto,sherry1,caeser,emery,jimm,suze,ashlie,qaswed,plop,johnathan,corvair,strand,adolfo,gold1,sass,hevnm4,jowgnx,fwsadn,draconis,phish420,ibxnsm,whdbtp,bonus,portsmou,marce,sexxy1,para,rockz,veedub,wong,ttttt1,keeley,tempgod,hawkdog79,nora,chaney,adolph,yourself,pepperoni,cajun1,cock1,joey1,427cobra,ardvark,lover2,5t6y7u8i,davina,1angel,stjames,eduard1,warrior2,homes,boop,xxxsex,efyreg,lysander,zaq11qaz,spinal,chris69,pigman,1xxxxx,access20,gotit,hamme,komatsu,squirter,shortsto,mellisa,sleepy1,granger,freestuff,zw6syj,saab95,ndaswf,wu4etd,artman,4dwvjj,vp6y38,bobbyg,watchdog,jo9k2jw2,oqglh565,cyzkhw,razors,honda2,house2,nurgle,fqkw5m,sseexx,arroyo,pmdmscts,640xwfkv,msnxbi,scull,ginger2,bowhunte,affinity,test99,sloopy,bagheera,angel69,beatri,jenner,rincewind,rodents,19mtpgam19,kitt,minette,cubbies1,dorina,mirjam,stunt,rabbitt,holas,woodsink,scorch,axolotl,mopars,calder,p3e85tr,alphonse,c123456,iamthema,magna,rclaki,nitsuj,poet,birthday299,4tlved,c7lrwu,sexisfun,duran,eggbert,parol999,flotsam,asscrack,buxton,fleury,mty3rh,alarm,chato,a654321,alpha5,1234567w,gena,newjersey,conrail,celtic88,djg4bb4b,tulsa,trinity3,69dude,cutie1,pistons1,snook,panama1,phillesh,jamaal,duff,beep,2112yyz,cardigan,sanger,soldiers,ybrbnrf,petr,qweszxc,qwerty88,wookie1,endymion,hund,searock6,hondo1,eyespy,rags,granted,digdug,tacos,aerial,cayuga,ballpark,vwjetta,24pnz6kc,farris,saba,lovergir,ravi,sumatra,deaddog,volt,ranma,nikkii,chris21,fudge1,bump,rally,twocats,slk230,blackmen,hiram,1212qq,mana,arnold1,hibees,omegaman,doria,prettyboy,dasha1,54321a,barclays,kjkbnf,hundred,qweasd12,vvvbbb,333z333,scheme,alemania,redsky,milf,dauphin,turismo,kawasak,husker1,oranges1,alfa147,threat,dracon,steroids,1guitar,tuczno18,playstation3,killer666,scoubidou,anthea,jerusale,trading,newton1,spycams,tm371855,tiberium,carrie1,calderon,iwantit,alessandra,flawless,06225930,roflmao,bakayaro,dropzone,academic,lefty1,newhaven,cascades,mithril,tribute,quantum1,kitsune,harleyd,sonic123,rawks,pimpshit,hades,unforgiven,delta9,rowland,ackerman,sandor,applesauce,31217221027711,prodigy1,irvin,alfie1,sachem,monkey01,123456789qq,buffy123,wisconsin,arakis,asdjkl,waddle,fireworks,fucktheworld,sexybeast,anaheim,utjvtnhbz,hiawatha,joker7,pussy3,rotterdam,mallard1,ahfywbz,joseph10,esposito,pseudo,cocoon,roflcopter,anfield1,cheburashka,ali123,12345x,rochdale,melange,kavitha,variable,goldsink,required,amanda11,cance,amalgam,hshfd4n279,abercrom,prostock,technic,343104ky,luntik,htlbcrf,dvorak,gondor,cordless,shammy,vjzctvmz,mimoza,augsburg,nezabudka,lilleke,masterchief,machin,fury,brisco,tickleme,pargolf,maloney,monkey3,combine,ajtdmw,barolo,svarog,dragon00,cyjdsvujljv,mikola,genie,jewelry,poligon,159753159753,lunita,extrem,innuendo,jacob6,q111111,sarit,deluge,monami,sandoval,komarova,necromancer,habs,jimmer,alex77,159753q,rjktcj,marija,medvedev,initial,catsdogs,king1234,ripken8,impossible,campeon,fkbyf001,rfhectkm,tatooine,ghjcnb,xzibit,guadalup,bluefox,teddys,atilla,explicit,strapon,jason12,rocko,thunder7,imhere,eddies,rectum,ber02,cara,theology,baltic,emanuela,bongo1,deltaforce,rosari,tonic,gtivr6,woodcock,hardman,murder1,monaliza,1jessica,karman,lambrett,iridium,solar1,lehigh,condition,chaton,india1,pharoh,hayastan,ammo,overland,tink,bearshar,vanquish,iaapptfcor,silencer,clayton1,bebit,titanik,isaac1,golfvr6,vfrfrf,masha123,asbury,getbent,hustler1,pear,kimiko,letitia,onlyyou,vecmrf,mrbungle,karoline,pornografia,cubby,hardin,firestarter,colole57,dreyfus,ajcuivd289,birdland,london11,taliesin,applemac,cornet,martyr,pascha,farkle,marysia,aretha,kenshiro,kin,rubyred,oldspice,dima1993,qwe123rty,fdfnfh,w8gkz2x1,godzila,asenna,cigarett,equity,steelman,salt55,hebrew,integer,bigboob,pavell,djohn11,bignose,giggsy,birdhouse,gunslinger,backpack,badboy69,variety,spankit,baghdad,12345b,squad,julieta,timmer,codydog,halo123,jordan11,buckskin,toenail,bruce2,gobama,axlrose,delicious,footer,mash,bandit12,cat,cowboys2,banjo1,words,carnal,fuckyou69,buffie,genova,crab,wichita,vfhnbyb,werwolf,flash123,civil,helloman,sillyboy,veggie,holland1,longview,latter,masonry,hound1,bastion,purzel,nisse,proceed,motoko,freeport,trstno1,darkknig,voluntee,scubapro,tivoli,counchac,bigpig,shadow7,managua,tweety1,7777755102q,biking,said,flutie,poly,fiji,harley11,mudhoney,teatime,darock,testicle,executiv,wiener,thebeach,poll,mrbean,chica,madelein,enemy,dollie,camelia,forty2,matthew8,bigdic,through,trillian,speeder,beer1,jazzbass,cuddle,weather1,poiu123,gojets,rainger,cortex,crayola,tamika,evelin,mander,love77,supra1,plumber1,crichton,lapper,invisible,benjamin1,dover1,catmando,ichigo,benhur,bennyboy,schnecke,friedric,manic,scandal,musique,course,neutrino,kartal,pikapp,hartland,wizz,caleb1,springfield,hutch,pinkpuss,tribbles,liquor,oswego,gilly,south1,1samanth,dictionary,2pac,tbones,sureshot,wooddoor,nowayout,stamina,latoya,lakers34,testit,heyjoe,henri,suckthis,bigtitts,bosto,saltlake,therat,gusher,talker,customs,ideas,delasoul,fallout3,nilrem,bigman1,newt,kickass1,theresa1,mach1,bikerboy,moonglow,sideout,marciano,nascar2,james69,mackay,loverr,valjean,hubby,roscoe1,katmandu,hotbod,paulina1,ryno23,logitec,handy,musics,strumpf,scar,bmw325is,hangover,greendog,pastel,metro2033,tombstone,bruckner,ltleirf,collants,grouper,sivart,inline,smoochie,excellent,dickies,benladen,pitbul,robert3,realty,philmont,blue77,noone,perry1,darknight,knicks1,thegame1,1melissa,bacon1,sweat,convict,finished,modems,ducky1,redskin1,popimp,nokia3230,jimjam,toucan,froglegs,incubus1,zoinks,cobaka,yfnecbr,crasher,users,winnipeg,willo,hello1234,moomin,primaver,fordtruck,yzerman1,charlieb,leicester,setup,pearce,replace,rosemarie,kelsey1,branson,makeup,frank2,buster2,cochran,kayaker,masher,ware,1taylor,1jesus,googl,lora,martin2,spear,yes90125,copter,86mets,marques,ethel,made,dallas21,sex12345,nascar20,kidman,starry,seaton,legendary,rowdy1,justforfun,pereira,pavel1,solange,verga,herpderp,primax,fkg7h4f3v6,mariajos,jada,enriqu,castello,mist,florida2,cottages,red5,lostlove,domina,robo,tumble,paris123,james99,matrix3,performa,supermanboy,rival,specops,dictiona,0okm9ijn,crapper,rhfdxtyrj,june29,jeffer,sample,jenny123,avondale,steels,mace,masturba,sveta123,revelation,telekom,s456123789,tbilisi,pirat,schumach,organ,daking,geforce,sakic19,mylov,careful,skorpion39,kinkos,lyndon,bakugan,mireille,vfylfhbyrf,novice,tralfaz,suzuk,pasta1,dima2010,summer0,green7,smurfy,downlow,marit,dimon,freelancer,tujheirf,stein,qwerty321,mevefalkcakk,f123456,aaaaaas,mendel,dima1234,dima2000,mama12,230857z,ticker,datnigga,dmitriev,irochka,fierce,meteora,gfyfcjybr,p4ssword,fvthbrf,fedor,kali,destruct,olive1,q1w2e,werty1,stasya,magomed,quicksan,igromania,francoi,nissa,spinning,vfhctkm,pashka,kim123,fnord,jimmyg,tarasova,soroka,inkognito,tishka,karinka,kala,jonson,shock123,semenova,hatesyou,m69fg2w,unable,tujazopi,consense,99941,119911,123645,123777,133159,144000,159123,215487,234523,246800,272829,555551,666000,4500455,5552555,7558795,8318131,12332145,12435687,14938685,15975346,38972091,40028922,51842543,123452000,123455432,123456780,333222111,heman,chessmaster,amekpass,007jr,petros,zz123456,chach,martin7,huffman,able,herve,hoagie,emilee,72d5tn,yippee,chow,dragula,airmax,sequoia,jarod,hallow,celebs,amy123,torch,nicolas1,pinga,bassingw,gerda,delia,crocker,b1afra,1iiiii,sparticu,counting,jeanpaul,sobeit,sloth,davidg,jeffie,justin11,fantomen,1starwar,1hockey,cricke,fake,beefy,vixens,1zxcvbnm,starss,elle,innow,roaddog,gobbler,glueck,happy12,motorhea,helloween,reba,21crack,maurice1,elocin,perky,firefly1,123456789aa,epwr49,geeman,underwor,abarth,locksmit,d9ungl,volvos40,7xm5rq,arwpls4u,gbhcf2,sigmund,de7mdf,jakob,alphas,euskadi,rogue2,ziadma,demond,m1911a1,gridlock,lipinski,dora,rainbow2,ou8124me,rulesyou,firetruck,kell,1chance,seminoles,fasted,jessica7,all4u2c,godisgoo,euro,gsxr,seiko,freddy12,candybar,abc456,jona,carla10,cucciolo,cornholio,yyyyyyy1,webstar,inhouse,rivaldo,1phoenix,kattie,calvi,qrhmis,checkout,vetteman,buick1,waqw3p,2004rj,delta4,ptbdhw,orbita,redmoon,guppy,darby,qcmfd454,tusymo,nevaeh,stucco,area,nbvibt,gethigh,kqigb7,2kash6zq,dlanod,spotter,mangas,duke11,finch,pokesmot,amoeba,lenny1,rockfish,md2020,daveyboy,ricker,pyf8ah,1bailey,sandbox,slickric,potatoe,d9ebk7,curves,sangria,wp2005,lagrange,auditor,jalal123,fifth,sometimes,atheist,cossie,nikolaj,deidre,ogre,rileydog,meditate,boutit,i62gbq,tape,civics,bigman2,maples,girl78,foggy,hemi,sharing,ajay,corbett,aster,lunker,slime,paste,hello99,construc,join,jman,elton,luvpussy,dick12,holliste,cxfcnm,braindea,bravos,squadron,baird,noble,goddard,bolt,shore,rola,tawny,marlena,airbag,ipanema,naughtyboy,herschel,xakepy,sky123,phlegm,arnhem,homewood,yukon1,jimmyc,hogger,nobby,bipolar,germania,geelong,tijger,bob666,scholar,texmex,admin2,energie,foley,cockring,replica,steve69,snickers1,milosc,convert,bittle,andretti,oneday,cocteau,happy7,tate,shetland,carlos12,balla,goatman,wellness,sandokan,peedee,pendulum,yummie,chrisd,lawnboy,bobbyb,kinney,ktyxbr,phisig,oldsmobile,davex,nicklaus,dfcbktr,mystere,handel,zorros,kimba,sepultur,sicilia,taka,romeos,manyak,nowwowtg,1a2b3c4,heartless,netgear,my3girls,fktdnbyf,hooch1,shadow1212,soccer21,nopasswo,suarez,elloco,pusser,zara,1joshua,hondaciv,tempest1,alakazam,duffy1,money01,villa1,hej123,team3x,nolimit5,hacksaw,verde,biohazar,bmw323,tellme,august2,borisov,spots3,going,brehznev,casper12,pilar,ilovelife,homedepo,caterpillar,noise,ripoff,sk8board,hannah01,leviathan,janitor,1234567890qwe,peternor,bailey12,peewee1,atletico,cubswin1,academia,acadia,qzwxec,hardbody,bonds25,renton,fruitcak,maduro,dudelove,qwerty2010,freaky1,ecstacy,el546218,fabiana,deion21,kappasig,florian1,anathema,superpuper,gilbert1,birch,casper2,8letters,template,acuari,tvxtjk7r,rubens,xenocide,rutland,sasha1234,barrys,beaver69,nikki2,dcowboys,yessss,overdose,cfdtkbq,kzueirf,blackmag,tuffy1,codeman,gamma1,roger123,g00gle,agbdlcid,jesus3,malawi,vitoria,roshan,hfcgbplzq,1qasw2,rattolo58,green99,batata,merde,dnstuff,april17,glavine,bubble1,passw0rd1,christer,mike2,moosie,football12,dmb2010,king69,h00ters,hedimaptfcor,mateus,calient,tomat,pollit,juehtw,kalima,turk,twisty,richer,azertyu,gotika,pdtpljxrf,assman1,1234567r,angel5,uniform,hockey2,herkules,james12,sausage1,zorba,poopers,sharingan,pozitiv,jaimatadi,mossimo,rfcgth,fuck1234,lovehurts,turd,washing,eric12,juillet,rajeev,football2,sanandreas,lisa01,creosote,amista,piligrim,dragon77,electronic,trujillo,dragonfire,lennie,alessandr,az123456,elenberg,cosmopolitan,cassey,enamorad,alevtina,mancini,gfhjkm2,hip-hop,elektrik,jasond,qazedctgb,kasimir,salama,nadezda,mausi,ilovepus,zxc12345,roadstar,kaspar,sevastopol,annies,autechre,browncow,beautiful1,nazira,rjpzdrf,djkujuhfl,vaz2106,twinz,cheri,lildevil,danube,redknapp,mariela,vito,greats,tester1,milligan,stiffler,1fucker,bill123,altitude,usmc69,alukard,sailer,esteba,iamhappy,bayadera,sashas,pencil1,zachar,sweetp,soccer99,eatcum,ambient,roksana,sony1234,azerty1,zaebali,shitass,inspire,westward,arriva,cyecvevhbr,loreal,jessica8,anamari,frfltvbz,sweethear,erevan,xtvgbjy,geneve,volvo850,evermore,moxie,chelsea0,genius1,drexler,qaz1wsx2,asdasd1,knob,muerte,strider1,sashaa,nihao123,religion,artem1,camille1,aniston,frnhbcf,mechanical,oskar,couch,pomona,dressage,kellyann,1999ar,tommi,strippers,chris99,whip,rulezz,chicubs,antonella,deleted,fragment,money7,severus,redfred,sebastian1,mcgregor,joni,redeemer,bester,rtynfdh,artemon,flood,artie,flameboy,sperry,nathan12,dukester,kenner,scorpio7,athlete,pourquoi,vfrcbv123,shlomo,gues,rocky3,4815162342a,biskit,overture,chutney,nitehawk,kroger,milehigh,crawfish,hornydog,tigerpaw,radost,myopia,oxnard,delbert,evgeni,mathew1,k1234567,bandito,bigrob,tensor,oldschoo,recruit,artiller,00197400,thebull,section8,bandaid,cannes,racecars,kelly69,sessions,mathews,namibia,vovochka,06060,retro,honeybea,11111111a,rangers9,lobster1,belova,damon1,stormy1,josie1,julian1,tally,catty,evertonf,kagome,sangeeta,torrie,starwar1,katt,spring99,outdoor,sock,osvaldo,minnie1,sti2000,herman1,holly123,superbad,ronin,buddylee,pepper01,coates,council,djhvbrc,dirkpitt,golfcart,manitoba,greener,jacinta,jeepcj5,crazyboy,danica,riggs,blitz1,master23,pfeiffer,navarre,1horny,seniors,ucla,gowings,iforgot1,townsend,lawrun,petey1,ivory,tiger01,navyblue,avemaria,viviane,theclown,makeme,roxane,dinmamma,supermar,probert,neener,rosebuds,nottingh,01011901,rfhbyjxrf,ostrov,seed,delta2,sheila1,wayland,kessler,katelynn,blue88,buccanee,chihuahu,mookie12,parachut,afdjhbn,oneill,bergerac,popmart,doherty,jessicas,curly1,varadero,redrum1,ceejay,vivahate,malaya,dieg,sharks1,joplin,carley,lace,civic1,gobuffs,coleslaw,serenade,rastafari,shotguns,trump,breezer,sitting,spankey,diggers,hahaha1,ferreira,bojangle,lyndsay,phase1,pussylip,luckycat,matt1234,notorious,horny123,thuggin,sadiedog,daddie,bigdaddy1,mackdadd,lines,lakers8,good1,romuald,budwiser,iggypop,anguilla,enter2,twinboys,knobby,johnson2,rambo123,handbags,moneymak,norcal,gripper,pentium2,specials,henrys,maggie12,domani,partytim,gracie1,pacifico,reliance,astrovan,collingw,blueballs,vortec,ghhh47hj764,popstar,zagreb,squeek,ajhneyf,ignatz,ugly,merda,january2,gunn,james5,hideaway,isgood,hazel1,oscardog,trinit,luke1,1panther,black13,1slayer,pimpi,cyberman,b00mer,fractal,randi,comeback,bladder,ronnie1,panther2,1matthew,pitbull1,drives,masters1,shelb,freakshow,milkshak,getpaid,izzy,keifer,jock,spector,biscayne,lauryn,priority,oakridge,rockss,weedhead,merle,voodoo2,johnnyb,management,sabbath1,bob101,jillian1,lyndsey,golfers,roberts1,tauchen,bobbyboy,rocket88,seventy7,durant,tazman1,haslo1,plate,france1,cocodog,wuschel,kola,dekker,pionex,boy,ryan11,mycroft,swerve,tiktak,pepper123,matthew9,joesakic,ktutylf,ufkfrnbrf,cyclops1,monger,halogen,waynes,sicnarf,hawking,valeriy,gogiants,crawler,winter11,jackryan,sexylegs,elguapo,majors,1234asd,glori,sc0tland,gaetan,mcdowell,jame,tinfloor,stratton,fishbait,5t4r3e2w1q,1scott,freddd,nougat,thermo,dill,quagmire,carly1,coolbeans,printers,chaka,reinhard,redcloud,killerbe,jewel1,rennie,fetch,fire911,calamari,blanc,calli,domenic,pariah,filters,a1b2c,gearbox,golfe,mollycat,clicker,sanpedro,oldtimer,dogday,jalisco,tayson,dreams1,fairfiel,forfree,carte,starfury,cocopuff,ratrace,smurf1,croft,fullmetal,travolta,malibu1,bmw330ci,neruda,pappa,finster,blueice,where,znbvjd,cannondale,bette,dinkle,kind,b0ll0cks,crackhead,friskie,liveevil,curious1,lancer1,z1234567,asdfasd,period,eldar,delta123,boston12,putnam,greggy,ichiban,wolf69,lvbnhbq1,topdevice,pink123,09877890,grades,slava1,advantag,printer1,pontoon,1john,qwerty10,totalwar,underwoo,123q321,billions,flame1,nfnfhby,danny123,cocky,supertra,rvd420,homegrow,gotti,flipyou,supermen,shad0w,ghbdt,q1w2e3r4t5y6u7i8,gjrtvjy,pedro123,lbyfhf,lime,kaycee,mutual,redroses,bigfella,joy123,rude,gaurav,masterof,www111,killer66,notyou,bilder,ender1,byajhvfnbrf,monolit,sweetgirl,uruguay,cookie59,shinobu,dbityrf,nelli,zqjphsyf6ctifgu,flamenco,fische,maitre,morebeer,klop,edvard,goleafs,skyhigh,suzanne1,ironroad,rhjirf,sandrin,miche,kath,midcon,viktorija,timoxa,exercise,fabrizi,noncapa0,marle,popol,speeding,redstone,olimpia,11qq11,tallguy,madri,fuzz,sanya,prono1,tyrik123,devices,kavita,natalia1,puccini,taters,gthtcnhjqrf,k9dls02a,takagi,1hxboqg2s,lhbjkjubz2957704,pulley,m0rn3,pradeep,sergik,nurik,devo2706,roman222,tamwsn3sja,6000,123423,125678,135711,183461,198400,227722,233391,369147,481516,526452,554433,998899,999998,1232123,1313666,1314520,1596357,7355608,8543852,9632147,13324124,36460341,77778888,81726354,86753099,88351132,88889999,123123456,299792458,481516234,0009,boobis,denman85,binary,napier,roberta1,007,moreland,xeon,55555n,busch,jasper12,dole,nadroj,septic,leetch,cabinboy,shines,ctcnhf,opopop11,134kzbip,gsewfmck,yhwnqc,dzakuni,amadeus1,blucher,teengirl,bellsout,pescado,ace1,freeee,arundel,showers,doppler,belgario,sexxes,rose12,sociald,beandip,1bulldog,1012nw,hypnodanny,wildside,anjana,clive,fromv,flor,eatit,cavern,1ccccc,1xxxxxx,aleksand,qaz123456,chicag,tetons,biteme12,whittier,cavscout,borneo,1qazxcvb,123456782000,1234as,drlove,nerd,1234a,cyrus1,cisco123,alfabeta,123kid,julie456,charvel,cand,yumiko,ontheroc,h2slca,apogee,clapton1,repeat,john69,yakman,hayduke,blingbli,deckard,545ettvy,bjhgfi,2wj2k9oj,alianza,alcapone,cooool,flagship,gjmptw,runway,muirhead,deftone,monica69,nabokov,hightime,natedawg,hodge,hepcat,eastwest,egon,giusepp,lights1,213qwe879,piehonkii,murdoch,footsie,fredo,horney1,chev,12345aa,123456ss,peppy,angles,suzette,nascar99,adena,stores,llib,vg08k714,baerchen,victim,tamia1,coca,warpath,finbar,openwide,insane1,1chelsea,time1,next,1ferrari,anna2000,baby2000,chew,gepard,tifosi,noidea,gfhjkm007,ontime,cq2kph,wvj5np,concordi,grouse,arschloc,qwerta,surreal,cordero,subito,homicide,89172735872,farout,eeeeeee1,dakota12,ferrer,23jordan,timoth,zachery,linda123,tri5a3,3a5irt,yja3vo,pond,1blue,747bbb,e5pftu,y9enkj,magnum1,erich,troutman,andrewjackie,shaheen,knuckle,chablis,5lyedn,zpxvwy,alina1,hot4you,dante123,uiegu451,btnjey,vgfun4,4pussy,7ovtgimc,graceful,seasons,libert,766rglqy,clumsy,tome,feli,sappho,king12,monorail,succubus,warlock1,willia1,xxxxxxx1,beercan,damngood,lalo,pussyfuck,bootsman,lsdlsd12,bmw530,1yellow,bubby1,sonicx,handjob,nujbhc,scorelan,pot420,boonie,mobster,giles,aisha,prometheus,cinderel,armagedo,ewing,brenner,dirtball,cape,tootall,thema,jesusislord,yankeemp,jupiler,zxgdqn,beetle1,sabre1,novembre,megat,sucess,forgive,bigmac1,1qazxsw23edcvfr4,123456zz,jalapeno,rizzo,austen,brandon0,bintang,fence,intimate,comander,itsmine,bootay,nefertiti,incredible,myword,annick,dukes,spatula,faerie,whoops,chakra,alexand,virgins,antler,sloane,valheru,turbodog,speak,amaterasu,mastercard,brides,dorothy1,paddy1,avensis,jbaby,hard4u,cathouse,hajime,cornflak,kswiss,onlyone4,pjflkork,frankfurt,miro,hertha,rancher,catsmeow,8uiazp,kanker,exposed,plucky,packer1,shanty,konijn,guest1,june17,slage33,hairy1,rfj422,split,socball,pirrello,anchorag,biggins,lamers,mulch,rose123,epoch,sergey123,alicia1,3xbobobo,brakes,archives,pirates1,spacebar,burr,cfvlehfr,cripple,madhuri,peekab00,9379992a,hacienda,bad123,nescafe,takeoff,joshua01,packet,shilpa,tigris,sonntag,mistydog,engine1,carter15,thedevil,rjhjkmbien,a9387670a,cellar,barbaros,monday12,dicksuck,abaddon,alex00,fatdaddy,security1,crabtree,raven123,kiran,ktrcec,1fire,sophie12,fred99,vitae,mrjones,tonedup,cutler,sugaree,abuse,episode,pixie1,ares,carton,alison1,1111111q,tops,boopie,soccer20,gerald1,achille,yankees0,love14,dodgeviper,poppys,guitar12,collins1,tequilla,mercedes1,a1l2e3x4,crest,choctaw,2110se,1adam12,holloway,chiken,07070,mummy1,zaq123wsx,ferndale,jam123,ghbdtngjrf,loveee,.adgjmptw,bandung,victoire,zadrot,mano,kingfisher,gaspar,andrew01,fcbarcelona,badbo,beam,ramos,wargod,agents,facile,andron,flutter,dagny,provence,qwerty89,precios,maintain,rhodan,sidewinder,all4u,gorodok,n123456,spelling,mcfadden,alenushka,afric,otello,flick,always1,merton,zsxdcf,slovakia,loveislife,soccer16,brilliant,asdf12345,sondra,colonia,alladin,julieb,scarecrow,bald,icecrea,hockey11,angela12,vbhjckfdf,saluki,smk7366,spray,richland,ak47,mylove1,welcome8,simplex,anna2010,lampoon,snaker,fisher1,bats,percy1,harley2,birthday5,ilikeyou,ulster,loveher,firewood,freshman,flight1,alaskan,goforit1,websters,bellas,auror,frames,putas,apolon,apollon,zmxncbv,rjpthju,kotopes,lena2010,cfytxrf,ghjrehfnehf,hingis,alex69,snowdrop,popov,tickles,4321rewq,123qweqwe,opelastra,werthrf,chelsea6,mircea,melmac,kazakov,monito,lesbian1,sioux,malkav,narayan,qazwsxedc12,teresa1,kjiflrf,hockey10,kentavr,fredrik,napoleo,liverp00l,cessna17,feature,suspende,airjordan,stang1,master10,billard,nyquist,rezeda,diablo666,karan,mizredhe,rfvbkkf,thief,yanshi1982,stargazer,julia123,mandy123,max2000,thissucks,brenton,tianna,andrew123,pass2,fantasma,amrita,winthrop,amylynn,berlit,kilian,djkrjdf,angeli,anneke,killer99,marlbor,honey2,planets,hashem,024680,1andrea,edoardo,skylin,fourier,werthvfy,antique,parool,morgan2,kaktys,koteczek,clemence,caio,apples12,chennai,anima,martyna,emerica,exbntkm,chiva,antone,obsolete,blood123,slowpoke,pimps,jordan01,francy,azalia,luthien,zasranec,studley,chuckie1,thegirls,aries1,samual,armagedd,lilia,raspberry,remedy,arturik,chelios,schaefer,dbacks,sevendus,multimed,vaz2108,dimsum,roxbury,baseline,screws,bitches1,howling,scale1,blarney,bunky,grunts,doglover,bagpipe,seaking,septembr,djembe,jail,alphabeta,letmein3,brewski,keno,david7,kalinina,jake11,vialli,fanta,heskey,geddylee,pantry,gizmo69,brittany1,jasonr,clarks,biggreen,birmingh,tracker1,wagon,chingy,ravens1,bangbus,bcnjhbz,truth1,nations,davidh,honda250,pyramide,august16,xthysq,rikimaru,fred01,grimsby,red1,goodrich,curry,millie1,tazzie,bier,firstone,lurch,hullcity,beachs,seymore,yyz2112,carlie,sidney1,bartender,hawkman,goduke,monamour,my2kids,cuban,camaroz28,wedgie,wheaties,bassie,lupus,mavrik,batman7,camillo,missed,olesia,unlimite,qsawbbs,puppie,gaydar,skimmer,fluke,orville,dario,uuuuu1,wwwwww1,confiden,bobbbb,duke01,charlie8,snoop1,blinds,macsan26,glock23,biomed,britten,hunted,carlton1,avilla,bear69,rfpfym,notime,sunmoon,gocards,shame,programm,fishboy,swamp,haywood,clarkson,judoka,digweed,rofl,hyper1,media1,renoir,bunny123,deadbeat,hol,redcross,danielle1,stanle,bluejean,kayley,idiota,banana12,killabee,rifleman,iseeyou,care,natas666,mutt,moriarty,haring,tomcat14,bigair,begin,chatty,kstate,bootyman,12qw34er56ty,padilla,gunther1,believer,zxcvbnm.,schmoe,pron,verbal,granit,honey123,password00,slicks,fiona1,blinker,dreads,shea,piramid,planters,jolanda,forster,german1,chomsky,sarenna,spiegel,hollyb,bernadet,ment,alex2112,activate,neverdie,manning1,nnssnn,buck1,war3demo,boomtown,cindylou,feldman,biffer,solara,billgate,penalty,tandy,waverly,penis123,scouter,richard7,honeybear,rawdog,mrskin,cheetos,newzealand,trumpets,lorenzo1,volcom1,1fred,trapdoor,sexy11,veracruz,glide,hardtail,corpsman,boss1,octane,racheal,bottoms,23wesdxc,p4ss,blunt420,vero,fuchs,bigjay,1rocks,celtic67,blowjob1,lloyd1,chelseaf,blocker,druids,stimpy1,reddy,copy,nasser,propane,boobman,sanche,twain,hummer1,irondoor,tractors,islanders,billybo,kingdom1,draft,nagual,drunken,christopher1,bitchedup,lucylu,buffett1,osborn,shirt,nivram,aristotl,159753456852,ikke,nando,donegal,awacs,blackpoo,bonny,davion,salazar,shields,t3fkvkmj,huevos,spank1,three11,collant,blind1,fencing,ventrue,perrier,lagarto,golf11,netvideo,exclusive,blumen,shaolin1,philips1,noaccess,mason123,jennyb,godloves,tiger12,bob12345,bobby2,younger,chucks,clint1,carriage,bondar,yonkers,tomwaits,junior2,betsy1,fedora,ludovic,poorboy,geniusnet,tuck,cfrehf,jeopardy,mcintosh,corvet,smacker,grosse,frolic,judson,krazy,demand,tiger99,snorkel,techno1,norcross,silky1,signup,civicex,maisie,collection,password10,33ds5x,tigerwoods,benfic,passio,newjerse,fish123,mikel,mascot,defiance,forgotit,merlin12,intel1,aynrand,chicago7,crocus,isgay,brunner,wolverines,unknown1,7seven,texas123,tattoos,bujhm,archie1,baseball2,longball,junglist,cornbread,panic1,pilatus,acer123,motherfuck,qwerty3,keyhole,porno123,smartie,daisy2,camaron,margo1,chris01,patty1,deltaone,stardog,iowa,hateyou,captiva,arclight,snoopy12,magi,drache,right1,mcgrath,blesse,windsong,toogood,lightsaber,skoal1,lasagne,stavros,skipp,moremoney,123321qq,timewarp,gill,nikon1,joseph12,kerry1,inuyash,toots,supercar,shaitan,ololo,hardline,hass,bassale,whattheh,neverland,cortney,thorns,hashish,orange2,oshkosh,nokia5228,smolensk,jordan22,yeah11,cunt69,myballs,edouard,grunt1,mojo69,metropolis,tort02,leapfrog,accord1,permit,tascam,davidp,kamil1,servant,cash12,freemail,goddamn,dali,zxcvfdsa,mazahaka,djghjc,maitai,sneak,danny2,1234567890w,qwerty666,parol123,love2000,ginger11,treehouse,nugget1,yojimbo,wolfgar,daytona1,riot,uthvfy,krause,matrix12,sssssss1,azsxdcf,cat222,rockyboy,reese1,sirena,wow123,denisov,vfhrbpf,guards,kondom25,1211123a,awatar,tanzania,dumbass1,fantik,dimon4ik,123wer,gfhfyjz,ktybyuhfl,pablos,feelme,flemming,suzieq,screech,juicey,motorhead,123123s,idkfa,playa1,polo1234,kiril,erlan,erbol,123654q,kovalev,siouxsie,password23,sylvi,josh1,vlad1995,slicker,timeline,matthieu,stuart1,sachas,bhbyf,fetish01,wessonnn,lefthand,celti,jeffre,glock19,heatwave,ginny,jansson,geronto,suspect,1bear,nurbol,pitufo,markova,harlow,henrique,kishore,jasonm,sylwia,skipping,warszawa,merc,tamila,maryjoy,ladyffesta,installutil,lekbyxxx,networkingpe,comicsans,pnp0c08,zvbxrpl,tarasov,yuo67,olegnaruto,200,4002,20000,106666,123400,148888,195000,198900,258789,302731,375125,556655,666425,778811,1123581,1236547,1357246,2481632,5782790,12342000,21436587,36987412,66669999,123654987,444555666,1236547890,0002,drogba,shah,1chevy,bunch,somers,wehttam,daddy2,brigade,cr250r,bogies,smallfry,6458zn7a,qvw6n2,hasbro,wolfi,spoony,david01,matild,toobig,birthday3,blakey,satch,kcuf,stace,hines,unicorns,m69fg1w,disease,terrys,scoots,defeat,lynda,pelota,lithium1,1beavis,octobe,pleaser,chippers,karol,nichol1,jjjkkk,penmouse,bearcat1,deli,kisser,vbitymrf,1steve,sp00ky,jerky1,1aaaaaa,123abcd,congo,12345abcde,abcde1,geilesau,lusting,montgome,pompano,cum123,mikes,128mo,1jones,gimp,jasonx,dga9la,v2jmsz,vogel,casey22,cyril,babu,bruce10,sm9934,aristo,kill666,fihdfv,sd3lpgdr,llcoolj,idteul,hardass,hagen,dalglish,mike24,haven,natwest,seat,bmw535,skorpio,1corvett,puntang,olli,jager,impaler,steal,tincan,gatekeep,spurrier,1abc2,669e53e1,karishma,habit,1smith,shack,1clutch,twopac,arrest,avery1,wilco,matt12,phikap,nemrac,1p2o3i,e3w2q1,daboys,gooner1,pugsly,lift,spammer,cecili,freek,brian2,phunky,tension,f1f2f3,1ddddd,1fffff,1yyyyy,schools,schick,donato,larrywn,steffie,gods,f00b4r,manni,len2ski1,schism,yakumo,474jdvff,nella,jmzacf,kringle,symow8,625vrobg,dwml9f,zesyrmvu,ifghjb,damned69,firewire,date,cde34rfv,cqnwhy,cuxldv,jenmt3,vallejo,rincewin,buddycat,big,7pvn4t,yqmbevgk,bloomer,cammie,sh4d0w3d,gfxqx686,boyle,pharoah,2b4dnvsx,takedown,scammer,buzzed,bastardo,golf99,ulises,konami,holida,danika,gobruins,andrew13,manners,matthe1,paiste,pornlove,rainy,fortis,bronco2,darby1,beatnik,killer23,softbal,d2000lb,minded,cheung,wcksdypk,254xtpss,3tmnej,ue8fpw,harmony1,bust,wolf12,kaylie,rlzwp503,fuentes,all4u2,growth,83y6pv,5qnzjx,vita,bayshore,tits1,lasagna,qwerty02,duvall,momentum,1morgan,chung,carr,harp,quant4307,1arthur,dragon3,sexsite,09090,balbes,jearly,mcfarland,austintx,reddawg,red12,aidan,vanish,jgthfnjh,lvjdp383,fuhrfzgc,griffey1,dickme,balling,patagoni,mhorgan,holman,valium,wavmanuk,jetman,rapala,megumi,lois,chyna,evol,toot,falcor,simo,shrike01,broccoli,nivek,charlot,daisymay,plump,asleep,lowboy,qpful542,tamere,alba,egbert,taint,sk2000,melton,fridolin,virus1,rasheed,adastra,mike18,meanone,000009,dreday,togo,sarajane,blue52,schmitt,hea666,leonel,sigtau,northwes,alexa1,borland,trix,toby1,duplicate,philadelphia,pooka,johnny99,pirelli,dontae,sukram,whatthehell,ohwell,tripoli,rosales,merlin69,appels,drewman,charme,saxons,creed1,wide,karen2,kolovrat,manley,escorpion,volvos80,nena,ea53g5,pepper76,r1chard,passward,plonker,minka,nikeair,rafferty,1star,acuransx,gift,piggie,shooby,gunners1,1black,a19l1980,1shot2,89211375759,vagner,abcde12345,1qaz3edc,manso,leafs1,123456aaa,1qqqqq,nutshell,mount,pagoda,jumpman23,mustanggt,hotcum,isabella1,alesia,natura,sweetpe,abused,mumbai,sexylove,giantess,88002000600,lsia9dnb9y,camaleon,lucky12,make,cathleen,you,shasta1,fathe,theblues,sibelius,manon,shane123,natasha2,onering,abramova,walleye1,whytesha,baranova,edgard,briant,deeppurple,service01,everyone,asdflkjh,ace1210,domination,angelique,spaceboy,agamemno,settlers,goldorak,cahill,tickets,kipelov,duffel,jessy,dayan,123456789i,john99,merlin01,gjkbyrf,creative1,breitlin,gohabsgo,spaghetti,beavis69,crespo,parkside,ashford,malvern,dances,addiction,imesh,password8,dare,utjuhfabz,jor23dan,221195ws,oktober7,jehova,serega123,boy123,silver11,melinda1,allo,qwaszx1,tecktonik,pinche,violette,agent99,max777,timberwo,rocky13,bazzzz,asdfjkl1,aezakmi1,kiara,badfish,005500,technology,pelusa,eyeballs,producti,imagine1,monte1,755dfx,warm,fyfyfc,spk666,klipsch,ktnj2010,armond,misskitty,chargers1,agent1,martin11,a1234567890,mike00,bohemian,cruz,armpit,archi,blimey,doroth,wallaby,yard,almira,sarang,z123456z,dfnheirf,aaa555,balsam,morgane,zoidberg,polic,wildman1,honcho,survive,nautique,gfhjkm22,iloveass,monterre,paparoach,twisters,dawkins,dashenka,birillo,severine,alphaomega,hiroko,aaa777,anna1988,approved,stone32,frogger1,angel9,lamp,veryhot,bailey01,ardent,wonders,dalamar,asturias,elendil,bianc,juanit,madcap,12345ab,1qaz@wsx,reanimator,angelochek,artem2010,vekmnbr,benefits,alex21,ranjan,anastasiy,catering,deano,korsar,windsor1,korvin,azaz09,1234554321q,deadman1,dolfin,dolemit1,pokerface,realmadri,whitewolf,quigley,theghost,stellina,tesoro,george11,moulin,dtnfkm,streetball,astaroth,teaparty,monet1,12345zx,vodolei,froinlaven,jagged,mudcat,baseball3,ofelia,berlin1,schaap,chilango,duende,15s9pu03,badge,shaina,weasel1,andy1,amega,brimston,freund,woodlawn,capita,dominant,mydog,loner,kumar1,dimochka,sixgun,splitter,arshavin,cherise,gostoso,krokus,matia,juve,gooners,ivanka,petrovna,qwert54321,verdi,climbon,escada,kennyg,angel6,cocacola1,arie,artem123,spike123,mightymo,hariom,anna1,asparagus,vfuyjkbz,aziza,habanero,freedom5,mariella,foundati,seashore,devilboy,alabala,esperanza,goeagles,quince,telefono,1234567k,firecat,pjcgujrat,dump,april6,cruiser1,getaway,gagher,serkan,peanutbutter,simba123,redsea,rastas,quattro6,hemmelig,chamois,tanith,breaker1,callas,diabetes,artisan,kibble,channing,qwert1234,atari,snaiper,splodge,lolpop,rani,hxp4life,clone,twice2,1player,hellyes,misa,murmansk,boy4u2ownnyc,scum,bear11,bunches,pepsico,killer11,kahn,explore1,hoping,suckit69,surfboar,bosses,prapor,beholder,2bornot2b,miller31,hello9,spuds,baller23,mario123,gellar,crazycat,baltazar,littlebo,buttmunch,gatorman,twogirls,bosox,grappler,harley69,bambush,iamhere,crickets,longbeach,fizzle,rambone,kikker,cantik,deposit,daisys,western1,tenor,roadie,baobab,monkfish,kellym,chameleo,york,barbwire,befree,spiro,overlook,vtufgjkbc,voldemar,bornfree,barnyard,redfire,wetcunt,itchy,oceane,barnum,splooge,micasa,ferrari5,britt1,domi,suckmeoff,constance,1234567b,tarkan,fende,realgood,maxxx,tanisha,sammie1,pipetka,himura,ludlow,vandamme,7xswzaq,bavarian,sarah2,summer00,nastyman,petty,hotwheels,gorams,tailor,golfer12,insure,fern,bowler1,ddgirls,michelob,cowpie,beerbong,chops,love33,logos,vettes,crayfish,stevek,minus,firehous,ferry,1heather,beegee,backspace,frenchfr,rustys,bumerang,pounce,buthead,miked,satans,heslo,bluecar,liberate,fuckyou!,bighorn,schmoo,parkview,2bornot2,shitball,saliva,thayer,nadia1,darksoul,beograd,jordan123,rassvet,roxydog,pronger,skynyrd,sticky1,painter1,hearse,peapod,way2go,clown1,verynice,pauli,jorgen,martesana,wutang36,phoenix7,sally123,c43qpul5rz,invalid,focused,bethie,stiles,159753z,conair,mermaids,777win,rockhead,playhard,principa,tsv1860,shoebox,sooty,farted,jasonp,dallas11,madone,jamesp,jrcfyjxrf,bhutan,muscat,blabl,momma,scared,mcgee,funboy,hugedick,capella,ballers,bigchief,mojoman,cabinets,scoot,dementia,dimwit,poop1,kellen,dogstyle,buda,bigfan,kimberly1,fosgate,larger,getrich,bodyhamm,jasonc,thrice,sintra,starr1,rodney1,chucker,devotion,elbows,bigstuff,majinbuu,joeman,eliza1,winxclub,gunship,misawa,pitbulls,providen,dragon9,maria2,sweater,simone1,marielle,bonded,billbo,suzanna,hobie,diamond3,chipster,toyboy,cheney,phitau,saddie,kansas1,backside,davidruiz,opium,drill,detlef,miners,schlumpf,wm00022,green22,espace,w00t,crisco,bitchedu,eugene1,hangout,cello,yensid,julius1,rounders,numberon,circles,slayer69,blacksex,blackhawks,forzima,witch1,buns,lee123,crossfir,codename,blotto,bologna1,job314,jasmine2,muffler,dalmatio,ranger12,pavlusha,jenny2,suckmycock,741852kk,travel1,funtime1,mybutt,troyboy,millionaire,briley2,jaso,movement,excelsio,ninjaman,dessert,waldemar,mesquite,anniedog,staley,bobbin,redso,peanuts1,d78unhxq,redwood1,marsbar,ankles,trololo,cordova,trudy,snakey,drumss,freakout,spanis,radley,dink,nooner,racing1,plug,graham1,trademan,running1,garfield1,headers,grandmaster,nitrogen,ilovegirls,dapimp,frequenc,trolley,zzr1100,m1chael,stifler,melodie,nokia6230,chilling,ingodwetrust,thunder9,mishanya,littlebit,s4114d,falcon2,minicoop,diskette,cobra2,rocke,k1ller,owens,jasonn,kennys,deadlock,cornell1,geek01d,pepsi2,toxicity,mesa,skeets,moose123,henriett,dohcvtec,hologram,greater,midas,macanudo,dakota01,fidel,tone,creole,charles3,cameleon,canard,granp,moosejaw,offline,costume,clooney,master5,chrisk,bulle,emory,counters,justfun,icewind,enzyme,polymer,minecraft123,finance1,dignity7,leave,chelsea8,jcnhjd,pierrot,harriso,london20,lightbul,products,1ashley,wwe123,ultimo,nightwing,karina1,fornow,davidlee,whatnow,daddyy,danilov,mickey12,sarahc,slaye,4cranker,cure,teremok,goodbeer,whatif,sweeter,catdog1,lifeson,q123456q,duncan21,lerxst,seanjohn,laura123,parker12,longlife,soccer4,mashenka,titani,desant,nremtp,shanice,mayfly,pokemon2,pasha123,fatality,kiska,dome69,horndog1,qw12qw,runescape1,7f4df451,twinky,standart,shami,westwing,tippmann,fatbob,rfnmrf,marquez,composer,intheend,nutty,doedel,commish,davidr,zermatt,monkey5,qwerty111,jeep95,nesterov,rights,kappas,abkbvjy,waheguru,pastas,jobsearc,aw96b6,mika00,drama,geolog,turtoise,orange3,riesling,anastasija,kashif,rfhfynby,karthik,natasa,fisch,morgan12,igor123,goosey,felicida,whisper1,manuel1,rostislav,bear01,dbyjuhfl,roxann,thomas11,nokia3110,gjvbljh,piknik,loshara,namron,paulaner,glory1,kristel,seward,pass69,pfhfpf,kbnthfnehf,ficker,lopas123,generic1,sucram,erkina,safina,volgograd,fk8bhydb,winnipeg261,futur,cegthgfhjkm,manics,whoareyou,digita,motorol,zerkalo,dusty197,renner,ghbphfr,gokart,kkkkkk1,berezuckiy,my2girls,jagua,marina123,ole4ka,pussylick,pigtails,abigai,conehead,negril,sandhya,gangste,hiroyuki,jinx,teachers,mustard1,suns,gulnur,crushme,hfccbz,megapolis,satoshi,modified,vfvektxrf,jasont,12345678qwe,room112,karolina1,sanek94,kairat,scripto,ktr1996,vlasov,digitalprodu,installdevic,berbatov,piter,moldir,p123456,sherzod,2509mmh,123456@,mmm666,7000,36936,78787,113311,123213,125478,158272,179355,197800,198300,199200,222999,234432,332233,339311,345543,392781,442244,444333,444666,446655,556699,557799,600000,616879,697769,700007,703751,708090,852369,888111,889900,975310,1234512,1234578,1453145,1654321,2835493,3334444,3891576,6031769,6666667,6820055,7894561,12332100,12345698,19216801,19899891,19977991,22221111,123452345,159357456,666999666,951753852,963214785,999888777,billyray,gulf,crying,sirens,avocat,selfish,dunham,walte,maarten,yell,vitalina,netcom,alter,xswqaz,minami,dun6sm,zsfmpv,voyager2,crf450,devilish,seemore,chrisa,taxicab,mont,dave69,cobber,nolan1,huxley,joedog,pimpdad,yesman,jazzzz,1j9e7f6f,mott,masterb8,manda,warlord1,hookedup,matilda1,1power,edgewood,richard3,1eeeee,1ggggg,trojan1,1zzzzzzz,ggggggg1,1rosebud,marth,stout,pussy21,wharton,kucing,abcd12345,worth,byron1,motdepas,asdfghj1,rodgers,peep,cameo,joey123,allianz,antlers,angi,metart,melissa6,tennis11,acorn,masterb,4play,paradiso,hotstuf,a131313,tapout,4ng62t,cooling,toront,rembrand,smoky,nqdgxz,wqmfuh,devlt4,dynxyu,mxaigtg5,tinner,dorsai,lipper,soccer18,peterp,samedi,anglia,04325956,tweedy,cheryl1,chet,nashua,spiked,digge,steamy,fortun,an83546921an13,terces,blac,1apple,1buddy,forrest1,1grizzly,observer,1richard,bigjon,1kitty,wolfdog,spain1,tatertot,stanley2,0p9o8i,ronni,amigo1,wank,penthouse,scan,jblaze,katrine,vfhufhbnrf,tanne,bodger,plan,toasted,filth,foiegras,tiffany2,compute1,viper9,lupine,newdelhi,batman11,chris23,containe,peek,meagain,sharif,xswzaq,anna21,toering,mardi,tgwdvu,wallstre,nirmal,305pwzlr,nbu3cd,ikalcr,tbivbn,critic,iyaayas,e6z8jh,zjduc3,yr8wdxcq,luisa,sumitomo,jibxhq,chevell,hilly,notyours,sniper12,iloveme1,diddy,missey,bmw318i,bitem,sterne,azuywe,barrakuda,spawn666,slurp,yelnats,warlords,fcazmj,spaniard,vasili,sam138989,bestia,hoschi,robbin,qwerty33,bobbym,mystikal,drawde,georgetown,extras,catalan,radial9,lame,chicano,scrumpy,uvmrysez,7u8i9o0p,hotmove,gshock,merson,pizzaboy,pinto1,pandor,drowning,rookie1,betrayed,sonar,flashbac,liefde,abramov,gillie,billy2,boon,berty75,minogue,summer04,iraida,trillion,sexisgood,hen3ry,renwod,1house,booya,4mnveh,anakin1,o236nq,agape,rovnogod,isengard,rook,willi1,maps,gotoit,qwe123456,dark123,67vette,hoser1,wesdxc,mcduff,sands,oleander,chronic1,expediti,skelly,master7,1958proman,iago,hippy,flashes,camaro67,454dfmcq,headhunt,pussyboy,yellow12,tbbucs,gathering,marla,nicosnn,hedonist,greekgod,theta,frances1,andy12,gracia,amar,kappa1,franken,markhegarty,daveman,throttle,kristopher,gregori,koenig,oaxaca,ncc170,dummie,brunel,astra123,necro,bingham,aegis,thom,milkshake,1crazy,newhope,office1,joselito,porto,tillman,skunks,arbeit,smoove,123qazwsx,fonseca,tomato1,austin11,gtnhjd,mishima,shaddy,energy1,peach1,yt1300,newshoes,aaa12345,aaaabbbb,olav,qawsedrftgyh,tarantino,diablo11,abhishek,caseys,drawer,qawsed123,punched,cbr1000,rccola,rhett32,antani,badass1,blue02,drums1,gamlet,symmetry,study,doghot,abc123456789,melbourne,samarkand,adilet,abdula,wilkins,ljcneg,estefan,chino1,infernal,ghjuhtcc,bartman1,mohican,rugged,papyrus,vip123,jasmine5,sesamo,amanda01,muffy1,xenon,lumpy1,brampton,rosit,roulette,testing2,access123,executor,offer,alternat,womersle,dblock,emmanue,spaced,777777a,august25,nichol,karandash,tristram,alber,action1,bb123456,yoland,moppel,jemima,alicat,growing,adam1234,jigei743ks,august11,charlie0,locate,charlest,snowfall,towncar,nagasaki,archer1,filomena,rana,steaks,123456789as,preciosa,tommaso,ctvtyjd,advokat,adxel187,toystory,avocado,unicor,mike21,midgard,ellis1,tool69,thomas19,bangalore,kata,idlewild,trythis,silvers,delfi,francisca,graikos,polito,cjxb2014,emerson1,42qwerty42,moguls,luci,dawidek,karen123,wapiti,oldguy,illini1,joker666,veterok,gr00vy,nostra,rammstein1,craxxxs,mithrand,fhbirf,autumn1,aiko,fishka,jabba1,strats,bibble,aldrin,structur,chloe123,dimedrol,alex23,rubina,getreal,chinita,muffdiver,kazumi,godislov,at_asp,pflhjn,cegthgegth,pornography,dionis,yfcnz,gfhjkbot,mare,bernar,7653ajl1,greenie,tigger11,antero,shinto,cecily,ascend,minnette,vessel,green69,campari,biglove,ale,vinograd,samvel,lesnik,qazsedcft,123321qweewq,0987654321a,sereda,alesya,jlbyjxrf,ujkjdjkjvrf,punheta,kbdthgekm,merlino,1029384756q,mrsmith,widder,gatita,merrill1,quiksilver,challenge,isaiah1,belgorod,aristote,1234567v,curitiba,lindeman,crist,tomjones,alices,mixture,picass,chongo,ettore,ashton1,cacapipi,mcgraw,beloit,chich,mrgreen,ramadan,endzone,vtkrbq,noisette,crumpet,allout,shama,lfplhfgthvf,cave,italian1,highfive,love01,chalmers,alliso,ontherocks,poolman,rfhfrfnbwf,soriano,medicin,sneeze,laur,omega9,dorkus,koldun,deandre,chupa,santeria,rekbrjdf,deathstar,moneymon,ericson,punjabi,mystique,crystals,gumshoe,guido8,fvcnthlfv,winne,qwerty69,fuckwit,anvils,ankita,0u812,lodoss,georgin,timberla,033028pw,fuck11,condoms,downing,cdfoli,label,michel1,asian1,m1garand,bilbao,andr,lumberjack,gigante,ghbdfn,priora,maradon,bundas,indigo1,tigers01,northstar,ilonka,bigwill,strain,prober,nekkid,burberry,doogle,krasavica,vfvekbxrf,anna1989,scouse,hernan,butterba,badnews,animation,animator,bethesda,tomek1,espada,minolta,rfgtkmrf,sloneczko,kononenko,bureau,hunter99,gembird,vfnhjcrby,vaz2110,cross1,dillion,trailer1,balalaika,karimov,franchis,nicola1,shumaher,kartoshka,bassss,raid,redman1,ryjgjxrf,isaeva,anywhere,hebert,crevette,corsa,cockman,sophia1,redlegs,fallen1,shutter,linwood,februar,dogballs,basspro,eliana,misterio,jason5,armenian,2004-10-,bigtime1,brookly,kidding,blah123,streaker,spells,include,roadtrip,holliday,strata,stubbs,buterfly,vulgar,eastern1,asshead,1wizard,sikici,gnomik,aureli,austin123,ellobo,boredom,sack,cashed,1please,ghjcnjnf,jbird,baha,futuro,sirene,kalinin,pistache,baileys,passwrd,clean1,bait,thebears,green6,shortys,david3,govinda,direktor,harmonic,merida,narayana,giants56,salisbur,miata1,george3,weezie,patric1,terry2,winnie1,tyghbn,cock69,redapple,brain1,1balls,denison,licked,airsoft,orioles1,bambam1,wicker,finney,plmokn,hipster,brillig,whitetai,kellogg,favorite3,educatio,scraps,saber1,bailey10,robber,batch,junkies,banshee1,banyan,shuffle,sarahm,caracol,rhtfnbd,danial,babcia,passwo,carole1,apeman,basenji,glencoe,grumble,sashadog,maureen1,chibears,barrow,scoreland,truls,nirmala,bouchard,sybil,bradman,roger2,manstein,wanton,batcave,gerrard8,bmw316,hates,austin01,chrisl,clara1,shack1,19371ayj,demolay,windows9,winte,koala1,berman,neworleans,vanechka,far7766,rare,aerostar,titans1,moon123,xxx111,bigboy12,elsinore,mantas,joshie,sosa,caper,gisele,mardigra,auckland2010,brandi1,conni,deltachi,hockey19,veronique,milkdud,pueblo,lubbock,fresher,scouser,zues,digit,celery,nozzle,beernuts,wolf01,guys,c3po,manolito,gazza1,trail,sexiest,belladon,4freedom,rebel2,074401,ironbird,prett,ozone,eveline,gnarly,lordik,beer30,bobster,tarkus,matty1,susie1,davids1,nintendo64,babe69,mufc,wolfman1,univer,joes,satnam,bichon,all4u3,takeit,missy2,wordlife,quovadis,plankton,lurker,eric1234,foofight,diabolic,duhast,omaha,talisker,1234qq,siberia,liebe,straw,jimmyboy,susanb,siren,brianm,pelle,r3vi3wpass,coco123,fucknut,hello69,tbontb,chorizo,breanne,gobuffs2,tipsy,habari,parents,charlee,lagers,raven69,yfltymrf,sacramento,beaudog,canaries,flimflam,bighouse,housepen,dale88,lustig,flyrod,ampere,littlejo,nannie,hotbody,ironmike,blade123,allblacks,green23,ironman2,bimota,bingoo,needsex,oneluv,shonuff,gifford,jason25,booga,lying,bigstud,hellspaw,gococks,dough,juancho,goonie,wallst,darkmanx,neuspeed,billgates,fj1200,engines,buddy7,mrspock,ithaca,august31,jackin,christian1,marlin1,looksee,heckler,ironsink,dairy,closet,pittman,clough,goodgod,norman1,fastone,yasmi,legalize,warbird,wiggin,wahoos,bath,pratt,hokie,karat,iloveu1,****me,lifeline,rainbow7,rhenjq,ladydi,miyamoto,promo,putamadre,honkey,valve,s1lver,browny,haylee,deepdive,phantasy,gansta,steve01,tasman,pushit,stapler,knigh,sawmill,tuffguy,grace123,kathie,breadman,bran,wideglid,treess,naveed,protos,niner,soccer5,zzzzxxxx,mammal,fantasy7,calliope,jerome1,gossamer,thehip,aeiouy,testuser,hello3,shares,braves10,1amanda,sucker69,builders,corkey,monkies,license,cfif123,volker,partyboy,lobsters,harold1,jonny1,donnell,w2dlww3v5p,jakeman,john01,milky,merger,dovetail,goober12,kline,funkster,4me2no,mandragora,leto2010,seesaw,peterb,mytruck,spirou,omgkremidia,hemp,dogbreath,daybreak,norton1,knight12,magoo1,peter12,shit123,salinger,bubbie,timberlake,crickett,telstar,shyster,jacob2,dedhed,track1,megastar,butterfly1,shecky,dollar1,milwaukee,trimmer,charis,skippe,gillian1,jake99,mst3000,pazzword,furry,woodford,eclipse9,jackdaniels,residentevil,claret,forsythe,lockhart,mookey,1merlin,ruthann,javabean,joiner,strait,leader1,heads,happier,patche,wink,bunny2,daffyduc,stoopid,christal,zyltrc,ranger5,6xe8j2z4,applebee,imajica,marceau,lisamari,caliban,tragedy,augus,housecat,requin,fe126fd,nintendo1,gfhjkm11,mackdad,eduardo1,policema,1freedom,dragon25,pelus,carlos123,offense,towson,remus,mancity1,logan123,cutting,ziggy123,qwerty23,casper99,minivan,random123,copier,qazwsxe,dion,minden,blessme,lovesyou,galloway,offset,mancow,redshoes,pondscum,mainer,daftpunk,blackburn,now,shoppin,linus1,demi,helix,grimmy,epic,univers,corky1,counter1,workhard,methane,sunnysid,speech,solomon1,false,redboy,hungwell,greer,peggy1,uconn,olcrackmaster,monkeys1,gamer1,poppy123,hipho,ficktjuv,shar,viggen,smells,oscarr,dayana,ybrjkftd,geyser,jack10,prince12,mayor,aksarben,987654321z,liljon,bnfkbz,cujo31,morbius,smite,killer69,changepa,s7fhs127,spudman,premier1,painted,herbert1,cybernet,cyberia,ryder,vfhbfyyf,kwiatek,novgorod,daulet,karate1,sasa123,albcaz,kevin12,shaun1,hbhlair,john31,ghjcnjrdfif,ebenezer,thaman,hotmale,maricela,sexywife,millenia,1234567890zzz,denzel,rfnz90,harrison1,n12345,mean,kardinal,wolfram,eumesmo,lisa1,estonia,cleodog,lfdbl11,display,megryan,vodka1,dobbin,scoops,go4it,economics,splat,navidad,mariusz,seeyou,minchia,majortom,oxymoron,eliston,leclair,ducati1,zhjckfdf,threesome,dima1992,jacked,tman,benetton,important,perr,putaria,brasi,tango2,qwertyasd,messy,4809594q,hysteria,stuntman,boloto,dooker,dima1990,samuri,dima1999,ufyljy,hone,1mike,joeblack,nuke,jacob123,mudman,taz123,intent,mangust6403,marvi,dozer1,getdown,scat,koks888,empty,upright,freespace,tayler,multik,ester,lizzy1,grasshopper,galax,mouse123,taker,earwig,mmmmmm1,ktyecbr,welshman,zhanna,pasca,satan6,aa1111aa,platin,fann,fulle,seifer,lthtdyz,litter,rockland,fred11,hickey,magnat,1234567s,12345678s,uekmyfhf,martial,jimmyj,newspaper,0p9o8i7u,freedoms,jetta1,gfhjk,vlad1998,schiller,flintstone,redbull1,trunk,unity,qweasdqwe,oddworld,a801016,tarkin,hide,childre,silvestr,greaser,sexdrive,pingzing,snake123,ghjhjr,zcegth,dkflbdjcnjr,j123456,bcgfybz,bunko18,moonunit,whiteman,kils123,junkman,jimmyjam,sportster,lajolla,membrane,sid123,freehand,variant,maks,zaq12w,monkey21,lecture,ekaterina20,vika2010,qzwxecrv,laputaxx,vladislava,fetish69,exploiter,32615948worms,196,5003,7001,66699,123211,135795,157953,198700,213141,267605,276115,316769,405060,456838,464811,678910,741147,775577,777771,789632,824655,867530,908070,995511,1020315,1232323,1234599,1597530,3247562,5681392,6345789,7224763,8902792,13245678,13579135,15975300,19866891,22223333,44448888,92702689,123456788,123456798,753951852,minhasenha,cables,brinkley,namtab,manga1,cadet,mrlover,hurst,dragon64,cbrown,herbst,mariner1,demetria,ingo,vampyr,homesick,leftover,quatro,bogdana,himitsu,miniskir,fahjlbnf,cargo,dashit,wouter,phanto,homerjay,typical,robi,tuesday1,gammas,ewq321,about,aaaa1,1ccccccc,upupa68,invent,regin,basso,senses,morgan01,5432112345,glimmer,45auto,adnama,bulls123,royce,kissy,mono,aphrodite,dimitris,stakan,s1234567,alex12345,bathtub,gold12,lickme69,blowup,jansport,cool11,bill1234,molly12,deleon,slicky,anhnhoem,pension,luckycharm,keithb,slutty3,cinco,greengreen,incognit,mpetroff,wc4fun,maddo,o4izdmxu,878kckxy,oddball,lazyacres,project1,qaz12wsx,jams,gallon,stever,award,nudge,rolf,taylorma,blair1,lesbia,marwan,lacross,very1,kats,1big,ginsberg,cat1,tramps,patrick3,hotsex69,rape,toolong,1cowboys,chap,1rocky,4fun,1pizza,rebound,ryan123,sinnet,bushes,decembe,garden1,burt,mandys,shorter,overton,cher,joop,sex2000,vasily,devil123,vfrcbvjdf,silversi,arnster55,hairless,freddi,dominati,assembly,gwbush1,snowshoe,selwyn,juanas,securit,reform,2196dc,dreamer2,fairlady,1bbbbb,andrea11,xxxx1,rollo,0072563,bullpen,isotwe,crows,94rwpe,luetdi,pvjegu,glock9mm,4gxrzemq,jkne9y,jtuac3my,qmpq39zr,yejntb,4g3izhox,suzjv8,krieger,93pn75,at4gftlw,ljb4dt7n,wmegrfux,maytag,shoulder,000005,lieben,monsta,qr5mx7,duke123,4sex,dolina,fatkid,fred22,marie123,barbosa,4x7wjr,7ertu3ds,u4slpwra,iluv69,poetic,decipher,cazzo1,wooglin,1sunshin,6jhwmqku,humbert,snoopy2,berli,omalley,adel,nanotech,janvier,peppermint,caterpil,norma1,achmed,gauss,shagme,analslut,madmike,chiefs1,b929ezzh,shawshan,aminor,9kyq6fge,hilda,7f8srt,schulz,gedeon,12345asdfg,hevonen,wayfarer,killemal,soloyo,682regkh,peterc,scotto,found,elgin,agricola,leblanc,kimble,murad,leadfoot,cooney,reneee,downfall,tommyd,bastille,crypt,jump23,druuna,marry,charle1,dumbo,lifeboat,russians,conduit,kairos,sender,germa,parkave,imes,minimax,utfp5e,yujyd360,crista,riven,rocawear,ffej,ufgyndmv,freedom4,presari,b7mguk,porsches,piolin,arne,egroeg,guppie,tears,alex007,logitech1,allay,cobra123,gameday,delenn,sr20dett,busdrive,uvdwgt,phoebus,kurgan,stormie,drwho,jtkirk,ariston,shadow3,andrew88,bigwave,cheeseca,retrieve,zzxxccvv,parisien,qazokm,newmexic,everest1,cmgang1,dave13,fritzy,babyhuey,honda99,006900,ashwin,janessa,dontcare,c00li0,fucklife,hunnie,jugger,aaronb,mashed,jason3,7gorwell,buttnut,yelena,paint1,chand,piloto,godeep,tempo,brunos,567rntvm,tunisia,heat7777,harryb,fhnehxbr,smokeit,buddy23,shinigam,randers,cheek,1braves,whitaker,anthony0,mamon,brigit,queeny,catlin,jesus2,lostboy,cabo,apple22,tenore,mercutio,danbury,vehicle,studs,treehous,crawdad,once,pornman,pokers,carter12,a54321,karting,needsome,asdfrewq,matveeva,milion,alex1959,august12,painful,pleas,blitzen,holera,hillcres,kobebryant,lol123456,dark666,sher,sonofgod,rakker,truckman,sunnyd,qazxsw2,jmh1978,merkel,loverbo,kalleanka,mester,1butthea,nbvfnb,alex02,pullman,bugaboo,skate123,temitope,april13,jumbo1,alibek,anyuta,woodwind,harami,sebora64,bachman,1qwertyuiop,crabcake,basile,boeing1,bankone,melin,divinity,goomie,saudan,waleed,pelmen,tiger200,gatlin,viborg,given,foxwoods,slack,pico,dirtyman,lawntrax,swami,dabble,margin,badbob,dinsdale,argo,shalini,wicca,rando,zoulou,unforgiv,sanctuar,rjvgm.nth,southbay,twins1,clipper1,acmilan1,taucher,rfpzdrf,owner,making,matata,method1,mishutka,dorota,relish,atombomb,open1,verysexy,gavin1,black3,finite,hubbahub,sorokina,flavour,franka,ohyeah1,112233aa,2502557i,carla51,chicago0,coleta,cxzdsaewq,legioner,tortue,millertime,erreway,jertoot,dbrown,arcana,ashley11,fylh.irf,artist1,computadora,lafayett,andreea,taliban,123456789e,gordolee85,forever21,mumdad,munchen,serenit,monopoli,mosley,westend,portillo,keving,rfktylfhm,seether,huskie,dovajb,firsttim,sliders,loginova,blackone,gblfhfc,alicja,eurocard,hockey21,timberwolf,ironchef,fucknuts,dignity,mm111qm,vida,kotek1,jabbar,fdhjhf,caraca,parazit,gunny,hydra,ahjkjd,nokia6630,robertso,cerise,bigdo,sentinal,ajnjuhfabz,212121qaz,gjytltkmybr,qweqaz,aileron,aircrew,tesla,virtuagirl,rfkbybyf,peanut12,sunghi,magpies1,anissa,bucks1,pussyca,mukesh,don123,lbpfqyth,winery,geujdrf,badmojo,akbar,zhukov,a1234b,afhfjy,ersatz,cloud1,whiting,borntorun,ilovejesus,wonka,verochka,lamborgini,ilovejes,speculum,fhifdby,lodge,wizard12,rachid,margare,winstons,babilon,hfvbkm,barbra,waikiki,alyona,spagetti,rossella,marlboro1,ruffian,xenophon,salty1,vanes,38gjgeuftd,sasha1988,alekseev,silver2,alex95,sensation,alex1973,vorobey,mama2010,alena2010,harrow,prestigio,napol,chitarra,rebellio,alex1991,corny,machado,helloall,cavalo,sasha12345,rjrfrjkf,paula123,sanches,gwbush,as12345,barmaley,katharina,eveli,jannie,jetblack,sportin,nedved,milenko,parovoz,a121212,alfredo1,venezuela,grizz,karla1,sardar,kameron,habib,ants,alino4ka,tdutif,fabiano,kolesnik,012345678910,kathrine,twenty20,mcintyre,jb007,sorted,tadmichaels,jose1,wyatt1,roselyn,hardon1,nascar03,sexkitte,zydeco,maries,macker,6339cndh,harley99,stronghold,buffy2,fahbrf,alot,lorna,balloon1,grim,thekiller,altavista,vhou812,turandot,infrared,cristopher,scrub,alway,angelo1,shalimar,willa,sweety1,dingos,lapdog,kerala,hairpie,1111111a,pressman,smokers,flashg,asel,jeff1234,justinbiebe,hotel1,1dolphin,stef,aninha,b00ger,matrix69,bioshock,ane4ka,yfcnfcmz,remembe,avocet,antoxa,lisichka,peralta,studioworks,heike,janis,illuminati,aq12ws,matheus,sonnie,vfhnby,state1,guelph,geraldo,andy11,cjytxrj,goose2,howitzer,gfhfdjp,backward,hardaway,angel99,carin,angelbab,shokolad,madison3,pancake1,microwav,sunil,sayonara,tura,anjela,borisova,tkachenko,asdf11,ghjcnbvtyz,fuckyoubitch,antalya,qwerasd,sleipnir,trash1,asseater,avrillavigne,straus,flatland,pizdets,ubvyfpbz,obsession,trader1,asd321,ivan2010,ziff,diablos,tiziana,ara123,shkola,arsenic,yesican,shape,bonjour1,sunsh1ne,socks1,karlmarx,vtufajy,foxs14,gevorg,a32tv8ls,master00,lalala1,godswill,dallas01,konovalov,artyom,sanan,soccer123,ass1,warior,aztec1,felicidad,buenos,lyubov,bacardi1,kaliningrad,rattlesn,automatic,oleg1995,indian1,boombox,lifetec,bills1,brooklyn1,mcgill,bailey2,cellphone,hummerh2,keylargo,1banana,susans,lakers12,manilow,advisor,eagle7,lovecock,graces,diplom,jaydog,partys,fittan,limbo,dollarbi,magma,baloo,free1,vorpal,terps,junior12,x1x2x3,tiger11,matrix13,chummy,julio1,baton,fair,inspector,multiple,nicole11,baptist,geckos,goleafsg,haloreach,gregorio,barbell,funbags,dolls,blonde1,hickman,barcode,shakespe,bridgette,gmcz71,cocoa1,prado,sears,meoff,burley,sasami,barn,1maggie,barney12,beverage,shoelace,freed,kurwamac,catinhat,simpso,katieh,jayjay1,walsh,basia1,inside1,googie,volvov70,basque,lester1,nokia5320,superma1,crazed,spencer2,gambit1,graci,tujhjdf,freckle,beaches1,bertha1,latics,panties2,parkland,whipit,skyhook,madison9,carrillo,hagrid,bernie1,serve,hibiscus,mydogs,snowwhit,elaine1,mitsu,fatal,cheat,santacla,free4me,prescott,chesney,mossad,grizzley,beejay,amistad,calabria,staten,larrybir,1steeler,nikhil,cindys,tombraid,boriqua,kakawka,deerpark,meee,nibble,shred,skylane,flap,production,have,peejay,wildthing,missoula,00000001,searchin,conor,452073t,madhatte,fanny1,fenrir,hendrick,bhbyjxrf,amonte,tommylee,labelle,monica12,veritas1,ayesha,lucky69,largo,incoming,branden1,terras,rexx,polizei,triste,kalamazo,saphir,liebling,rubin,bluefire,pita,woodbird,constantine,elinor,family01,kimo,w8sted,charmer,spoiler,itali,grundy,gostosa,iamsexy,goblues,derrickh,deshawn,hitmen,hunter69,healer,labamba,hotti,money4,neptune1,trevo,ripazha,26429vadim,ripper1,gerrit,flyman,novass,hollys,belmar,weegee,rexdog,pigboy,dave99,master77,piglett,suckmydi,rollout,steeda,blowjo,phoneman,mynuts,facials,tick,neworlea,massimiliano,sasquatc,ibiza,megans,loveone,browns99,chips1,spices,chancey,sam2000,pussy11,call911,redhair,chevy350,wigwam,noreaga,stjohn,election,revere,tylerb,ruffneck,putney,idiot1,smokeone,cadbury,bill99,parcells,emily2,valves,fatrat,lombardo,likemike,trashcan,waylon,mandie,bitchboy,marryher,lady12,coorslight,renaud,boats1,parrothe,redwings1,fritos,cycling,deltasig,insect,birdman1,carlo1,qawsedr,dutches,trench,pursuit,jonnyb,damocles,caroline1,lloyds,slug,blackdic,x12345,chinese1,pugwash,likewhoa,canal,shadow22,tantrum,money111,raylene,godpasi,shallow,p1234567,gucci1,summer07,share,teaching,supermax,reggin,executive,chaos666,burg,schalke0,psycholo,scorpio2,jeans,paperclip,rastafar,salzburg,chianti,blue2000,deirdre,starrr,bonzo1,sintesi07,rey619,vgfun8,clarkken,london2,lucky8,peerless,october8,darin,chelsea4,wormhole,urlacher,topaz1,dodson,lp2568cskt,spicy,sexfun,sp1der,scooba,animate,retina,swell,britton,reynard,skins1,carlsberg,chrisx,melvins,gonzal,proof,easyride,travels,****you,ratface,masami,bakker,cjlove,legrand,bananna,napolean,kevinb,walther,yankees7,macro,beast666,jelszo,cardio,james3,tanya123,phil413,aston,clio,shamanking,partagas,botafogo,sanborn,honky,drains,josefin,oxcart,disorder,venom1,pepper2,proxima,cumsucker,cbr929,chapstic,lammas,cire,itout,secretar,coolguy1,woody123,padre,cumlover,tarbaby,scooter7,nifty,jaba,antietam,sydney12,limit,touring,hexagon,devon1,reunion,ereiamjh,smeagol,clarets,chapter,dulcinea,crutch,canucks1,gnocca,celula,beach69,elbow,nhfdvfnjkju123,friars,crouton,happy100,penny123,elbarto,weeded,mudshark,webman,sallys,golions,1w2w3w4w,truck2,codyman,str8edge,gattone,xcalibur,cossack,veroniqu,gettysburg,bvgthbz,widespre,sunking,gjikbdctyf,c12345,parent,vidadi1,caddie,lesli,barsoom,drastic,cahek0980,iglesias,calvin69,kryptoni,dupa123,guildwars,fairy,lol123123,scottie1,bracelet,candycane,merit,chris3,dima1994,melissa7,iloveyou123,danger1,1mickey,savag,nephilim,pumpki,fats,cliff1,toadie,newhome,poulet,nissan350z,ch33s3,tull,massacre,chalky,pure,montgomery,cabaret,shiney,charmaine,thefox,doomer,chester7,poochy,madagascar,tgo4466,darrow,maddmaxx,pastry,ghosty,bowhunter,gottlieb,leverage,pooder,monkey23,jackyl,kevink,nathan0,rainmake,cracked,potter1,magistr,june27,nutcase,patt,sweet123,frolov,mordred,bromley,xplorer,cableman,gkfytnf,manol,zippy123,daycare,deanne,dude1998,damaris,powerpower,power7,free123,hemi426,redding,waffen,vinter,june21,muffin12,malik1,742617000027,vbnmrf,local,noway1,jeff123,indies,deagle,scuderia,gilman,ripcord,silverfox,chameleon,silenthill,osca,pogiako,ramsay,nilknarf,cyfqgth,knotty,daisie,daisuke,navigate,tigers12,sucks1,twinss,xcat,hogwash,rent,tenshi,newburgh,shin,1mouse,dfhtymt,dembel,shanda,311music,noneya,stephany,toast1,stressed,cristy,perseus,shiva1,isakov,revenant,flute,qazxcvbnm,popkorn,0147258369,xfqybr,jetlag,boro,nessa,campeo,minouche,kukareku,ledzeppe,deadline,denwer,dilligas,pppppp1,deniss,tupac1,rfvxfnrf,leppard,drumnbass,showgirl,eknock,deltic,qqwweerr,744744z,tane4ka,flatbush,suisse,elusive,stalker123,zxc123zxc,metatron,ghostly,dolphins1,honeymoon,cbvjyf,moderator,limpdick,5t6y7u,dinky,protools,teeny,jayman1,uhfvjnf,jersey1,elder,bankai,capture,homeworld,downunde,egyptian,gondolin,1qasw23ed,007008,station1,volvo240,vanilla1,todays,mouseman,dartmout,qazxcdews,dctktyyfz,panthe,moresex,pon32029,1234567l,eric123,dialer,jarman,marcu,lovelov,hitman1,lollipo,examiner,ridden,hollister,primo1,max33484,changing,zenit,juiceman,noclue,putain,radical1,henry123,kaleka,golf56,cryptic,narkoman,q2w3e4r,fifa2008,000777fffa,41d8cd98f00b,undertake,bombo,hfccdtn,goodgame,marusa,necroman,dontask,frosty1,123sex,iamhorny,everlong,katia,4311111q,nudelamb,pinkpant,schach,tombraider,miller2,spots,sacrifice,12345678m,ag764ks,ghfplybr,scrappy1,hoodoo,happyy,lololyo123,shylock,ironside,tricky1,01081988m,1biteme,booboo12,yourname,uganda,jaimie,tomas1,movado,nemvxyheqdd5oqxyxyzi,thunder3,jujube,hellhole,tomkat,porpoise,olympics,redrocke,sanjar,traffic1,jsmith,pololo,jamesk,kalel,sham,malboro,nigel1,juliya,kostyan,bandit01,kapitan,keli_14,pfqxjyjr,vishenka,kolya1,rolsen,sidorova,titova,ulugbek,adv12775,gblfhfcbyf,mochaj,pavlenko,sephan,hovepark,19952009sa,kr9z40sy,aaa123a,4001,9009,34778,45685,56565,123445,123678,137946,147789,155555,159789,197100,198600,222666,223311,246824,246890,284655,316497,443322,455445,526282,555123,579300,666420,667766,779977,785612,888555,926337,1010220,1357642,1726354,3578951,3630000,3657549,4034407,11335577,12123434,12343412,12345670,14071789,19733791,33334444,46775575,57392632,85852008,98798798,123456654,142536789,1133557799,00009999,spycam,hirsute,0006,0010,hermes1,2183rm,scrubs,rotciv,vinyl,maratik,claude1,nursultan,noentry,trouble2,paul01,dmh415,demetrio,raiders2,bunns,choices,moline,248ujnfk,vinbylrj,ycwvrxxh,kcaj,poochie1,1charles,deadend,dutton,7452tr,anatole,q12345q,octave,bruces,0128um,birthday10,grandorgue,kubota,kensai,webhead,prong,pickel,pillow1,peterg,grubby,feuerwehr,valenci,rummy,1jjjjj,passwo1,hussein,eldridge,chubba,wifey200,ololo123,1pass,melena,ilovemusic,boyd,ginseng,321cba,fatback,tapper,camron,dazed,drizzit,luzifer,boby,firstson,ceisi123,gatewa,barrie,medman,boneman,russ120,mylady,rock12,123123f,ern3sto,cious,spine,mozar,susanne1,entering,shiela,florent,f8yruxoj,tefjps,toltec,aftermath,2gether,emilys,ralphs,16473a,leduc,roundup,loser2,jupite,facade,love99,orgasmic,thesnake,stgeorge,david5,swanny,vale,sina,pippa1,thicknes,kristall,encarta,minty,adamo,aircav,49ers1,1truck,1eagles,madelyn,1fender,luv269,acdeehan,freema,linksys,1jeffrey,mac1,mikeyg,slacker1,montagna,willey,ssecca,hondacar,abacabb,zippo1,lovesong,moebius,cyanide,matkhau,motorrad,redoak,tonka1,monda,absinthe,iiiiiii1,pants1,chia,courts,skyblues,456123a,wabash,viperman,alecia,gatekeeper,01234567890,remove,267ksyjf,redvette,ac2zxdty,hxxrvwcy,lardass,alan1,noddy,atwater,arun,simpleplan,rampant,cincinnati,1pookie,cuzz,hj8z6e,x5dxwp,modest,batman23,eyebrow,animals1,lavigne,zomu9q,nokia6230i,snitch,hunt4red,darknigh,cptnz062,ndshnx4s,wnmaz7sd,durandal,8xuuobe4,cmu9ggzh,apple3,angel3,cribbage,dubois,bitche,bearclaw,treats,1diablo,janbam,bigeasy,blink1,ttam,whirling,october3,manoman,bsmith,matilde,mandi,rrrrrr1,chum,snowie,fumble,cabible,moomoo1,summer98,lieve27,mustang69,exocet,nadege,bapezm,up9x8rww,bodega,deflep27,shafted,8vjzus,cornball,lopez1,mama11,1amber,anja,tightend,paquito,snowmass,ayacdc,early,giuliana,chariot,harlee,giuli,andie,keanu,qbert,elkcit,prism,sasquatch,lewie622,essen,fellows,grinders,kzsfj874,bargain,irma,nofags,rustler,devils2,7inches,nimble,armen,soundman,verna,alchemist,april7,hoppers,thunderc,tintable,basilisk,yomamma,kayla123,motoman,a3jtni,12345rewq,nightime,mxyzptlk,ohboy,banter,fatone,trivium,meet,dezember,ledger,molokai,bossdog,guitarma,waderh,photosho,tobia,junior24,silke,arcanum,spit,shilling,ranger69,leica,kellie1,frank12,april22,mekong,carlit,reuters,towtruck,melone,ranger75,toyman,boeing77,suit,gosling,kevin2,tuba,xohzi3g4,kfnju842,0147852369,raptor1,ralston,green77,heyjude,missy123,greenway,maiyeuem,nccpl25282,thicluv,godard,broncos2,gartner,ivonne,norwegen,movieman,deepwate,suki,severe,eshort,buffaloe,baby69,sad123,pipes,villan,705499fh,barbecue,whatthef,123456789y,allochka,finesse,polo12,maggio,spam967888,summer03,aaa12,123321qaz,belous,ponytail,psw333333,ford123,letmein4,fldjrfn,sissie,almas,checked,jens,licks,mungo,graceland,mathis,fuckoff2,character,mathematics,toutoune,pause,1tiffany,rosebu,klinker,vaz21093,audre,path13,shabby,ch1tt1ck,masha1998,vinny1,ghbjhbntn,fitz,gazeta,agamemnon,manor,fortunat,fltkbyf,twink,panget,shyanne,number3,bayonne,bohemia,optics,abroad,moom4242,keen,beginner,aldebara,eclipse2,pass22,cerulean,bonscott,clem,calbears,junky,rainmaker,snakeeyes,bleeding,signature,pandabear,croco,felina,jerald,chrisbrown,actress,dima1985,azzurra,hallway,gemini69,mada,lateralus,chivalry,paravoz,panda123,supercoo,worldcom,barone,mydaddy,1q3e5t7u,lyrics,naomi1,asdf67nm,chiquit,rev2000,tigres,marlo,leona,ximen,anemone,mommy123,asdasd12,mickey01,brentford,puszek,apple13,enduro,smile4me,bashir,keiths,bebop1,felipe1,happyjoy,hrothgar,biggi,aurelio,actros,diversio,marie2,trento,billiam,amarill,luxor,central1,signon,ujkjdf,8928190a,traveller,bartolo,lucifer666,123four,familie,agentx,kaligula,elodi,zidan,portsmouth,boludo,moimeme,yourmom1,ekilpool,puneet,ghjcnjnfr1,jackpot1,ahmet,thedead,123456qwer,destini,nolife,braddock,irock.,sanchez1,loca,alfaro,anger,ranger02,archmage,boneyard,vaz2101,tankist,steve121,rehjgfnrf,ant123,creamyou,bluetooth,mystery1,married1,cairo,surface,thesis,listopad,pepper11,broadband,cfkfvfylhf,available,1michell,corrado1,fghbjhb,kumari,gauthier,alex2010,kuzmich,redemption,blanka,snusmumrik,cytujdbr,allan123,lease,postcard,coolman1,langston,shadowru,killin,marzena,marilena,bo243ns,omega13,diller,richardson,zanuda,hana,chiar,temppassword,neopets,111a111,n.kmgfy,stomatolog,fktrcttd,alekseeva,iecnhbr,gjkrjdybr,sobolev,sergeeva,lomonosov,a123456z,vfhvtkflrf,raffaello,strela,lala123,dannyb,awsedr,costco,serbia,gutierre,beer12,palmeiras,baksik,mindgame,frdfkfyu,june24,chinchil,alex10,rfhkcjy,marakesh,breton,elmer251,kylie1,orthodox,terps1,projects,jake1234,flblfc,wpoolejr,alias1,staticx,qq12345,garnier,1234567qw,andrew22,cobweb,blackpool,salmon1,aliya,serendipity,trees1,inertia,kyliem,alle,appletre,satelite,aliso,fromhell,almat,designs,jeremia,maral,juggalo1,mourning,barnaul,playgolf,romawka,garbage1,sadies,alvin1,zaharova,musick,astonmartin,solutions,helpm,family5,shivani,daruma,deutsche,ford22,crazy4u,annie123,madison0,murphy01,huntsman,aurinko,cube,marica,baklan,shweta,kissme1,fynjybj,p030710p$e4o,museum,weasle,jerom,skywalk,gerlinde,solidus,omgwtfbbq,assfucke,foru,sombra,reamer,0o9i8u7y6t,anders1,celicagt,sarkis,pleomax,godisgreat,chris13,3techsrl,orenburg,80637852730,greyhound,7418529630,andy69,silvia1,length,lateralu,serdce,nemezida,appel,wrexham,stash,guernsey,empathy,botswana,wiktoria,moloch,tanuki,djljgfl,joe,maris,luckies,note,fy.njxrf,aa123123,teddies,tricolor,kikiriki,ranman,stevenso,barbaris,ujhijr,annarbor,fbi11213,senegal,123ert,bagel1,eliot,lauri,rfhnbyf,villas,rhfcyjlfh,turkiye,estefani,firehose,servo,grace17,arbiter,banderos,tatoo,mama1963,punksnotdead,tanner1,tiger6,australia1,keyman,lordsoth,sweetpussy,lool,dude11,multiplelog,milly,iamtheman,jetblue,dubai,gnorman,komlos,ufhhbgjnnth,guild,armour,yamakasi,cabezon,caseih,piglet1,7elephants,a000000,sharkie,yellow22,druss,appleseed,ashok,fynfyfyfhbde,birthday6,bluedevils,omg123,assembler,sergant,festina,twizzler,aamaax,gfhfcjkmrf,barrynov,punt0it,bruno12,vfvfktyf,kasey1,mackdaddy,dancers,mwss474,whitesta,turnb,backyard,caribe,azonic,vetalik,baby1234,sureno13,kluivert,flatus,mickeymo,nicerack,falconer,jackster,bahama,watson1,libras,bahram,raincoat,buzzman,manchild,spurs123,07931505,smokepot,bigwig,scoubidou2,benelli,nimda,jaihind,chihuahua,baldie,bali,missle,jasmina,balkan,karin1,throw,blasters,oiseau,myron,rapido,enjoyit,doodad,khushi,lowe,mantle7,bigbo,nightcrawler,tigerboy,owen10,bandido,superted,bandits,tankers,livestrong,chrisj,smooches,banging,heiko,grillo,spaghett,leopards,bigblue1,trident1,candide,zane,orange99,level1,lighters,baptiste,elvis77,barada,karabas,quiver,samanth1,fodase,harmless,shantel,week,jkl123,sitges,bartek1,bigmack,bogos,rail,gomez1,manhunt,cubalibr,kenpo,rosina,wombat1,paws,sammyy,purpose,haus,fishlips,asdf4321,intoit,ellison,saurus,postage,mapleleafs,welding,brahma,bern,funkey,poptarts,brillo,waters1,winter00,bassplay,eudora,1porsche,porn1234,sebast,bathory,buckwild,monkey20,i81b4u,kimota,murphys,postbank,superjet,duisburg,harrydog,laurab,snippy,raven3,dorothea,sexsex1,extra300,1q2s3c,boobys,tallulah,dowling,booman,ladygirl,isabela,vfiekmrf,buddy3,mahone,alpha01,epiphany,littledo,surfcity,queenb,sameas,mtwapa1a,bengals1,spindle,monkey24,laster,boriska,neighbor,sketch,hussar,doctorj,jeepin,zapped,phish123,jgordon,bear99,tubby,netman,topdawg,candlebo,daniel01,positiv,beauties,warehouse,sam1,hannelor,blue15,meeeee,saturne,pearly,irwin,felder,reggi,5tgbnhy6,jessicam,1johnson,repent,william7,geometry,dunedin,begonia,junior123,themaste,qaz12,somalia,milan1,wolfe,bubba22,7ofnine,pavlin,bulldog7,flea,rainman1,callista,password21,dannon,robinso,segredo,freedom9,cabana,fox123,medvedeva,blondin,fitzer,shaffer,liberty2,jackas,ferret1,araceli,moonlite,p2ssw0rd,freaker,dover,bryce1,donal,moon1,standup,sunnys,himself,orchids,happy5,benita,mitzie,benn,pensacola,eminem12,sissyboy,loraine,takayuki,termin,tall,bergman,cheerleader,cdavis,berta,hemligt,benidorm,portable,murcielago,cums,legolas1,ensign,alone1,sunny7,command1,czar,666satan,rednecks,greentre,daniel4,solnyshko,jellyfish,ford4x4,oleary,baby01,bhavani,playstation2,m0b1l3,coachman,lovey,erotik,michail,sexysex,fedex,funnyguy,tammys,solder,arnie,peacock1,sandown,irocz28,iyaoyas,minor,macabre,bigbro,left4dead2,fuckyou12,wrestle1,degauss,super5,robert01,flicker,smokey12,bearing,alemap,perrito,cool69,lebaron,bigtom,bigpappa,heartbre,bootycal,igloo,kayaks,dicklick,athena1,jarhead1,harbour,boobss,chynna,justic,shirts,blacker,biglou,bigtop,newcar,master13,limp,popeye1,boarding,womack,lucretia,rocky5,stunna,wutang1,nomarg,knights1,reef,shortdog,forsure,tea4two,joyous,icepick,motorbike,swatteam,scarfac,juggerna,hownow,lawncare,bikes,mike44,bilbob,bloomberg,okie,doubles,gawker1,amazonas,dalejr88,jimboy,rhianna,sparrow1,acorns,macdonal,billygoa,asshole3,mess,sparky11,omgwtf,bugeye,smokey01,baskin,crass,fabrika,thump,westsid,kangoo,dredd,engaged,associat,downtime,songohan,snowball1,hooligans,brunswic,safety1,concac,harwood,1forever,krayzie,altosax,tysons,greenday1,black22,hydrant,shazbot,zealand,instruct,blackdick,greyfox,glock1,cmoney,realman,lmfao,shep,shaft1,holsten,iforgotit,particle,gretzky9,bombshel,rifle,celeste1,alderaan,corona1,dado,west123,lowery,whore1,loveman,blouse,compaq3,triniti,carlyle,honker,lokiju,blown,viva,lego,worldwid,extra1,carnegie,fenwick,jordan99,bluetick,k123456789,bob2000,fajita,essayons,bmw320i,sweeti,employee,bob2,tincouch,cindy2,katlyn,miroslava,samso,bosco123,cagney,booboo69,murderer,find,nafanya,spiff,pornlover,movie1,redskins1,bogdan123,123456789.,nicolett,polopol,jmol01,nicklas,1111qq,yfdbufnjh,landis,ffff1,beatles4,mrkitty,graffix,1tits,cerro,bonoedge,donnelly,randy2,wright1,sammycat,skunk1,1234567m,tass,power9,deadsexy,bookert,badluck,mercenar,merlin99,penelopa,dude1,nascar8,joeboo,lizbeth,gjkysqgbpltw,golf123,ernies,garuda,bazuka,stasia,glasss,worksuck,hairdo,partyon,speciali,behave,slip,rainfall,dusty123,dukeblue,reptiles,msdn,1winter,wilshire,tire,john22,cmc09,texan,bettylou,hagakure,pmdmsctsk,pumbaa,schott,flyingv,buffy16,tupper,love269,disneyland,marcelle,youare,durban,lifeguar,perch,stoneman,phoenix8,mishel,witness,mooki,patrick0,muzzle,hale,milkman1,bruder,cornel,applied,nicole12,brodeur,ticketmaster,number20,superfre,cannonba,sandy69,ribeye,coastal,maser,fubu,milla,ducat,teepee,tompkins,gateway3,fuckyou0,hasher,dwell,potion,hang10,carson1,1xrg4kcq,cbr929rr,deangelo,motorbik,hideout,pussy101,camp0017,dugan,co437at,bottles,doormat,timmy123,paolino,hunter22,ceramic,st1100,vvvvvv1,krondor,nenit,gustavo1,eclectic,april26,hamlin,sprin,1green,katieb,steven2,shanon,123456789c,acurarsx,slut543,sequel,inhere,idea,pouncer,fishie,audia8,soccer69,settle,mammoth1,fighting54,mike25,worms,fontana,chaise,vfr800,sordfish,nofate,hellgate,dctvghbdf,qantas,sprint1,wallop,sixsix6,repvtyrj,zxcasdqw,stack,matters,parton,uranium,monkey6,warcraf,pwnage,coleman1,junebug1,targa,cachou,strateg,pullup,trusty,irock,oceano,edmundo,135135ab,psalm69,lorene,elemental,lone,perkman,salguod,viper99,backhand,serrano,dewey1,qwertyas,mailman1,red007,stanky,soaring,module,indoor,bizarro,brick1,michela,preciou,01telemike01,suzann,jarule,scout2,spender,1miller,wendall,forman,martie,yvonne1,psych,ytnhjufnm,electra1,oneida,integrit,strikes,popp,puddy,ruslan123,appelsin,miner,schmidt1,postal1,terorist,rehnrf,vengence,maroon5,juanma,kassidy,greek1,pimpjuice,repytxbr,other1,gen0303,karima,heavy1,02020,dash,palenque,mixing,laika,iamfree,bigears,damir,contessa,kerrigan,danone,yanina,111222q,loveforever,stratocaster,motorolla,ujujkm,123456789zx,stevo,fugitive,poker123,qaz1234,noodles1,lakeshow,soccer33,dark1,nosgoth,redbud,jordan7,hjcnjd,gooses,darren1,icculus,maul,zxcdsa,bluesea,provista,withnail,spiritus,quiet1,cruella,temp1,david26,deliciou,money777,metadata,hyde,shitbag,imfree,gfkmvf,dunca,diana123,mark01,nikita2000,11aa11,llllll1,qwaszxqw,mooooo,klapaucius,ramiro,bear101,vfktymrfz,smokey2,dracul,keith123,slicko,wetass,doofer,tubaman,phase,labels,jimmy69,nfymrf,acting,rjcnzy,demon123,marchenko,de1987ma,mo5kva,bonni,cronaldo,peterman,telecaster,megaman1,neophyte,lmao,stanza,fgdfgdfg,gfgekz,1986irachka,dfcz123,abc125,110491g,dctvghbdtn,niblick,performance,51094didi,majick,robert11,dolby,gfhjkm13,lapin,starik,martusia,vfrcbvev,markov,dogma1,thingy,losenord,evita,jigga1,jungfrau,zxcvbnmz,rottweiler,zxc1234,zero00,menudo,hotfeet,hardup,gamess,kaitlynn,sisyphus,mets69,limo,goof,pascual,eatshit1,olsen,kazak,dragon6,lucky9,kzktxrf,fermer,contacts,alabama123,faye,crazyfrog,anthon1,tiktonik,ferrum,lavanda,dhtlbyf,liana,romai,trantor,g123456,hookah,yoyo123,ghjcnjz,ghost16,gattaca,fotograf,gilber,gbjyth,rosco1,dumpling,flower12,novastar,yfcnz1,blackstar,iownyou,gerd,pi31415,tentacle,fielding,vasilina,lero4ka,1tommy,ididit,jlbyjxtcndj,mike26,wweraw,lukasz,loosee123,palantir,flint1,mapper,virgin1,flooring,calculator,iloveme2,themoon,radmir,ghjcnjqgfhjkm,sheela,spooker,squealer,kees,peace123,zxcqweasd,murakami,processor,harpo,bullshi,krishn,star22,galinka,rbhgbx,messi,rahul,nina123,geemoney,0000000000d,ser123,italien,vintelok,parfilev,grundle,1jack,matthew3,access22,moikka,miguelit,glenn1,vivienne,stason,hfrtnf,mjujuj,nallepuh,imaging,bissjop,rutabega,janeiro,monitor1,kazakova,mistral1,shakal,batman123,selma,5544332211,optimum,kenwood1,pypsik,installsqlst,klubnika,123456789101,jjones,vassar,moogie,vid2600,xfiles1,jeffy,buster22,solovey,generator,ola123,geolog323,a3eilm2s2y,failed,byabybnb,yfcnzyfcnz,twista,ltcnhjth,z1z2z3,monika1,compatible,uto29321,madera,earn381,soreilly,is_a_bot,531879fiz,4007,36363,44556,123579,123852,125412,125521,125689,131517,146969,151500,153351,154263,164379,166666,167943,196400,197300,197600,198910,198920,200001,241455,255225,258147,258654,261397,333000,334433,336633,337733,428054,442200,444000,477041,678901,709394,754321,786110,789551,800500,963147,1362840,1472583,1593570,2521659,5551298,6060842,8546404,11223355,12345611,12345789,19719870,19911992,19955991,85200258,112233445,172839456,369874125,789632147,1472583690,1597532486,hakan,pammy,adidas12,cruel,williamm,blue00,1234567890m,bbbbbb99,tekken3,bechtel,1member,snuffles,billyk,bb334,takako,babalu,exile,tapioca,cbr600f3,grenden,245lufpq,ytdxz2ca,hallowboy,ranger6,bayer,skirts,hartmann,insurance,fatgirls,clahay,hondacrv,outhouse,asap,gotrice,tana,sutter,fuckmeno,rugburn,weihnachte,2twins,heimer,hubbell,jong,megiddo,flori,validate,timoth1,24lover,absent,11111aaaaa,1hhhhh,ccccccc1,bridge1,stagger,jimmy12,greenn,cranes,heating,mario5,ronjon,hotboi,norseman,hilde,sundaypunch,birthday100,gorges,joesmith,john44,glenn74,def456,fotball,bernd,johnnybo,lynsey,blakes,lisa1234,booom,1prince,tudor,sanman,zombie13,bjarne,ancella2,shawn41,pandora2,ck6znp42,retnuh,1herbier,usaf,analfuck,maranell,veronik,1w2q3r4e,emb377,fishe,pass999,claybird,shashi,derby1,fredy,pelvis,chevytru,gismo,arista,ryan22,kitcat,36dd,battle1,kiler,dynomite,beer4me,sonshine,doug1,damnyou,harry2,hopalong,tribune,1fishing,paladine,1world,bulgakov,1wwwww,mycats,hdbiker,anthony3,yourass,breakfast,lory,niger,roof,kowloon,cheroke,dwarf1,33st33,robinh,tonite,asmodean,come2me,calbear,kennyb,dustin23,mistic,snowey,1bbbbbbb,1for,imran,luis1,1happy,crispin,promises,suckmyco,mjollnir,5w76rnqp,caption,farfalla,troika,lecter,4fa82hyx,x4ww5qdr,forum1,barbel,ford01,witcher,kevinc,avril,peter2,talktome,slon,ears,hot1,a7nz8546,fkojn6gb,zldej102,astroman,preteen,testin,vfdhif,kpydskcw,lg2wmgvr,pointers,bone1,unb4g9ty,65pjv22,nhoj,46doris,nicole23,bigsexy1,1surfer,qwerty01,3e4r5t,allen123,heli,zebra3,endgame,unlucky,counsel,petit,littleone,oohrah,krist,angrick,kesha,cba321,wayner,john33,cody1,rosalba,brownlov,pacer,sheet,allister,shader,wltfg4ta,rocket69,blueskie,mandreki,xsvnd4b2,apa195,zip100,vanya,dm6tzsgp,keren,dposton,8i9o0p,rdgpl3ds,kcmfwesg,tenn,1derful,tanis,aquamann,oceanic,sexfiend,guenther,bria,libtech,klaus1,jerry2,4jjcho,racecar1,hacke,wtcacq,gennadiy,nectarin,bigal37,xela,biged,notes,criss,fromme,inheat,rosen,poidog,motorman,boner69,weekly,myheart,jvtuepip,dc3ubn,analyst,swissair,shores,camacho,voronin,currie,dial,bags,timberland,cobb,carp,1matrix,lineback,gggg1,8363eddy,areyou,rosedale,gandalf3,1234567890qaz,pender,mushin,pgszt6md,redlands,startnow,titmouse,johnwayn,nike23,avon,camaleun,peepshow,lizette,1monster,freaksho,tabaluga,fefolico,contrera,levine,shave,robert99,rinker,wack,accounting,coimbra,jimdavis,skywalk1,raman,harr,whine,grip,thedoc,domodo,exclusiv,kimm,gershwin,failte,benefit,gefest,legoman,socal,heidis,wachovia,qwe1234567,i12345,kuma,safeu851,past,longtong,cokeman,magilla,jagman,shannan,baggie,blindman,hermine,debby,mtnman,valerio,asda,cindy69,johnson4,quinton,aura,valley1,scabby,negra,katydid,asssex,bigbroth,quinta,vallon,zanardi,lutscher,buster99,kourniko,finger1,devilmay,stockcar,aleman,haribol,telefone,a23456,b1234567,vasilisk,upload,classact,todiefor,bbbb1,qqqq1,uuuuuu1,nhfnfnf,strike3,andrew11,husain,trebla,ichbin,master55,ilovemylife,joshua3,antonova,valkiria,intelinside,squires,anastas,berwick,garena,belo4ka,cincinna,hasan,rjdfkmxer,goldtree,forbin,balla007,batterie,route,teodoro,12345j,torrente,1elvis,auburn1,faith123,amber2,heracles,shakespeare,abm1224,bennevis,uliana,lowkey,bobbob1,samadhi,jabell,parman,66chevy,monkey00,homie,castles,comrades,americas,shithead1,monument,tremor,verboten,thordog,thespian,modeling,average,mafioso,adamski,britni,rupert1,salle,raju,maranello,sham69,phishin,heffer,rapid1,fishers,scubad,emilyb,lila,sanctuary,thinkbig,fktrcfylh1,twinkles,march2,mymail,flvbhfk,dent,1manager,hidalgo,trendy,falcon11,muchacho,darwin1,matematica,sada,artur1,chicken123,perrit,monkeybu,0sister0,y4kuz4,anallove,maximus2,yjdjcnbf,gunblade,alons,anna1984,eagle99,lisa12,octavius,gcheckou,cbcntvf,asd123qwe,cowabung,amazonka,12341234q,sheeps,fktirf,choucho,pawel1,stokrotka,almaty,ghjcgtrn,foxyroxy,aguilas,florenci,silkcut,cormac,ahead,sandy2,asmara,alinaalina,henry8,rambler1,confidence,12344321a,newbaby,ranger7,poussin,duckey,happens,skylight,decade,batistuta,liebherr,babie,vijay,beaver12,klesko,janice1,snowdon,matulino,howdie,ajnjuhfa,invoice,green8,calumet,blue14,zzzxxxccc,messenge,atljhjdf,rossignol,arlingto,fkbcrf,shark01,konica,penske,ranetka,alabam,butt1,astonmar,kaunas,delta6,autogod,algeria,bigmaxxx,resolute,getfucked,pinguino,scoop1,bammer,bigun,mm259up,celular,archibal,juanjose,charissa,marihuana,sidewalk,eldritch,romer,anto,palmeira,sasha1992,mercator,parolamea,panam,tacitus,aleshka,gfvznm,sasha2000,www333,nastya1995,comando,kuzmina,aftermat,cfif,rudenko,dervish,protection,july20,sharky7,zastava,bristol1,sashasasha,gracias,beta1,sweetdream,123654z,golf01,and123,garibald,galatasara,madalina,nazarova,a666666,cytuehjxrf,knopo4ka,nike1234,elsa,worldwar,4me2know,elena123,giggalo,salvado,milano1,almanac,azucar,antenna,f12345,sokada,princesse,az12345,buckman,honeypie,alphadog,anneli,alsscan,7jokx7b9du,faustus,brescia,tribunal,precise,sparrows,kyle1,depot,andrei123,sundial,matrix01,webguy,bmw318is,elmers,pokemons,money5,blackhole,sun123,rulez1,madhu,chippewa,amparo,maxwell7,fuckyou6,elland,singe,suite,anaell,iluvtits,cholera,kilbosik,desirae,acuario,cheyenn,judges,stuttgar,andreia,vanesa,andreyka,fylhttdf,coulter,flatron1,telefoon,masha1,andrei1,vasco,sweett,frederiksberg,spinoza,velosiped,blackmetal,culito,andrew10,lovergirl,huggies,serenada,cnhtkjr,amberlee,rothmans,anna13,bambi1,vfyxtcnth,appollo,jbruton,qagsud,angelita,maldonado,1knight,dorsett,engine2,vfuflfy,aggarwal,tattoo1,lfytxrf,kot123,aniram,vika1998,juliane,teh012,anna1986,bkmlfh,lamour,matrix7,klimova,usethis1,123abc123,anusha,housebed,hero63,maranda,anyone,maltby,graphix,mlesp31,gurkan,gfgfrfhkj,caldera,send,roxanne1,underwat,conchita,arabia,radiatio,donkeys,snails,koolhaas,sofia1,sapporo,kzinti,nbuhbwf,vjnjhjkf,arkangel,artem777,babyruth,teatro,magical123,gfhjkm135,chanelle,rushfan,screwme,weinberg,q1w1e1,hannah11,twenty1,hellyea,respublika,haslo,biggio,unclesam,thehun,severn,bambou,chubb,villain,rfyfgkz,hpmrbm41,grayfox,baby12,alexis01,marryme,forward1,badaboom,hardtoon,hatelove,mensuck,kickbutt,eddie123,badseed,sweden1,yjdujhjl,babcock,iraq,panthers1,bagdad,charro,buddyy,boobless,russell2,tazzer,superbowl,ironic,tipton,starz,clam,home12,eruption,goon,ujnbrf,dillard,techdeck,busters,1murphy,comrade,kenya1,drumer,jaiden,kleaner,seeme,buttnutt,balls2,baloo1,ironhorse,montenegro,famine,was.here,omnibus,ashley01,greenegg,european,scooter6,spirits,bandana,suzyq,benhogan,lifestyle,bullyboy,bandy,poutine,mandalay,pistol1,hello22,david77,mysite,tampon,ayanna,rebecca2,ipswich1,1edward,powwow,delirium,rugby2,swiss1,lovespor,s5r8ed67s,cowboy22,lively,cum,putt,barney11,jamming,sexpistols,negros,barrera,saviola,groovy1,sanders1,bear2327,latour,quincunx,logica,barter,bronx1,chuck123,iop890,basalt,hammer22,basel,vfvfgfgf123,basil1,mathilda,otter1,cherri,vibes,knuddel,juhani,fetter,galatea,carolina1,22q04w90e,mollymoo,mirella,vlad777,batman13,saxophone,johnsmith,xpressmusic,dima1998,nicotine,tuppence,sexmania,chacho,sevisgur,chick1,kd189nlcih,polkaudi,thoradin,beaner1,ilusha,colfax,yankees3,thomas10,sirocco,1sparky,goldie1,oooooo1,wwwwwww1,plates,mignon,7eleven,cream1,bcrich,budman1,martha1,stacks,elliott1,melissa3,john23,sheep1,slick123,immune,stool,0773417k,august17,eagles20,irie,cyclone1,tigger99,bendog,cookin,mickey7,shanahan,ducati74,whipper,eccles,clothes,beagles,skidmark,fritzz,hunk,grumman,logging7,bears34,stripped,ashley69,roadhog,midge,studmuffin,bold,buckets,beantown,rolls,kurtcobain,sunset1,boodle,love24,beckman,bajskorv,idontno,portvale,relayer,nomoney,lenora,shamen,beefer,monkey66,lingus,pager,brewcrew,mollyb,gillespi,mother2,after,dedalus,footboy,boog,jose98,obsessio,gogosox,bellaboo,bob007,sleigh,cjhjrf,chorus,malvin,vlad1994,billi,ceramics,maruni,broken1,celebrit,elvis69,seppel,estrellit,felix123,krillin,godogs,grolsch,mrblonde,rousseau,rachael1,petal,solitair,natural1,chuchi,dorset,killer01,invest1,siegel,samuel12,booo,melanie2,studio1,rosies,zebedee,harness,aolcom,duane1,sooner1,regis1,thomas13,scylla,violet1,wakeboar,sabers,fresco,bilbobag,oou812,brainiac,bball23,busman,kimbo1,redfish1,know,deep111,bill2,rotor,gallego,carbone,lanzarot,camshaft,christa1,armadillo,trapped,killerb,fatso,bootycall,bigball,lesson,frank69,cari,speedie,1peanut,automag,goodpussy,russel1,jaysoncj,dwdrums,inbed,snowwhite,muscle1,bigfeet,chinito,yesenia,coors1,sophie2,chaching,2enter,onemore,sucka,tiger22,nowayman,hardpack,eman,fireboy,mangoes,skinner1,ruggles,loftus,philip1,sniffy,ratty,halima,phinupi,rocky4,millerti,iwojima,cork,tobi,nomar,1blood,zrjdktdf,blackfly,pretende,lucky6,jazzmin,woodpony,redlion,speed2,maxwell2,clocker,slides,cokeisit,veloce,halftime,guinness1,phoenix3,hammered,rachel69,tony88,icecube1,akitas,inga,billbob,pompon,compress,suger,william0,rich123,cdexswzaq,poohbear1,chessy,binkley,zircon,october6,tiffanie,endure,ducttape,misty2,dragonfi,molley,iro4ka,kruemel,flippers,dgthtl,falcon12,pingu,giancarlo,feather1,biarritz,physical,harada,gevaudan,humme,solidsna,heron,leather1,cumsuck,slobber,dennys,ttocs,courtne,chunli,briank,ashley2,pagedown,grandma1,buddy01,deskpro,condon,yankees4,mattress,temp01,majik,dragon20,dianas,color1,despair,ssvegeta,sneaks,overdriv,cheese2,chane,thechamp,panther5,alanfahy,william6,alianz,dasboot,tassadar,metalgea,william8,c0rvette,prosperity,red911,melon1,helpme2,tangent,ncc1864,honda123,bdfyeirf,nokia2700,waterbed,scoubidou6,spackle,blub,layton,joey21,bollix,crystal2,darcey,stratman,bluesky1,chess1,phatfarm,willows,sheen,millerlite,beverl,dowjones,mickey11,trooper2,tiggers,tierra,gofaster,markus1,mcdaniel,oooooo99,legola,gnome,fifty50,mikehunt,montez,intersta,bugsy1,earth1,ubique,asdfg1234,deez,anvil,ssap,eliza,beardown,hedonism,magnus1,nyyanks,ratten,faktor,sheena1,marrow,negrito,bosch,lytdybr,isabel1,jimandanne,tommyb,mccann,kekskek1,busen,rube,notlob,bolita,bruins77,kallisti,brattax,kalle1,sashenka,frostbit,kwiettie,perverts,daniel3,basshead,celtic1888,bookman,123qwe12,edward2,diamond7,rossco,creek1,booster1,roots,p3nnywiz,borisenko,45colt,heisman,bosshogg,4294967296,catbert,boucher,billet,michael12,materia,muledeer,wills,1doctor,vickers,boywonde,bckhere,pariss,wonderbo,groover,lespaul1,chinatow,starting,browni,gennaro,motorcycle,excellence,price1,mein,breaking,fishhook,wilkes,james00,carolann,gamecocks,chile1,bullwinkle,gasser,jibber,riobravo,snookums,vino,brielle,grog,fanboy,ranma12,rifles,twolves,december1,qazqwe,kendall1,redial,capstan,spunky1,gigantor,cairns,taylor01,brun,mucker,poiulkjh,dear,944turbo,riverplate,fuckmyass,buzzzz,bubba12,bubbabub,whateva,prisonbreak,hondaman,talula,delacruz,bugged,flog,ghjrehjh,karimova,skelton,energizer,cdtnkfyrf,gostate,braves95,3f3fpht7op,porkypig,joakim,rubberdu,donthate,rfvtgbyhn,comatose,clarisse,zodiak,tumadre,caine,bubbles2,cameron2,taurus1,smelly1,applegat,stingers,rockme,fitte,1camaro,culero,unhappy,ssgoku,master21,malinois,yeahrigh,poopee,dopehead,chewbaca,jessee,carla123,medics,fitness1,kyocera,aphrodit,joaqui,happy99,jackaroo,sharyn,depeche1,grendal,politic,lightman,nitemare,cassidy1,kirsten1,panman,dascha,1cookie,machina,pacheco,chumly,balmoral,delray,cnhfyybr,shitty1,ceres,realmadr,malabar,tigerr,alfa155,hjlbjy,sakur,fullred,lopi,diego123,microlab1,shania1,upsman,ram2500,28infern,muselman,juggler,cooking1,qazxdr,chicco22,twoone,darion,claims,vfvf2011,qazwsx1234,171204j,ketamine,buster21,hopeful1,swollen,gjgjdf,bloembol,medici,youngone,berkley,steve2,lui,roller1,cycles,dustin1,tkachuk,civilian,emily123,deploy,corinth,sillyme,gator2,sammmy,hornet1,albator,upper,jami,loranthos,doneit,kungen,debbie69,liverpoolfc,madma,tooling,mikasa,crfnbyf,heinz57,mark11,identity,moriah,mikeyb,josefa,mistery,shenlong,rse2540,greshnik,abundance,odelay,scare,drizzt1,flagman,tiddles,sailaway,starburs,scram,gbrfxe,!qazxsw2,siesta,wetwilly,father1,snoppy,purple01,handsoff,diamondd,scrap,nfqcjy,rodders,duchess1,jonnyboy,robert123,jacobsen,kaluga,liza2000,hangten,model1,wert1234,madam,theworm,espero,linnea,lindros8,sheraton,pudge1,midtown,dumass,rjyatnf,getsum,fallenangel,cateye,feyenoor,lambo1,ltybcjdf,girly,teach,red111,vtkmybr,sharron,55555d,merete,mirror1,diamond6,00000a,stryke,roosevel,d0ct0r,sexxxxxx,pass10,elvina,giordano,david13,virgilio,grissom,warren1,chacha1,dfadan,dima1989,polygon,gritty,davidw,kurupt,racefan,kazu,harddriv,firedawg,darcy1,1a2s3d4f5g6h,black666,celebrat,michaelb,co2000,mets1986,playme,kmfdm1,wilkie,muggins,laforge,pippa,seashell,xenogear,cornfed,daleks,jesusis1,cheerlea,renfield,tessa1,madness1,gary123,eyedoc,4iter,hoodlum,bigsur,natale,noonie,bsheep75,rolodex,rrrrrrr1,almaz666,efremov,sdpass,suggest,cell,whalers,pander,dimidrol,80988218126,dumont,dell123,00998877,dinamite,smythe,118a105b,toenails,newera,vika1996,koller,oooppp,foodie,ljhjuf,godess,constanc,grimm,b00bies,stuffit,fire69,ifufkbyf,elain,sektor,00000007,nigge,tanusha,dochka,1w2w3w,registr,jokerr,mahendra,colts1,cnhfcnm,gooch,wayout,geri,willie12,weeman,hornball,magnu,molly2,cash1,j0nathan,crashed,yankees9,tranzit,12345$,soboleva,teamster,quimby,shockers,elegant,merckx,ladonna,100years,hiromi,luap,mook,sovereign,silas,vangar,jesse123,bonethugs,nick01,dripik,ab12cd34,within,schuster,s62i93,nukem,lena1982,soapy,pointe,justin10,easygo,nonrev,champio,simba2,elina,ninety,katenka,example,17071994a,tktyf,cjkysir,togepi,unknow,gauloise,9lives,leigh1,paintball1,badminto,tourist,parviz,louder,fraise,gautie,guilherme,111111z,blacksab,leann,leachim,secret2,s123456789,marykate,freakme,thinner,shedevil,mousie,slot2009,highgate,pantss,vladimi,crjhjcnm,schuyler,reece,pink1,polopolo09,feuerweh,9noize9,rounds,tranquil,bycnbnen,atkbrc,selfok2013,fullhous,littlebitch,pussybitch,stitches,theking1,sexsells,swinger1,helpful,patman,rhind101,rotter,nord,nicegirl,gumper,tokyo1,suzi,trot,katerin,manna,jimboo,m7hsqstm,stufff,freeones,bombadil,leighann,merl1n,yousuck1,peopl,joker12,angel21,cb207sl,gallo,lennart,max007,tiffy,brucewayne,ivana,gauthie,h2oski,123321s,peggy12,trueno,bailey11,tiern,maxine1,baston,spookie,mine1,lightfoo,punkrawk,wichsen,knight99,dummys,ludmilla,l0swf9gx,hankster,dfktynbyrf,cv141ab,kalyani,eus1sue1,sexybitc,natala,gb15kv99,staci,bimbo38,01478963,phishing,sasha1997,fackyou,tatiana1,jamal1,nexus1,greeneyes,slava123,izumrud,katya123,marlee,123456qwert,pistols,loller,vika2011,mariska,ncstate,verlaat,phatboy,lisabeth,nestea,tom1,ak470000,10987654321,kurosawa,ladybu,valerik,poltava,fuckyouguys,754740g0,juris01,garfild,makarenko,lebedev,vlasova,roma1993,hjcnbckfd,tsubasa,ulyana,spanner1,nikki123,maksat,r7112s,directory,waitron,lizottes,nata123,heckfyxbr,nikita95,zamira,zz6319,shdwlnds,premiumcash,ramil,tos8217,tiribon12,tornike,9004,10048,78978,123212,123342,123452,123589,132333,149521,159456,182838,196800,196820,197430,198206,198207,198701,199103,199430,223366,226622,243122,255555,369741,369874,382436,424365,493949,515069,527952,556644,665259,666222,777222,785001,789963,888777,1011111,1232580,1313131,1357913,1597532,2597174,3440172,4206969,5792076,6969696,8481068,9811020,11111118,11223300,11223311,11251422,12345699,12356789,14142135,14159265,18254288,19755791,19944991,30624700,31415927,36925814,37583867,44556677,45645645,51525354,52545856,58565254,66005918,67390436,78621323,102030405,123451234,123578951,753951456,870621345,000002,0005,0008,derosa,retsub,rewster,tset,matti,sacha,demarco,richar1,golfer01,jegr2d2,noller,hondacr,pass88,littlegi,nihaoma,brittani,67stang,68stang,ds7zamnw,wycombe,foda,stivone,neeraj,titone,tirana,1jackson,apology,hoddling,eggroll,zucchero,rito,brainy,thousand,1001sin,scheiss,informer,1marine,1bill,72chevy,venetian,1simpson,sickle,adpass,letmego,zilla,richy,schlange,1gggggg,bdaddy,1jjjjjjj,newpass3,ermine,308win,drum66,porn11,1brandon,maulwurf,ace1062,naturals,sell,tannenbau,moni,kcng,qwerttrewq,048ro,1super,jose12,mayhew,runvs,supera,1abcdefg,ranita,fritze,tigereye,chiffon,bobbyj,qwe456,123jlb,adobe,akshay,dobbs,events,bama12,phobia,scott12,5string,blanch,q22222,blogger,luners,sexi,andrew6,gisel,sux2bu,sumo,greatgoo,mirko,randie,tonna,pinoyako,marcus2,xufrgemw,sonofsam,cheops,weihnachten,blackros,goobe,g5wks9,zwilling,maandag,asdzxc123,milo17,alic,everto,paraguay,anthony9,raissa,puffy1,watt,boscos,ardmore,piesek,stable,carlsbad,abc1,abigale,baddog1,fish99,255ooo,charly1,denny1,milka,king99,jack99,1ooooo,1booger,kalimera,1warrior,goddes,triplet,nairda,jackhamm,tiger25,nospam,tbear,honda200,hallodu,1carlos,lolopc,yrrim7,rollover,1baby,tehran,moonrake,agile1,melvin1,jdog,wisdom1,regan,hal2000,fuckitall,quart,teagan,vbnhjafy,coolwhip,signatur,sexygirls,aspect,fcc5nky2,rvgmw2gl,dro8smwq,mbkugegs,chris25,whoosh,gunite,myriad,azfpc310,breads,dogfuck,mooch,thetaxi,event,daywalker,mrpibb,apples2,edmonds,alice123,2much4u,bubb,keywest1,wejrpfpu,wwr8x9pu,watchman,tarzan1,gustaf,crue,ngc4565,2i5fdruv,hkger286,qmezrxg4,rz93qpmq,needed,schwab,javier1,skidrow,buzzkill,sierra01,mandel,canvas,nicksfun,jerryb,crock,sommer1,rick1,gibb,passwordpassword,vurdf5i2,xyh28af4,kzkmrf,euro2000,blackwhite,guenter,kmn5hc,ou812a,sujatha,armyof1,siding,saisg002,audra,chery,musket,eklhigcz,icicle,school12,bigboner,branca,rul3z,amberr,158uefas,lifesux,5thgbqi,triathlo,jamshid,teufelo7,germain,gutierrez,gravy1,pulp,wodahs,alexx,ffggyyo,divedeep,laz2937,4ebouux8,poopi,amit,mani,roxie1,cornelius,jonah,athlon64,bebert,psych0,saginaw,doog,winner12,carvalho,grumpy1,handicap,monkey4,r4zpm3,7seven7,hotlanta,schoolgirlie,tami,mvtnr765,ym3cautj,tangle,jaydog472,jjvwd4,cum2me,camry,differen,brice,duarte,still,bama1,vester,numpty,hball,gusman,pens,smalltit,00700,1rangers,passthief,dwl610,balin,foghat,bankshot,hackett,cessna15,thesame,deles,aekara,bbonds,aoi856,dell50,saisha,rueben,4cancel,swisher,doller,123321w,baldman,johnatha,1zxcvbn,blob,dori,spawns,rigid,stoli,tresor,gtnhjdyf,bootmort,purple11,caso,antonio2,harakiri,highjump,amen,nicole18,backdraf,caustic,borodina,hawkey,rallye,baily,maja,bad11bad,104328q,bogomol,souppp,techman,entertai,spec,morocco,cora,sabbeth,99ford,fast1,mommys,connors,table54781,muffer,gjlfhjr,pauly,fregat,fantas,goleta,grabber,ellehcim,albright,comand,gericom,4real,bensam,pardon,marv,whitetail,knudsen,agent86,dagobah,html,groucho1,calpoly,chulo,sanfrancisco,finding,merlin11,brandan,mervin,brucew,paki,tavasz,diamondb,kanako,gorge,aiwa,cando,changer,ownage123,bugmenot,melis,stillher,fourplay,wolfee,razvan,traxxas,entrar,band1t,muleman,bond0007,wow12345,atom,massie,mkonji,eastbay,ramana,turbot,struppi,bimbo1,boxxer,andreika,bigals,pkunzip,belly1,aaron12,joseph2,star77,jennyc,peludo,odonnell,hewson,diem,123qweasdzx,muskan,debussy,sniper01,hamzah,goofus,salima,easy1234,yarrak,abbas,rjycnbnewbz,toontown,checkito,saskatoo,cleo123,dianne1,pumping,z1z2z3z4,mascha,blood666,vesta,very,gotyou,mermaid1,chinky,sklave,sinatra1,hotbot,coolio1,beverly1,anna1985,hogtie,fate,greenlee,cjkjdtq,muhammed,ideal,bigted,dkalis,picket,alysha,aerobics,restaura,xavie,eire,canbeef,allston,ferarri,clownboy,iced,456rty,dock,labour,rockets1,strong1,kodeord,funfunfu,ironlung,latisha,rucker,eatass,alskdjfh,bigdong,htcnjhfy,123a456,black23,mamusia,primes,galvesto,amaranth,corvette1,a1b1c1,lofton,pogoda,cleocat,ilovemar,alex2,89876065093rax,aracel,goodboss,stater,tiburon1,jjjdsl,anisha,adilbek,copland,diadora,cacique,cbhtym,inverse,desember,sl1200,farming,lektor,passw,sdbaker,cthuttdf,kevinm,iamthe1,siegheil,chilis,jorel,jitterbu,sammy7,tronic,rutter,persepho,zaq12qaz,mtgox,wizardry,reviewpass,sambuka,nathan01,msconfig,arianna1,louisian,anarchy1,alphaome,alieva,apex,heather6,anar,fleece,yorkshire,alerts,kohsamui,fatdick,adidas11,horacio,jazmyn,cascada,lanfear,apples123,kulikov,toonsex,piroca,flameon,march11,koskesh,pcitra,agnes1,newzeala,safrane,zoedog,zaphod42,av473dv,sf161pn,transcend,shuriken,saudade,toma,kamilek,poker0,ballast,surabaya,love20,preggo,ahmed1,nastik,dunwoody,dirtygirl,marthe,aidan1,converge,htyfnf,grigoryan,ania,sebring1,airmail,1iceman,aishiteru,shortcut,rangers2,blackhea,rumpole,scorpio6,toto99,praveen,marston,deidara,kristo,denhaag,august24,daniel0,ghjrjgtyrj,akita,answers,larionov,nausicaa,airlines,prototyp,andorra,vangelis,tango123,neelam,walhalla,mansour,vanill,aurelien,remorse,pinoy,glasnost,isaia,lovehina,bestboy,leander,alaric,chante,songs,aerith,quaresma,gizmodo2,weymouth,phaedra,rufuss,arrowhead,classi,faramir,idinahui,conej,alex1995,a159753,rhfcbdfz,konfeta,jumpjet,1234567qwertyu,sorento,liliput,lytghjgtnhjdcr,wonderwall,111222333000,isidor,assa123,alex1985,merengue,chulita,chelsi,alex1987,fiorentina,mansfiel,god123,escrow,areyuke,vaz2115,indahouse,sex777,chiqui,avata,cagliari,ioanna,granat,lucius,fktrcfyl,nhecsyfujkjdt,alford,neumann,qwertyy,mama1961,pornostar,alina123,a123456b,kickin,miledi,mala,brittni,chelsea7,cthlwt,tarelka,ellada,iverso,isthebes,fuck666,walkman555,cowd00d,almeria,joanna1,ataman,ethiopia,17711771s,travieso,aquemini,kristina1,berlioz,sandia,recoba,jerkyboy,gumdrop,icandoit,lenchik,zgjybz,rose1,forest99,wishing,3611jcmg,amazing1,kathmandu,meeker,spring12,kaylin,anisimov,woman1,harlock,tereza,money99,armine,humtum,megha,nottoday,funkie,lucero,kenshin1,gorden,cognit,fsd9shtyu,philo,videoman,bigbird1,ybrjkftdyf,camion,bpvtyf,voronina,locos,zaqwsxcderfv,rebate,flaco1,avenge,hvidovre,dakota2,9638527410,assets,blume,lucky99,ercole,laszlo,fylhtq1,annapoli,misha123,seemnemaailm,anderlecht,tigertig,soccer09,leonov,zebra123,priscila,margret,wake,chula,cactus1,rockshox,missyou,hygge,kazama,baskets,canopy,andzia,anna1990,anetka,anna1997,ybrbnbyf,jxfhjdfirf,5c92v5h6,purple13,qwaszxerdfcv,qweasd1,ataris,giallo,slonko,lucozade,antananarivu,dunno,maywood,gbplf123,pawelek,makeit,anna1994,geroin,gfhfyjbr,fvfnjhb,sucesso,diamond2,philbert,silmaril,venom123,grandson,redhill,listing,antonio3,heimdall,firstone123,karlmasc,sungod,apartment,vermeer,regatta,artimus,plat1num,dick123,dictator,crisp,nell,moom4261,corgi,distant,thoughts,pa$$w0rd,styx,maxthedo,logan2,pushistik,unclebob,cubalibre,armor,(null,canada99,mistie,shipmate,fibonacci,artemis1,bunnyman,kokain,asdfasdf1,cock22,gopnik,bravado,eeyore1,thebeatl,montesa,vaders,assss,glance,sandan,09080706,silver99,vasile,msouthwa,zjses9evpa,ou81269,brandon6,piccolo1,azerbaijan,wahooo,seau55,hergood,hotlove,whipme,outlaw1,misfits1,bilbos,hoghead,ernest1,humanoid,c43dae874d,tarado,tom,mink,penquin,test3,seattle2,kenaidog,department,123123qq,balata,pinkey,minot,demise,natty,june12,himalaya,pinkerto,bigballa,dewdrop,bash,small1,chode,toonami,fuerte,lawina,peyote,robinho,berry1,mypass1,wonderwo,dancer2,notmine,9ball,paycheck,jesussaves,brother2,rodman91,dopeman,apple11,hammock,1penguin,pugdog,micmac,forbidden,caramon,jorden,prophet1,black9,july16,glamis,ninja9,screamin,philosophy,killswit,kegger,rebeld,czekolada,w8woord,racin,hammett,jazzman1,barge,anabelle,bartend,finnland,barnabas,barnard,jayne,rhett,reina,1justin,viper69,demetra,ligeti,diana2,lawnmowe,rockyy,ab55484,papasmurf,ktm250,p3orion,jazzed,calves,gloria1,barstow,neo123,chelsea3,rockandr,bigboys,shellac,burnt,darkness1,happyguy,jaco,greenlantern,polock,untitled,batty,cbufhtnf,python1,nedkelly,sassy123,cams,kreator,lamppost,bonapart,8vfhnf,batman21,joker777,robin123,ventura1,peter22,battery1,phili,bobbyjoe,yomismo,painkill,antihero,carri,spartak1922,boomers,gervais,beeman,cruises,gulnar,goldenbo,bazaar,genoveva,glassjaw,redarmy,redshirt,1loveyou,basketball1,bearcub,nnnnnn1,uuuuuuu1,marley12,wheaton,coronas,chlorine,67mustan,buddy4,poo_,xyzzy1,reynaldo,inandout,tazzman,normand,cousteau,hello6,specboot,hiccup,junior01,castell,goldi,myles,faiths,im2cool,legion1,redsox11,hotfun,0112358,byteme1,qazwsxqazwsx,nikkis,abby123,scottm,floors,cornhusk,bunkie,defcon4,clash,markp,mykiss,linkinpark,soybean,culebra,fuzzie,cantona1,ditka,beastie1,messiah1,kissthis,beatoff,tequil,cymru,cheesey,chomp,hejmeddig,redcard,beckie,intermilan,1light,cakewalk,pitter,clusters,chasmo,osceola,poolside,reeb,beer69,beer1234,gobulls,chimay,yfz450,pimpsta,bernardi,rocket21,000000z,enormous,anit,swansong,helicopter,poulette,theodora,bellows,creams,below,dolphin9,pater,darth1,cookie2,smokee,1ladybug,regedit,good4you,france98,prout,kensingt,inspect,hanger,psychic,billee,scsa316,blue28,dmb2011,without,peter69,private5,teenslut,bombero,pawnee,frogg,eleanor1,ones,piotr,vassago,august15,edgar1,thiago,brandon7,gusto,cheating,tarbit,tippie,landers,bwana,mauritius,hithere1,flexscan,2305822q,nickey,billyg,kawika,tomjerry,iamsam,chrisg,nnmaster,bradle,oboy,belladog,cool1234,gautam,dreamgirl,superman123,manimal,ensemble,hailey1,simpl,baseball12,dirt49,formel1,pornosta,amber69,divine5,bicho,dooper,superdude,arnie1,brucie,biddy,fishbowl,whitewol,dcp500,devochka,littlebear,sparky99,mary1,goshawk,nothing0,suckfuck,john55,mario12,dukies,beanhead,goathead,faith2,johny,tigers11,cannibus,penpal,johnnyd,fastdraw,halford,notme,hefner,daddymac,thibault,potty,morri,promopas,carded,thereds,tarawa,powerpla,wallpape,morgaine,bettis36,aust1n,matt01,palm,thruster,1theman,1bigmac,liberty7,greenery,bigmouth,bigt,dennis2,stoker,dildo1,hangers,march15,johnd,wetworks,crossroa,gunfight,bunky1,rockcity,tingle,heywood,gordy,gutentag,dirtybir,kimbo,willis1,motox,pepote,bushwick,sharon69,mystic1,kink,stat,katiedog,greatdan,hastur,houndog,testerer,schroede,runnin,multipas,lizabeth,chico123,lund,gillis,sayuri,kumar123,channels,shana1,pecos,birdcage,racquel,washear,shameless,rachele,k1200rs,tools1,kissfan,sassydog,yellow5,optiquest,birdsong,forecast,kingss,tirpitz,bison,laluna,mini14,bobby12,cooper12,mistys,byoung,sammy69,toscana,rhode,modify,cleanup,flag,snake2,mymoney1,cntgfyjdf,blackfin,blackheart,brady1,robotec,joker13,grimreap,ashaman,walsall,motoguzz,kathi,money23,peterk,whoa,thekids,temple1,logcabin,thorny,gordan,bykemo,neverwinter,twiddle,breed,stevie1,pinokio,mclarenf1,stickboy,bloodlus,cinta,torrents,blueone,pussy12,boogiema,bnm123,depaul,bluedragon,delay,scorpian,fsunoles,januari,standrew,dolce,87e5nclizry,justin01,astron,flat,ginger123,bmw750il,stronzo,canesfan,welch,kathryn1,gijoe,luvsex,nomis,65mustan,shoeman,britches,stumper,killer13,terrill,fortune1,jojo123,justin123,bobrik,hotdick,boca,cindee,bodie,bren,cer980,rafale,dfyjdf846,futebol,pinarell,nepal,dude1234,jkmxbr,wilmar,pepluv,zantac,fuckthem,mattias,micky1,giampaolo,danny001,shaken,pace,bouncy,puppets,pancreas,tampico,micki,supermario,union1,lollie,lichen,modesty,turambar,hamm,usopen,pretender,chatting,eagle21,myhero,killed,pandoras,hottuna,sever,roofus,buddog,ryan01,satire,balls123,magic2,nosaints,marten,leaf,dukers,mccall,lovesuck,fillmore,brandy12,chevyss,ryslan,kleiner,buster3,barney01,ou812345,paully,conor1,children2,carrion,longford,pub113,sofun,shaky,chink,mcknight,roisin,redhorse,fuckgirl,gordon2,napster1,doodle1,panzer1,amazed,hebron,sasafras,publish,bridger,topten,miami305,antrim,secure1,tosca,letmeino,roboto,lesabre,grizzy,videogam,brucey,tylerj,clubs,wales1,pointman,gehenna,daniel21,gopokes,ranger98,abbydog,lou1988,sathya,wreck,spankme1,buck123,thank,stunts,hammer99,artichok,gthtrhtcnjr,jimmy99,bushmast,filip,sailormo,amersham,samat,coolfool,1bullshi,mmmnnn,void,lucycat,butterbean,pie123,vfrcbvvfrcbv,canman,mahatma,love88,merman,byrne,cgtwbfkbcn,elroy,lacrimos,maude,caball,arisia,mccain,caraj,dameon,teenlove,palace1,seabass1,pineda,taratata,fitta,marmalad,cameron7,mahogany,huntress,redwhite,interior,nbibyf,june28,lechef,mudslide,canoneos,nalini,kahala,icema,finale,rimini,ember,zxc12,image1,erwin1,carrol,path,goater,october7,channel1,naturist,chrish,kilmer,catboy,shapiro,beatty,jayboy,authcode,master0,rusty5,latrice,smith22,kicker1,surfside,glasgow1,rfycthdf,clements,ingersol,daniel11,selrahc,donna123,maryann1,annamaria,taller,baseball9,steph123,donsdad,system12,marcelit,wrestling1,tedd,orange10,lances,choker,arowana,silver33,chris10,delhi,atwork,hobson,scoopy,merced,palpatin,music2,dishes,smurph,silverfi,1beer,stark,corneliu,design1,insignia,thestone,cools,yoghurt,drain,singer1,5411pimo,dima2009,zimmerma,cowboy12,stalke,excited,wigger,soxfan,retired1,sodoff,kolia123,harley13,sarah69,dude69,dyanna,grill,acme34,sigmapi,bigloser,47ds8x,couger,rebenok,fucky,crenshaw,roby,esteem,r1234567,joshman,sputnik1,croaker,ridges,titti,raver,schuey,lexmark1,salerno,cestmoi,sheree,good123,august9,masterma,helter,love4you,ctvtyjdf,passking,sayan,oleg1994,9379992q,samboy,photogra,aachen,stain,awesom,sleeve,quacker,pooky1,capital5,handy1,poppydog,embrace,ferraris,clementi,kenned,punish,singe11,semperf1,maria12,marcin1,fafnir,marquise,feldspar,sthgrtst,tylenol,robert22,hassle,spooty,lovethem,deuce1,killem,thread,short1,qwertyz,kittykit,monster7,french1,ginny1,liveoak,silverma,kolding,clinic,sam,mama12345,1moose,dnevnik,genial,poopoo1,floor,aqwzsxedc,marshal1,greentree,qweqwe12,conley,presence,purple2,drucker,pentagram,hfnfneq,lolita1,njhyflj,margera,pumpkin2,bond00,powerhou,emmajane,terri1,1qazxdr5,sponsor,darkhors,superx,mineonly,redder,electr,torrid,jaylen,dragoon1,timm,lotrfotr34,caffreys,zvfrfcb,serina,gladiolus,ryder1,hotspurs,boutique,disne,driscoll,russo,gettysbu,holeshot,pixel,recover,shazam1,viper7,logans,p0o9i8u7y6,dave1234,ritual,peggysue,jamesw,koresh,till,llama1,herber,mushka,loved,plant1,bogeys,baldhead,nesta,everclea,dctdjkjl,1nnnnn,muse,vbkkbjy,rkbvtyrj,123321aa,terminato,rfghjy,monday2,lolnoob,nextdoor,giga,santorin,hardest,emergenc,awdrgyjilp,thefrog,flibble,papageno,boomerang,555555d,quietkey,skripka,timbuktu,123qqq,kanat,mrbig,hardy1,123lol123,1234qwerasdfzxcv,gordit,korolev,diann,lionsden,pappnase,tweaker,xexeylhf,dougla,qazwsx12345,studly1,arenrone,italia1,gateway9,jesuschr,axelle,eclips,terrific,edibey,money69,honor1,powerstr,bigsexxy,thesims2,drilling,suckit1,dthjybxrf,lbvfcbr,thrall,panasonik,oinker,rory,emblem,polkaudio,xbox36,asilas,nicetry,letici,nermin,salim,agshar,yeehaa,hockey22,111luzer,mongrel,boognish,kierra,kimono,pbyfblf,thx113,gtogto43,lidiya,pepsiman,jason13,eiffel,polonia,fathead1,nola,station2,ps253535,dragon666,mashoutq,nfyz123,alston,dumbshit,toyota91,struggle,newlove,muttly,gonzos,selassie,gatinho,shmuck,iddqdiddqd,bikman,tcglyued,touche,apple5,assmaster,ned467,jamboree,yjdbrjdf,elise1,stockhol,toplay,matrix99,sofiko,a1b2c3d,thvfrjdf,emilka,valenok,bananza,gribble,sat321321,espn,tinti,felecia,hank1,quintana,alexandra1,1234512i,bimbos,jorge1,gfgf1234,apocalyp,b0n3,spiri,starline,raffael,gasto,fabfive,sharona,lovebugs,marcus12,pikach,reape,cepseoun,pinkpussy,cityboy,w1w2w3,321ret32,babyboy1,fastman,morrissey,nintend,mickey22,sasha11,jkz123,nokiax2,guille,niles,ferdi,sovereig,remi,ferrell,qwest123,stiefel,ozzy666,agapov58,ttttttt1,junkfood,nfyrbcn,profiles,ironfist,squeeky,hjvfynbrf,hondavfr,homer69,pens66,cockgobbler,timati,dad123,tornados,oleg123,dude12,mario64,richard0,12345qqq,summoner,mclaren1,gilgamesh,diavolo,cvzefh1gk,marleen,wm2006,hardguy,galleries,nokian,maks123,nikita1998,luster,birder,lucas12,pica,blargh,tetas,furka,godhead,powerr,kumiko,mamula,cimbo,dextur,moll,gass,shithappens,gallus,sergio1,cheetah1,lindy,cornish,rudiger,aimee1,pocono,topcop,iloveboobies,hambone1,abcdef12,kloster,georgy,irina1,gigant,hereiam,janssen,sommar,nick11,irish123,tree1,ghjcnjgbpltw,shahrukh,longboar,margaret1,vfnehsv,luigi1,nomames,puttana,tr1993,w1234567,quantex,mikeee,viktory,phineas,hammertime,mayflowe,avr7000,teeter,heckfyf,jndfkb,hatman,cbr600f4,tv612se,jason22,smacky,bliss7,deskjet1,0cdh0v99ue,mossberg,tuff,miracle1,huligan,cheez,precisio,karpova,napkin,roman777,mmcm19,klaudia1,vfvjyn,roadrash,nara,medical1,crazzy,nokiaa,perfection,lillo,nazarenko,rfhbyrf,hjvjxrf,dctulf,revelati,rfnfhbyf,love2010,importan,jordana,j1234567,zaqwsx1,shaq,lactate,jesus33,burrows,mike34,rafter,gcheckout,rfgecnfcerf,mammy,selector,secured,wooten,lacroix,minddoc,sweeet,maier,mobility,sudhakar,julija,malcolmx,kamal,kakosja,karim,preeti,0101dd,kisa,vlad123,fizika,pangaea,yfl.irf,l123456,nanette,description,accountbloc,octavio,hardwareid,tidbit,scripts,287hf71h,mrmagoo,romanenko,mkvdari,mdmaiwa3,msinfo,osipov,timt42,ybrbnf_25,nurjan,gfccgjhn,svetasveta,havvoc,123321az,losbravo,sanek,thd1shr,shash,imaccess,gxlmxbewym,n8skfswa,ufdibyjd,bubluk,4060,6001,10078,14028,17098,50000,54354,78965,115511,119966,123592,123699,123978,124365,125690,137955,143000,144444,197200,198020,198800,199410,204060,224455,228822,316271,365214,382563,414243,441232,444888,483422,545645,665566,666444,687887,747200,789056,880888,887766,1010321,1233215,1346795,1512198,2022958,2121212,2525252,2797349,3816778,5556633,7085506,7506751,9124852,9556035,11119999,12457896,15975391,19372846,19380018,19822891,19855891,46466452,51502112,55495746,57699434,61808861,87062134,98766789,159357123,159951159,777555333,999666333,2468013579,dclxvi,1digital,a8kd47v5,supercop,stall,enfant,gentleman,ssbt8ae2,jackfrost,doda99,whit,chevyy,christo1,henr,2500hd,mould,themis,000008,shinchan,winder,dimes,peterm,qwerty09,fiocco,nitsua,happie,ibelieve,mchale,knopfler,hanley,parsley,thecure1,horizon1,chucko,walter34,buster88,fastest,wendigo,platina,fordfocus,contro,verymuch,oldpussy,bman,1bbbbbb,1eeeeeee,easy1,zachar1,1xxxxxxx,jasonj,bob111,greese,arlen,al123456,oompah,scottb,purdy,achim,121ebay,arzen,goodjob,shadow88,bigtim,atep1,austin2,dragon98,1asdfghj,coco12,bertone,123test,123boots1,tplate,dav123,opal,sss123,divad,dietmar,softcore,hathaway,camilla1,penfloor,visigoth,leet,bullnuts,elixir,mark13,singapur,scotlan,shadow14,samo,matveev,blue92,alia,elfriede,animal2000,carlos6,7imjfstw,9hmlpyjd,478jfszk,merlin21,hambur,jhereg,algiers,specter,racism,bung,july1,refinnej,nokia7070,jimbo69,imhome,tobias1,crazyd,lalit,elves,lozano,deedlit,nicks,damsel,lichking,hubertus,suspend,pantyman,moman,newyorke,vfhnsyjdf,liza2009,1month,abner,abra,adolphus,bunyan,1rock,1bigdadd,1alex,bombs,2balls,romper,1sarah,gable,delite,littleb,plain,breeder,5alive,taproot,malaria,paolo1,pools,1packers,hammer69,golfer11,1badger,qwe1234,simbacat,yodaddy,thewolf,lightbulb,inout,liar,ignite,altman,filles,lilone,arnol,angelia,buffs,belt,hoffmann,xxxyyy,123321456654,decent,currahee,emanue,nicole3,holly2,truant,pages,aassaa,paule,peni,dkjfghdk,stork,1honda,1creativ,a6pihd,sd3utre7,chkdsk,voice,wrongway,sassy2,reiner,torquay,wunder,demetri,queenas8151,bigbri,damian1,justforf,mccool24,imani,hedj2n4q,ofclr278,dudder,macross7,johnnn,forplay,gilroy,dotson,jeff12,rosebudd,twotone,schwing,wewiz,jabroni1,dukeman,angeleyes,pipeutvj,dorman,lamerz,2h0t4me,wallstreet,tiburo,goodby,gleb,moores,burundi,tabletop,richard9,acehigh,bendis,gorila,billy5,bellybut,12345678i,invernes,medias,conducto,tooting,method7,barrabas,softball1,hooks,voorhees,moonstafa,barabbas,escort1,lgnu9d,mustaine,calimer,summer13,aerdna,1drummer,albert12,tony12,indianer,scanman,panther6,demon6,tico,byers,cope,petera,duramax,sissi,arsenii,doss,accobra,scottsda,brazen,hymen,poppi,dukey,dago,erathia,gera,44mag,perth,aaazzz,adelheid,camel123,jackie69,n7td4bjl,laurenc,lukas1,peking,loploprock,markin,issmall,giveit,josh12,richey,gborv526,yaglasph,blessyou,refer,dsmith,acer12,franzi,mariette,capo,misterme,bine,checkm8,pussy6,connell,1qazwsxedc,whynotme,monteiro,cage,dott,akron,125wm,auntjudy,waltrip,fica,1234567890987654321,blofeld,barnacle,marlins1,felici,legs11,signin,trotters,flyboy1,dudley1,akuma,joxury8f,5speed,fifa2010,gotime,trim7gun,today2,lark,donaldduck,buster123,brande,booyaka,geral,andrea12,capone1,1234567890qwerty,barth,rabbit66,feeds,lomond,abandon,boolean,monster9,hydepark,opening,devil69,george13,azreal,connecte,montse,matthew5,rushman,jhrl0821,handily,kosssss,nightfal,sixer3,phoenix9,anthony5,oslo,armani1,kaufmann,gemeni,snowcat,kissed,flippe,enlighte,david21,elmer1,86chevyx,f14tomcat,relic,29palms,koichi,mali,melt,98xa29,ygfxbkgt,adamson,turbo911,pussy5,jimb,svenska,greyhawk,keri,volante,christiaan,girls69,anchorat,lovess,lilli,sanskrit,ajax01,queens1,hanford,gayman,ending,gimmesum,bigtex,eatmyass,dogbert1,azimuth,truegrit,jeniffer,targa1,edward11,xenon1,totti,q1w2e3r4t5y6u7i8o9p0,honda450,gigemags,a112233,a159357,anna1982,sammons,ghibli,biedronka,dmitrij,gresham,12345678w,techn9ne,shihan,6gcf636i,primus1,playhouse,gangster1,ash123,jerkin,trabant,guitarman,rakas,sportage,denver7,bogdanova,chevy11,ghfgjh,hesoyam1,asher,nottingham,morganstanley,bobbyt,amanda10,airbrush,hubba,milburn,charit,freecell,astronomy,warp,curlew,pakalolo,hockey4,vfrcbvjd,bullard,nevergiveup,anupam,chivas1,andrea99,minim,arenas,romanson,nepenthe,morefun,bela,gonchar,madhatter,le33px,fredrau,access88,eugenio,impossib,scrapp,morelia,scratch1,hollywood1,stewar,sacrific,bmw750,aiden1,siffredi,nantucke,drew1,acme,wiley1,kravchenko,rochester,darksta,sananton,mary69,looking4,angel007,bubbl,wear,adama,adamas,bmw328,mother12,billa,excaliber,bandman,hello101,mishra,sawtooth,a1234a,dawid1,bonn,pistola,theriver,alfonse,basket1,sophieh6,bluewave,koketka,seymur,123321qw,borodin,felicita,freder,azizbek,adios,bankrupt,1arsenal,birthday2,edcwsxqaz,mark3434,sybase,valmet,backwood,sunday1,molodec,larousse,spawn7,nokia5200,taylorc,deflep,mamaliga,kajlas,wowlook1,manchester1,telus01,motel,qqqaaa,natasha123,casio1,sys64738,alex1974,nostradamus,trish1,newborn,al1716,654321z,epervier,afrodite,poopypan,recon7,skydive1,bokser,jawbreak,penchair,kareta,aldebaran,akinfeev,silkeborg,pensacol,g0dz1ll4,sanction,jesuschris,nn527hp,dolla,milkmaid,terrell1,epsilon1,lillian1,crhbgrf,maxsim,cathryn,felicidade,ezequiel,matrixx,ekbnrf,junaid,amira,polly123,number8,vaffanculo,botanik,jhnjgtl12,arxangel,malyshka,barsic,petshop,fhrflbq,0123654789,alltheway,zoltar,maasikas,sunsets,solid1,59382113kevinp,cachero,resort,password!,karizma,ashram,tarragon,mama1964,joshua0,part,silverstone,chaparra,tetley,havok,bums,saraann,pipeman,numb,1chester,reset1,massi,monarchs,asmodey,sarahh,zapidoo,connor11,sane4ek,journey1,9988776655,blue135,jnrhjqcz,daggers,123vika,ilford,1legend,anna2002,tomb,tsunami1,rolltide1,ybrbnjcbr,portishead,free30,redcar27,footie,moskwa,cougars1,blackhorse,petert,ferrina,cstock,av626ss,macedonia,si711ne,robles,dtcyeirf,1234567890p,picture1,column,cartagen,volodia,folgore,alex1975,katemoss,alegna,burzum,alex1981,digitex,fktrcttdf,yfxfkmybr,evropa,123654789a,sasha777,alena1,leshka,glasha,ytpyf.,bloody1,ancona,ander,haustool,cbljhjdf,alex1971,134679a,northside,skyeseth,alex97,frontosa,andress,diamond4,luansantana,blooming,scudder,rondo,tima,fredonia,anya,valeria1,corrigan,jawa350,contrasena,elmwood,qwe123qwe123,change12,yellow3,cubana,ofcourse,romance1,genesis2,fuckthemall,dilara,alina1995,lubimaya,lisica,cardss,happyness,weasels,paranoya,hifive,vbitkm,vinicius,alley1,charleston,titania,alli,boing747,allies,parliame,hunglow,lando,bossss,women1,ufkjxrf,mamada,patient,pookster,parapet,1hardon,shavon,adrianna1,painters,ferrero,lore,stargirl,marist,pennydog,onlyone1,amanda123,ashley123,satyam,green45,fucking1,festiva,buldozer,axiom,slender,pheonix1,amigas,negrita,meduza,heavymetal,bobrov,beb,ashraf,sargsyan,1flowers,april15,laura2,ifoptfcor,miyvarxar,lovable,anahit,anais,truelov,flavi,varsha,dekal,stimorol,potapova,anatoli,lubimka,fylhsq,cathrine,dorcas,carro,mazepa,147258369a,qw12345,andrew99,fargus,halle,clarkkent,andrey1,gjkzrjdf,betmen,yfeiybrb,bumhole,luvbekki,sparky01,holcomb,derren,jakes,amberdog,persona1,multiscan,beloved1,hotbitch,advert,varela,dannyd,truskawka,angel17,sascha1,eatmeat,v00d00,tagada,anil,yoshiko,anime123,sanna,outpost,antonioj,flyvholm,fhutynbyf,berner,aaa123456,sone4ka,donkeykong,gtnhjpfdjlcr,gowron,hurryup,into,lovepuss,susan69,sexy22,owns,avtoritet,antonia1,conny,ninjutsu,red100,dima777,mansikka,modem1,odt4p6sv8,zxcvbn123456,gjpbnbd,imac,apache64,aessedai,aperture,sultry,monitor2,totenkopf,dogphil3650,chicago5,fine1,arabian,putangina,love15,tony45,babyphat,artful,jason11,hanibal,dontgotm,undone,veruca,vehxbr,arjuna,arkasha,pouch,asslicke,philippines,cantina,wideopen,chitra,run4fun,molecule,unseen,barsch,hakuna,davinchi,zxcasd123,scrapland,methanol,bmw328i,frog1,spiderman3,phezc419hv,imelda,reviewer,blass,werty123,lassiter,comicbooks,64chevy,astonv,zcxfcnkbdfz,perrine,1video,borealis,a333444,zsecyus56,awake,bigbone,booboo11,d50gnn,rjirf,4815162342q,zzaaqq,thuglove,rkelly,badder,leto,bear13,recess,baer,raptor22,bltynbabrfwbz,pest,poacher,medtech,baba123,vaz2114,1explore,robbob,america2,ricci,masterba,baja,bmw528,nelly1,greenlan,chopsuey,kokot,balance1,pussy4,moondog1,moise,meeko,bard,flynavy,hayman,cotton1,layla1,katuha,destiny2,happy6,ironfish,tracey1,jasmine7,betrayal,mcgrady,ballroom,geetha,kronik,chitty,oneputt,humpin,stonehenge,lazer1,munchy,zacharia,pedal,bananas1,flute1,brille,1frank,punto,warhammer40k,tnt123,boxman,hemingwa,cjymrf,hello23,cobra12,jordan45,furnace,canto,generale,mine11,march17,killer77,williamj,jimbo2,letterma,war123,olson,steroid,peanut11,seamless,rugbyman,plywood,dany,franco1,kriss,execute,xanth,angeldog,potters,hatrick,shenmue,grandam1,layer,rosehill,tucke,parson,zackery,1cricket,fences,swift1,kinglear,cessna172,calla,baroque,gbpltw123,shadowman,rstlne,mockba,olga1976,pd25,bowie1,myhoney,guadalupe,1bastard,baseball7,cottage1,homerun1,bleu,spike2,greenda,monkeybutt,farts,jays,syndicate,something1,craiger,passwordstandard,pierre1,dorothee,bastogne,brandon3,iamgreat,358hkyp,overflow,siddis,coffee2,marcia1,chancy,fairchil,hits,batmonh,doody,wildon,batteries,tom204,vonnie,exciter,sundog,gti16v,ottom,rataros,tonchin,joesph,chicken0,missys,dell11,bodhi,maprchem56458,magnit,paswoord,leedsuni,dance123,bballs,ppppppp1,1kkkkk,1lllll,city1,mmmmmmm1,nnnnnnn1,elessar,bobo123,user123,bobolink,gandalf0,beckys,1giants,udders,freezing,chappie,maddawg,hextall,amiga500,hotcunt,scubas,diet,further,infotech,moose69,motoxxx,righty,gundam00,speck,bermuda1,tylerd,maersk,vending,blight,camelo,backd00r,cheyenne1,1king,drumming,tgbxtcrbq,lovezp1314,buster69,twistys,whatluck,riptide1,kalo,playgrou,construction,tangsoo,brewery,thanku,ortezza,killas,beatbox,slutfuck,ostsee,beatme,kiddo,corp,momoney1,eager,fractals,polkadot,prince11,seemee,milner,bigtitty,form,kimberley,slavery,optimus1,iluvu,pickens,london01,steamboat,emely,comfort1,sammy11,brianc,litebeer,hampster,smalldog,realsex,romann,cartman2,blasted,jeep99,sunburst,engels,toby12,mugen,albertjr,0101198,wantsex,egoiste,pjkeirf,maddog69,object,belinda1,omni,elvir,gammon,emma01,awesome2,maximu,thicker,stoked,cosmodog,bijoux,falls,beltran,ben1234,pooped,fatmike,mamadou,benwin,michou,bend,medicus,justine1,bendix,morphius,biplane,goodbye1,brillian,kirbys,wrote,snaggle,kenji,lankford,pr1ncess,glass1,laotzu,nuaddn9561,benner,metalhead,mamapap,jollymon,field1,janets,trompete,matchbox20,rambo2,benzene,bozo123,lifestyl,bobi,pachanga,drool,buzzword,bugg,gfhfpbn,adaptec,halloo,roslyn,grenoble,mariana1,green420,spring00,help123,vitalik1,papas,gavrilov,123qwe1,steve22,dermot,indig,cody11,cassie12,underhil,fireplug,bobcat12,overcome,bruce123,knowles,poole,g1234567,usmc1,rust,brianw,lokomoti,pegas,nightwis,sleddog,red333,jamesm,onizuka,melony,scooby11,brody1,noir,obvious1,kelton,basura,policeman,jamese,bautista,zzzz1,bicep,emporium,kolort,chevy3,1nascar,patriots1,chrisrey,padawan,eather,pinky123,stud69,thc420,golf1234,girl1,fucktoy,pinkfl,loreli,bigbubba,2letmein,ilikepussy,godsgift,june14,chevy69,technica,dummer,flinders,bouvier,elway07,james6,bige,liljoe,gravedig,jakeyboy,longboard,highspee,saralee,jaded,12inches,grizzlie,hockey69,biggums,leghorn,bigjake,tomtom1,goskins,jekyll,gaffney,mackin,monkey9,nigger123,lilmike,snappy1,bigo,gomango,mantaray,whitehea,push,ray123,redhawks,newcomer,hondas2000,steve12,dickster,ruddy,skinny1,sunburn,cumshot1,bonkers1,doors1,convair,kyjelly,flabby,ford11,throatfuck,imladris,himmler,hiker,mcnair,85bears,hots,waiter,12play,partner1,july21,nibiru,communit,mitzi1,alucard1,latham,bantha,jackoff1,madnes,clitty,spider10,cabledog,figa,eagleman,tidwell,peggie,drachen,lzhan16889,tight1,ladeda,chest,bitten,igor1994,unison,champ123,brooksie,frogman1,lasse,bubbaman,august22,passsword,noodle1,stang50,coco11,brennan1,1cherry,magic7,twinturb,pamplona,tangos,claws,pasture,sling,boycott,baseball11,welcomes,scc1975,nailed,krille,cunt1,harumi,douchebag,fuhrer,rossigno,nuggets1,youngman,blazing,billly,clothing,doggy123,craigs,krakatoa,snowstor,church1,orange11,chester3,motdepass,zymurgy,leyton,harryp,bloomers,wisper,dale3,equine,selecta,fatman1,humans,fuckuall,mamasboy,zaire,purple69,shopping1,delta7,moon69,blue24,miyuki,juvis123,noremac,icewater,damiano,blurry,joshua99,imagination,viper01,dood,ramman,apeshit,crimea,kenpo1,shit12,007000,richard8,lompoc,estes,urbana,irene1,quad,mcclure,freedom8,nephew,coppers,flash2,carrot1,2big4u,5nizza,latenite,789456123a,imperia,bubba11,pasha1,nikolaevna,nokia6131,evenpar,hoosier1,kwiatuszek,gtnhjczy,fjdksl,inter1,nokia6500,spuddy,kiba1z,vova1994,chicony,english1,bondra12,meatwad,fatfree,congas,sambora,foreign,stonie,busta,ohmy,fahayek,boobs69,snack,write,piper2,pimphard,cootie,belluno,booty69,boochie,green4,bobcat1,wintermu,rjnjatq,iberia,born,j0shua,beckham23,delerium,1rabbit,caseyboy,sleazy,redsox20,justice2,debbi,venomous,scorpius,boundary,edit,gondola,stabbin,toybox,fight1,denn,va2001,ladylove,sniffles,eintritt,lanesra,navyman,slang,ascent,jessica3,vanhorn,platinu,cookbook,darb,storm7,bradbury,kanmax1994,thunder0,gundog,pallina,duck1,roach1,cubby1,holde,isbest,taylor9,reeper,hammer11,compaq123,fourx4,hockey9,7mary3,busines,socorro,wagoneer,danniash,markham,david11,infidel,shockey,caring,hammer12,burlpony,ram123,platonic,nels0n,angel77,sarcasm,kenseth,hassel,max1998,science1,lawn,cabin1,ox3ford,platini,sparkle1,service321,christi1,brunob,bot2010,retter,cooper11,iraffert,guillermo,hammie,gnasher,cleaners,wooody,tiedomi,sveiks,wifey1,yams7,johnna,flipoff,snazzy,abc123a,janie,dave55,1christi,pothole,man1,jack5225,vwpassat,burltree,mornings,cosmo123,thomas21,tonto1,jaden,1snoopy,pocus,caveat,subzero1,julias,sanson,oaktown,rodder,bullrun,happyhap,yasacrac,discord,coma,greenhouse,shampoo1,reiter,qwerty32,tiziano,candance,coloring,twincam,supermom,easypass,porkpie,mannix,undernet,endeavor,pablit,wireman,talavera,tobasco,rodeos,vault,karmann,shameles,taylor11,chippie,guthrie,retrac,brevard,gamemaster,bpgjldsgjldthnf,cassis,casting,niagra,dearborn,strikers,effects,xiaoyua123,writerspace,passwd1,pantera6,tttttt99,manageme,hornets1,sosexy,ciccione,regal1,emokid,chaika,jumpshot,aekdb,sharper,clockwor,starrs,katiebug,chills,pincher,reynald,guybrush,music101,tabaco,fleur,maxcat,ewing33,control2,toadman,trixie1,marmalade,beerss,arsenal0,jasmine3,speedy2,kamaz,clancy1,janne,cooper2,deuce22,th0mas,zpflhjn1,jimbob1,hunden,claw,1rocket,elbert,confetti,coorslit,12monkeys,slavko,matrix123,helens,earlgrey,shabazz,wildchil,throne,countess,anthro,coven,marzipan,coyote1,sofaking,1crystal,gfhfvgfvgfv,eetfuk,mouse2,gonzo123,standing,solus,beagle1,klepto,craig123,cutlass1,cram,jimbo123,flappy,sign,milliona,sactown,1horse,kryptonite,rocksta,creativ1,darksun,saved,wisteria,mustang67,scene,sanjos,69er,123456789j,08080,einstei,sofi,marcos1,repmvbx,pass1wor,queball,sparda,fondle,roy123,matthew0,hoyasaxa,posse,punchy,worf,waring,gamgee,methodma,saladin,lisaann,holiness,prince2,prisma,damilola,kolawole,richard4,jesus4me,lostboys,rabies,qwerty789,shadow10,marge1,samar,atwood,ghtlfntkm,barabash,1lucky,rugby8,triton1,cnfhsq,kasia,tigerfan,oliver2,moparman,cuddly,izzard,9z5ve9rrcz,rocker1,razer,jackmeof,mamma1,ringwood,1gandalf,kahless,splatt,disable,cathay,tickled,sexy21,rbhjxrf,greta1,rustyboy,mood,fietsbel,hitch,one2one,dippy,wales,hotshot1,cynthi,acheron,ev700,gfg65h7,goldenboy,d1d2d3,kgvebmqy,vader123,slava2,gizmo2,falcon69,athene,xfhkbr,scarlets,dogman1,pfhbyf,pongo1,dopamine,laverda,dumbfuck,duke12,graphite,pimper,raque,tigers2,dimo4ka,fiveiron,wilber,jade1,blowme2,mine69,katyusha,green55,snoopy69,haileris,dandelion,jumbos,6846kg3r,denis1988,topnotch,skanky,spinners,azerty12,jerbear,assass1,prints,intercom,cheezit,1rainbow,caritas,brondby,fifa2011,1q2345,pioli,ashlynn,looking1,tyson123,kramit,windward,morrowin,changeme1,gdansk,lifeless,darcy,faber,123qw123,yukiko,lexus300,12345abcd,jungle1,sword123,janus1,wetsex,wharfrat,bespin,heavymet,mountains,soarer,andiamo,gfghbrf,lfiekmrf,paraiso,1q1q1q1,tlbyjhju,d1234567,sony12,windows2,david4,rattlers,hershe,david10,palmer1,world123,superdav,roth,gruber,1golf,anadrol,hauser,dolore,spartacus,jan123,larkspur,tashas,mudbone,blessings,lexxus,loc,hippo1,is3yeusc,dobie,fearme,qazxcdew,cannon1,oakville,nhfkbdfkb,sugardog,enigm,nothanks,1996gta,dwells,kalleank,5678ytr,ujhjl312,scanner1,fourstar,whome,ilike69,partyman,star1234,kissa,joshua19,steveh,bricky,kotova,boss429,bdfysx,notch,ivan1985,canada12,kappaman,chiro,sahalin,fordgt,demona,den12345,deni,gaudeamus,satur,vivia,kolonka,taganrog,gash,1muffin,stuffing,soccer19,rosebush,1assword,ziffle,hannah12,skyfir,poker2,franke,dimon95,lamb,mailer,danang,zse4xdr5,guss,kaizer,ghjtrn,qwertgfdsa,pyramid7,uplink,prisca,commandos,sloeber,fuckit1,qscwdv,diapason,dinamit,drumandbass,hanswurst,yfcnzvjz,dinky1,torito,tulipan,tsmith,dixon1,0147852,dlanor,shavkat,toppdogg,flywheel,xxxjay,staples1,rockytop,pewter,mixers,7777777s,maguire,dupree,marino1,fiend,huskerdu,sokol,pilsbury,fatbitch,emma22,donatello,tamada,mesohorny,doming,gram,mike99,suitcase,kailayu,kaka22,stuffed,brasco,mancha,uaeuaeman,donttell,rifraf,sergei1,industry,wolley,gunny1,surfer69,safado,s0ccer,gree,tallest,iampurehaha2,dukenukem,samatron,pussykat,trekbike,stopper,headhunter,racerx1,schenker,bounder,semaj1,19851985p,ptichka,muncho,quarks,ohlala,rf6666,felixxxx,mickey2,carpet1,buffal,scooper,1falcon,eagles12,shadowfax,brandnew,102030q,shocks,economist,armastus,granvill,134679q,munkee,elaman,elena2010,maks2010,gerbera,jones2,mamma123,qwer1209,dontforg,wxcvb,kevin69,tdfyutkbjy,surfe,jkbvgbflf,kolosov,peterburg,q1a1z1,qazxswedc123,footslav,power666,river123,limits,456asd,hallo12,vlad1234,freedom0,kafedra,hunny,restore,isaacs,nastya2010,maremma,floren,jayhawk1,foster1,counte,searock,sierr,marque,mexicali,dead13,mathie,stargat,hesoyam123,invisibl,morse,green17,tupacshakur,fyutk,startre,ghjcnjabkz,decembre,pengui,romantika,qwertyuiop10,noon,farrier,racket,cheetahs,fatgirl,playground,position,1989cc,shalo,redsand,7777777z,hfcnfvfy,assasins,hollyy,engine3,ginnie,cvbn123,jpthjdf,dune2000,nano,zxcvb1234,grazia,fevral,4rzp8ab7,waratsea,nokiadermo,njhvjp,borden,michiko,blankman,a123654,walls,abkbgg,james22,nadano,1gateway,hour,colbert,stinkyfinger,cuntfinger,littlewhore,12step,flashnet,fletch1,ultra123,littlegirl,bladez,123-123,blackmor,frame1,busybee,fuckyou8,schalke04,whalen,sukkel,pretoria,tanushka,schecter,mike12345,turn,larina,heathen,c00kie,fuels,jasmin1,groundho,april21,falco02,karel,basta,jutta,sexfreak,homefree,snowhite,rouges,igor1234,masturbate,blackhat,voivod,butthea,gbljhfcs,24gordon,winam,soni,nicolas2,supras,sextime,gridiron,helge,losfix16,ilovecock,red222,lill,cartma,qwsazx,blue10,sanyco,mile,turtl,zwezda,cjdthitycndj,viper12,dewar,homero,rockbottom,southwes,haze,glock40,gavaec,1s1h1e1f1,chinna,mariami,shandi,grafton,condos,fyfnjkmtdyf,heidie,gould,enkidu,dugan1,gintonic,konnichi,mohan,glad,plethora,maestro1,alabaste,qazxswe,uhtqneyu,superhero,guy123,tiger8,gusev,4077mash,vergesse,hooker1,1qayxsw2,jeffery1,jerrod,sheikh,kkk666,pele10,higgins1,terry123,toccata,sexytime,postie,thespot,troop,pedrito,home77,leia,ferrara,rambos,kat123,syrup,limbaugh,eybdthcbntn,qazwsx11,fktrcfylhjd,june26,ravshan,slayers1,mobila,tracy123,weezer1,kirpich,greatwhi,kompas,formatters,espinosa,irina123,metoyou,melnikova,saqartvelo,veronda,jessica6,kmdtyjr,tautt1,jake5253,sewanee,zimmerman,vakantie,pill,joaquim,roanoke,rapeme,lovesick,calender,jossie,traxdata,flyfishi,maktub,outbreak,tedbear,ayi000,jordan18,maitland,thebeatles,madmax1,spurss,mynewbots,michaell,zagadka,cjfrf,mandarinka,thekiwi1,walera,kbpjxrf,villevalo,runfast,mariupol,likesit,pornlo,vishal,soloma,nfnmzyrf,odinthor,triada,icam4usb,completed,vfif123,parts,fancy1,netnwlnk,iloveluc,maniek,luxury,mashamasha,adapters,ravers,webtvs,1matt,bodiroga,netsnip,pchealth,pngfilt,413276191q,lennon1,asdcxz,protected,savina,performing,corperfmonsy,controller,predators,paulinka,servis,krimml,25563o,trevoga,westin,richi,talonesi,vova12345,fjnq8915,fylhtq95,dei008,saveliy,neel21,wafer,vladimir1,02551670,tony_t,zavilov,4030,5001,6070,10020,15058,26058,54545,77879,109876,117711,123888,124536,125000,125267,135642,136900,141592,142500,145678,147456,159000,165432,196100,197010,197101,197700,198505,198520,199020,201980,223355,258046,311420,342500,420666,444111,500600,511647,543211,552255,552861,645202,777123,789512,888889,963214,1111112,1169900,1231230,1237654,1357924,1597535,2580258,6942987,8520456,8538622,8807031,9933162,12213443,12758698,13467985,15253545,15975312,19216811,19801982,19821983,19831985,19833891,19921993,19932916,24688642,24861793,31021364,31359092,36985214,55378008,56836803,76689295,112358132,123987456,147369258,147852963,213546879,794613258,824358553,987654123,1234562000,1346798520,shante,deadmoin,6043dkf,roast,coon,bigwaves,0080,gameplay,gomes,%e2%82%ac,quintain,lommerse,centra,spook1,reppep,selur,kpcofgs,jockstra,porsche2,avalon11,jennyk,commo,nosredna,swizzle,chrisbl,4speed,barbarossa,madarchod,time123,katoom,bebeto,48n25rcc,centric,nounour,merry1,1861brr,captaink,dubesor,fried,yawetag,oglala,kontiki,1sexsex,rhfcyjzhcr,kare,monica01,lockedup,bertie1,schnuff,scuba10,bobbybob,nitti,karuna,timexx,v55555,1ffffff,1jjjjjj,1zzzzzz,1iiiiiii,bigasses,sorrel,****er,luckystr,olaf,weihnachtsbau,hoppie,net,agate,matic,rufus2,1234567892000,fredric,jamesa,1234567887654321,nikos,1abcdef,jaxson,andrew17,12345678d,flippo,spandau,crackpot,forced,toshiro,n0th1ng,1spanky,max,1asdfgh,dino12,lucy11,erdfcv,mice,basia,spasm,133andre,chingada,purge,liten,clock1,fun,10293847qp,parks,rmfidd,a22222,goran,z3cn2erv,hazel5,hull,wwjd,biene,enhanced,loveland,maraca,kiddie,centro,dasein,maria3,8seconds,beet,crooks,gage,ansel,diablo23,salsa1,ace111,anonymer,maha,lucy1,manutd1,tevion,weetabix,2000jeep,godless,abagail,malloy,1fish,glock9,1sucks,1montana,expired,1vader,mobile1,oldno7,1rachel,br1ttany,gigantic,lickme2,1tigers,lamina,leggy,reiko,1august,stigma,2wsx4rfv,ogoshi,tampa1,girls4me,1irish,james4,cqub6553,baldeagl,andy2000,bboy,dweeb,piet,josiew,cabbages,tani,sexybeas,truong,kraft,icebear,blueroom,antonin,ranger9,farber,tremble,gilead,opinion,peewee51,rockwood,groin,chello,every,mrmike,bart316,zapato,movies23,critter1,bg6njokf,entrada,benno,auguste,wetdog,mollusk,marky1,donking,jzf7qf2e,vkfwx046,ballad,naumova,arrive,cannelle,1angela,molten,none1,august29,happy8,aaa666,stupid12,1qwe2,trevon,forsale,love98,nsync,5gtgiaxm,odgez8j3,pqnr67w5,mazdamx5,macondo,discman,allana,rapide,300zxtt,312mas,kman,debeers,palace22,djctvm,rfvbkm,divin,scurvy,bedbug,squidly,babyfac,tdeir8b2,arab,guitar69,brillo021,fincher,meetoo,skyman,mickael,tenorsax,lupe,brooze,providian,alex1983,minfd,supratt,ukqmwhj6,dsobwick,sassycat,dmfxhkju,46and2,posh,2children,bishkek,combs,somali,hobnob,pudding1,pissword,connolly,letmeon,howhigh,juntas,grow,drone,addpass,kewell,cause,chancho,holio,kevinn,whitecat,gautier,okaykk,marantz,denali1,elaina,snow123,spanners,tanzen,semtex,spike69,jgtxzbhr,newmoney,purgator,h9iymxmc,2ykn5ccf,passpage,mayflower,noskcaj,primas,jambos,mogli,stickdaddy77,canno,lorna1,yardman,manoj,harlot,ebonee,spacebal,abcd1,sanja,crate,sumter,madrigal,rolyat,lopesk,khongbiet,pudder,paigow,speedster,azzurro,captain2,1therock,anomie,slevin,1little,bubbly,sweetu70,defend,blank1,geronim,mickeys,gkfdfybt,zaqxsw123,muppet1,coffee11,pentable,drakcap,123456789000,marinus,havefun1,highest,bob69,chicho,hello11,123max,stride,facial1,megaton,implant,014702580369,lynnette,birthday26,enron714,asad,luanda,jed1054,heydude,samsam1,spotligh,riordan,timid,wilbur1,flake,tsalagi,76ers,james10,dak001,mama777,saransk,blue72,7654321a,purcell,shibainu,pidoras,cant,georgia2,marimar,orphan,wholesale,capri50,bayamon,honeydog,bruise,grisou,aldrich,martinet,nutt,ang238,bigrick,maint,123qwaszx,brutu,44e3ebda,bernadette,scary,daishi,money100,spuds1,shwing,asdfgh123456,guitare,jayz,dorene,laser123,fall99,raunchy,pyro,slammin,fila,bahia,honda01,greetings,profits,segovia,3bears,teen1,appeal,paul11,artefact,stoppedb,ronson,daffyduck,compass1,urgent,veget,jordan20,chevy01,aa123456789,mygal,wasdwasd1,durdom,assmonke,alex74,masson,tyrese,saraht,fozzy,lvbnhbtdf,joshua5,1cassie,chica1,thomas0,spartan11,4seasons,hockey14,kinsella,stthomas,aass,vert,toby22,syndicat,greatman,god666,jamesy,m7n56xo,honey12,five55,afghanistan,jennan,tremblay,california1,furnitur,necronomicon,oligarh,samuraix,liudmila,isdead,esbjerg,abercrombie,hollister1,bellamy,asha,araujo,encounter,aeneas,ridder,welcome01,folgers,riggins,showoff,palevo,antanta,angel20,rafaela,tlaloc,connard,sexual1,calipso,sslazio,bri5kev6,lilac,airborn1,matrim,borracho,2vrd6,sungam,olesica,alex111,usermane,tubby1,serious1,mauric,azure,tocool,stella12,c0l0rad0,bryana,jyothi,soho,bacteria,saraha,dynamics,detective,sport123,sayaka,acumen,moonshot,rayner,fatal1ty,hyman,venture1,appleby,fooey,moscow1,santana1,1234aa,litespee,football123,open12,vfufpby,retype,adam01,sigge1,tony69,boogle,deepika,menards,passat99,lemuel,lawler,csm101,adebayo,adelante,1mercede,alex15,junior13,brooms,laketaho,dartmouth,cool-ca,katter,icebaby,capitano,adjuster,89032073168,daxter,genetic,monk3y,vans,ackbar,economia,hershil,heather9,anthony8,adriane,orange88,f1f2f3f4,fenomen,deisel,howlin,yfhrjnbrb,andyboy,qwer11,seatleon,dimanche,login1,schreibe,apollo12,passover,kristof,happen,rajah,outside1,fiero,qazqaz123,beegees,affe,metlife,amizade,ghjuhfvbcn,dfktyrb,break1,obafgkm,rfhfnt,afrika2002,afroman,qqqqwwww,tapestry,myst,agatka,ctrhtnyj,zipdrive,motaro,agathe,patino,seemann,alex1982,kneecap,zontik,sluggy,ganges,parlay,schloss,sagittarius,bobo1,preludes,aguil,profil,titan2,bomberman,alex1976,1albert,youth,yokosuka,commercial,mami,victory7,bertuzzi,mundell,daniel6,golive,fishpond,zse45rdx,1234554321a,aigerim,arson,mortalkombat,warspite,black10,ramir,cessna1,operate,bangalor,harley03,hedge,gineok,jedi01,qweras,akademia,mishmash,santan,peacemaker,cycle1,shaq34,artema,mylover,lucky4,dale33,tony22,arkady,1oliver,trabajo,akmaral,nesterova,calgary1,vtldtltd,frxtgb,askar,horosho,candoo,pfuflrf,lloo999,artem1995,alex1998,h200svrm,love3,abeille,rynner,prodojo,bismilah,fort,guitar01,alton,animalsex,raines,alydar,clermont,bydand,darkfire,pa437tu,alina2006,eleonor,pujols,mustek,meiling,chicago9,vernost,torres9,reza,beyblade,wlafiga,stormbri,balaton,walstib,badboyz,ciccia,alex1989,bagman,atalanta,legends1,emotions,karlito,gemini12,lobzik,minotavr,sorokin,123qwerty123,al1916w,palladin,soccer6,papirus,chanel5,alex88,fostex,cucina,csyekmrf,alex24,alexand1,lexa,jitters,lestat1,chicago3,colins,burro,gendalf,1carolin,prelude9,san123,fgjcnjk,proghouse,thegod,sookie,diesirae,qwaszx11,flaquit,happylife,winston6,emergency,victoriya,potapov,1secret,breeze1,alina2010,millan,jackson9,ingres,lickpussy,obsessed,cesa,wasp,rfcgthcrbq,kellyj,voshod,lovebu,rejoice,tinchair,money77,alina1998,alina1994,alina2011,gjgjxrf,marco123,nata1980,poznan,q1234q,dinah,divina,anastacia,contex,123456789zz,pondus,mama1970,kamakazi,cookie123,aris,arashi,lkjhgfdsazx,escaflowne,sigma2,jarret,mendoz,default1,joselit,systemofadown,briane,june15,wahine,sahar,hijodeputa,themack,thunder6,alpha69,play2win,bidule,casita,stunner1,porosenok,nopasaran,tontos,altec1,altezza,14ss88,andrew9,michell1,imaloser,sara123,ihateyou1,wolfone,qaz123wsx456,highway1,1speedy,muchacha,awo8rx3wa8t,xiomara,dulce,money1234,atlanti,tallboy,babyblu,horndogg,wpass,vespucci,nimrod1,samant,amin,rajput,sodomy,toasters,neverman,soloy,asem,teamomuch,devotee,newblood,kareena,trace1,rmracing,kizzie,pornclub,naumenko,anabe,chanel1,wer138,verbati,tulpan,nastyanastya,sistem,qazwsxc,angelangel,cinque,avogadro,angelz,hoangen,lambert1,stratus1,fengshui,bonaire,forzaroma,nurich,superme,andy76,chimp,houghton,jackiech,express2,andrey1992,artem1992,rosenrot,thugstools,lohotron,pandemonium,tubgtn,thesun,yelrah,luton1,supafly,028526,foundation,storey,karenw,kvartira,angella,tile,redwin,cameron0,plhy6hql,spieng,diamond0,bk.irf,infix,violett,songline,doghead,morale,anitha,czarny,thegirl,samsung9,nazaret,vigor,destruction,bringiton,privet123,fynjyjdf,quicksand,gadina,gaylor,dfymrf,arno,fufnfrhbcnb,annoy,carino,chinadol,anthony4,vjqvbh,armyman,henry5,eddie666,bodo,babare,nokiae51,008800,santa234,2boobs,findus,mogul,lincoln7,fusilier,marcelin,bacons,roza,bodybuil,aquatic,hyderabad,wroclaw,bazongaz,eusebio,pakistan1,pasion,leonor,geeque,madalena,questor,contax,zxcvbnm123456789,f22raptor,yggdrasi,chris200,gulfstre,mononoke,arvind,tootsie1,kovacs,meditation,mybabe,jas4an,baby22,james13,latrobe,deadsoul,kalash,privado,aaaa1122,mallards,2278124q,hjvfy,lollol12,tray,yelhsa,elgordo,prevail,lover123,rattrace,azores,alla98,birdbath,impress,egypt1,auger,34erdfcv,darkseed,nikolay9,azat,bravada,bujhm123,kasperok,notgood,queequeg,1vampire,keats,potvin,cool22,nytimes,buffon,ikmvw103,irina1991,mudbug,memem,ashley19,ripley1,bailie,booboo2,cookie13,love4eve,baka,street1,peyton18,longman,thresher,opusone,steffan,zxcvbnma,chaplain,hfpdjl,frasse,grail,melly,rauchen,ferre,1celtic,masonic,keating,snot,ball1,124c41,dagger1,gayguy,ba25547,patito,flyers99,cookie11,firedept,heather7,walker2,lemmon,splits,bananana,me2you,dfhtybr,puertori,bryan123,warhorse,ashes1,jaffa,patatina,bangbros,uptheass,37kazoo,megan2,bearss,fred20,muffin11,mykitty,stepside,smoke20,bouboule,tram,daystar,covingto,warhamer,niccolo,rhtyltkm,satchel1,chri,barbaro,oldfield,tamar,peter7,peppino,moviebuf,marder,smile2,mostro,yamaha12,trips,jabari,expresso,wartburg,trill,irnbru,bakesale,charlus,bugger1,mattylad10,1barney,lullaby,chicc,bocman,sekirarr,hesse,kerberos,franky1,weave,sweetpus,jasmine9,conditio,krysta,lexington,essential,karloff,bars,cdtnf,deeman,brace,bleacher,pimpman,falcon3,dragonla,nomi,burmese,brause,sixflags,dennie,pitcher1,torock,jeffrey4,catchme,spangle,preppy,dakota99,shakers,basse,motzart,turner1,patat,freakboy,tuller,hofner,amman,killerman,bjork,darknite,magic69,robin2,heehaw,ilovelucy,grocery,mildew,gothic1,gallen,radiant,bordello,britania,preserve,triston,tommyy,bayard,kablam,bayou,baytown,burrito1,kilowatt,dedham,wallie,momanddad,megan123,tiger23,stjohns,twenty2,pass111,paramount,leedsu,badmofo,breakdance,process1,1dakota,sturm,blockbus,david9,kiersten,court1,july27,vaduz,chessmas,spittle,brett123,bigboy11,evbukb,coin,potsmoke,nodnarb,blademan,tafkap,eric99,blackwoo,1qaz0okm,notepad,bueller,com,lauren12,colts18,camneely,ooicu812,chispa,theband,money21,orion3,wspanic,esthe,blome,stars2,woodchuc,yomama1,airways,parker01,militar,keksa2,clk430,dog2,jackfros,sight,andrew23,beardog1,clitring,osasuna,curtains,1newlife,codered1,cocotte,sexstuff,ludvig,peck,welcome4,tigre1,ashley24,cathie,singles,lokit,newyork2,smitten,godown,figvam,hoppel,michal1,sunshin1,plaza,bisous,petty43,tanelorn,expos,snatch1,manteca,lunacy,luckyy,ribs,roleplay,kips,upskirt,pecan,alcoholi,john10,whassup,innate,hecto,isgod,sharipov,jordan9,algore,orion123,suomi,gandalf7,institut,lilacs,svoloch,bell1,bellini,runne,much,07078,vijaya,under1,breadfan,mitsou,pablo123,roseline,fourkids,robot1,deebee,ramire,santini,coal,sperme,virgos,vgfun2,palermo1,spider7,sunny2,ships,9hotpoin,lovinit,carpe,cinemax,penguin8,asshole123,santana5,satisfaction,oakdale,kkkddd,faucet,europ,rooney10,latinus,lexusis,bultaco,ahjkjdf,telescop,kobayash,cfiekmrf,berger1,artcast2,bigbull,kelse,berni,monrovia,technik,trafalga,bink,butane,bigberth,fuesse,quartz1,firegod,kiss123,lise,biafra,flopsy,moorea,eric11,danno,gullit,better1,buttss,thebus,raven13,rockstar1,gfhjkm777,drones,robben,crazyj,deadfish,ragtime,fitzgera,kl?benhavn,biggame,enigma2,quackers,chiphi,magichat,lightspe,bruiser1,kenneth2,thinline,blue30,innova,blackboo,shara,goodstuff,gopinath,bosslady,chimaira,connelly,snooch,chinnu,sataniv1993,joshua10,fourty,fortran,symantec,turntabl,intrude,hobbes12,bieber,1234567890d,peruan,farmland,88mike,rugby123,coffee12,iambigal,brentwoo,bigdon,nipples1,l12345,boating1,kingshit,magical1,dogleg,bigmax,doodlebu,teenfuck,justme1,shatter,pimpjuic,macdad,ow8jtcs8t,countryb,needajob,chelsea5,angus123,tuscany,chris5,vanburen,pokerman,prevert,delta5,sexy4me,smokewee,sassys,cumhard,bigfoo,solana,threee,cheeseburger,debra1,darvin,jazz1234,surfboard,bigkev,kipper1,berlingo,cherrypi,gmac,chicklet,maximize,jagr,livefree,sexpics,sheldon1,fubar123,vannasx,violentj,brenda69,xtr451,panther8,bigrig,bigsam,acuracl,wazoo,pureevil,stuffs,pimpin69,cherry12,love5683,happytim,cbljhtyrj,brownn,adapter,burton12,crystal0,raindog,miller01,dukenuke,amex,sindhu,stillers,sanchin,phoenix0,password22,willee,shemp,derrek,grump,passssap,blanks,analysis,jenson,quail,forgetme,boredboi4u,yyyy1,warrior3,mankind1,cunthole,sawadee,decline,fagget,coralie,boobies2,kotton,cavalla,tine,onelov,albatro,snakebit,michael123,1hotdog,linette,heresy,daniel9,pabst,dgoins,warman,blowj,bisquit,bloodred,rideme,hardc0re,justonce,porol777,ethics,jkelly,rockhopper,silver77,samba1,supercat,drew11,patch123,nabisco,patten,hpvteb,cubsfan,worldnet,chaser1,hotchkis,packers2,kalamazoo,scully1,blaat,1panties,likeme,max1,nickers,plastik,thorne,lowers,martijn,wrapper,nosmas,talk87,madinina,manning18,regency,montblanc,roadrage,hitme,1yamaha,tinroof,aaaassss,abuela,stoner1,elephant1,kociak,regula,corpus,jamesdea,glowworm,bluedevil,explorer1,changa,k.ljxrf,1brian,poes,mingle,caleb123,bliss1,chevalier,tolkien1,blackb,coolbree,catapult,sonoio,cosimo,chunks,takeme,bobby18,hijinx,chech,sunse,nicole01,hilliard,keepsake,riogrand,chamberl,bluedog1,musiclover,yacht,libertin,anamika,blues2,mike2000,kd5396b,ween,blumpkin,joliet,frankly,grappa,exceed,april14,fiver,hard69,nbhtqa,bigsmall,clove,hamada,1friday,suck1,lovelady,godsend,elsie,tarmac,mikey2,mamiya,bonker,digital2,b26354,logout,good4me,redsox19,killit,hammer01,bobjones,krypton1,gbkbuhbv,nothere,folio,fulhamfc,carreras,not4u2c,wert12,sadomaso,banaan123,henrie,789qwe,boilerma,indien,cyklone,dipascuc,red666,water12,lisbeth,hiheels,ohotnik,slickone,otherside,casper123,countr,timer,thefly,nitros,hornys,mikejone,boodie,dragon4,pumba,sexxybj,2dumb2live,wu9942,booking,fetus,ladder1,omnislash,hakaone,sketchy,lotto,redsox99,delta88,12qwer,amberly,redsox12,popart,diploma,minutes,corcoran,conklin,ipvteb,gogolf,spare,delonge,ganibal,founder,boyfriend,yannis,adkins,death6,antiflag,brianp,adroit,catrina,equate,killer00,ralliart,frodo2,yanni,bigtee,landscape,fzr600,brandon8,halsted,brea,recife,parkhead,braun,fodder,bravo7,lorie,dizzle,chart,kamikazi,breakout,cowboys0,hotdog12,boofer,simferopol,jeebus,juanpabl,jeremi,subscriber,002200,black5,crossman,usmc01,april9,monkey14,evan1,silverch,glock45,toluca,4nick8,praline,chuluthu,salom,reisen,pookie11,shazaam,freeway1,mountie,helga,brogan,burrfoot,malacon,boise,elway1,free12,krakow,summer02,bronwyn,brood,demetriu,orosie1,radio123,chris33,reid,feeney,raven11,ridered,goniners,kyle123,dragstar,randle,chloes,landau,kareltje,q12we3,willyboy,burned,cagiva,jackie01,bugssgub,kendo,animes,fires,rawr,orange6,midiland,ford50,money3,manara,charlize,budster,671fsa75yt,1harry,buffy1ma,hunt0802,pizzle,welcome0,constantin,tremendo,kessel,22tango,king11,hfpldfnhb,passin,farina,bushwack,dimitry,pene,jblpro,a1s2d3f4g5h6,mahina,cbhtqa,bvlgari,lately,masque,fortknox,tanyshka,chris999,corsair1,papier,sleeps,yolande,prunes,zipcode,camster,kazuya,monoxide,tamera,cia123,cochino,spinnake,brave1,skyclad,yamada,karolin,jamesl,chuvak,lafleur,eddie2,2hot4you,jaytee,ogden,advice,testament,guano,howl,canter,revel,gogetter,canario,murciela,yoda123,startrek1,cody123,newto,zemanova,pa55wd,playboy6,minnesota_hp,washingto,intubate,marocas,caution1,coupon,catania,mendes,mko09ijn,pineapple1,glacius,tomatoe,rehman,samfox,moo123,bulldozer,rachell,pippolo,olemiss1,livid,not4u2no,squat,strongbo,nathalia,zorro123,wham,miah,reggie31,tree123,conno,peugeo,lickin,zola,enolagay,gfgfif,youngs,tort,celos1,silence1,bigtuna,leftie,cfdbyf,chinga,mythic,allard,newlife2,iloveyou11,shanta,quell,chuckd,cx18ka,wrist,charliem,collect1,tony44,amoroso,parachute,lovegame,pfizer,madman1,princesit,jinxed,gulla,ashcroft,stepashka,chernov,alto,bellend,beano002,mainstre,paolit,woking,united99,chinni,fanclub,yjhbkmcr,cartmen,hideki,draco1,a1s2d3f,ilikeporn,matsui,gawain,antichrist,jesica,unicron,spammm,elenor,nikkita,select1,l0nd0n,1cooper,fun4all,cassell,jenelle,g0away,yeti,rcfhlfc,colin123,typhon,command2,jacobson,1escobar2,koontz,asguard,atease,babybo,sasha1993,tigger3,shivers,fucker12,lukas123,harsingh,sooty1,kangol,tachyon,tama,winner69,hooters6,scott11,mrmojo,coastie,branford,arminia,rattrap,fender12,potte,jedimaster,nantucket,digits,steam181,steamforums,rhonda1,loveline,adidas69,unions,420smoke,cressida,topanga,lovehurt,toreador,hellbound,gimpy,matrixxx,jhonny,cronus,percussion,space199,gwendoli,thoth,thor99,jacuzzi,fannies,flowing,abiodun,destinee,kracker,bassey,shockwav,sweaty,wcrfxtvgbjy,asdflkj,tigger13,dylan2,iloveyou12,cnfnbcnbrf,122333444455555,makenna,norwalk,2401pedro,polkilo,montage,tileman,macbook,sexiness,kudos4ever,disarm,1linda,marillion,cunningh,phelge,69pussy,latching,nastya123,cuyahoga,poopo,regine,sydnee,digler,pippo1,ludic,summer22,just4u,lovejone,e12345,ruiz,valent,network2,vfvf12,erxtgb,kreker,vladimirovna,rank,ousooner,jackson6,sweet666,jlettier,ruffin,bodean,55555r,wolve,delfino,favorite4,defect,yoshi1,legshow,llbean,rampart,donke,sakic,ichwill,111222333444555,djtiesto,s1s2s3s4,whatis,132forever,ddd123,tgkbxfgy,indonesi,dddsss,lfybkjd,mmxxmm,dr8350,blunder,shit1,davidt,dreame,watchout,march23,moms,socool,assert,lachesis,1time,dame,1-oct,imissu,lol1,wrinkle,zippos,cumquat,temujin,tubular,babo,joanne1,silver22,opelgt,irelan,divine1,popcor,buhjvfybz,ecosse,tiger5,oldskool,daniel7,lilmama,marmaris,porno2,daniel5,kevin11,tart,pokemon00,savannah1,dracula1,cerebro,hektor,ilovemyfamily,julemand,kingman,dannym88,roos,mello1,bigelow,welcome5,indiana7,sou812,microbe,770129ji,drongo,cheats,jilly,remmus,kevinr,dave01,dasha2010,lakers08,escrima,empire11,teamlosi,fredie,deadmau5,tiger21,fernie,1andonly,lbvekmrf,racer2,michaeljackson,humanity,prorok,starfleet,sarah7,2legit,firdaus,padrino,david777,emilyann,teal,philou,success2,call06,squad51,dresser,6yhn7ujm,epstein,jaguarxj,passit,corone,peugeot406,dewars,decibel,gocart,kornet,euclid90,barmalei,poiuyt1,myturn,elites,baldeagle,glenny,gerasimova,chances,werken,stainless,demoman,grinding,copernic,munson15,xxx12345,jack2000,jokerjoker,matthew6,kcid,ironcity,patti1,1mmmmm,123llll,domovoy,dylandog,donaldo,robotic,phoenix5,middleto,lena12,hatebree,consulta,dadd,difference,cumberla,aquariu,sulaco,mazdarx,frontline,corine,ifiksr,sarmat,spam69,stupor,sapo,doom12,jeffhardy,liziko,clave,yeahright,corkie,werule,elric1,freude,dragonage,valmont,denis1984,marial,dessar,hockey13,robert8,ukrnet,federer,depp,donn,server1,ummagumma,lozinka,ginette,recipe,osito,rfpfyjdf,chanc,thomasd,curiva,exorcist,fuckmylife,misha1111,vfhbyfvfhbyf,qwaszxedc,lollol123,duce,evh5150,onetwo12,cecilia1,howies,yeababy,insulin,oleg1996,mushrooms,dianochka,roma1990,folly,biggus,duper,sito,hokuto,digi,sharlene,nargiza,masiania,diman,1234567890o,qwertyuiop12345,trfnthby,1qa2ws3ed4rf5tg,savchenko,fenomeno,krystle,freyja,tabby1,gfdkjd,ditty,weeks,zion,homyak,kacie,vbhjh123,chipmonk,winter2,federov,sig229,iluvme,nirvana9,pfqxtyjr,doohan,doogie1,cobbler,koalas,castill,dragon05,ilkaev,pitboss,vaz21074,qwerty4,newpassw,happy13,yuitre12,partridg,dragon19,ilovetits,tybalt,jacklyn,april24,pallet,al1916,fliper,qscesz,ervin,thatguy,marisela,scrapy,111lox,fleabag,fromvermine,selhurst,phase2,utrecht,topshelf,nyyankees,sympathy,supert,gfitymrf,hanako,dylans,blackdra,fire13,kevind,poekie,trunks1,snowden,thedream,penman,trrim777,nicolette,bdr529,hornier,scatter,sasha2011,quadra,lindac,time2go,qwerty999,ruffus,rbgtkjd,yodude,power5,pumpk1n,frost1996,penhorse,netpass,woodfish,kita,lainth88,minority,dutchie,am4h39d8nh,jackme,kki177hk,orion7,sanders2,koblenz,opelagila,flhrci,madmax11,thecount,widespread,bigjuggs,rfntyf,bhecbr,quixotic,cranston,olesja,tusk,gibso,lovedick,03038,prive,websolutionssu,nosliw,ratiug,el345612,adonis1,amadeusptfcor,jacopo,kuolema,win123,makavel,julie123,babochka,pimp1,jasmi,souths,djkxbwf,muffinman,qwertasd,ninja123,luthor,qwerty100,studen,spinne,misiek1,uthvfybz,pimaou,silver01,martin01,vfrfhjd,macross1,lazarev,starwood,yamahar,good4now,cleary,gerar,wretched,ladle,fotze,frown,dogs1,qazsew,bibigon,honey69,qwerty8,fallengun,lindam,phalanx,falloutboy,uhfdbwfgf,fanatik,hawai,london123,kelli1,1inside,l1750sq,canalc,testdrive,harsha,surrende,fatboy1,kalender,point1,glossy,ueptkm,tema1234,eriksson,toeman,kernow,mongini,rfvbkf,killerbee,sirius1,nfkbcvfy,cbarkley,justlook,filmstar,gruppa,happyface,mayo,icequeen,presidente,fest,fkrjujkbr,kkkkkkk1,9085603566,stocker,bumsen,spritzer,nissen,filatova,minicooper,houser,sony1,mister2,rush211,baggio10,littlefuck,littleminge,guitar11,tommycat,fitnes,mike31,recluse,smallvill,lords,byrjuybnj,iubire,scally,visit,kershaw,joseph11,oriana,scholes,nfhtkrf,laptop1,musik,stanisla,myth,racecar02,grass1,eight888,thepower,ab12345,dead1,grossman,punter12,waves1,sonja1,skiller,kingrat,zygote,alondra,walnuts,isolde,pills,kevinh,shannon2,engineering,icebox,tiikeri,moody1,mavis,thering,shrek,frogss,adalbert,hanse,kabuto,jawbone,fruitcake,yjdbrjd,jamaic,grits,stratcat,sexybo,suckmy1k,massive1,yoshio,winter0,grapple,miniclip,skinnass,shibuya,smile4u,grego,money8,ilovedick,niewiem,gabriel12,mirand,vikin,gosha,turga,kisulya,gomer1,galen,onlin,caiman,manut,soren,medin,gayathri,ginger69,snowbal,jayde,alskdj,goducks,stangs,summer08,prostreet,junior8,kemp,gators96,maxie1,castle1,hoople,screwu,katie2,gbljhfc,meister1,rosalia,carleton,goodmorning,maslova,greatzyo,herbie1,hacked1,threepio,duke33,jamesg,mickey69,sinnfein,quiksilv,lava,geiger,mooser,sueann,newspape,ramina,colucci,mommy2,ollieb,rami,keyword,sambo1,shant,john77,zeratul,gladbach,bundle,gromova,kiborg,johansen,jamesh,lizzie1,zucker,sb211st,kennel,love55,pukimak,thesims3,katinka,murena,jahbless,stormin,miller12,trigger2,jasong,cezanne,sexy01,lida,valerian,repmvbyf,trinity7,doctorwh,sadman,nine09,cometh,tinkle,volunteer,specialinsta,sweet2,naumov,tahira,111111w,vthrehbq,madara,123456789asd,goahead,brandon00,karolinka,vfcmrf,cthulhu1,drugs,juancarlos,jimmyz,troutbum,kalambur,taison,trillium,tijuana,msvcr71,neveraga,nhfycajhvths,rfnthbyf1988,lllooottt,lissalissa,hollage,kbpfdtnf,.kzirf,nthtvjr,kravitz,jimmyp,00000ty,cdtnkzxjr,trixi,jack23,stockpor,stumps,fidodido,mcclain,starbase,harlequi,nufc,satcom,jasonk,switzer,joshua11,mike007,nietzsche,matt21,kimber1,superman12,makenzie,technical,transits,muneca,theword,willow01,phantom3,nymets1,sweeties,jimmy6,nudegirl,pangit,tiara,jocko,green33,messages,estrela,julietta,darthmaul,rollrock,curzon,ksyusha,kamelia2011,khalif,yelena03,pundai,leolion,yfnecz,vlada,klara,tails,o123456,rock69,5element,luger,qwertyu123,njkmrjz,123456rrr,komarov,dbrbyu,vika1995,max2010,nastya1996,bond9007,passout,metal123,nadya,paraklast1974,maryjan,shagg,mdmgatew,serjik,lapo4ka,michaelm,begemotik,sunbanna,yarddog,serafima,blade55,settings,rhfvfnjhcr,fairless,jscript,mailliw,s12345678,webuivalidat,advantage,nataxa,ja0000,tomass,msorcloledbr,phenmarr,f56307,inetcfg,nondriversig,browseui,sasha1994,mike1969,asdasd22,zaq!2wsx,photowiz,tanguy,freeclus,aregdone,123456789qwer,manifold,wordz,20091989q,nikita99,ojp123456,pivkoo,zhipo,v123456789,9085084232,lolkin09,sarvar,bypop,fm12mn12,vovan,tu190022,8096468644q,zverev,8090,9001,9007,14038,14058,18068,20038,20068,26028,29024,45632,65656,78791,108888,118801,118811,119955,123569,129834,132546,132613,135798,136666,136913,143333,153246,159630,197901,198305,198603,199308,199500,199508,200007,212325,231456,232222,233307,234561,235555,246801,248624,258012,266643,321671,400000,423956,432100,486255,523252,663366,666123,718293,741776,744637,773400,774477,776677,963210,1112223,1231233,1236798,1239056,1371280,1478523,1766734,2008200,2323232,2505198,3434245,4258195,4707570,4930321,5318008,5455555,5557940,6741314,8522003,9001668,9104587,9293709,9512369,11012566,11114444,11234567,12345656,13467982,13571113,14314314,15935746,19761977,19801984,19841989,19891959,36169544,45678912,51501984,55443322,67899876,78978978,88887777,91328378,98256518,102938475,123123789,123456321,159357852,212009164,1212312121,1928374655,jgjesq,0020,elena1971,hawkwood,dnomyar,sexaddict,cool23,yocrack,sissinit,123ewqasd,kaytee,dannii,arsenal9,sexyred1,google10,rate,papo,dknight,loveall,crust,remmah,maxsam,freeuse,dandelio,spiller,pmtgjnbl,qcxdw8ry,affirm,dbm123dm,reports,123joker,financia,euroline,leyden,jimkirk,ameritec,topazz,geoffre,music11,baffle,lilcrowe,oldmans,likesdick,showit,zhv84kv,charles0,bitter1,lechat,prost,sparkplu,savoy,10121v,timoteo,q1w2,muie,nobull,diode,mexican1,several,juanjo,lies,drafting,1shelly,1autopas,autopas1,wwww1,1ggggggg,tallen,frozenfish,morello,nuggett,haines,yellow7,raide,a13579,dranreb,harish,matrix19,12345672000,onetwothree,boop4,house12,narf,pimp13,tuesday2,tarrant,stpiliot,car12345,098poi,asdzx,hiller,96328i,henry12,14u2nv,templar1,outbound,zoro,yasuhiro,cataract,erdna,zsergn,justinb,wazzkaprivet,aliev,ralf,ouachita,funone,dabl1125,nollie,eldest,ezra,sandburg,cousins,scorcher,tahoes,charless,jeanmarc,1701ab,monalis,debugger,jason69,lewiston,sysman,kain,cashin,willer,myemail,inca,canis,jonass,epatb1,weihnachtsbaum,mrwhite,socken,bayern1,19delta,bernal,adore,agusta,bowl36,1bigfish,getinnow,trav,drako,1hawaii,1peaches,1vette,chief123,1sierra,theme,1kevin,evil1,rounder,1winston,sugar2,mopar440,dishwash,artboy,nonnahs,captai,2wsxxsw2,illwill,1qwerty2,rasca,djfpass,bashar,xenia,1alexis,userpass,iman,drumme,llabtoof,fired,gangsters,belind,dawg69,n2deep,pivo,nosnibor,oregano,vital,safonova,beaversx,above,andy22,yesyesye,rowboat,jabo,hotstud,hamdan,taro,skarlett,fliege,hamid,venise,yougotit,gargle,aloevera,jack2,khmer,kurgn01,hzgg9umc,tobyto,ch3cooh,ahab,dmarink,quasimod,physic,hpsalgay,5daxb,anni,frankzap,thesmith,lupin,oct2888,regime,fossil1,benz12,fleetwood,andrea2,2access,stjude,damasta,floods,fjysk762,vre2nc3z,hearts1,tanager,falcon5,fores,1beaver,zwt2sbzl,jacobb,1private,chandos,viglen,1212aa,brannon,sazd,webby,passtrader,gateee,123dog,norsemen,runrig,adumas,oaken,jjjj1,catman1,knute,as5ffz17i,yusuke,cdgirls,q4n2jdeh,vmdnygfu,merlin2,groggy,perron,avdeev,mcfly,audit,robertos,bigboy40,packer4,kazman,venger,reece1,prosser,admins,gasper,watchers,lbnjgtmp,mung,wedge1,e2fq7fzj,alon,sportsmen,dallen,dackel,holywood,sykes,shipley,fuckyour,dogmatic,final4,willson,sharon12,jiffy,bumfuck,hayden1,bowlin,falcone,nikey63,quicky,mooo,cindyl,lada2110,allycat,bruxelle,alex26,babaji,tvmarcia,chiles,seattle7,super412,march21,3kings,takecare,logon,4teens,peterd,152geczn,farragut,bikeboy,tastee,jammie,frank51,golgotha,herc,shantell,pikey13,introubl,chris198,eatpie,antona,lupo,trickster,eckerd,toby11,kaye,zlatan,robinb,shianne,chester9,gypsum,spiros,joshua7,ryleigh,adman,donvito,kravin,ichiro51,groovin,august19,zeek,cooke,animales,sophie3,penile,niemtel,test22,johnboy1,andrew69,mayurs,wicke,fickdich,bruce69,mocajo,apos,jwest,parisi,ingri,greekboy,slutz,billy69,legato,asuka,trieste,fucka,shumway,mark77,naylor,westies,tomch,blah1234,69stang,mandms,orange9,00948230,bondone,tr2amp25,bettyp,dtrain,yoman,wamozart,8428ld,spongy,damp,giampi,orestes,rjpkjdf,arthur69,buffy44,chinatown,wheeling,yolanda1,a1111111,greenwav,911rsr,kazakhstan,waylande,mabuhay,ppooii,onspeed,rational,hornyme,chuck2,gasanov,deluca,97ford,dakary,olds,autism,vtr1000,foamy,james8,teamase,probegt,optiques,piffle,prince55,sdh686drth,allahuakbar,pianino,argos,deering,rjhjdf777,sadie2,avenged,anton1992,ford99,sutvsc5ysaa,qaz26101778,bbb111,aaa333,revlon,123mmm,jeremias,artemartem,bailbond,holton,sexsites,passwordd,gurpreet,aegean,radial,sanek123,porndog,joshua123,flowers2,snares,njqjnf,amicus,pillage,badgers1,march20,kamchatka,jacobus,goliat,kalamata,tejano,splendor,marylee,123abv,babe1,goofy123,abadan,shadowrun,annieb,beeble,fkmabz,april4,onetwo3,bryony,daniel69,bemine,chuch,cesare5,wsx123,mkjhfg,bucket1,ramfan,wordpas,duplex,potolok,turke,likethis,robe,lachlan,acidbath,dallas88,tatarka,1homer,abogado,foxxx,leclerc,vtec,tallis,lancelo,lizar,66mustang,progon,chauncy,lovecraft,utythfk,perkin,merlin10,gyozo,user1122,sunspot,denis1987,killer9,derfla,barata,robert0,access10,fatcow,samurai7,suleiman,cabot,vivian1,smoken,mouloud,silvergo,akimova,shazia,forza,booge,acolyte,alex98,salamon,moneta,alastor,maximill,activex,actuary,rovert,elsalvador,adam21,nulife,john21,outrider,fukoff,ghostrecon,lauretta,necron99,gearsofwar,football6,apple9,terranova,ulrika,dass,chieftai,mercede1,adelya,dalia,bongtoke,aspirant,hotness,granata,yoda69,admin12,bunia3,lilo,suka,browneyes,admira,virtuoso,admirer,photoshop,june23,laurita,almonds,gjdtkbntkm,supercal,dontdoit,farooq,babys,advance1,catrin,sicilian,escola,harry5,qqq777,panatha,rfvtym,useful,flux,pucker,aeroplane,vaz2105,kfgecbr,saretta,knick,laranja,afhvfwtdn,trans1,vovan_lt,pfeffer,fktrcfylhjdf,lunar2,ever,alex86,canadiens,cghfdjxybr,narine,kamilka,lenina,aishwarya,taburetka,andrey12,ghoster,vthokies,vbhjndjhtw,stroud,alin,serafin,pichon,rada,hola123,aniolek,agusti,crm0624,hockey123,rjdfktdf,dotnet,kbkbxrf,farouk,alina12,gadfly,matt23,antoin,sweetman,aksana,roma1995,newmedia,rhbcnb,esmith,shashank,maddog01,hyperlit,swapna,ovaltine,bitch2,axle,mcitra,diablo69,dogggy,nabila,ohyes,ghbcnfd,milker,wonderbr,uhjpysq,purina,bunnies1,fylhtq123,bullgod,akimov,barmen,zxcv4321,static1,ou81234,cbkmdf,libra1,gipsy,sasha13,chicken6,fanfare,violin1,alan123,galan,positano,sanremo,shippo,panther9,tibbar,st123st,forty1,blowjob69,savanah,xtcnth,wesker,reglisse,ferien12,1coffee,fhbyjxrf,nicolle,zhongguo,prokuror,cfymrf,gorbunov,pronin,pfhfnecnhf,peresvet,aliona,dfkmltvfh,irkutsk,pasword1,nhfrnjhbcn,djkrjd,love007,alena123,carisma,podarok,baster,gznfxjr,pride1,xtutdfhf,toolkit,dfkthbr,troll1,problemas,sapito,alex06,alexsander,alex2009,kamakiri,marsala,host,touareg,cfnfyf,revell,ntktgepbr,ronaldo99,z1x2c3v4b5n6m7,gaviota,frosya,micael,palacio,ethereal,heccrbq,konoplya,ghjgfufylf,giotto,numeric,reddevils,biolog,buheirf,alkash,nokia5610,edifier,fyfnjkmtdbx,pepsi12,duetto,understand,nyranger,aspirina,kemerovo,alhimik,nicole123,traitor,montella,peachfuz,holdon,great123,ucht36,lzlzdfcz,alina2002,fifnfy,prohor,domodedovo,ybrecz,halfway,danilova,roseanne,222222a,darkmage,werrew,nhfkzkz,lindalou,ghjatccjh,bulldog5,shortman,diabolik,google2,qqqqqqw,splicer,stoffel,modaddy,wapbbs_1,ghjnbdjcnjzybt,555aaa,bigguy1,secreta,polla,evander,locutus1,elke,vepsrfyn,rockers,grafix,protozoa,puissant,access01,fynjy,gorilla9,alternativa,matthewd,metalcore,jordan10,dctvcjcfnm,hannah22,homer22,amarok,hightech,cobra5,qwertyuiop12,blog,gerri1,livia,mumford,tracksta,dejesus,ambulance,calida,hindustan,kurama,aminka,ramin,stiffie,furelise,kalifornia,subspace,ammonia,02588520,amorcito,orange01,nautica1,lovebaby,dragonma,sonnenschein,magal,katinas,peggys,energia,ballsout,claudiu,servette,anand,06068,corporat,king10,arsenal123,sapato,hawkes,levent,anastasya,ufkxjyjr,gjlcnfdf,balinor,sexkitten,s9te949f,mamou,moderato,bulldoze,nemiroff,asa123,andranik,arachne,nobody1,apacer,tima123,jaroslav,fktrcfylth,micaela,andy01,stokecit,aotearoa,gkfnjy,egor123,anka,zxc123456,artemi,yoshimi,jasper2,phooey,1sugar,anna12345,karol1,anxiety,zasxcd,rincess,travka,rebon,angel8,angel18,dolphin6,forgetmenot,proverb,montero1,turnkey,computer12,12345qazwsx,francia,gazette,madison4,136611gt,jen123,mcmaster,crosby87,beatrix,1sluts,belldandy,kapriz,sharpie1,dentman,jaan,astra334566,palamino,bright1,diebitch,demonio,parkur,margherita,spartak1,martymar,anubis1,00000000a,ghjnbdjufp,malishi,mando,risky,infalicall,vicenza,vacances,pluck,applejui,ashlea,trains1,appraise,kungsan,april27,marinaro,hakim,controll,dracos,aram,ashole,policia,dodobird,amoremi,audubon,qw3rty,arenda,birthday36,argus,universidad,tinmouse,vonsclan,qwerty0,frazer,laputa,electronics,caballero,cheburek,cloud69,polis,chidori,noser,batten,ximena,artem1994,artem1991,zxcvbnm1234,cunning,tutti,astronom,scuba123,pratibha,guitarist,wapku1,navigation,tijean,ashat,uhtvkby17,matelot,xxxwow,pumps,positron,allah786,asdqwe12,bollock1,betito,rfhvfyftd,asuncion,tempo1,angelfac,myspace2,sharpy,auxerre,elevatio,avinash,zolushka2,24beers,bulldog8,shel,fabfour,zorrope,badd,voodoo69,linear,rattlesnake,nitrate,sushis,megafon77,ivette,ahamay,southwest,baggy,mariss,jc05595,ballsy,steer,maveric1,yasmeen,kojack,hejsan123,guide1,hogfan,moller,akella,balerina,jetboy,piledriv,lampard8,flattop,waster,clapper,adder,wool,sasha111,ball123,sonic593,smaller,blowpop,fantasm,palani,sombrero,armchair,haguenau,kuken,prolong,bananaman,peeler,rugby9,santande,agustus,chief2,anointed,fuckstic,smurfett,realhard,feast,banjoman,ditch,makena,calvin12,specialist,bluntman,graycat,rococo,banzay,reymysterio,mudpie,campo,havanna,espagne,chases,corrupt,04088,love10,satin1,working1,barca1,2hot4me,lazyboy,huntin,duval,thegreat1,mibbes,barf,blarg,chris6,bandar,refugee,sparky69,lena2011,minimax1,futball,missydog,rocinant,sonne1,barrett1,rosado,inventor,barrier,1turbo,schnitzel,barros,lavern,terrano,blacke,polimer,beergood,ubitch,smuggler,oliver01,sixtysix,bardot,ganteng,berna,kyleregn,eliezer,daniel19,checkin,q777777,kearney,tigger22,faulty,baske,baobab6,tedesco,jackfrui,marijane,final1,tubbie,789456123q,batcat,eliane,green42,bathgate,thejam,fatass1,tiger3,starcraft2,timothy2,underwea,pinkyy,battlestar,laufen,danziger,shiner1,mccallum,bearden,bayley,sregit,rainforest,lifeis,divine2,wwwooo1234,lilmac,airjorda,markers,thunder12,lawsons,jack13,beatles6,augie,michaelp,cincy,vandread,politika,bluebir,gooding,ken123,black6,bobby4,sargeant,rekmubyf,latte,nursery,kill123,bubba7,hello7,utmost,furtado,go4broke,david6,bbwlover,goldtop,skidmore,crown1,lockup,cnttcb,brandy2,bill2455,ozwald,weider,golfer69,chipotle,atherton,evanston,musicbox,cupcakes,floyds,binker,picabo,beachy,versace1,codyboy,ronster,50cents,huck,superj,pass1821,benny2,beanies,smooth15,greybear,kelly12,alberta1,grudge,anytimetoday,sorpresa,confess,beastman,password88,accounta,zrx1100,tanlines,melod,specialp,butthea1,betsie,machone,f0cus1,klovn,leather9,d41d8c,rashley198,multisca,lipid,assfucker,beckham1,cloak,kimba1,jeffbeck,spider2,caladan,overseas,jeffers,gunnison,burford,clickit,yes123,bonanza1,enfuego,woodbury,gotribe1,jordan98,saloon,figona,weiss,ev7000,shitman,beeswax,frost1,thenet,shanee,boba,panther7,hangtime,bellum,nimajneb,papote,salgar,belfour,belladonna,malo,brune,jareth,murph1,wonderwa,belong,doubt,enders,danechka,amours,lobster2,daddy3,xwing1,marrero,dragonman,shawns,sveto4ka,nadnerb,tagman,moneybags,caddy1,libertas,pook,heston,assfuck1,trevino,starwars123,footloos,espoir,boffin,kalle123,garcia12,ledzep1,briang,eddings,prussia,indurain,superbob,beotch,fiction9,beppe,quarters,hjcnbr,eingang,tigger7,clear1,lucky10,blcktrn,mecano,panthera,beast11,moolah,liane,bernie51,getitnow,jesus01,nanner,illicit,radar123,noelia,janel,11king,saline,calamar,hosty,berti,ferrarif,hackaren,stblow,tatyo,tater1,spazz,spider8,cadmus,beth69,sarah13,sheppy,sony678,pete14,nikopol,redtop,goin,powerof3,chesss,poolboy,marsbars,gungrave,grave1,123321i,chevette,scooby69,bojack,ratliff,metalhea,twine,myjdxtcxks,bouboune,lumpkin,firebir,idontcar,4peace,shiloh1,groan,tennis01,develope,ntktdbpjh1994,1ussy,oilcan,jonny123,krishna1,rover123,pelado,gizzy,biblioteka,ghana,boris2,philemon,boots123,cooldog,blackgir,wiskers,cooky,doggod,lcrastes,zzztop,goldone,daria,keefer,toothpic,hertz,mistycat,voyager7,cloth,snakeyes,tnvols,bigdik,38dd,devante,bigbug,macy,morph,brian12,bigbud,firewate,nick1234-rem936,wetpuss,bigcock1,emmarose,jasona,pumped,reddick,weeds,duckbutt,daniel00,1flyers,evenstar,blocks,bakerman,lickpuss,ishard,1booboo,johnie,chevvy,mestre,warrior6,tyra,ravenlof,altera,minger,hooray,kickbox,donahue,vegasman,foulball,tellurid,ashley10,foods,shawty,futile,falcon01,tyrone1,topside,james19,smarter,slurpy,crazy2,lovelace,attack1,fries,markis,timmay,cantstop,feller,1nissan,mossyoak,conrad1,nicnac,carrick,summary,tamiya,oliphant,estreet,home1,papasmur,guesss,hasbeen,timdog,timmys,dandie,fleshbot,suckem,hobbits,yonder,tense,nichelle,winbig,hawaiiguy,garters,transalp,carper,dimabilan,spill,daniel10,elevation,sarita2,shatner,titian,cium,koufax32,privates,jettas,algerie,ssnake,connor12,william4,silkie,12string,stauffer,amoco,brown2,freakin,resin,mudhen,choc,faces,redsox24,camry1,excel1,horsepower,promo1,nadine1,miasma,meetme,laila,binford,colo,gfhfyjqz,extra330,reggio,1birdie,tristin,beast123,keegan1,samcat,paramoun,cheeser,cardman,hattori,treech,locksley,maxmotives,nina1,toolfan,seminar,metal69,bitwise,hockey33,thomas7,kook,headroom,katiee,ozzmosis,sloop,tolkein,cochrane,purple3,dreadful,fireston,catch2,serena1,moshe,camilit,blackdragon,96ford,2500aa,dragon33,blunt1,need4speed,irish88,tbird1,plugger,malaki,blackwid,soylent,bacall,leonardo1,snuggles1,nightshade,1234567j,choppe,babylon6,anal69,blaze420,jetboat,1accord,potpie,bleed,chard,blur,cassiope,hogg,oi812,blotter,magicone,polopo,delta12,xbox,chandle,wolf123,hellhoun,argon,japan10,collecto,redsox3,blowhard,knitting,brunodog,whodaman,x002tp00,fishead,soccer77,foxes,radium,lakes,compac,raider12,sniff,bluelight,gaynor,bundao,scott3,vice,redrobin,j10e5d4,roaches,cobra777,blueboys,bluewate,boomer12,jitter,cowdog,awesome123,crystal7,strip4me,1trouble,bandit11,m_roesel,maclaren,m123456789,wethepeople,111zzzzz,beaulieu,nevins,vett,bobbobbo,bobob,boney,bobo1234,blackpus,bobo12,turbo6,duckpond,narendra,pimpdady,wirenut,iceman11,goose5,nji90okm,theman22,puffdadd,newmexico,suck69,hubris,moist,frigate,skagen,rsturbo,nikko1,bobsmith,statistika,cypress1,jethro1,others,malaka1,netware1,resipsa,sheer,kutter,desdemon,timoshka,bolat,kulikova,vinegar,fujimo,pippone,vitamine,spears1,buckles,wallace2,sex4free,head1,renob,hoskins,mandog,bonita1,zero000,happyhappy,scooter5,chester8,bouche,camus1,pussy9,buggie,boogyman,kittykitty,hortense,portnoy,open321,boomba,chrisw,cdtnkfy,all4u9,valid,corsano,kantot,lopotok01,boosted,shocker1,butttt,nikki69,ruben1,iluvit,shadow23,200190ru,bubba8,bore,hogans,temp12,webpass,volvos60,passive,vlad2011,pagans,princip,boobear1,maccom,norwest,bobbyorr,fynjy123,wolf100,boston11,yeahman,swordsma,mama22,zxcvbasdfg,plokiju,slipper1,hardwick,pickwick,bowling3,hagler,wombats,minkey,boxster1,987654321g,megama,delila,shazza,wolf13,kfgeirf,prozak,jourdan,orange22,robert19,owen11,renrut,puente,vsythb,knothead,aikman8,nemesis2,philli,chaddy,1junior,shelby2,rock22,pinky2,goodlove,choirboy,vikes,qwaser,cocomo,brasil1,stony,vikings2,anastaci,jimmypag,welcome7,spitz,amitech,harley20,kenmore,dvdcom,vitalogy,rfybreks,trick1,visionar,pussygal,cheaters,turtle2,kimmi,nunya,landman,august20,paul99,brinks,magnoli,olivier1,lackey,imperato,fire1234,april16,vehvfycr,mypuppy,bigjohn1,robust,septiembr,cisco69,brothel,jenkin,robert23,h397pnvr,logoff,olin,risky1,unified,goteam,hibernian,robertr,amazon1,rosebud7,wilson2,enrique1,ghislain,compost,salo,build,milfhunter,ma123123123,priory,samia,xjy6721,natalie2,roykeane,shire,mamatata,crazyc,mikie,jackie2,bubbah,hackedit,duggan,clause,buck13,bronc,godflesh,pornog,iamking,dale38,buffa1,saul,green15,nona,q123123,gungadin,steveg,chinaski,faithy,storm12,toadfrog,westover,rabid,automati,squirtle,cheezy,burbon,llebpmac,slavic,camus,burrell,chikara,durex,plowboy,imbue,hormone,wagner1,thepro,letmein5,duder,scale,fastfun,conner1,stinker1,seek,reston,syoung,dugway,rojo,whole,kafka1,catsss,campus100,shamal,nacho1,fire12,eldon,rangerover,mohamma,skyblue1,canales,roamer,morgans,lope,logjam,fifty5,capa,broward,ingenier,ranger3,daddy69,capulet,ford350,tiger00,energy12,march14,murphy11,lydia1,parasha,nielson,saxo,tobbie,pilote,heather4,leones,charisse,carmina,vergil,colegiata,lincol,smoothe,carwash1,latrell,eider,bubblebox,loquit,stanhope,wiseass,nutsac,1qazxs,enjoy1,earnest,1pumpkin,phantom7,superpower,dogdays,u23456,silvan,slagelse,twothree,dannyg,bftest,ballsdeep,alphasig,cccdemo,fire123,claire2,august10,lth1108,1rusty,goirish1,bxdumb,rabbit69,travail,chantal1,greenpea,bergen09,petticoa,classe,ceilidh,salter,lucidity,manure,centrum,qaz321,chileno,masked,cexfhf,99ranger,estoppel,carter80,rustic,unit,herder,fcgbhby,gimmie,sunitha,onslow,menard,cast,flagpole,nicole0,chisholm,souschef,cater,riverat,makalu,publius,dancin,chez,thomasj,bmw540i,nazi,signs,kasi,shoots,stacker,late,iceman44,nicely,vengeance,chris100,chris24,cosette,clearwat,chumpy,koolkat,jamesjames,ckflrbq,j1964,streams,18n28n24a,coasters,shergar,nautical,ringo123,reach,tanita,economy,johnny12,halberd,dillinge,divide,fatb0y,c00per,cosenza,sloboda,mooman,marion1,arsenal7,sunder,need,daimon,ezmoney,chesters,aiden,hugues,patrick5,aikman08,robert4,elspeth,roenick,writer1,foxmulder,jamjar,scurlock,dinkus,icon,1sailor,nalgene,snarf,allie1,cracky,henkie,1friend,quique,bandicoot,death13,wiggy,master4,jr1234,hillary1,rumba,bloodlust,shadow00,bambina,yummies,melany,cutoff,freehold,funnel,grammar,matthew4,itdoes,mnemonic,fubared,dannys,nikifor,scubaman,saavedra,dtheyxbr,shirle,letssee,tamplier,gorillas,pelican1,fiction6,thwack,onetwo34,gunsmith,murphydo,fallout1,spectre1,jabberwo,tactics,redryder,fights,dean1,jesusgod,kicking,musical1,loppol,josepha,rebel12,organist,toshka,dangit,archimed,springsteen,wowsers,peeing,yamoon6,dangel,miruvor79,falcon7,miatamx5,dogpile,dfcz,haruka,birthday28,crowns,sten,georgio,sinaloa,willy123,jumpup,llabesab,clique,vicelord,lenard,hopper1,gerryber,fiasco,fre_ak8yj,nahlik,epson1,dumpy,jergens,itsasecret,takeout,mountai1,wurst,bongwater,1london,fords,heroine,pepper14,rays,dereks,qweqw,molar,fordgt40,rfhfdfy,hallelujah,hunnybun,prank,megamon,tuffgong,gymnast1,butter11,123xyi2,tatarstan,oussama,fianna,technici,schweden,throbber,jacksons,pilgrims,tech1,deadzone,kahlan,dethklok,xzsawq,cybrthc,buck01,qq123123,williams1,c32649135,flash33,spacejam,holycrap,daman1,tummybed,nusrat,daniel26,sevenn,kingpins,dima1991,macdog,spencer5,usagi,thecakeisalie,slushy,sophie01,penny2,meesha,magik,jerry69,daddysgirl,irondesk,jasmine123,tomuch,mosias98,esenin,raleigh1,heady,daisy3112,zootsuit,rubyrose,parallel,vova1992,dave2,jeffry,hardee,letizia,duty,vfhfnbr,1986mets,dilly,enclave,mafia1,boomer22,swifts,edwards1,fyodor,gemini13,montee,eagles11,snafu2,cintaku,mossman,maks5843,lincoln2,acess,gre69kik,core2duo,ublhjgjybrf,ashe,daniel20,massim,hardcor1,orochimaru,hjlbntkb,paradoks,ghjuhfvvbcn,doright,bkmyeh,figure8,freda,fuckya,scamp1,ontheoutside,louis123,moonwalk,mercury2,amenra,richelle,lafrance,detour,hosers,5150vh,sexking,alomar,wealthy,jahlove,ringding,apollo8,nefertit,morrisey,tailhook,bujhmbujhm,thedark,meteoro,felicia1,tinuviel,istina,lolz,lgkp500,grandkids,darling1,redhed,dazzler,chuckle,jager1,plumpy,vsajyjr,vbhjckfd,zcfvfzkexifz,max1234,1dave,loggins,pangolin,marhaba,latin1,dave22,salford,fiscal,escape1,fairbank,grepw,ernes,desi,yield,soundwav,greg78,sexmad,elvis99,rooney1,chiefy,pilsung,dennis12,demolition,logistics,davin,philos,lavonne,whizzer,upiter,bluejay1,kosta1,sustanon,kyla,tiptoe,medley,marine21,nasa,winsome,dctvgbplf,xxxp455w0rd5,lllllll1,ooooooo1,gammel,devan,1jerry,death2,qwertasdfgzxcvb,vegeta1,brigham,maxxam,mooose,ilovetit,illest,debi,doesit,vallarta,abby12,longjump,littleguy,magritte,dilnoza,saltwater,kokaine,spore,dream2,destiny7,dragonss,klaipeda,suckme1,scitra,delights,smellyfe,reyes,deutschl,harley88,birthday27,embalm,vfvekmrf,kristie1,kelebek,99strenght,denis2011,stalker2,popey,1stunner,jessejames,molars,madlen,west1234,jeter1,judit,silver69,green9,twentyon,drstrang,yannic,jenna123,malinda,civic97,rusty21,shineon,cabins,buyer,wonderwoman,kanabis,wert21,fktif6115,kakaha,54gv768,826248s,leecher,kinkysex,geekboy,62vette,scuba2,bunter,ussy1,towser,semmel,dochenka,fujiko,nadja,firebug,snake12,starbug1,querida,meester,diggit,parcel,outland,zsexdr,hotty1,dalto,pcgamer,dima3452,maksimov,dima2011,dolphin5,kakdela,p1nkb178,warranty,pointblank,dinochka,mama1965,1scorpio,dios,measure,seitnap,rfnz123,ghjatccbjyfk,witchy,gestalt,eatadick,discordi,onward,salsas,cider,jackhammer,nasca,helping,lamer1,sicher,ether,player21,soccer23,robert5,sirrom,deadfred,cornelis,br5490,cntgfyjd,ciara,iloveyou22,1startre,jasper01,gromov,melita,nfhfctyrj,wonderla,cygnet,berlin1945,starkey,missions,maxmax1,sort,ramble,novato,felixcat,vbhjyjdf,aksjdlasdakj89879,dominik1,tiger10,docter,0000aaaa,pussylips,polo99,lucious,senorita,waimea,cjhjrbyf,diamond8,criket,terror1,valetudo,geno,monit,junito,doublej,sup3rman,tigr,stryper,papa12,101054yy,rbceyz,jehuty,weiland,kovaleva,pelham,isdaman,mandala,percussi,varken,sallydog,naruto010,1maddog,sissy123,artanis,thimble,june1503,raptor01,poppers,mercy1,eamonn,rs2000,23wkoa0fp78dk,evgen,sumsung,yhnujm,amerik,lucer,olga12,1488ss,palacios,triad,1sophie,erkebulan,northpole,marinamarina,fdfyufhl,balou,gbgtnrf,fifa,mastert,gille,ershov,reddead,estefania,hopping,saki,ibragimov,tenor1,radist,albuquerq,juliett,timofeeva,semperf,grace2,carame,jackpot3,champo,lazareva,ramse,trev,christoph,reptymrf,nextgen,guitarhero,50cen,hellboun,quinten,evrika,00198,valiant1,nokian82,tortilla,skytel,fatima753357,clemen,paloalt,segundo,telegrap,elemen,bigbrother,redhat50,longfell,marijke,lyrical,cucciol,tropico,misti,pascal1,firema,redma,pendej,faceman,poirot,123qwa,mirinda,twats,tiger77,bkmifn,nthvbyfnjh2,algebra1,zugang,falken,luka,samson12,allways,pjkmabhz,leandra,terrorist,islamabad,sixpence,6inches,rockster,bluegreen,205gti,readynow,thing1,itsme2,ilyas,porridge,lacrosse1,galleon,sakina,prolinea,meloman,osiri,c7e4f8ezqh,probably,lead,footsy,112233qq,move,stas1992,pina,rasha,lexus11,dkfcntkby,justin2,zafhjdf,rjkjrjkmxbr,hcir,pizarro,turin,maggie01,samura,latexx,123vv123,farmhous,gthcjyfk,weyfvb,octobre,jackass2,fusion1,duckhead,filial,star21,showbiz,juanch,jama,regina1,jordan00,fghghgh,fireice,birthday133,dirtycunt,jizzeater,naughtya,rebeka,shamroc,t66hks,fisheye,asdf0987,ryan12,parma,passman,irongoat,satyr,sultana,robert00,roses1,howareyo,1magic,bebita,forreal,takefive,reinhold,w3e4r5t6,lovegirls,powe,polkan,pomme,foo123,ilovefee,wkmcpmn,protecti,mansfield,rocket7,vaz21083,ardennes,porsche8,my_pass,wacko,trek5200,klinger,gamer123,goodnight,francis2,pinpon,george123,sarakawa,drawoh,germano,jake69,wilma1,jeannett,ohiost,freddo,michiga,cumin,tour,storm123,strosek,freeky,mama1,xcat_xca,picaso,sheetal,satine,sondheim,love0,udinese,gurken,6215mila6215,przemek,girasole,datho,marku,tommy55,il2fw2,smd123,lizardki,loh123,funker,lutz,seeing,futbo,seniseviyor,maudit,5unshine,quasi,quinn1,adi7id5,traills,jobsearch,fitzgerald,halt,gaura,garik,bmvm3e46gtr,howie1,galatasa,miguel1,mail123,mary12,joshua23,girls2,bible1,market1,pinklady,1florida,guardia,nymph,blackadder,zkexifz,dallas33,gary1,flirt,ethan123,hamlet1,gauhar,newpass2,priroda,girish,koukla,2606642yra,kgmtva,capucine,mahoomar,iloveyou143,mastery,shango,schokk,valentinka,varenik,saipan,poutana,111222a,russi,sandi1,shit1234,buttock,maisuradze,xsw2zaq1,uthfcbv,2008m2009,greger,123b321,babuin,kensington,maggie10,zaq12wsxcde3,kenn,oskar123,shaka1,glue,greg13,dufus,goga,oliver99,goodboy1,pinkys,googly,publix,koss,qqq11,gq361hy,grifon,satisfy,pageup,mags,shebadog,inxs,tucano,diagonal,john13,smeg,fgjkbyfhbz,grind1,whenever,happiest,letmein123,genius123,chinchilla,hockey77,gvanca,keener,gates1,othello1,hhhh1,twain1,vfvfif,suzie1,loli,harvest1,rjhjyf,shaunc,1q3e5t7u9o,padova,kaylynn,roskilde,hepburn,herbert0,ratmir,pol123456,proud,hiroki,latinos,juice5,astros1,kippy,tariq,murasaki,hubcap,scorp,rowley,pampa,indi,k9vvos0a,masha2011,ronaldo123,soccer01,upland,iamawesome,love4me,eisbaer,plushka,katushka,jokerman,imbored,rollers,tropicana,sergeevich,logging,diamond9,access16,sandy12,t1234567,autocar,paycheck1,kissmy,debaser,rajendra,cthdbc,vfubcnh,jamdown,viole,voronov,blitzkrieg,irairaa,ubvyfcnbrf,bushmaster,pilipenko,kmdbwf,mirumir,pcmcia,minarets,hjvfirf1,lera2000,123456zzz,thommy,nathanae,popochka,bardak,kallis,kalman,decision,brookes,kelloggs,jake13,kalyan,mj2345,silver5,jhonatan,mike33,puckhead,ridgeway,motera15,robb,worldwide,jammers,timpani,backhome,candyfinger,stayrude,akvarium,johan1,starscream,patricia1,jasonh,kimmer,prolog,salvage,onlygod,deathblo,b0hica,johnjr,lakerfan,kevin7,boxsters,june1,rommel1,angora,jerry123,sachiko,stephen2,lani,thesimpsons,born2run,maddi,nouveau,sigchi,redbird1,padlock,petrik,quelle,greatnes,mariamar,tomasz,mascitti,feeble,sexwax,toshi,todd12,gohogsgo,aaa123aaa,kurwa,210689n,makcim,dtybfvby,keneand,size,spork,nahtan,icefire,siddhart,mst3k,rajkumar,kiselev,volodja,rock1234,talented,hammerhead,katebush,gznybwf,surge,kozanostra,malysh,maga,loveme12,zadnica,vfieyz,ohrana,1234567890l,samy,skotina,mark10,marinochka,minina,sahtm069,bcnbyf,polyakova,maintenance,raptors1,misia1,love12345,ljkkfh,papa123,vfhmzyf,carnaval,vladivostok,bigrod,sale,wxc123,zoey,azsxdc123,larryg,robert6,lavrik,1raiders,sqloledb,adding,yfcnhjtybt,vitalik123,oink,scooter3,gjhjlfcjqrb,rustik,leon123,natron,cabeza,matt22,nixon1,candyeater,jammygirl,littleslut,mocelot,overmars,carlsber,makayla1,moeman,7samurai,helpctr,nexxus,m1m2m3m4,love777321777,rellim,corratec,sniper123,mjbnbna1,yoshimitsu,superm,cscomp,max12345,masha2010,reddawn,eventlog,vfif1986,activation,1shark,wminet,citbanna,mutiny,podiatry,messina,nicki1,192837465q,beller,okmnji,vjkjnjr,gfhfdjpbr,mostafa,luggage,voronova,osipova,123456789aaa,setting,ieinfo5,poopie1,nfyz,kopa1994,nastya1997,cnthdjxrf,nurgul,oksanka,4815162342lf,nepbr2009,swetik,vardann,rahul123,rasul,snh4life,zalina,w74156900,celt29,pfqwtd27121988,zxcvbn3215,serda,sergey7,sssata,tekkon,16fretb,timote,cnfc35762209,221133z,hassagjs,4050,4080,9008,10088,14078,19038,20058,24048,26048,29038,29048,33669,89586,96385,113411,113456,114466,116211,123233,123478,123498,124563,125480,125896,127266,127576,134267,134652,135789,138500,147000,149200,157359,159654,172165,177777,179328,187420,196500,197506,197610,197802,198100,198510,198620,198707,198802,198803,198810,199004,199090,199404,199406,199520,199610,213456,222221,222223,226688,232123,246642,246969,286685,345123,358853,361619,369987,422119,444455,456963,495812,542678,551155,552233,565758,567432,636332,696977,699999,741369,776655,777007,787899,887788,888666,901234,907629,951623,997755,999555,1213456,1234556,1236951,1258963,1478965,1590753,1593575,2236345,2580147,2947251,4050328,6657684,7106189,9035768,9517883,12101492,12141618,12341231,12345543,12378945,12601196,15161718,15541632,19688691,19811983,19861987,19888891,22224444,22228888,22360679,33331111,33445566,41513042,45683968,56259090,66778899,71727374,74125896,78789898,91929394,123234345,123258789,147963258,222222000,383295502,451236789,741963852,789951123,987321654,1324354657,1994200414,2143658709,holt,headspin,0040,erskine,merlin7,effie,tdfqugl5,membe,123happy,hahahah,march10,geneseo,yooper,66stang,giucil,robbieh,smilie,closter,swivel,copperco,wsbadmin,randyb,ramtough,lindsay2,digby,pernell,marmo3,kassa1,ass904,bird333,spearman,kg5698,percent,pebbles2,brands,blakeca,combos,1mother,fox1,chapper,lovesazz,quartet,hohner,natalee,bigbos,farrar,yllek,infra,nikol,1dddddd,franway,1hhhhhhh,guppy1,buttboy,carmen2,sensitiv,easley,ecnirp,amc20277,namrepus,adamss,garp,jimmi,assess,12345677654321,arron,jj9999,kekkut,pornboy,shkiper,kitty7,bacchus1,chester123,ron123,firstaid,canopus,chantelle,falkland,hayashi,incident,schnucki,green13,lovers1,km83wa00,danton,riverman,ilikeike,aaron2,fetisch,mc6288,perrys,paris75,amg921,carlos68,billyjo,blueprint,1531bs,zcgihlke,einstien,omysut,arden,gotten,trebor1,gismo1,serpent1,raritan,calibre,gus123,doorbell,efrai,poochi,monde,emmaus,jerr,button1,wildfir,alvarito,caesars,guerilla,gooner01,vitebsk,nordman,cubs1,utyyflmtdyf,alfetta,mite,absolut1,attilio,exciting,busstop,goodall,atonal,andrew00,lampshade,lesya,paulita,6y7u8i,korgm1,asta,andrew8,gameman,1badass,78ford,1casey,coke1,redlover,monchi,tamu,tatum,alex55,haha1234,hamal,luckyday,zxcvbnmmnbvcxz,code3,rocket01,1stephen,merde1,genlee,1viking,wsxcde,recneps,edisni,5seks7,1uuuuu,1hundred,1magneto,vipper,1cock,siva,monkey19,angel200,billy8,desig,falcon21,sorbet,fuckinti,abakus,jack55,climber1,lyons,undergroun,limeligh,aral,123321l,bowles,fink,skidder,baseball21,okk34125,sylviahans,meijer,castilla,suckmydic,spyros,ajones,addition,pass23,shadwell,21952q,bodensee,goffer,fubu05,amstrad,pvhpx6,greenber,kippax,marinas,lemont,choccy,callie1,altern,tankman,0187541,aladino,root138,m0ntlure,allpro,a1b2,debtfree,redflag,visiting,nzceg251,pibzk431,zmpimeje,boonedog,allende,accoun,wtsfjmi7,twinpeaks,forlorn,pimpdogg,austin97,zippie,herbi,msujoe,altamira,katie12,mong1ni,jokker,bad1,schoen,gfhjkmrf,lynch1,kyoto,alesi,whitlock,asil,caesa,andrew21,brijam,lucerne,lbvfhbr,sesso,greencat,berty,bigballer,bose,rdq5ww4x,donita,matthew10,bigboat,randys,zenden,mech6666,fernwood,omytvc15,astrolog,monkman,seltzer,bittner,bunner,cgzfrhuf,acotec,neggy,boracay,uxmdzi4o,ashley22,andrewb,angel66,lvd9341,bearboon,dekcah,civilization,rustyw,scrubber,daphne1,rebbecca,keiko,aryan,blackwell,hann,rmpop,bigsmurf,wwwxxx,johnno,cmigtvo7,tiger86,h72sfibbnl,mutt22pu,bjones,rathbone,arguments,andrewj,logo,brolly,cobble,music5,swain,onelife,afriend,dessie,tina1,charlied,sally2,housing,chicane,kincaid,paid,jerkit,leading,sgegukbm,slaine,roni,cartoon1,hendrix2,george10,gilbert2707,curioso,yama,spares,123poi,miker,seeall,imemine,wtpmjg,sandma,ydnarb,hobbe,monreal,tspeter1,srawrats,undne,chelly,karend,indobokep,espiritu,honda2000,nfgbpltwq,fuckersss,avantis,adders,12345love,carros,burgerki,63chevy,looner,seadoo96,roebuck,sarah200,akira123,mspaul,tigertiger,qwqw1212,thomas3,jrracing,freesurf,acinom,bryguy,kanus1,as2579,66mustan,kinshasa,shanker,brasov,98stang,exupery,champion1,eagle69,4girls,lolomg,oldgold,rancid1,abbeyroa,forfar,gavilan,slainte6,sloogy,subskin,updrop,simonova,nicole69,tescos,pizzaa,nicosia,gateway7,jizzman,nagging,ilovebri,wildcat7,matt25,w1408776w,greenwic,katman,4sure,trucks1,fuckyoua,joeyjojo,vgy78uhb,gatinha,babe12,dbrecmrf,taifun,cumsalot,avarice,jjames,schroeder,sexy23,boogs,david25,michaele,polka1,nekromant,mounds,plato2,textile,deepred,sandrita,mucus,ripe,ujhjljr,vortech,geranium,getback,norge,soslite,dan,longing,qwerty56,light2,turboz,solo44,poopdick,amilcar,bassi,geddon,nani,sandy3,bertil,ritz,98cobra,puregold,78vette,slappy1,4p9f8nja,sapiens,anna88,77sunset,aaurafmf,hasmik,goldz,studios,buddy111,1pamela,bujinkan,mustang66,bb1234,9874563210,rogets,aa1998,aaabbbccc,aaaddd,moon12,dundee1,kokoro,pharaon,misiaczek1,inbhkbw,adnan,meerkat,batman9,harbinger,333333a,scandisk,bigmoose,1blaster,natasha5,aaron8,conn,joeseph,pinocchio,oliver12,heckle,outkast1,boink,august28,maurer,bayarea,bravo20,noway123,shivam,iskandar,hfcnbirf,malmstee,getin1,alihan,switcher,ab123,bma2002,iverson1,winter07,cuco,janusz,kamera,mamata,abbasov,abbie1,murano,holl,abbot,coco1234,december2,abe5,prova,behold,bastich,thegreek,alex1980,maldonad,1peter,abidjan,rehana,booooo,123456789*,malay,grandkid,doingit,hughjass,as123,muhamma,erunda,123123qw,diana2002,fdsaf,alimov,gfnhjy,denisz,abubakr,jones123,alphabravo,certified,beamish,lucydog1,lurcher,ewanko,snapple1,s211278,alysia,avionics,eriepa,kristi1,michael13,lange9x,kerygma,crazyhor,poiqwe,marine12,copley,sukhoi,april30,progres,reset123,kottayam,danknugs,triathlon,joshua04,cruzeiro,darkroom,tgif,ranger82,andrea10,alize,blacklabel,alaine,myway,propel,fanta123,bobbles,anakin99,andrew33,2n3055,meribel,thug4life,fixed,glassic,paragon1,gibralta,bloodhou,tilleie,coldone,badhabit,louise01,evaluate,findaupair007,redros,mets1,emmit,sasha5,qq123321,annetta,anthony12,adil,whipple,kambing,teenies,fungible,serge1,alina2009,ozzyman,ktyj4rf,corsar,alani,adidas23,adidas99,youporn,strohs,bfltua,xnttcb,dragon06,allpass,america7,daddy21,mario6,onlylove,pp04a,stutt,wtiger,want,gjkjdbyrf,q7w8e9,blitzkri,rosana,hardkore,ffviii,jixian,maric,biologia,shaoli,eric69,saiyajin,movies1,between,heffner,syndrome,naughty2,lesta,cervantes,courty,palladio,prowler1,galapago,african1,ichiban1,catsup,chrisn,e214fre21,vindiesel,afnbvf,andres1,ultimatum,fifa2000,1turtle,mercedez,afterglo,agata1,astra12,ltybc123,navillus,caillou,hamtaro,marksman,santorini,glucas,carmen00,jedidiah,abhtqa,ironma,anna1979,motylek,vernie,hurts,themann,capsule,swine,sas123,alva,30seconds,thegr81,bevis,adg123,aika,akerke,babyko,smoki,kabanchik,aimhigh,vasilev,ulrtab,33333v,fruit1,predator1,airtime,mudddd,dirac,vfeukb,labuda,flashme,supermac,biturbo,sanmarco,dominoes,alex73,hillel,yessongs,jensen1,holle,blahbla,sung,catullus,vadim1995,lusaka,meltin,nodnol,autobody,q3dm17,akiko,star33,limonad,7777777f,cassy,kayode,malachy,football10,fkmnfbh,warhawks,anna1992,balabama,1qaz2wsx3,barchett,alacran,bosco2,canoes,lovesu,claddagh,alpha135792468,baroness,wren,allora,aubie,louisvil,boeing747,alania,parol12345,wetland,nata1977,italias1,nokia12,sandra69,voyager6,seabird,hv120dv,es206en,mitico,roseann,liberdade,lathrop,artur4ik,palladium,inshallah,dfktxrf,ghtdtlvtldtl,newyork0,batman00,olga1991,alena1992,aleister,edwardcullen,amoros,alejandro1,fktrcf,vfrcbvtyrj,vtnhj2033,s1a2s3h4a5,fkbyf123,azerok,123alex,alex87,alkogolik,zxc123qwe,njnjirf,w1w2w3w4w5,kfdfylf,klubnichka,20162016up,vjqfyutk,restart1,gordienko,lena22,kardelen,alex555,buggerme,outlet,alex1992,polanco,rodionov,1katie,fafyfcmtd,alex1993,gfhfktkjuhfv,qazwsx123456,alex66,55555s,april29,pyfrjvcndj,sexo69,moskow,anytka,millioner,soares,comida,gofsu338,amber12,princess2,147369a,right4,reading1,drusilla,sweetdreams,asdfvcxz,maia,tomasa,strasse,70780070780,umisushi,wingtsun,strom,cancun1,harley4,tomson,nicaragu,gerasimov,bapass,voldemor,trotter1,cosmin,budda1,nokia1600,alina2000,lena1234,annemarie,petruha,azerbaycan,alisaalisa,alisha1,1gemini,lutheran,stepka,azlk2141,alla123,artem2000,h0lygr41l,nation1,salon,xxx999,jiggly,freejack,parsnip,diya2003,ragweed,tawny20,anfiska,elmhurst,allis,carolynn,m0nkeyb0,alpha6,casillas,podstava,2-oct,06251106,elia,hanalei,lytdybrbdfvgbhf,gypsydog,raver1,wolf99,jagger1,rabit,alouette,element2,grace7,saxon1,1sally,yasemin,hathor,providia,santander,success7,peace2,denis1989,carols,anasha,tindoor,0406198,karrie,joao,amaranta,senhas,sandies,banjos,neckk,ziegler,hegemon,asd123asd123,parola12,room101,putana,figtree,jordan6,hulahoop,mibeb,02143006,astrodog,amulet,aeroflot,sahil,korvet,paredes,august21,z12345z,flurry,senthil,magius,mexico2,fashist,biller,lovegood,scooter8,tendulkar,amy1,october31,evette,mousemouse,milking,04098,techn,arte,domingue,7777777q,solly,shalom1,ivanko,julit,astri,azaliya,robert24,svensk,filofax,bettina1,schmid,santamaria,ferraro,passwordassword,andrea00,meloni,rono,qweasdzxc12,andrea69,nightfall,rest,ronaldinho10,grusha,fernando1,gostosao,belomor,hotice,babnik,zxcvqwer,amant,ctdthysq,andria,bmwpower,audirs4,anny,consult1,usa1776,abuelita,holdup,cosmetic,caledoni,a2345678,anushka,croc,funnies,angel2010,bombarde,girlygirl,drake2,carmona,goosie,angelface,ingress,k1f4c8,angelie,chippe,demon13,hernando,ladoga,fr33d0m,vfvfxrf,zakaria,anna11,anna1998,anna77,annabella,zoopark,pavel123,rosalita,supe,malib,meli,yjuufyj,canarias,not4me,attempt,rfvbgt,patricks,vincente,mironenko,salvia,kfrhbvjpf,lxdumb,germes,slackers,svensps820,pogosyan,shakeel,apart,equal,pifagor,buzzard1,scampy,distal,mclarenf,12andriy14,charade,123vvv123,onimusha,underwater,barriste,seaquest,miser,caliburn,labyrinth,#name?,bujhtdbx,cristobal,crepusculo,muckel,epidemia,chupakabra,mascara,fortyone,maryse,montreux,jorge123,arsene,000999888,edna,p@ssw0r,artem1998,theman2,chiemsee,belmondo,artur123,refused,yakudza,maksimuss,ipo54tj45uy856,s123456s,aznpride,uhoh,kerstin1,askari,3616615a,un4given,laudrup,phatazz,gaping,dogmatix,astras,avalo,budlight1,qazxsw22,badboy123,ishorny,becker1,financial,kaviar,puddin1,tulley,stern1,autobus,cfgfa03,1jake,vlad12,jedi99,slimey,snakepit,baby31,ktc110,solids,isthebest,b1t3m3,gfhjkl,therocks,brianf,june30,upyachka,badstuff,chinos,waterfalls,raffle,kurica,zippers,every1,stix,baggage,oceania,jimmmy,reality5,buggsy,privetik,branston,gohabs,fdjtsa,shitfire,boulevar,1maveric,chamorro,frick,calif,cookman,rossman,nightcra,maranath,pumpitup,baldwin1,groom,shadow20,farme,punt,keks,westside1,piero,seve,amoureux,kent1,cavaliers,bananen,famille,bret,burp,lick1,stalion,ballzz,mervyn,kazoo,jonah1,stone2,schnitze,1brother,brothe,horner,drdre,rtyu4567,banana69,splash1,ke12fe13,dentista,hayek,wannasee,vivace,blue18,bangcock,chris77,sofa,kronic,bangme,banky,imjakie123,cruising,fork,green75,snook1,chouette,blaster2,blather,moisture,bantu,zapp,nhatrang,april18,1billy,wolcott,nickster,gemini6,jackasss,college2,rubberduck,kaka123,macavity,hal2001,louiss,rikki,checkup,nikegolf,kotyara,robertson,tress,garbo,blaker,bowzer,platinum1,bdog,1purple,larryboy,legendar,warpig,h0ckey,incorrect,bisho,barr,villeneuve,rosalina,laughs,rasberry,heeler,cassey1,blueee,asianlov,kakka12,1white,timezone,newberry,patches2,santas,1driver,saskia1,bassmaster,moneysho,unnamed,bart01,sesame1,chefdom,booobs,fantasie,marlene1,jamessss,muadib,november1,1yankees,loxpidr,1sucker,killer21,cedar1,compete,bass1234,snappers,hummer99,mamour,bloop,bass11,hobbiton,sheehan,lbyfvbn,wrath,pitman,pharma,suckme69,batman22,mcmillan,gospurs,babygirl2,kamina,berrie,aramat,12q34w56e,returns,batman3,jedi1,triade,bator,winter13,bmx4life,stucker,wjc200,mirrors,stasha,tamper,exhaust,whitne,agnostic,gracchus,davison,bolo,momo123,recorder,sex4ever,american1,lattice,godzill,gateway5,rovers1,slammer1,bubba99,weed123,bball15,black47,elite2,castings,xz33333,lovecat,sabrosa,jeremy2,2short,boodles,watson0,buddy9,poptart1,brian5,russell7,sammysos,lanky,bobby5,lookat,charter1,1molly,habbo123,horned,go49ers,bigdawg1,godzils4s7,nuttin,ashburn,psycho72,brianl,falcon4,jimmy11,billyc,chem,testo12,fuzzbutt,ultracash,beerguy,megan7,email1,booby1,yankees23,maceo,wanda1,jhendrix,edwin1,quorum,despina,sun32,rocket2,beach2,cbreeze,wikinger,dorkboy,ruggiero,robert71,bleh,billll,earwax,meanie,skiing1,12345678l,casper13,dan3,wood1,girlfrie,mrfish,tame,bears2,taylormade,wedges,dick11,zerohour,silentbo,gasket,boston99,londres,nathali,sarahd,charles9,butterbe,kittycat1,decay,follett,winston3,ozone1,xtvjlfy,ecurb,codie,gwar,bunsen,blowjob6,flanker7,qaz123qaz,hops,shoehorn,radford,eroica,95jeep,sheffwed,georgie1,adler1,hunter5,benj,rachel7,jake00,towanda,moose7,tweezer,berik,fleck,armyofon,rustang,boudin,thorin,dstars,cocklover,bubba13,lyric,vf279sm,brooklin,svenja,kippers,1tennis,jazmi,angel100,carita,blue222,compose,kunt,metaphor,norwich1,rutledge,glastron,mangoo,ziggie,dunlap,biloute,muddy1,babylon1,copyright,leodog,killer45,benni,chris26,holyman,calle,tigger10,karupspc,illusions,bailey99,89semtsriuty,joshy,oliver123,bjc210,rhumba,holly12,juicebox,celt,wick,berl1952,gareth1,evelyne,amarant,beret,neely,asante,pana,bergeron,pitts,nosleep,david99,lucia1,geminis,1voyager,babe1987,viruss,duffydog,library1,zipzap,goodguys,kissm,ragers,mach,dunker,icenine,cody01,daywalke,gateway6,schatje,druhay17,talus,vika12345,foreveryoung,james777,fordfocu,sierra12,nosbig,broker1,jazzmine,hondac,shout,badboys2,harlie,souleater,punany,hoyas,jiggles,gonad,wend,bryan2,biznes,bigmac12,tris,discos,beasties,camano,vandy,flannery,purple7,ytrewq11,valer,baseball10,vasser,maggie123,fw190d,taarna,sandusky,waycool,thai,ching,super21,jackson4,soldout,march3,chodu,ziggydog,sauces,dakotas,pointbreak,maxxum,filly,sunoco,blackand,bianka,exxon,jive,23843dima,iluvatar,gherkin,bs2010,blue16,blue20,love6,carolin1,reel,rinker1,tatas,peter3,daisies,fishing4,nyisles,fuckher1,bigwilli,getsome1,breizh,concise,jennah,blizzard1,gizmodog,faithless,katrinka,packing,tryme,bigtimer,martin21,palle,scarred,tarquin,cumtome,bluegrass,thumper2,butkis,steve3,bigc,7elephant,scrump,chiquito,moxie7,longhaul,bullshit1,2times,gayle,sdicmt7seytn,playboy3,1bigtits,maxxie,theblack,54chevy,diverdow,titsass,irishboy,1bigman,bigdog2,casey12,ramcharg,shittt,justin99,buffalo7,iamsocool,savings,carpets,fevers,bigfish1,newbury,goodlord,gdog,pharmd,alltime,whoppers,tony99,fazer,footfuck,willian,thedude1,biggy1,phantom4,666xxx,zeeshan,sridhar,bratpack,mitino,bigjack,12inch,pixels,killeen,cbr600f2,moose23,bigkahun,kennedy12,happy21,optional,suprise,kathy69,texasboy,bigpimpn,grizzle,holla1,hardie,humber,deedee1,schlitz,clayman,synchro,1joseph,thelove,catskill,moran,thebean,jerker,cccc1,yellow8,itsmee,budz,tylerca310,hogwild,cyclist,cougar11,goliath1,threeday,52xmax,frodobag,ranger13,herbs,phigam,shaney,asdasda,djeter2,bill063,sex101,hellowor,arther,snafu1,paddler,bristolc,farrow,nudge1,scamper1,hoopty,asteria,chalice,cipolla,technician,dabear,sadiemae,ph0enix,goblet,stuck,opusxx,allybong,swearer,jannik,nixons,montie,jayme,bulldog6,harleyma,brad22,rebels1,babybird,laden,brassy,zheng2568,omglol,burgos,tacos1,potent,moretti,tractor1,boogey,emoney,giancarl,please12,westfiel,gmcjimmy,blondie2,truly,cary,bobman,killer22,olsson,podruga,chowmein,blacktie,leee,ranch1,dusted,petrie,kaitlyn1,tiger9,dylan123,dalton1,mover,table1,aolsux,weed1,nolose,black99,powder1,burritos,shakazul,paul04,death66,blacksonblon,trickste,cigarette,sasuke123,derelict,talbert,kumite,hellsbel,rallen,brandon5,manson1,1nstant,bravo123,floral,magic12,black69,shoeless,hyrule,saidin,cowboys3,entre,fritolay,bigbear1,tottenham1,thirteen13,italie,mensos,tabryant,greenguy,camman,budligh,72305z,sunglasses,groves,saufen,rosie123,saddles,couga,chimera1,420842084208555,zork,sexypass,drew123,frankzappa,rmanis,nsnabh76,ladies1,secret99,rfnz11,nightmare1,organs,lantern1,orochi,chrisi,slayer123,goodnigh,mrblue,aztlan,blossoms,11jack,kerplunk,cutout,blows,shipman,ed1234,blue333,ch3ch2oh,sprit,bluebox,tomcruis,royals1,wer234,grasss,mariamaria,elzorro,eldora,1special,buddy5,tenors,dogbones,cooder,gizmocat,rebecca9,casin,glenna,saspurs,tgacb,belushi,itsme1,macon,fishfry,tammi,boggy,poop11,paper123,ru4692,pheobe,research1,igmtva,gris,struck,xehrf2011,aussie1,sammyjo,captain7,bobbi1,thea,april11,daffyd,gateway0,newport2,philadel,secret00,howareyou,texas69,eldred,carmelit,bmfc2353,ponch,master32,ineedsex,chimney,666hell,astaire,stogie,jazziz,gallup,explosiv,michigan1,boner2,tadpole1,tungdom6,mcfarlan,bobbyv,mohinder,clk320,giovani,19thhole,spunker,mybaby1,cancer69,pucci,quepasa,manon1,forestman,worr3619,maffia,corporation,vinson,therams,rjvgjn,ellswort,ckfdrf,lion12,chad1,ortho,jamesj,mute,bonjov,taylor10,lousy,f67342,cammer,coby,dooby,down1,text,bookem,flatboat,gaggle,flatbed,cuminme,quit,crooner,concern,2w93jpa4,leveller,dude22,dee123,pelosa,looped,hpesoj,0px,jeri,paperman,takethat,corney,carlas,gusset,carmine1,globe1,hagar,liz8tysiu,artillery,wetzlar,stiller,bot_schokk,limonade,ireland3,samsa,dinkie,sapphir,lita,copies,coleen,martin19,boxerdog,knocks,bedas1,max528,kyle11,silvermo,fish12,lung,free99,00seven,2br02b,chimps,teague,muddog,arrogant,stup1d,shadoe,lisalove,wynter,texas5,hondaa,peaches3,gobucks1,goredsox,wind0ws,mudd,kukaracha,kiley,oneil,football7,idontknow1,wett,dakota11,ballin23,hidden1,bulldog3,hockey30,brazilia,donatella,mindspri,arriba,dddd1,taylor6,spionkop,pedr,mikesch,karola,aerospac,bldass,sweetiepie,katiew,gorky,brentwood,dogtown,jordy,emmons,edwardo,qualcomm,rastlin,rufino,twinkies,pingeye2,richard5,sewell,dekalb,cade,max666,maker1,tunisie,janos,chloedog,ghoti,jamie12,supple,skyhawk1,womba,manolis,obninsk,ravenna,cyrille,butler1,prune,routine,conroy,fdfsfaf,s11111,kalvin,chipchop,kittyhaw,mansoor,arbuckle,jazmine1,akinom,bastrop,onme,asdf456,benno007,dusti,dexter12,chelsy,texas22,roadrace,ratcat,pauley,penwindo,winston9,jasmine0,dryfly,bear98,redcoat,green88,alkanaft123,m0nster,liberty9,carrera1,andrew7,cavid,jktrcfylh,bubba111,tropics,notrub,wormy,play123,julia666,smoopy,moonbar,gatorfan,illiad,turntable,dienstag,starshin,candy69,dyexrf,funforme,loves1,3children,gunz,kevin9,think1,mays24,tatonka,chevy57,rocha2,decoy,cajuns,antonino,slaphead,bully1,lokator,coolin,star23,murmel,lxgiwyl,pantat,yves,char4u,gordy1,kinski,bushka,snort,camryn,redlabel,richardc,locdog,june16,sawblade,rubber1,asdfzxc,woodbine,dubbie,jake22,animas,havasu,crazyhorse,payless,madd,ktjynsq40147,1a2a3a4a5a6a,lolman,q123321q,jamieb,loafer,hfgbhf,bullnuts2003,stasis,burner1,heath1,dopey01,littlefo,poorman,nelson11,soltero,candle1,statue,popcorn2,totti10,ratbert,05058,duke13,shauna1,clinch,champy,catbird,one23456,slapnutz,lukester,wait,charles7,frank21,miquel,palito,zippo123,pass3s,catseye,cameron9,rassilon,hackney,freemont,bj200ex1,niblet,cappy1,cappy,simonn,sensible,feel,arnette,pokie,turnbull,krista1,kokopell,redtide,finals,emirates,buzzy1,cumbria,vidaloca,carlos10,miami123,gastone,delong,storm2,carnivor,toolman1,icky,jackruss,pegase,rafa,casado,mundo,ilovesam,cdog,cowsrule,boojum,wheels1,chasm,dundas,charles4,greyson,tennis22,longtail,mukkula,senior1,eddieboy,svtcobra,9231wcf,chicago23,njptya,blueskies,hogdog,sunflower1,nicebutt,cchaiyas,honors,master9,assorted,cderfv,goyanks,absalom,vent,cecil1,red555,jason23,leaders,mangus,tofu,gjyjvfhtdf,niceboy,cerf123,ranger66,qwertyui1,fleshy,lumber1,yankee23,ninety9,pooh1,swing1,spikers,hocuspocus,riceman,nagshead,chiper,chandu,rakkasan,kikowu,coolidge,creditca,diehard1,3times,charizard,bhatti,bbnyxyx,helpme96,ace2luv,garrick,fourtrax,chasman,chien,suman,elastic,connecto,annina,pino,cameron6,fernan,hjvfynbr,blue34,leihak,casta,chika,masala,simonsays,love4,chinadoll,jackdaw,lanier,ks1977,workers,suka11,taekwon,gefccga,buggin,1cobra,west12,uiorew,heimlich,janeen,martys,stooges3,puppy3,batfink,tankdog,passwort1,nice1,cometa,sleeper1,noonehackme,psycho78,rhh8319,azul,cielo,foxrun,lothlorien,1xavier,toptotty,backoff,billie1,ozarks,peter11,constanta,casbah,twinstar,theborg,67chevy,cody13,1psycho,values,poot,scaffold,aa111111,carmack,bother,pernilla,lexx,b0nehead,sergiu,am56789,1boston,value,mita,foutre,iceman01,jasonlee,johnmc,tomto,charlotte1,schedule,croydon,anniee,polo123,cjdtcnm,legend2,roper,ssword,montana2,lynyrd,dyno,whack,nonnie,laplace,rossini,fling,crease,phantom0,ginger01,gthang,1rules,1cracker,stickit,jamaican,sprite1,nohope,rach,blacksheep,shelle,preview,lantana,gems,lbc999,drift,cranberry,tl1000,julie2,tumbin,cuteako,cum69,hondo17,addidas,homage,fsid3n,madruga2,demon2,bellaire,bulldogs1,pauline1,moocher,lion123,t5r4e3w2q1,confed,linton,guam,bollen,pussy420,deeann,felix2,verne,starwars3,retreat,bebito,raven666,crocket,serafina,1jasmine,saturnin,plasticp,ss6z2sw6lu,roads,frugal,neurosis,fivekids,snoopy13,connex,against,wimbledon,ryebread,sevenout,cruzan,eagles5,twinks,phoenix6,emma123,cjkytxyfz,angies,sporto,quincey,foofer,nouvelle,2sexy4u,catolica,spy007,zman,frostbite,kelly5,cursor,stoney1,sitepass,pederast,tasha123,tangled,goggle,1raider,goherd,amstbb,cubans,george99,cuca,kneel,broadban,thecult,widew,cumstain,rjvfhjdf,hijack,lick69,super99,longest,hightide,1mountai,starzz,sweetboy,shirow,iddqd88,beisbol,1service,showme1,iforgoti,cherokee1,supermod,dawnie,harol,jessup,x1y2z3,drugfree,alex8899,maide,tupacs,pelon,oilers1,lesley1,shelbygt500,usnret,kaleigh,dmiller12as,1mookie,maelstro,poison1,erotica1,red1sox,gurumayi,rhett1,rockandroll,issexy,omen,evgenij,caesar12,goldstei,salas,again1,poul,salomon1,alpha9,dima77,face2face,050605rostik,01470258,demonik,happycat,ngentot,denise01,grandmas,footballs,mikell,richardo,19960610ilja,deshon,djljghjdjl,ranier,lfieyz,jake02,bundy1,1faith,bkqtza,hand2000,7410258963,freesex1,dailey,tazzy,dakotah,morena1,kar120c,earnhart,august30,harveys,jesusfreak,tompetty,kristofer,1texas,opaque,monro,devil66,damirka,darnit,loserkid,cthueyz,tiffanys,gooliner,unleashed,dinodog,oldboy,hotporn,dave11,ripken08,drac,lineage123,jeter02,danna,persist,madelin,hammer00,1dancer,ketchum,steps,marina15,sexy2,noeli,mj1234,andrews1,tryout,hecmax,tarantula,1jackie,hotboy1,pantera2,sandra11,sanderso,kursant,dfhrhfan,permanent,123123w,escorpi,siena,dari,july31,aline,dange,jeffwsb1,hippies,moggie,bonnies,qwe123321,revenue,123456zxcvbn,fabio1,dragon18,trueman,goodfella,fizban,dumars,ericcc,canino,liberia,suzan,darkie,pfchfyrf,kaioken,booyeah,thebat,blah12,lachen,shitt,leonida,gordita,trent1,selanne,tish,1carmen,nikonf5,berkshir,money13,vfkmxbr,dtynbkznjh,roman12,darya,123321d,ribalka,lamonte,superbik,jellyman,marche,kalpana,mydear,smokie1,poopster,smile101,sex4fun,thankful,yesplease,theseus,dreher,dave77,july12,neuroman,animal2,lizzy123,dave41,lucille1,catriona,audir8,david22,diebold,crip,summer09,coachk,pizza2,whoopie,deuce2,writing,gizmoe,superdave,horseshit,80361665abc,ginger99,morning1,morgue,daxada,powmia,maricopa,raiser,flash5,calloway,voodoo22,sasuke12,winner2,nacnud,thegoat,rogelio,8218yxfz,textbook,sawa212,faustino,adrenolin,mark2,0123698745,kamelot,evillive,lillys,joker2,vintage1,eric1132,samogon,drdeath,servic,wedding1,luckee,april2,martell,rocko1,frogface,marcs1997,2q3w4e,paramon,12345qa,sonnys,harryhoo,nalani,deepsix,dogmeat1,foolish1,deivis,irishlad,1angels,klavier,toad24,hongfund,dogbutt,canfield,lionhart,afternoon,zergling,deniska1,1dollar,arcadia1,deltatau,jktujdbx,demidov,demchenko,sillyman,kosmonavt,abcd123456,demiurg,relics,iceman22,forestry,102030a,garvin,ferenc,vjhjpjd,emerso,fournier,denis1983,den040791,oberst,copperfi,maggie99,mccloud,puppy123,roma2010,lonley,eghfdktybt,nokia5700,barnhart,fred66,monster123,9731553197,nadi,lufthans,fuckthroat,santafe1,sammie01,galactica,master66,rt3460014,torpedo1,pencils,schroder,fatpig,sportsca,omen666,mtdew,astronaut,thebrain,upinya,pabl,jennyy,bvncnbnvvbn,elates_y,gundamwing,special7,aurora1,arizon,1bandit,simens,hjvfir,truitt,letmeout,elenas,oren,marcuseckos,nicholas9,bergie,patton1,didenko,feets,dispute,florencia,kamel,gripe,hamann,digdog,beeldbuis,weare1,josh123,drills,dima13,dimka,avtomat,werty12345,dima1983,housemusic,duffie,mazda123,fucktard,dinho,plutoniu,hobgoblin,dustman,d36rkqdff,usual,srbija,djeter,mantha,9953rb,mixmaster,ak471996,george69,guapo,progressive,chris8,fantazy,porshe911,juni,snejana,rulezzzz,youssef,pass28,wolf22,iwillwin,kukuruku,ncc-1701,passwurd,zxcqwe,1hardcor,apollo17,pppooo,laural,rhbdtnrf,gtnheirf,tallica,goals,ljcnfkb,pmedic,doc_0815,gabbana,happy11,hothead,volga,draw,vegetabl,dustbin,tinsel,dreamonline,89057003343,edik123,poesje,poise,gosselin,electro1,wordpass1,tasker,plhfdcndeq,angelfir,gtynfujy,iddqd890,olliedog,winstonone,dozzer,dragon44,monkey42,coppe,jojoba,dorthe,pumice,fitzroy,dragon35,sewers,general2,shafty,drea,restrict,lalala123,dreamteam,soma,sureno,delta3,ferdie,superuse,jigaboo,edinorog,check6,sixstrin,lacsap,e6pz84qfcj,vladlen,lipps,mucsaj,grommet,squiggle,eminem11,z1x2c3v4b5n6,deshaun,kingring,e123456,smokey22,salida,872rlcfo,manly,eagle9,rewards,facelift,sole,h1d2b3,eddie3,retard1,jjj123,dahmer,marcel1,89181502334,gremlin1,telecom1,samuele,suvorov,entertainment,elena1975,oclock,sexs,ifkfdf,elayne,shrdlu,tube,fairytail,estell,fantasy8,runo,vocals,pimpit,abcabc55,platter,pingi3,ad12345678,sept,estrada,maiso,murcielag,singl,branco,lacuna,doulos,gothi,rjkmwj,mor_pass,121212z,janin,greengre,123as,fox12345,evets1,rdflhfn,uhfyfn,vesuvius,qsefthuko,minnie2,360moden,safronova,lakers2,lampar,john2,mand,boogers1,159357q,mathild,rabbit12,forget1,maxin,neron,fuckstick,eyesonly,yeoman,griggs,laetiti,telefon1,hennepin,0606198,berth,multipass,audia,bill22,fabius,cochabamb,rafal,playstatio,peluch,amali,lucie,now0new,kobebrya,89063032220m,johncen,acca3344,freewin,nassar,lifted,vadim1996,mariah1,phill,sulta,pickl,stalingr,vfhbz007,5858855abc,ivory1,polin,fallacy,osirus,resolve,renaldo,yfhrjvfy,only4u,acts238,winter98,hector1,nesterenko,fdnjhbpfwbz,farah,ragger,bantik,fcnfkfdbcnf,shabnam,jcyjdf,farmvill,silver21,lucky22,dauntivi,toofast,diablo123,harleys,zipper1,millen,randee,hasty,tzeentch,xuaujb,espinoza,lazio,megabass,fedotov,fomina,soccer8,917190qq,tummy,wes123,chicken4,fuck99,fish11,gustave,plaisir,retraite,felton,kevinl,ybrjkftdf,ferch,calypso1,puto,bobbie1,peter5,ferrari4,john25,mojojo,q12we34r,cntkkf,hush,badiman28200,a3930571,hjpjxrf,wwwww77,ujyxfhjdf,franklyn,goutdb,ludo,lammer,gitanes,blackwol,mazdamx3,arsenal14,zexts364325,filatov,filippov,vlad2010,123ewqasdcxz,fuckoff666,pollys,denture,fiorell,cvyx76h,sprunt,merzario,charlie111,bdfyjdyf,hawk12,kingkon,party01,plumb,beck69,westpoin,loginov,jess1ca,javert,tyler12,jenn1fer,golfer20,s1s2s3,nhbujyjvtnhbz,gay,mike10,schultz1,adv0927,weakness,miami99,1stella,telaviv,moons,michaelt,fquekm,haha12,maestr,pokus,siskin,1united,pies,tofuck,superdut,zzz777,twiste,allofit,grimreaper,devastator,ge0rge,ubnkthrfgen,vgfun,foxdie,mankato,clubbing,rossy,junta,freakdog,yavin4,saoirse,merdes,juliana1,pontia,fubar69,biggen,maiden666,rangersf,winter09,tee0s,frederico,freemind,squad1,globes,guarra,gopackgo,jimmy5,susubaby,lothian,frem77,manzey20,hein,shrine,natalja,moroz,brushy,kassel,polniypizdec1102,ufptkm,than,ninja2,gmoney1,marigol,vfvjxrf1,truc,mihael,yakima,redbank,star6767,killer6,monik,wetlips,suffering,venecia,pfunk,funnys,fenerbahc,trever,sasuk,furby,piaggio,mura,2004-11-,ne_e_pod_chehyl,molli,tryit,hotdo,hayle,bhbir,gunit,belgarat,1gabriel,wilkinso,mustikka,sapfir,dengad,sandhill,89132664230,walkers,7mmmag,kartina,mama1960,ybrjkfq1,retriver,kev123,1billion,naruto0,salamanc,redbul,colours,lotti,go4itnow,diario,toblerone,mohamme,.hjxrf,happy200,h12345,teacher2,sisko,irina1989,britne,schnell,getajob,mazatlan,truelies,rosi,thundercat,modular,oldblue,hasting,lupit,ignaci,tommyk,steve0,rocket12,salohcin,burden,1w2e3r4t,hella,gregster,genetics,squats,possum1,mdxpain,folders,mrcool,dragonforce,naruto99,trixter,runner12,vanina,80camaro,peppie,cobra99,risk,invite,vfvfnfyz,nthk12345,010203a,betty123,skillzz,000000q,gunner01,tbone69,gurami,tomomi,kabouter,clubmed,111000z,redpoint,greenlea,raser,sunshine69,sandi1172,rjpkjljq,hd764nw5d7e1vbv,royjones,moon1234,jos,sandlot,firewalk,riccard,shutout,ileana,yfltua,nobunaga,tothetop,stud1,o1l2e3g4,fyfcnfcbz1,golos1,golovin,mutate,alumni,gorbunova,ltybc,heidiho,saturn2,hispanic,number10,typhoon1,bmwk75s,king13,seabrook,hold,rockdog,tdavis,pussy24,retep1,power01,traci1,mable,huckster,zeynep,koston,verner,q26606,agahaja,mistik,hp189dn,haker,4ever4,pappy1,knucklehead,harringt,eagles22,is211tn,pm209mt,aezakmi123,hemant,leftee,randyman,voodoo3,prostotak,pinker,lastcall,cairn,marusy,fafyfcbq,molly13,applejuice,fucku1,love200,coverall,dbnfkbyf,thomsen,jett,pljhjdmt,89614774181,annada2,dickens1,maki,1reddog,toshib,grayson1,gfgf123,brown123,citabria,trashed,leopard1,pony76,buicks,schnuffe,brandonn,mayumi,football5,sana,terra1,dfhbfyn,faggot1,dragon17,silentium,rfkbajhybz,njkmznnb,twoods,jaycob,lollipop1,bioman,villegas,rita123,guyver1,bushra,086421,ametist,1qwerty7,popi,123123asd,cole12,cbcmrf,superstr,jason01,okocha,stanthem,x123456x,redass,teddybeer,trannies,jelway,shadow9,kolomna,jasonw,hotrods,hendri,olga1234,stephanie1,indeep,jktcmrf,system58,mortars,swimbike,gfhtym,kasatka,siren1,pepperon,userexecute,uniqueness,pauljr,irena,volvofh12,irusik,spesional,marusja,termit,12345ss,normal1,rc.irf,petrushka,brussel,motilda,antwerp1,ivan1996,ivanivanov,n1a2t3a4,madrox,rutger,izabela,papichulo,amber01,justin3,shelbygt,kris123,lifeguard,shmily,sloan,jeanett,jdavis,kissit,lucciano,fixitman,jazman,babalola,jamie2,mango123,sam12345,twelve12,phipps,wankher,sexy101,raiders0,potsdam,poli10,annelise,sigurd,lee,matthewj,sallyann,metree,knight7,kayleen,simon12,lesmis,kss2773,purdey,jaykay,voyeur1,jitendra,troubl,sadie123,treker,piddle,putty,marshall1,betsey,josephphone7,rocky11,towel,freyfvfnfnf,hottsexx,nicelegs,jjohnson,nascar08,kaisar,funnycar,maryan,rutabaga,0l8kchek,mel123,jiggas,nagoya,like123,minimo,vbkzdrf,whoareyo,max1992,vazgen,thetford,semperfi1,selling,arequipa,templer,joe999,sakura1,johnpass,ranger10,trekstar,carsca,clubcapt,jose123,69mustan,ramon1,gandako,yk2602,haider,looping,as12az23,belzagor,loonie,rona,macys,ufdhbr,vicious1,rushhour,ziomek,karasik,justmine,karter,nizmo400r,amanda96,katyakatya,divider,juttu123,kenichi,urracco,vespa123,lirika,kirillov,kiseleva,sladkaya,starchil,kite,valakas,kiuhnm1,ukfveh,valera123,a789456123,061096m,opossum,saucer,z11111,novosibirsk,vfhxtyrj,1success,diamand,penguin6,malutka,ravnos,kotik,80972694711,kondrat,konovalova,russian6,sahtm131,mdmolic,signed,certclas,mass234,nikotin,qewret,krasavchik,krishnan,bowen,m1m2m3,cdbymz,cvtnfyf,sss555,poohead,stockholm,taff,biglips,paul10,ihateyo,olga1979,12345qwert7,zapotec,luisfigo,rachel01,huckle,purple77,angel10,rundll32,summer7,7somba,quietman,rossiya,kirusha,potenza,underage,thurber,mexica,fishfinger,5345321aa,adm15575,dietpeps,melissas,enchante,cache,acdc123,riki,pol123,surgut,kordell,local1,locura,peanutbu,doublet,pietje,gthtrfnbgjkt,1122qqww,montydog,nils,sasitare,aa123456s,vtlbwbyf,santi,sahtm038,dunnowho89,moschino,mahmud,oleaut32,nosorog,maks1995,viggen37,neyland,vika12,stevens1,maslov,mt73sb,urlmon,mdmsii64,apppatch,htmlctl,packages,netnovel,configuratio,mdmnttd2,syssec,mdmgl004,ehidkbd,sahtm082,compiling,msoracle32re,pansy,patrick4,tuvieja,pilchard,britanni,component,mdmnis1u,vika1234,knows,sacoremsg,anitas,sasha1991,spiffy1,syste,morales1,mtgl5r,sharan,setupenu2,jaws1221,interrupt,pass2012,tory,pika,pitmans4,communic,msdasc,mtr1996,boy1cool23,melvin69,sizinici,gbfcnhs,oleg1985,navisite,ckjytyjr,gbpltw147,strelka,4solomon,sasha1998,rick69,5f68t9,vgbh12,minntwin,rednose,redball,vinogradov,podvinsev,shopmenu,kobold,3dwe45,saimon,rauf123,higashi,roma1996,shuhrat,serik,nadler,krebsen,mylake,ma1lc0,stratp,dedbol,bhrh0h2oof6xbqjeh,voxstrange,ka12rm12,193570356033,87654321vv,2012qw,dimazarya,xpcrew".split(",")},c={azerty:{0:["ç9",null,null,")°","pP","oO"],1:["²~",null,null,"é2","aA",null],2:["&1",null,null,'"3',"zZ","aA"],3:["é2",null,null,"'4","eE","zZ"],4:['"3',null,null,"(5","rR","eE"],5:["'4",null,null,"-6","tT","rR"],6:["(5",null,null,"è7","yY","tT"],7:["-6",null,null,"_8","uU","yY"],8:["è7",null,null,"ç9","iI","uU"],9:["_8",null,null,"à0","oO","iI"],"²":[null,null,null,"&1",null,null],"~":[null,null,null,"&1",null,null],"&":["²~",null,null,"é2","aA",null],é:["&1",null,null,'"3',"zZ","aA"],'"':["pP",")°","+=","$£","ù%","mM"],"'":['"3',null,null,"(5","rR","eE"],"(":["'4",null,null,"-6","tT","rR"],"-":["(5",null,null,"è7","yY","tT"],è:["-6",null,null,"_8","uU","yY"],_:["è7",null,null,"ç9","iI","uU"],ç:["_8",null,null,"à0","oO","iI"],à:["ç9",null,null,")°","pP","oO"],")":["à0",null,null,"+=",'^"',"pP"],"°":["à0",null,null,"+=",'^"',"pP"],"+":[")°",null,null,null,"$£",'^"'],"=":[")°",null,null,null,"$£",'^"'],a:[null,"&1","é2","zZ","qQ",null],A:[null,"&1","é2","zZ","qQ",null],z:["aA","é2",'"3',"eE","sS","qQ"],Z:["aA","é2",'"3',"eE","sS","qQ"],e:["zZ",'"3',"'4","rR","dD","sS"],E:["zZ",'"3',"'4","rR","dD","sS"],r:["eE","'4","(5","tT","fF","dD"],R:["eE","'4","(5","tT","fF","dD"],t:["rR","(5","-6","yY","gG","fF"],T:["rR","(5","-6","yY","gG","fF"],y:["tT","-6","è7","uU","hH","gG"],Y:["tT","-6","è7","uU","hH","gG"],u:["yY","è7","_8","iI","jJ","hH"],U:["yY","è7","_8","iI","jJ","hH"],i:["uU","_8","ç9","oO","kK","jJ"],I:["uU","_8","ç9","oO","kK","jJ"],o:["iI","ç9","à0","pP","lL","kK"],O:["iI","ç9","à0","pP","lL","kK"],p:["oO","à0",")°",'^"',"mM","lL"],P:["oO","à0",")°",'^"',"mM","lL"],"^":["pP",")°","+=","$£","ù%","mM"],$:['^"',"+=",null,null,"*µ","ù%"],"£":['^"',"+=",null,null,"*µ","ù%"],q:[null,"aA","zZ","sS","wW","<>"],Q:[null,"aA","zZ","sS","wW","<>"],s:["qQ","zZ","eE","dD","xX","wW"],S:["qQ","zZ","eE","dD","xX","wW"],d:["sS","eE","rR","fF","cC","xX"],D:["sS","eE","rR","fF","cC","xX"],f:["dD","rR","tT","gG","vV","cC"],F:["dD","rR","tT","gG","vV","cC"],g:["fF","tT","yY","hH","bB","vV"],G:["fF","tT","yY","hH","bB","vV"],h:["gG","yY","uU","jJ","nN","bB"],H:["gG","yY","uU","jJ","nN","bB"],j:["hH","uU","iI","kK",",?","nN"],J:["hH","uU","iI","kK",",?","nN"],k:["jJ","iI","oO","lL",";.",",?"],K:["jJ","iI","oO","lL",";.",",?"],l:["kK","oO","pP","mM",":/",";."],L:["kK","oO","pP","mM",":/",";."],m:["lL","pP",'^"',"ù%","!§",":/"],M:["lL","pP",'^"',"ù%","!§",":/"],ù:["mM",'^"',"$£","*µ",null,"!§"],"%":["mM",'^"',"$£","*µ",null,"!§"],"*":["ù%","$£",null,null,null,null],µ:["ù%","$£",null,null,null,null],"<":[null,null,"qQ","wW",null,null],">":[null,null,"qQ","wW",null,null],w:["<>","qQ","sS","xX",null,null],W:["<>","qQ","sS","xX",null,null],x:["wW","sS","dD","cC",null,null],X:["wW","sS","dD","cC",null,null],c:["xX","dD","fF","vV",null,null],C:["xX","dD","fF","vV",null,null],v:["cC","fF","gG","bB",null,null],V:["cC","fF","gG","bB",null,null],b:["vV","gG","hH","nN",null,null],B:["vV","gG","hH","nN",null,null],n:["bB","hH","jJ",",?",null,null],N:["bB","hH","jJ",",?",null,null],",":["nN","jJ","kK",";.",null,null],"?":["nN","jJ","kK",";.",null,null],";":[",?","kK","lL",":/",null,null],".":[",?","kK","lL",":/",null,null],":":[";.","lL","mM","!§",null,null],"/":[";.","lL","mM","!§",null,null],"!":[":/","mM","ù%",null,null,null],"§":[":/","mM","ù%",null,null,null]},dvorak:{0:["9(",null,null,"[{","lL","rR"],1:["`~",null,null,"2@",`'"`,null],2:["1!",null,null,"3#",",<",`'"`],3:["2@",null,null,"4$",".>",",<"],4:["3#",null,null,"5%","pP",".>"],5:["4$",null,null,"6^","yY","pP"],6:["5%",null,null,"7&","fF","yY"],7:["6^",null,null,"8*","gG","fF"],8:["7&",null,null,"9(","cC","gG"],9:["8*",null,null,"0)","rR","cC"],"`":[null,null,null,"1!",null,null],"~":[null,null,null,"1!",null,null],"!":["`~",null,null,"2@",`'"`,null],"@":["1!",null,null,"3#",",<",`'"`],"#":["2@",null,null,"4$",".>",",<"],$:["3#",null,null,"5%","pP",".>"],"%":["4$",null,null,"6^","yY","pP"],"^":["5%",null,null,"7&","fF","yY"],"&":["6^",null,null,"8*","gG","fF"],"*":["7&",null,null,"9(","cC","gG"],"(":["8*",null,null,"0)","rR","cC"],")":["9(",null,null,"[{","lL","rR"],"[":["0)",null,null,"]}","/?","lL"],"{":["0)",null,null,"]}","/?","lL"],"]":["[{",null,null,null,"=+","/?"],"}":["[{",null,null,null,"=+","/?"],"'":[null,"1!","2@",",<","aA",null],'"':[null,"1!","2@",",<","aA",null],",":[`'"`,"2@","3#",".>","oO","aA"],"<":[`'"`,"2@","3#",".>","oO","aA"],".":[",<","3#","4$","pP","eE","oO"],">":[",<","3#","4$","pP","eE","oO"],p:[".>","4$","5%","yY","uU","eE"],P:[".>","4$","5%","yY","uU","eE"],y:["pP","5%","6^","fF","iI","uU"],Y:["pP","5%","6^","fF","iI","uU"],f:["yY","6^","7&","gG","dD","iI"],F:["yY","6^","7&","gG","dD","iI"],g:["fF","7&","8*","cC","hH","dD"],G:["fF","7&","8*","cC","hH","dD"],c:["gG","8*","9(","rR","tT","hH"],C:["gG","8*","9(","rR","tT","hH"],r:["cC","9(","0)","lL","nN","tT"],R:["cC","9(","0)","lL","nN","tT"],l:["rR","0)","[{","/?","sS","nN"],L:["rR","0)","[{","/?","sS","nN"],"/":["lL","[{","]}","=+","-_","sS"],"?":["lL","[{","]}","=+","-_","sS"],"=":["/?","]}",null,"\\|",null,"-_"],"+":["/?","]}",null,"\\|",null,"-_"],"\\":["=+",null,null,null,null,null],"|":["=+",null,null,null,null,null],a:[null,`'"`,",<","oO",";:",null],A:[null,`'"`,",<","oO",";:",null],o:["aA",",<",".>","eE","qQ",";:"],O:["aA",",<",".>","eE","qQ",";:"],e:["oO",".>","pP","uU","jJ","qQ"],E:["oO",".>","pP","uU","jJ","qQ"],u:["eE","pP","yY","iI","kK","jJ"],U:["eE","pP","yY","iI","kK","jJ"],i:["uU","yY","fF","dD","xX","kK"],I:["uU","yY","fF","dD","xX","kK"],d:["iI","fF","gG","hH","bB","xX"],D:["iI","fF","gG","hH","bB","xX"],h:["dD","gG","cC","tT","mM","bB"],H:["dD","gG","cC","tT","mM","bB"],t:["hH","cC","rR","nN","wW","mM"],T:["hH","cC","rR","nN","wW","mM"],n:["tT","rR","lL","sS","vV","wW"],N:["tT","rR","lL","sS","vV","wW"],s:["nN","lL","/?","-_","zZ","vV"],S:["nN","lL","/?","-_","zZ","vV"],"-":["sS","/?","=+",null,null,"zZ"],_:["sS","/?","=+",null,null,"zZ"],";":[null,"aA","oO","qQ",null,null],":":[null,"aA","oO","qQ",null,null],q:[";:","oO","eE","jJ",null,null],Q:[";:","oO","eE","jJ",null,null],j:["qQ","eE","uU","kK",null,null],J:["qQ","eE","uU","kK",null,null],k:["jJ","uU","iI","xX",null,null],K:["jJ","uU","iI","xX",null,null],x:["kK","iI","dD","bB",null,null],X:["kK","iI","dD","bB",null,null],b:["xX","dD","hH","mM",null,null],B:["xX","dD","hH","mM",null,null],m:["bB","hH","tT","wW",null,null],M:["bB","hH","tT","wW",null,null],w:["mM","tT","nN","vV",null,null],W:["mM","tT","nN","vV",null,null],v:["wW","nN","sS","zZ",null,null],V:["wW","nN","sS","zZ",null,null],z:["vV","sS","-_",null,null,null],Z:["vV","sS","-_",null,null,null]},keypad:{0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6",null,null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","+",null,null,"3","2"],7:[null,null,null,"/","8","5","4",null],8:["7",null,"/","*","9","6","5","4"],9:["8","/","*","-","+",null,"6","5"],"/":[null,null,null,null,"*","9","8","7"],"*":["/",null,null,null,"-","+","9","8"],"-":["*",null,null,null,null,null,"+","9"],"+":["9","*","-",null,null,null,null,"6"],".":["0","2","3",null,null,null,null,null]},keypadMac:{0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6","+",null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","-","+",null,"3","2"],7:[null,null,null,"=","8","5","4",null],8:["7",null,"=","/","9","6","5","4"],9:["8","=","/","*","-","+","6","5"],"=":[null,null,null,null,"/","9","8","7"],"/":["=",null,null,null,"*","-","9","8"],"*":["/",null,null,null,null,null,"-","9"],"-":["9","/","*",null,null,null,"+","6"],"+":["6","9","-",null,null,null,null,"3"],".":["0","2","3",null,null,null,null,null]},qwerty:{0:["9(",null,null,"-_","pP","oO"],1:["`~",null,null,"2@","qQ",null],2:["1!",null,null,"3#","wW","qQ"],3:["2@",null,null,"4$","eE","wW"],4:["3#",null,null,"5%","rR","eE"],5:["4$",null,null,"6^","tT","rR"],6:["5%",null,null,"7&","yY","tT"],7:["6^",null,null,"8*","uU","yY"],8:["7&",null,null,"9(","iI","uU"],9:["8*",null,null,"0)","oO","iI"],"`":[null,null,null,"1!",null,null],"~":[null,null,null,"1!",null,null],"!":["`~",null,null,"2@","qQ",null],"@":["1!",null,null,"3#","wW","qQ"],"#":["2@",null,null,"4$","eE","wW"],$:["3#",null,null,"5%","rR","eE"],"%":["4$",null,null,"6^","tT","rR"],"^":["5%",null,null,"7&","yY","tT"],"&":["6^",null,null,"8*","uU","yY"],"*":["7&",null,null,"9(","iI","uU"],"(":["8*",null,null,"0)","oO","iI"],")":["9(",null,null,"-_","pP","oO"],"-":["0)",null,null,"=+","[{","pP"],_:["0)",null,null,"=+","[{","pP"],"=":["-_",null,null,null,"]}","[{"],"+":["-_",null,null,null,"]}","[{"],q:[null,"1!","2@","wW","aA",null],Q:[null,"1!","2@","wW","aA",null],w:["qQ","2@","3#","eE","sS","aA"],W:["qQ","2@","3#","eE","sS","aA"],e:["wW","3#","4$","rR","dD","sS"],E:["wW","3#","4$","rR","dD","sS"],r:["eE","4$","5%","tT","fF","dD"],R:["eE","4$","5%","tT","fF","dD"],t:["rR","5%","6^","yY","gG","fF"],T:["rR","5%","6^","yY","gG","fF"],y:["tT","6^","7&","uU","hH","gG"],Y:["tT","6^","7&","uU","hH","gG"],u:["yY","7&","8*","iI","jJ","hH"],U:["yY","7&","8*","iI","jJ","hH"],i:["uU","8*","9(","oO","kK","jJ"],I:["uU","8*","9(","oO","kK","jJ"],o:["iI","9(","0)","pP","lL","kK"],O:["iI","9(","0)","pP","lL","kK"],p:["oO","0)","-_","[{",";:","lL"],P:["oO","0)","-_","[{",";:","lL"],"[":["pP","-_","=+","]}",`'"`,";:"],"{":["pP","-_","=+","]}",`'"`,";:"],"]":["[{","=+",null,"\\|",null,`'"`],"}":["[{","=+",null,"\\|",null,`'"`],"\\":["]}",null,null,null,null,null],"|":["]}",null,null,null,null,null],a:[null,"qQ","wW","sS","zZ",null],A:[null,"qQ","wW","sS","zZ",null],s:["aA","wW","eE","dD","xX","zZ"],S:["aA","wW","eE","dD","xX","zZ"],d:["sS","eE","rR","fF","cC","xX"],D:["sS","eE","rR","fF","cC","xX"],f:["dD","rR","tT","gG","vV","cC"],F:["dD","rR","tT","gG","vV","cC"],g:["fF","tT","yY","hH","bB","vV"],G:["fF","tT","yY","hH","bB","vV"],h:["gG","yY","uU","jJ","nN","bB"],H:["gG","yY","uU","jJ","nN","bB"],j:["hH","uU","iI","kK","mM","nN"],J:["hH","uU","iI","kK","mM","nN"],k:["jJ","iI","oO","lL",",<","mM"],K:["jJ","iI","oO","lL",",<","mM"],l:["kK","oO","pP",";:",".>",",<"],L:["kK","oO","pP",";:",".>",",<"],";":["lL","pP","[{",`'"`,"/?",".>"],":":["lL","pP","[{",`'"`,"/?",".>"],"'":[";:","[{","]}",null,null,"/?"],'"':[";:","[{","]}",null,null,"/?"],z:[null,"aA","sS","xX",null,null],Z:[null,"aA","sS","xX",null,null],x:["zZ","sS","dD","cC",null,null],X:["zZ","sS","dD","cC",null,null],c:["xX","dD","fF","vV",null,null],C:["xX","dD","fF","vV",null,null],v:["cC","fF","gG","bB",null,null],V:["cC","fF","gG","bB",null,null],b:["vV","gG","hH","nN",null,null],B:["vV","gG","hH","nN",null,null],n:["bB","hH","jJ","mM",null,null],N:["bB","hH","jJ","mM",null,null],m:["nN","jJ","kK",",<",null,null],M:["nN","jJ","kK",",<",null,null],",":["mM","kK","lL",".>",null,null],"<":["mM","kK","lL",".>",null,null],".":[",<","lL",";:","/?",null,null],">":[",<","lL",";:","/?",null,null],"/":[".>",";:",`'"`,null,null,null],"?":[".>",";:",`'"`,null,null,null]},qwertz:{0:["9)",null,null,"ß?","pP","oO"],1:["^°",null,null,'2"',"qQ",null],2:["1!",null,null,"3§","wW","qQ"],3:['2"',null,null,"4$","eE","wW"],4:["3§",null,null,"5%","rR","eE"],5:["4$",null,null,"6&","tT","rR"],6:["5%",null,null,"7/","zZ","tT"],7:["6&",null,null,"8(","uU","zZ"],8:["7/",null,null,"9)","iI","uU"],9:["8(",null,null,"0=","oO","iI"],"^":[null,null,null,"1!",null,null],"°":[null,null,null,"1!",null,null],"!":["^°",null,null,'2"',"qQ",null],'"':["1!",null,null,"3§","wW","qQ"],"§":['2"',null,null,"4$","eE","wW"],$:["3§",null,null,"5%","rR","eE"],"%":["4$",null,null,"6&","tT","rR"],"&":["5%",null,null,"7/","zZ","tT"],"/":["6&",null,null,"8(","uU","zZ"],"(":["7/",null,null,"9)","iI","uU"],")":["8(",null,null,"0=","oO","iI"],"=":["9)",null,null,"ß?","pP","oO"],ß:["0=",null,null,"´`","üÜ","pP"],"?":["0=",null,null,"´`","üÜ","pP"],"´":["ß?",null,null,null,"+*","üÜ"],"`":["ß?",null,null,null,"+*","üÜ"],q:[null,"1!",'2"',"wW","aA",null],Q:[null,"1!",'2"',"wW","aA",null],w:["qQ",'2"',"3§","eE","sS","aA"],W:["qQ",'2"',"3§","eE","sS","aA"],e:["wW","3§","4$","rR","dD","sS"],E:["wW","3§","4$","rR","dD","sS"],r:["eE","4$","5%","tT","fF","dD"],R:["eE","4$","5%","tT","fF","dD"],t:["rR","5%","6&","zZ","gG","fF"],T:["rR","5%","6&","zZ","gG","fF"],z:["tT","6&","7/","uU","hH","gG"],Z:["tT","6&","7/","uU","hH","gG"],u:["zZ","7/","8(","iI","jJ","hH"],U:["zZ","7/","8(","iI","jJ","hH"],i:["uU","8(","9)","oO","kK","jJ"],I:["uU","8(","9)","oO","kK","jJ"],o:["iI","9)","0=","pP","lL","kK"],O:["iI","9)","0=","pP","lL","kK"],p:["oO","0=","ß?","üÜ","öÖ","lL"],P:["oO","0=","ß?","üÜ","öÖ","lL"],ü:["pP","ß?","´`","+*","äÄ","öÖ"],Ü:["pP","ß?","´`","+*","äÄ","öÖ"],"+":["üÜ","´`",null,null,"#'","äÄ"],"*":["üÜ","´`",null,null,"#'","äÄ"],a:[null,"qQ","wW","sS","yY","<>"],A:[null,"qQ","wW","sS","yY","<>"],s:["aA","wW","eE","dD","xX","yY"],S:["aA","wW","eE","dD","xX","yY"],d:["sS","eE","rR","fF","cC","xX"],D:["sS","eE","rR","fF","cC","xX"],f:["dD","rR","tT","gG","vV","cC"],F:["dD","rR","tT","gG","vV","cC"],g:["fF","tT","zZ","hH","bB","vV"],G:["fF","tT","zZ","hH","bB","vV"],h:["gG","zZ","uU","jJ","nN","bB"],H:["gG","zZ","uU","jJ","nN","bB"],j:["hH","uU","iI","kK","mM","nN"],J:["hH","uU","iI","kK","mM","nN"],k:["jJ","iI","oO","lL",",;","mM"],K:["jJ","iI","oO","lL",",;","mM"],l:["kK","oO","pP","öÖ",".:",",;"],L:["kK","oO","pP","öÖ",".:",",;"],ö:["lL","pP","üÜ","äÄ","-_",".:"],Ö:["lL","pP","üÜ","äÄ","-_",".:"],ä:["öÖ","üÜ","+*","#'",null,"-_"],Ä:["öÖ","üÜ","+*","#'",null,"-_"],"#":["äÄ","+*",null,null,null,null],"'":["äÄ","+*",null,null,null,null],"<":[null,null,"aA","yY",null,null],">":[null,null,"aA","yY",null,null],y:["<>","aA","sS","xX",null,null],Y:["<>","aA","sS","xX",null,null],x:["yY","sS","dD","cC",null,null],X:["yY","sS","dD","cC",null,null],c:["xX","dD","fF","vV",null,null],C:["xX","dD","fF","vV",null,null],v:["cC","fF","gG","bB",null,null],V:["cC","fF","gG","bB",null,null],b:["vV","gG","hH","nN",null,null],B:["vV","gG","hH","nN",null,null],n:["bB","hH","jJ","mM",null,null],N:["bB","hH","jJ","mM",null,null],m:["nN","jJ","kK",",;",null,null],M:["nN","jJ","kK",",;",null,null],",":["mM","kK","lL",".:",null,null],";":["mM","kK","lL",".:",null,null],".":[",;","lL","öÖ","-_",null,null],":":[",;","lL","öÖ","-_",null,null],"-":[".:","öÖ","äÄ",null,null,null],_:[".:","öÖ","äÄ",null,null,null]}}},8388(s,r,i){var l=this&&this.__awaiter||function(k,z,S,B){return new(S||(S=Promise))(function(R,D){function I(Y){try{M(B.next(Y))}catch(ae){D(ae)}}function O(Y){try{M(B.throw(Y))}catch(ae){D(ae)}}function M(Y){Y.done?R(Y.value):new S(function(ae){ae(Y.value)}).then(I,O)}M((B=B.apply(k,z||[])).next())})},c=this&&this.__generator||function(k,z){var S,B,R,D,I={label:0,sent:function(){if(1&R[0])throw R[1];return R[1]},trys:[],ops:[]};return D={next:O(0),throw:O(1),return:O(2)},typeof Symbol=="function"&&(D[Symbol.iterator]=function(){return this}),D;function O(M){return function(Y){var ae=[M,Y];if(S)throw TypeError("Generator is already executing.");for(;I;)try{if(S=1,B&&(R=2&ae[0]?B.return:ae[0]?B.throw||((R=B.return)&&R.call(B),0):B.next)&&!(R=R.call(B,ae[1])).done)return R;switch(B=0,R&&(ae=[2&ae[0],R.value]),ae[0]){case 0:case 1:R=ae;break;case 4:return I.label++,{value:ae[1],done:!1};case 5:I.label++,B=ae[1],ae=[0];continue;case 7:ae=I.ops.pop(),I.trys.pop();continue;default:if(!(R=(R=I.trys).length>0&&R[R.length-1])&&(ae[0]===6||ae[0]===2)){I=0;continue}if(ae[0]===3&&(!R||ae[1]>R[0]&&ae[1]0?setTimeout(B,Y):B(null)}}window.addEventListener("storage",O),k.addToWaiting(O);var M=setTimeout(O,Math.max(0,z-Date.now()))})];case 1:return S.sent(),[2]}})})},k.addToWaiting=function(z){this.removeFromWaiting(z),k.waiters!==void 0&&k.waiters.push(z)},k.removeFromWaiting=function(z){k.waiters!==void 0&&(k.waiters=k.waiters.filter(function(S){return S!==z}))},k.notifyWaiters=function(){k.waiters!==void 0&&k.waiters.slice().forEach(function(z){return z()})},k.prototype.releaseLock=function(z){return l(this,void 0,void 0,function(){return c(this,function(S){switch(S.label){case 0:return[4,this.releaseLock__private__(z)];case 1:return[2,S.sent()]}})})},k.prototype.releaseLock__private__=function(z){return l(this,void 0,void 0,function(){var S,B,R,D;return c(this,function(I){switch(I.label){case 0:return S=this.storageHandler===void 0?p:this.storageHandler,B=f+"-"+z,(R=S.getItemSync(B))===null?[2]:(D=JSON.parse(R)).id!==this.id?[3,2]:[4,d.default().lock(D.iat)];case 1:I.sent(),this.acquiredIatSet.delete(D.iat),S.removeItemSync(B),d.default().unlock(D.iat),k.notifyWaiters(),I.label=2;case 2:return[2]}})})},k.lockCorrector=function(z){for(var S=Date.now()-5e3,B=[],R=0;;){var D=z.keySync(R);if(D===null)break;B.push(D),R++}for(var I=!1,O=0;Ol});function l(){for(var c,h,d=0,f="";dtypeof window&&window.crypto&&(c=window.crypto),"u">typeof self&&self.crypto&&(c=self.crypto),"u">typeof globalThis&&globalThis.crypto&&(c=globalThis.crypto),!c&&"u">typeof window&&window.msCrypto&&(c=window.msCrypto),!c&&i.g!==void 0&&i.g.crypto&&(c=i.g.crypto),!c)try{c=i(8488)}catch{}var c,h=function(){if(c){if(typeof c.getRandomValues=="function")try{return c.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof c.randomBytes=="function")try{return c.randomBytes(4).readInt32LE()}catch{}}throw Error("Native crypto module could not be used to get secure random number.")},d=Object.create||function(){function I(){}return function(O){var M;return I.prototype=O,M=new I,I.prototype=null,M}}(),f={},p=f.lib={},y=p.Base={extend:function(I){var O=d(this);return I&&O.mixIn(I),O.hasOwnProperty("init")&&this.init!==O.init||(O.init=function(){O.$super.init.apply(this,arguments)}),O.init.prototype=O,O.$super=this,O},create:function(){var I=this.extend();return I.init.apply(I,arguments),I},init:function(){},mixIn:function(I){for(var O in I)I.hasOwnProperty(O)&&(this[O]=I[O]);I.hasOwnProperty("toString")&&(this.toString=I.toString)},clone:function(){return this.init.prototype.extend(this)}},v=p.WordArray=y.extend({init:function(I,O){I=this.words=I||[],O!=null?this.sigBytes=O:this.sigBytes=4*I.length},toString:function(I){return(I||z).stringify(this)},concat:function(I){var O=this.words,M=I.words,Y=this.sigBytes,ae=I.sigBytes;if(this.clamp(),Y%4)for(var ue=0;ue>>2]>>>24-ue%4*8&255;O[Y+ue>>>2]|=se<<24-(Y+ue)%4*8}else for(var J=0;J>>2]=M[J>>>2];return this.sigBytes+=ae,this},clamp:function(){var I=this.words,O=this.sigBytes;I[O>>>2]&=4294967295<<32-O%4*8,I.length=l.ceil(O/4)},clone:function(){var I=y.clone.call(this);return I.words=this.words.slice(0),I},random:function(I){for(var O=[],M=0;M>>2]>>>24-ae%4*8&255;Y.push((ue>>>4).toString(16)),Y.push((15&ue).toString(16))}return Y.join("")},parse:function(I){for(var O=I.length,M=[],Y=0;Y>>3]|=parseInt(I.substr(Y,2),16)<<24-Y%8*4;return new v.init(M,O/2)}},S=k.Latin1={stringify:function(I){for(var O=I.words,M=I.sigBytes,Y=[],ae=0;ae>>2]>>>24-ae%4*8&255;Y.push(String.fromCharCode(ue))}return Y.join("")},parse:function(I){for(var O=I.length,M=[],Y=0;Y>>2]|=(255&I.charCodeAt(Y))<<24-Y%4*8;return new v.init(M,O)}},B=k.Utf8={stringify:function(I){try{return decodeURIComponent(escape(S.stringify(I)))}catch{throw Error("Malformed UTF-8 data")}},parse:function(I){return S.parse(unescape(encodeURIComponent(I)))}},R=p.BufferedBlockAlgorithm=y.extend({reset:function(){this._data=new v.init,this._nDataBytes=0},_append:function(I){typeof I=="string"&&(I=B.parse(I)),this._data.concat(I),this._nDataBytes+=I.sigBytes},_process:function(I){var O,M=this._data,Y=M.words,ae=M.sigBytes,ue=this.blockSize,se=ae/(4*ue),J=(se=I?l.ceil(se):l.max((0|se)-this._minBufferSize,0))*ue,W=l.min(4*J,ae);if(J){for(var G=0;G>>2]>>>24-v%4*8&255)<<16|(d[v+1>>>2]>>>24-(v+1)%4*8&255)<<8|d[v+2>>>2]>>>24-(v+2)%4*8&255,z=0;z<4&&v+.75*z>>6*(3-z)&63));var S=p.charAt(64);if(S)for(;y.length%4;)y.push(S);return y.join("")},parse:function(h){var d=h.length,f=this._map,p=this._reverseMap;if(!p){p=this._reverseMap=[];for(var y=0;y>>6-I%4*2;R[D>>>2]|=O<<24-D%4*8,D++}return c.create(R,D)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},s.exports=l.enc.Base64},3515(s,r,i){var l,c,h,d,f,p,y;h=(c=(l=i(1513)).lib).WordArray,d=c.Hasher,f=l.algo,p=[],y=f.SHA1=d.extend({_doReset:function(){this._hash=new h.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(v,k){for(var z=this._hash.words,S=z[0],B=z[1],R=z[2],D=z[3],I=z[4],O=0;O<80;O++){if(O<16)p[O]=0|v[k+O];else{var M=p[O-3]^p[O-8]^p[O-14]^p[O-16];p[O]=M<<1|M>>>31}var Y=(S<<5|S>>>27)+I+p[O];O<20?Y+=(B&R|~B&D)+1518500249:O<40?Y+=(B^R^D)+1859775393:O<60?Y+=(B&R|B&D|R&D)-1894007588:Y+=(B^R^D)-899497514,I=D,D=R,R=B<<30|B>>>2,B=S,S=Y}z[0]=z[0]+S|0,z[1]=z[1]+B|0,z[2]=z[2]+R|0,z[3]=z[3]+D|0,z[4]=z[4]+I|0},_doFinalize:function(){var v=this._data,k=v.words,z=8*this._nDataBytes,S=8*v.sigBytes;return k[S>>>5]|=128<<24-S%32,k[(S+64>>>9<<4)+14]=Math.floor(z/4294967296),k[(S+64>>>9<<4)+15]=z,v.sigBytes=4*k.length,this._process(),this._hash},clone:function(){var v=d.clone.call(this);return v._hash=this._hash.clone(),v}}),l.SHA1=d._createHelper(y),l.HmacSHA1=d._createHmacHelper(y),s.exports=l.SHA1},6306(s){var r=Object.prototype.hasOwnProperty,i="~";function l(){}function c(p,y,v){this.fn=p,this.context=y,this.once=v||!1}function h(p,y,v,k,z){if(typeof v!="function")throw TypeError("The listener must be a function");var S=new c(v,k||p,z),B=i?i+y:y;return p._events[B]?p._events[B].fn?p._events[B]=[p._events[B],S]:p._events[B].push(S):(p._events[B]=S,p._eventsCount++),p}function d(p,y){--p._eventsCount==0?p._events=new l:delete p._events[y]}function f(){this._events=new l,this._eventsCount=0}Object.create&&(l.prototype=Object.create(null),new l().__proto__||(i=!1)),f.prototype.eventNames=function(){var p,y,v=[];if(this._eventsCount===0)return v;for(y in p=this._events)r.call(p,y)&&v.push(i?y.slice(1):y);return Object.getOwnPropertySymbols?v.concat(Object.getOwnPropertySymbols(p)):v},f.prototype.listeners=function(p){var y=i?i+p:p,v=this._events[y];if(!v)return[];if(v.fn)return[v.fn];for(var k=0,z=v.length,S=Array(z);k1&&(z==="/"||z===void 0)&&(B==="/"||B===void 0)?(h+="((?:[^/]*(?:/|$))*)",v++):h+="([^/]*)":h+=".*";break;default:h+=l}return y&&~y.indexOf("g")||(h="^"+h+"$"),new RegExp(h,y)}},8488(){},7193(s,r,i){let l=i(1249);function c(k){return k.startsWith("int[")?"int256"+k.slice(3):k==="int"?"int256":k.startsWith("uint[")?"uint256"+k.slice(4):k==="uint"?"uint256":k.startsWith("fixed[")?"fixed128x128"+k.slice(5):k==="fixed"?"fixed128x128":k.startsWith("ufixed[")?"ufixed128x128"+k.slice(6):k==="ufixed"?"ufixed128x128":k}function h(k){return Number.parseInt(/^\D+(\d+)$/.exec(k)[1],10)}function d(k){var z=/^\D+(\d+)x(\d+)$/.exec(k);return[Number.parseInt(z[1],10),Number.parseInt(z[2],10)]}function f(k){var z=k.match(/(.*)\[(.*?)\]$/);return z?z[2]===""?"dynamic":Number.parseInt(z[2],10):null}function p(k){var z=typeof k;if(z==="string"||z==="number")return BigInt(k);if(z==="bigint")return k;throw Error("Argument is not a number")}function y(k,z){if(k==="address")return y("uint160",p(z));if(k==="bool")return y("uint8",+!!z);if(k==="string")return y("bytes",new Buffer(z,"utf8"));if((I=k).lastIndexOf("]")===I.length-1){if(z.length===void 0)throw Error("Not an array?");if((S=f(k))!=="dynamic"&&S!==0&&z.length>S)throw Error("Elements exceed array size: "+S);for(D in R=[],k=k.slice(0,k.lastIndexOf("[")),typeof z=="string"&&(z=JSON.parse(z)),z)R.push(y(k,z[D]));if(S==="dynamic"){var S,B,R,D,I,O=y("uint256",z.length);R.unshift(O)}return Buffer.concat(R)}else{if(k==="bytes")return z=new Buffer(z),R=Buffer.concat([y("uint256",z.length),z]),z.length%32!=0&&(R=Buffer.concat([R,l.zeros(32-z.length%32)])),R;if(k.startsWith("bytes")){if((S=h(k))<1||S>32)throw Error("Invalid bytes width: "+S);return l.setLengthRight(z,32)}else if(k.startsWith("uint")){if((S=h(k))%8||S<8||S>256)throw Error("Invalid uint width: "+S);B=p(z);let M=l.bitLengthFromBigInt(B);if(M>S)throw Error("Supplied uint exceeds width: "+S+" vs "+M);if(B<0)throw Error("Supplied uint is negative");return l.bufferBEFromBigInt(B,32)}else if(k.startsWith("int")){if((S=h(k))%8||S<8||S>256)throw Error("Invalid int width: "+S);B=p(z);let M=l.bitLengthFromBigInt(B);if(M>S)throw Error("Supplied int exceeds width: "+S+" vs "+M);let Y=l.twosFromBigInt(B,256);return l.bufferBEFromBigInt(Y,32)}else if(k.startsWith("ufixed")){if(S=d(k),(B=p(z))<0)throw Error("Supplied ufixed is negative");return y("uint256",B*BigInt(2)**BigInt(S[1]))}else if(k.startsWith("fixed"))return S=d(k),y("int256",p(z)*BigInt(2)**BigInt(S[1]))}throw Error("Unsupported or invalid type: "+k)}function v(k,z){if(k.length!==z.length)throw Error("Number of types are not matching the values");for(var S,B,R=[],D=0;D32)throw Error("Invalid bytes width: "+S);R.push(l.setLengthRight(O,S))}else if(I.startsWith("uint")){if((S=h(I))%8||S<8||S>256)throw Error("Invalid uint width: "+S);B=p(O);let M=l.bitLengthFromBigInt(B);if(M>S)throw Error("Supplied uint exceeds width: "+S+" vs "+M);R.push(l.bufferBEFromBigInt(B,S/8))}else if(I.startsWith("int")){if((S=h(I))%8||S<8||S>256)throw Error("Invalid int width: "+S);B=p(O);let M=l.bitLengthFromBigInt(B);if(M>S)throw Error("Supplied int exceeds width: "+S+" vs "+M);let Y=l.twosFromBigInt(B,S);R.push(l.bufferBEFromBigInt(Y,S/8))}else throw Error("Unsupported or invalid type: "+I)}return Buffer.concat(R)}s.exports={rawEncode:function(k,z){var S=[],B=[],R=32*k.length;for(var D in k){var I=c(k[D]),O=y(I,z[D]);I==="string"||I==="bytes"||f(I)==="dynamic"?(S.push(y("uint256",R)),B.push(O),R+=O.length):S.push(O)}return Buffer.concat(S.concat(B))},solidityPack:v,soliditySHA3:function(k,z){return l.keccak(v(k,z))}}},7487(s,r,i){let l=i(1249),c=i(7193),h={type:"object",properties:{types:{type:"object",additionalProperties:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{type:"string"}},required:["name","type"]}}},primaryType:{type:"string"},domain:{type:"object"},message:{type:"object"}},required:["types","primaryType","domain","message"]},d={encodeData(f,p,y,v=!0){let k=["bytes32"],z=[this.hashType(f,y)];if(v){let S=(B,R,D)=>{if(y[R]!==void 0)return["bytes32",D==null?"0x0000000000000000000000000000000000000000000000000000000000000000":l.keccak(this.encodeData(R,D,y,v))];if(D===void 0)throw Error(`missing value for field ${B} of type ${R}`);if(R==="bytes")return["bytes32",l.keccak(D)];if(R==="string")return typeof D=="string"&&(D=Buffer.from(D,"utf8")),["bytes32",l.keccak(D)];if(R.lastIndexOf("]")===R.length-1){let I=R.slice(0,R.lastIndexOf("[")),O=D.map(M=>S(B,I,M));return["bytes32",l.keccak(c.rawEncode(O.map(([M])=>M),O.map(([,M])=>M)))]}return[R,D]};for(let B of y[f]){let[R,D]=S(B.name,B.type,p[B.name]);k.push(R),z.push(D)}}else for(let S of y[f]){let B=p[S.name];if(B!==void 0)if(S.type==="bytes")k.push("bytes32"),B=l.keccak(B),z.push(B);else if(S.type==="string")k.push("bytes32"),typeof B=="string"&&(B=Buffer.from(B,"utf8")),B=l.keccak(B),z.push(B);else if(y[S.type]!==void 0)k.push("bytes32"),B=l.keccak(this.encodeData(S.type,B,y,v)),z.push(B);else{if(S.type.lastIndexOf("]")===S.type.length-1)throw Error("Arrays currently unimplemented in encodeData");k.push(S.type),z.push(B)}}return c.rawEncode(k,z)},encodeType(f,p){let y="",v=this.findTypeDependencies(f,p).filter(k=>k!==f);for(let k of v=[f].concat(v.sort())){if(!p[k])throw Error("No type definition specified: "+k);y+=k+"("+p[k].map(({name:z,type:S})=>S+" "+z).join(",")+")"}return y},findTypeDependencies(f,p,y=[]){if(f=f.match(/^\w*/)[0],y.includes(f)||p[f]===void 0)return y;for(let v of(y.push(f),p[f]))for(let k of this.findTypeDependencies(v.type,p,y))y.includes(k)||y.push(k);return y},hashStruct(f,p,y,v=!0){return l.keccak(this.encodeData(f,p,y,v))},hashType(f,p){return l.keccak(this.encodeType(f,p))},sanitizeData(f){let p={};for(let y in h.properties)f[y]&&(p[y]=f[y]);return p.types&&(p.types=Object.assign({EIP712Domain:[]},p.types)),p},hash(f,p=!0){let y=this.sanitizeData(f),v=[Buffer.from("1901","hex")];return v.push(this.hashStruct("EIP712Domain",y.domain,y.types,p)),y.primaryType!=="EIP712Domain"&&v.push(this.hashStruct(y.primaryType,y.message,y.types,p)),l.keccak(Buffer.concat(v))}};s.exports={TYPED_MESSAGE_SCHEMA:h,TypedDataUtils:d,hashForSignTypedDataLegacy:function(f){return function(p){let y=Error("Expect argument to be non-empty array");if(typeof p!="object"||!p.length)throw y;let v=p.map(function(S){return S.type==="bytes"?l.toBuffer(S.value):S.value}),k=p.map(function(S){return S.type}),z=p.map(function(S){if(!S.name)throw y;return S.type+" "+S.name});return c.soliditySHA3(["bytes32","bytes32"],[c.soliditySHA3(Array(p.length).fill("string"),z),c.soliditySHA3(k,v)])}(f.data)},hashForSignTypedData_v3:function(f){return d.hash(f.data,!1)},hashForSignTypedData_v4:function(f){return d.hash(f.data)}}},1249(s,r,i){let{keccak_256:l}=i(5376);function c(v){return Buffer.allocUnsafe(v).fill(0)}function h(v,k){let z=v.toString(16);z.length%2!=0&&(z="0"+z);let S=z.match(/.{1,2}/g).map(B=>parseInt(B,16));for(;S.lengthnm,pay:()=>im,removeCryptoKey:()=>yb,createBaseAccountSDK:()=>tm,getCryptoKeyAccount:()=>Bc,base:()=>Wb});var y=JSON.parse('{"UU":"@base-org/account","rE":"2.0.1"}');let v="https://rpc.wallet.coinbase.com",k=y.UU,z=y.rE;function S(t,a){let o;try{o=t()}catch{return}return{getItem:u=>{var m;let b=_=>_===null?null:JSON.parse(_,void 0),j=(m=o.getItem(u))!=null?m:null;return j instanceof Promise?j.then(b):b(j)},setItem:(u,m)=>o.setItem(u,JSON.stringify(m,void 0)),removeItem:u=>o.removeItem(u)}}let B=t=>a=>{try{let o=t(a);return o instanceof Promise?o:{then:u=>B(u)(o),catch(u){return this}}}catch(o){return{then(u){return this},catch:u=>B(u)(o)}}},R=t=>{let a,o=new Set,u=(_,P)=>{let C=typeof _=="function"?_(a):_;if(!Object.is(C,a)){let F=a;a=P??(typeof C!="object"||C===null)?C:Object.assign({},a,C),o.forEach(T=>T(a,F))}},m=()=>a,b={setState:u,getState:m,getInitialState:()=>j,subscribe:_=>(o.add(_),()=>o.delete(_))},j=a=t(u,m,b);return b},D=t=>t?R(t):R,I=D((h=(...t)=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},{chains:[]}),{keys:{}}),{account:{}}),{subAccount:void 0}),{spendPermissions:[]}),{config:{version:z}}),{subAccountConfig:{}}),d={name:"base-acc-sdk.store",storage:S(()=>localStorage),partialize:t=>({chains:t.chains,keys:t.keys,account:t.account,subAccount:t.subAccount,spendPermissions:t.spendPermissions,config:t.config})},(t,a,o)=>{let u,m={storage:S(()=>localStorage),partialize:$=>$,version:0,merge:($,q)=>({...q,...$}),...d},b=!1,j=new Set,_=new Set,P=m.storage;if(!P)return h((...$)=>{console.warn(`[zustand persist middleware] Unable to update item '${m.name}', the given storage is currently unavailable.`),t(...$)},a,o);let C=()=>{let $=m.partialize({...a()});return P.setItem(m.name,{state:$,version:m.version})},F=o.setState;o.setState=($,q)=>{F($,q),C()};let T=h((...$)=>{t(...$),C()},a,o);o.getInitialState=()=>T;let E=()=>{var $,q;if(!P)return;b=!1,j.forEach(ie=>{var re;return ie((re=a())!=null?re:T)});let ne=((q=m.onRehydrateStorage)==null?void 0:q.call(m,($=a())!=null?$:T))||void 0;return B(P.getItem.bind(P))(m.name).then(ie=>{if(ie){if(typeof ie.version!="number"||ie.version===m.version)return[!1,ie.state];if(m.migrate){let re=m.migrate(ie.state,ie.version);return re instanceof Promise?re.then(pe=>[!0,pe]):[!0,re]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(ie=>{var re;let[pe,ce]=ie;if(t(u=m.merge(ce,(re=a())!=null?re:T),!0),pe)return C()}).then(()=>{ne?.(u,void 0),u=a(),b=!0,_.forEach(ie=>ie(u))}).catch(ie=>{ne?.(void 0,ie)})};return o.persist={setOptions:$=>{m={...m,...$},$.storage&&(P=$.storage)},clearStorage:()=>{P?.removeItem(m.name)},getOptions:()=>m,rehydrate:()=>E(),hasHydrated:()=>b,onHydrate:$=>(j.add($),()=>{j.delete($)}),onFinishHydration:$=>(_.add($),()=>{_.delete($)})},m.skipHydration||E(),u||T})),O={get:()=>I.getState().config,set:t=>{I.setState(a=>({config:Object.assign(Object.assign({},a.config),t)}))}},M=Object.assign(Object.assign({},I),{subAccounts:{get:()=>I.getState().subAccount,set:t=>{I.setState(a=>({subAccount:a.subAccount?Object.assign(Object.assign({},a.subAccount),t):Object.assign({address:t.address},t)}))},clear:()=>{I.setState({subAccount:void 0})}},subAccountsConfig:{get:()=>I.getState().subAccountConfig,set:t=>{I.setState(a=>({subAccountConfig:Object.assign(Object.assign({},a.subAccountConfig),t)}))},clear:()=>{I.setState({subAccountConfig:{}})}},spendPermissions:{get:()=>I.getState().spendPermissions,set:t=>{I.setState({spendPermissions:t})},clear:()=>{I.setState({spendPermissions:[]})}},account:{get:()=>I.getState().account,set:t=>{I.setState(a=>({account:Object.assign(Object.assign({},a.account),t)}))},clear:()=>{I.setState({account:{}})}},chains:{get:()=>I.getState().chains,set:t=>{I.setState({chains:t})},clear:()=>{I.setState({chains:[]})}},keys:{get:t=>I.getState().keys[t],set:(t,a)=>{I.setState(o=>({keys:Object.assign(Object.assign({},o.keys),{[t]:a})}))},clear:()=>{I.setState({keys:{}})}},config:O}),Y="0xf85210B21cC50302F477BA56686d2019dC9b67Ad",ae=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"owner",type:"bytes"}],name:"AlreadyOwner",type:"error"},{inputs:[],name:"Initialized",type:"error"},{inputs:[{name:"owner",type:"bytes"}],name:"InvalidEthereumAddressOwner",type:"error"},{inputs:[{name:"key",type:"uint256"}],name:"InvalidNonceKey",type:"error"},{inputs:[{name:"owner",type:"bytes"}],name:"InvalidOwnerBytesLength",type:"error"},{inputs:[],name:"LastOwner",type:"error"},{inputs:[{name:"index",type:"uint256"}],name:"NoOwnerAtIndex",type:"error"},{inputs:[{name:"ownersRemaining",type:"uint256"}],name:"NotLastOwner",type:"error"},{inputs:[{name:"selector",type:"bytes4"}],name:"SelectorNotAllowed",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{inputs:[],name:"UnauthorizedCallContext",type:"error"},{inputs:[],name:"UpgradeFailed",type:"error"},{inputs:[{name:"index",type:"uint256"},{name:"expectedOwner",type:"bytes"},{name:"actualOwner",type:"bytes"}],name:"WrongOwnerAtIndex",type:"error"},{anonymous:!1,inputs:[{indexed:!0,name:"index",type:"uint256"},{indexed:!1,name:"owner",type:"bytes"}],name:"AddOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"index",type:"uint256"},{indexed:!1,name:"owner",type:"bytes"}],name:"RemoveOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{stateMutability:"payable",type:"fallback"},{inputs:[],name:"REPLAYABLE_NONCE_KEY",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"owner",type:"address"}],name:"addOwnerAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"x",type:"bytes32"},{name:"y",type:"bytes32"}],name:"addOwnerPublicKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"functionSelector",type:"bytes4"}],name:"canSkipChainIdValidation",outputs:[{name:"",type:"bool"}],stateMutability:"pure",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"entryPoint",outputs:[{name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],name:"execute",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"executeBatch",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{name:"calls",type:"bytes[]"}],name:"executeWithoutChainIdValidation",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOp",type:"tuple"}],name:"getUserOpHashWithoutChainId",outputs:[{name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"implementation",outputs:[{name:"$",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{name:"owners",type:"bytes[]"}],name:"initialize",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{name:"account",type:"address"}],name:"isOwnerAddress",outputs:[{name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{name:"account",type:"bytes"}],name:"isOwnerBytes",outputs:[{name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{name:"x",type:"bytes32"},{name:"y",type:"bytes32"}],name:"isOwnerPublicKey",outputs:[{name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],name:"isValidSignature",outputs:[{name:"result",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextOwnerIndex",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"index",type:"uint256"}],name:"ownerAtIndex",outputs:[{name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"ownerCount",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{name:"index",type:"uint256"},{name:"owner",type:"bytes"}],name:"removeLastOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"index",type:"uint256"},{name:"owner",type:"bytes"}],name:"removeOwnerAtIndex",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"removedOwnersCount",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"hash",type:"bytes32"}],name:"replaySafeHash",outputs:[{name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{name:"newImplementation",type:"address"},{name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOp",type:"tuple"},{name:"userOpHash",type:"bytes32"},{name:"missingAccountFunds",type:"uint256"}],name:"validateUserOp",outputs:[{name:"validationData",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],ue=[{inputs:[{name:"implementation_",type:"address"}],stateMutability:"payable",type:"constructor"},{inputs:[],name:"OwnerRequired",type:"error"},{inputs:[{name:"owners",type:"bytes[]"},{name:"nonce",type:"uint256"}],name:"createAccount",outputs:[{name:"account",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{name:"owners",type:"bytes[]"},{name:"nonce",type:"uint256"}],name:"getAddress",outputs:[{name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"implementation",outputs:[{name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initCodeHash",outputs:[{name:"",type:"bytes32"}],stateMutability:"view",type:"function"}],se=-32004,J=-32602,W=-32603,G=4001,Q=4100,X=4200,ee=4900,be={"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."},"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32000":{standard:"EIP-1474",message:"Invalid input."},"-32001":{standard:"EIP-1474",message:"Resource not found."},"-32002":{standard:"EIP-1474",message:"Resource unavailable."},"-32003":{standard:"EIP-1474",message:"Transaction rejected."},"-32004":{standard:"EIP-1474",message:"Method not supported."},"-32005":{standard:"EIP-1474",message:"Request limit exceeded."},4001:{standard:"EIP-1193",message:"User rejected the request."},4100:{standard:"EIP-1193",message:"The requested account and/or method has not been authorized by the user."},4200:{standard:"EIP-1193",message:"The requested method is not supported by this Ethereum provider."},4900:{standard:"EIP-1193",message:"The provider is disconnected from all chains."},4901:{standard:"EIP-1193",message:"The provider is disconnected from the specified chain."},4902:{standard:"EIP-3085",message:"Unrecognized chain ID."}},ve="Unspecified error message.";function je(t,a=ve){if(t&&Number.isInteger(t)){var o;let u=t.toString();if(Re(be,u))return be[u].message;if((o=t)>=-32099&&o<=-32e3)return"Unspecified server error."}return a}function qe(t){return t&&typeof t=="object"&&!Array.isArray(t)?Object.assign({},t):t}function Re(t,a){return Object.prototype.hasOwnProperty.call(t,a)}function Ke(t,a){return typeof t=="object"&&t!==null&&a in t&&typeof t[a]=="string"}let Se=t=>St(J,t),Oe=t=>St(W,t),Fe=t=>St(se,t),xt=t=>ha(G,t),bt=t=>ha(Q,t),Lt=t=>ha(X,t),At=t=>ha(ee,t);function St(t,a){let[o,u]=Aa(a);return new L(t,o||je(t),u)}function ha(t,a){let[o,u]=Aa(a);return new te(t,o||je(t),u)}function Aa(t){if(t){if(typeof t=="string")return[t];if(typeof t=="object"&&!Array.isArray(t)){let{message:a,data:o}=t;if(a&&typeof a!="string")throw Error("Must specify string message.");return[a||void 0,o]}}return[]}class L extends Error{constructor(a,o,u){if(!Number.isInteger(a))throw Error('"code" must be an integer.');if(!o||typeof o!="string")throw Error('"message" must be a nonempty string.');super(o),this.code=a,u!==void 0&&(this.data=u)}}class te extends L{constructor(a,o,u){var m;if(!(Number.isInteger(m=a)&&m>=1e3&&m<=4999))throw Error('"code" must be an integer such that: 1000 <= code <= 4999');super(a,o,u)}}function Ae(t){return typeof t=="object"&&t!==null&&"code"in t&&"data"in t&&t.code===-32090&&typeof t.data=="object"&&t.data!==null&&"type"in t.data&&t.data.type==="INSUFFICIENT_FUNDS"}function He(t){return typeof t=="object"&&t!==null&&"details"in t}function ct(t,a,o){if(t==null)throw a??Se({message:"value must be present",data:t})}function It(t,a){if(!Array.isArray(t))throw Se({message:a??"value must be an array",data:t})}let Jt=`Base Account SDK requires the Cross-Origin-Opener-Policy header to not be set to 'same-origin'. This is to ensure that the SDK can communicate with the Base Account app. - -Please see https://docs.base.org/smart-wallet/quickstart#cross-origin-opener-policy for more information.`,{checkCrossOriginOpenerPolicy:Bt,getCrossOriginOpenerPolicy:sa}={getCrossOriginOpenerPolicy:()=>f===void 0?"undefined":f,checkCrossOriginOpenerPolicy:async()=>{if("u"{jt(`dialog.${t}.shown`,{action:Pe.render,componentType:ke.modal,dialogContext:t},_e.high)},Ia=({dialogContext:t})=>{jt(`dialog.${t}.dismissed`,{action:Pe.dismiss,componentType:ke.modal,dialogContext:t},_e.high)},Ha=({dialogContext:t,dialogAction:a})=>{jt(`dialog.${t}.action_clicked`,{action:Pe.click,componentType:ke.button,dialogContext:t,dialogAction:a},_e.high)},cr=` -@font-face { - font-family: "BaseSans-Regular"; - src: url("data:font/woff2;charset=utf-8;base64,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") - format("woff2"); - font-weight: normal; - font-style: normal; - font-display: swap; -} -`,Ve="BaseSans-Regular";var V,me,fe,ke,Pe,_e,at,pt,na,Dt,Sa,Va,ma,oe,Te,Ge,Ye={},Qe=[],Pt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Zt=Array.isArray;function Ct(t,a){for(var o in a)t[o]=a[o];return t}function vt(t){t&&t.parentNode&&t.parentNode.removeChild(t)}function wa(t,a,o){var u,m,b,j={};for(b in a)b=="key"?u=a[b]:b=="ref"?m=a[b]:j[b]=a[b];if(arguments.length>2&&(j.children=arguments.length>3?at.call(arguments,2):o),typeof t=="function"&&t.defaultProps!=null)for(b in t.defaultProps)j[b]===void 0&&(j[b]=t.defaultProps[b]);return qa(t,j,u,m,null)}function qa(t,a,o,u,m){var b={type:t,props:a,key:o,ref:u,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:m??++na,__i:-1,__u:0};return m==null&&pt.vnode!=null&&pt.vnode(b),b}function Ya(t){return t.children}function wr(t,a){this.props=t,this.context=a}function Xt(t,a){if(a==null)return t.__?Xt(t.__,t.__i+1):null;for(var o;aa&&Dt.sort(ma));zr.__r=0}function $a(t,a,o,u,m,b,j,_,P,C,F){var T,E,$,q,ne,ie=u&&u.__k||Qe,re=a.length;for(o.__d=P,function(pe,ce,he){var xe,Ee,Be,lt,Ot,Vt=ce.length,_t=he.length,Mt=_t,Wt=0;for(pe.__k=[],xe=0;xe0?qa(Ee.type,Ee.props,Ee.key,Ee.ref?Ee.ref:null,Ee.__v):Ee).__=pe,Ee.__b=pe.__b+1,Be=null,(Ot=Ee.__i=function(wt,Rt,aa,za){var We=wt.key,yt=wt.type,tt=aa-1,Nt=aa+1,Ue=Rt[aa];if(Ue===null||Ue&&We==Ue.key&&yt===Ue.type&&!(131072&Ue.__u))return aa;if(za>+(Ue!=null&&(131072&Ue.__u)==0))for(;tt>=0||Nt=0){if((Ue=Rt[tt])&&!(131072&Ue.__u)&&We==Ue.key&&yt===Ue.type)return tt;tt--}if(Ntlt?Wt--:Wt++,Ee.__u|=65536))):Ee=pe.__k[xe]=null;if(Mt)for(xe=0;xe<_t;xe++)(Be=he[xe])!=null&&!(131072&Be.__u)&&(Be.__e==pe.__d&&(pe.__d=Xt(Be)),function wt(Rt,aa,za){var We,yt;if(pt.unmount&&pt.unmount(Rt),(We=Rt.ref)&&(We.current&&We.current!==Rt.__e||Ga(We,null,aa)),(We=Rt.__c)!=null){if(We.componentWillUnmount)try{We.componentWillUnmount()}catch(tt){pt.__e(tt,aa)}We.base=We.__P=null}if(We=Rt.__k)for(yt=0;ytUt("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Ut("path",{d:"M0 2.014C0 1.58105 0 1.36457 0.0815779 1.19805C0.159686 1.03861 0.288611 0.909686 0.448049 0.831578C0.61457 0.75 0.831047 0.75 1.264 0.75H14.736C15.169 0.75 15.3854 0.75 15.552 0.831578C15.7114 0.909686 15.8403 1.03861 15.9184 1.19805C16 1.36457 16 1.58105 16 2.014V15.486C16 15.919 16 16.1354 15.9184 16.302C15.8403 16.4614 15.7114 16.5903 15.552 16.6684C15.3854 16.75 15.169 16.75 14.736 16.75H1.264C0.831047 16.75 0.61457 16.75 0.448049 16.6684C0.288611 16.5903 0.159686 16.4614 0.0815779 16.302C0 16.1354 0 15.919 0 15.486V2.014Z",fill:t==="blue"?"#0000FF":"#FFF"})});var Ca,Ka,Er,Zr,Yr=0,gn=[],ya=pt,en=ya.__b,Un=ya.__r,la=ya.diffed,Wr=ya.__c,ur=ya.unmount,rn=ya.__;function ia(t,a){ya.__h&&ya.__h(Ka,t,Yr||a),Yr=0;var o=Ka.__H||(Ka.__H={__:[],__h:[]});return t>=o.__.length&&o.__.push({}),o.__[t]}function Xe(t){return Yr=1,function(a,o){var u=ia(Ca++,2);if(u.t=a,!u.__c&&(u.__=[ga(void 0,o),function(_){var P=u.__N?u.__N[0]:u.__[0],C=u.t(P,_);P!==C&&(u.__N=[C,u.__[1]],u.__c.setState({}))}],u.__c=Ka,!Ka.u)){var m=function(_,P,C){if(!u.__c.__H)return!0;var F=u.__c.__H.__.filter(function(E){return!!E.__c});if(F.every(function(E){return!E.__N}))return!b||b.call(this,_,P,C);var T=!1;return F.forEach(function(E){if(E.__N){var $=E.__[0];E.__=E.__N,E.__N=void 0,$!==E.__[0]&&(T=!0)}}),!(!T&&u.__c.props===_)&&(!b||b.call(this,_,P,C))};Ka.u=!0;var b=Ka.shouldComponentUpdate,j=Ka.componentWillUpdate;Ka.componentWillUpdate=function(_,P,C){if(this.__e){var F=b;b=void 0,m(_,P,C),b=F}j&&j.call(this,_,P,C)},Ka.shouldComponentUpdate=m}return u.__N||u.__}(ga,t)}function Tt(t,a){var o=ia(Ca++,3);!ya.__s&&Da(o.__H,a)&&(o.__=t,o.i=a,Ka.__H.__h.push(o))}function rt(){for(var t;t=gn.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(ea),t.__H.__h.forEach(Ea),t.__H.__h=[]}catch(a){t.__H.__h=[],ya.__e(a,t.__v)}}ya.__b=function(t){Ka=null,en&&en(t)},ya.__=function(t,a){t&&a.__k&&a.__k.__m&&(t.__m=a.__k.__m),rn&&rn(t,a)},ya.__r=function(t){Un&&Un(t),Ca=0;var a=(Ka=t.__c).__H;a&&(Er===Ka?(a.__h=[],Ka.__h=[],a.__.forEach(function(o){o.__N&&(o.__=o.__N),o.i=o.__N=void 0})):(a.__h.forEach(ea),a.__h.forEach(Ea),a.__h=[],Ca=0)),Er=Ka},ya.diffed=function(t){la&&la(t);var a=t.__c;a&&a.__H&&(a.__H.__h.length&&(gn.push(a)!==1&&Zr===ya.requestAnimationFrame||((Zr=ya.requestAnimationFrame)||function(o){var u,m=function(){clearTimeout(b),ua&&cancelAnimationFrame(u),setTimeout(o)},b=setTimeout(m,100);ua&&(u=requestAnimationFrame(m))})(rt)),a.__H.__.forEach(function(o){o.i&&(o.__H=o.i),o.i=void 0})),Er=Ka=null},ya.__c=function(t,a){a.some(function(o){try{o.__h.forEach(ea),o.__h=o.__h.filter(function(u){return!u.__||Ea(u)})}catch(u){a.some(function(m){m.__h&&(m.__h=[])}),a=[],ya.__e(u,o.__v)}}),Wr&&Wr(t,a)},ya.unmount=function(t){ur&&ur(t);var a,o=t.__c;o&&o.__H&&(o.__H.__.forEach(function(u){try{ea(u)}catch(m){a=m}}),o.__H=void 0,a&&ya.__e(a,o.__v))};var ua=typeof requestAnimationFrame=="function";function ea(t){var a=Ka,o=t.__c;typeof o=="function"&&(t.__c=void 0,o()),Ka=a}function Ea(t){var a=Ka;t.__c=t.__(),Ka=a}function Da(t,a){return!t||t.length!==a.length||a.some(function(o,u){return o!==t[u]})}function ga(t,a){return typeof a=="function"?a(t):a}function Ta(){return window.innerWidth<=600&&window.innerHeight>window.innerWidth}let ta=()=>{let[t,a]=Xe(!1);return Tt(()=>{let o=()=>{a(Ta())};return o(),window.addEventListener("resize",o),window.addEventListener("orientationchange",o),()=>{window.removeEventListener("resize",o),window.removeEventListener("orientationchange",o)}},[]),t?Ut("div",{class:"-base-acc-sdk-dialog-handle-bar"}):null};class Ua{constructor(){this.items=new Map,this.nextItemKey=0,this.root=null}attach(a){this.root=document.createElement("div"),this.root.className="-base-acc-sdk-dialog-root",a.appendChild(this.root),this.render()}presentItem(a){let o=this.nextItemKey++;this.items.set(o,a),this.render()}clear(){this.items.clear(),this.root&&fa(null,this.root)}render(){this.root&&fa(Ut("div",{children:Ut(kr,{children:Array.from(this.items.entries()).map(([a,o])=>wa(lr,Object.assign({},o,{key:a,handleClose:()=>{var u;this.clear(),(u=o.onClose)==null||u.call(o)}})))})}),this.root)}}let kr=t=>{let[a,o]=Xe(0),[u,m]=Xe(!1),[b,j]=Xe(0);return Ut("div",{class:(0,Ce.$)("-base-acc-sdk-dialog-container"),children:[Ut("style",{children:'.-base-acc-sdk-css-reset{-webkit-font-smoothing:antialiased;pointer-events:auto !important}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2147483647}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-container *{user-select:none;box-sizing:border-box}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:20px}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-backdrop{align-items:flex-end;justify-content:stretch;padding:0}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog{position:relative;z-index:2147483648}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog{width:100%}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);width:380px;max-height:90vh;overflow:hidden;transform:scale(0.95);opacity:0;transition:all .2s ease-in-out}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance{touch-action:pan-y;user-select:none}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-hidden{transform:scale(0.9);opacity:0}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-hidden{transform:translateY(100%)}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance:not(.-base-acc-sdk-dialog-instance-hidden){transform:scale(1);opacity:1}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance:not(.-base-acc-sdk-dialog-instance-hidden){transform:translateY(0)}}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance{width:100%;max-width:100%;border-radius:20px 20px 0 0;box-shadow:0 -10px 25px rgba(0,0,0,.15);max-height:80vh;transform:translateY(0)}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-hidden{transform:translateY(100%);opacity:1}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance:not(.-base-acc-sdk-dialog-instance-hidden){transform:translateY(0);opacity:1}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0 20px}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header{padding:16px 20px 12px 20px}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-icon-and-title{display:flex;align-items:center;gap:8px}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-icon-and-title-title{font-family:"BaseSans-Regular",sans-serif;font-size:14px;font-weight:400;color:#5b616e}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-cblogo{width:32px;height:32px}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;border-radius:6px;transition:background-color .2s}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close:hover{background-color:#f5f7f8}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close-icon{width:14px;height:14px}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close-icon{display:none}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content{padding:20px 20px 16px 20px;font-family:"BaseSans-Regular",sans-serif}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content{padding:8px 20px 12px 20px}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content-title{font-size:20px;font-weight:600;line-height:28px;color:#0a0b0d;margin-bottom:10px}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content-message{font-size:16px;font-weight:400;line-height:24px;color:#5b616e;margin-bottom:0}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-actions{display:flex;padding:16px 20px 20px 20px;flex-direction:column}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-actions{padding:16px 20px calc(20px + env(safe-area-inset-bottom)) 20px;gap:6px}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button{font-family:"BaseSans-Regular",sans-serif;font-size:16px;font-weight:500;line-height:24px;border:none;border-radius:12px;padding:16px 24px;cursor:pointer;transition:all .2s ease-in-out;width:100%;margin:4px 0}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button:disabled{opacity:.5;cursor:not-allowed}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-primary{background-color:#0a0b0d;color:#fff}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-primary:hover:not(:disabled){background-color:#1c1e20}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-primary:active:not(:disabled){background-color:#2a2d31}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-secondary{background-color:#eef0f3;color:#0a0b0d}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-secondary:hover:not(:disabled){background-color:#e1e4e8}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-secondary:active:not(:disabled){background-color:#d4d8dd}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-handle-bar{position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:64px;height:4px;background-color:#d1d5db;border-radius:2px;opacity:0;animation:handleBarFadeIn .2s ease-in-out .2s forwards}@keyframes handleBarFadeIn{from{opacity:0}to{opacity:1}}'}),Ut("div",{class:"-base-acc-sdk-dialog-backdrop",onTouchStart:_=>{Ta()&&(j(_.touches[0].clientY),m(!0))},onTouchMove:_=>{if(!u)return;let P=_.touches[0].clientY-b;P>0&&(o(P),_.preventDefault())},onTouchEnd:()=>{if(u)if(m(!1),a>100){let _=document.querySelector(".-base-acc-sdk-dialog-instance-header-close");_&&_.click()}else o(0)},children:Ut("div",{class:"-base-acc-sdk-dialog",style:{transform:`translateY(${a}px)`,transition:u?"none":"transform 0.2s ease-out"},children:[Ut(ta,{}),t.children]})})]})},lr=({title:t,message:a,actionItems:o,handleClose:u})=>{var m,b,j;let[_,P]=Xe(!0),[C,F]=Xe(!0),[T,E]=Xe(null);Tt(()=>{let q=window.setTimeout(()=>{P(!1)},1);return()=>{window.clearTimeout(q)}},[]),Tt(()=>{(async()=>{var q;let ne=(q=M.account.get().accounts)==null?void 0:q[0];ne&&E(await or(ne)),F(!1)})()},[]);let $=(m=()=>T?`Signed in as ${T}`:"Base Account",b=[T],Da((j=ia(Ca++,7)).__H,b)&&(j.__=m(),j.__H=b,j.__h=m),j.__);return Ut("div",{class:(0,Ce.$)("-base-acc-sdk-dialog-instance",_&&"-base-acc-sdk-dialog-instance-hidden"),children:[Ut("div",{class:"-base-acc-sdk-dialog-instance-header",children:[Ut("div",{class:"-base-acc-sdk-dialog-instance-header-icon-and-title",children:[Ut(dr,{fill:"blue"}),!C&&Ut("div",{class:"-base-acc-sdk-dialog-instance-header-icon-and-title-title",children:$})]}),Ut("div",{class:"-base-acc-sdk-dialog-instance-header-close",onClick:u,children:Ut("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEzIDFMMSAxM20wLTEyTDEzIDEzIiBzdHJva2U9IiM5Q0EzQUYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+",class:"-base-acc-sdk-dialog-instance-header-close-icon"})})]}),Ut("div",{class:"-base-acc-sdk-dialog-instance-content",children:[Ut("div",{class:"-base-acc-sdk-dialog-instance-content-title",children:t}),Ut("div",{class:"-base-acc-sdk-dialog-instance-content-message",children:a})]}),o&&o.length>0&&Ut("div",{class:"-base-acc-sdk-dialog-instance-actions",children:o.map((q,ne)=>Ut("button",{class:(0,Ce.$)("-base-acc-sdk-dialog-instance-button",q.variant==="primary"&&"-base-acc-sdk-dialog-instance-button-primary",q.variant==="secondary"&&"-base-acc-sdk-dialog-instance-button-secondary"),onClick:q.onClick,children:q.text},ne))})]})},nn=null;function Lr(){if(!nn){let t=document.createElement("div");t.className="-base-acc-sdk-css-reset",document.body.appendChild(t),(nn=new Ua).attach(t)}return function(){if(document.head.querySelector(`style[base-sdk-font="${Ve}"]`))return;let t=document.createElement("style");t.setAttribute("base-sdk-font",Ve),t.textContent=cr,document.head.appendChild(t)}(),nn}class Qr{constructor({url:a="https://keys.coinbase.com/connect",metadata:o,preference:u}){this.popup=null,this.listeners=new Map,this.postMessage=async m=>{(await this.waitForPopupLoaded()).postMessage(m,this.url.origin)},this.postRequestAndWaitForResponse=async m=>{let b=this.onMessage(({requestId:j})=>j===m.id);return this.postMessage(m),await b},this.onMessage=async m=>new Promise((b,j)=>{let _=P=>{if(P.origin!==this.url.origin)return;let C=P.data;m(C)&&(b(C),window.removeEventListener("message",_),this.listeners.delete(_))};window.addEventListener("message",_),this.listeners.set(_,{reject:j})}),this.disconnect=()=>{var m;(m=this.popup)&&!m.closed&&m.close(),this.popup=null,this.listeners.forEach(({reject:b},j)=>{b(xt("Request rejected")),window.removeEventListener("message",j)}),this.listeners.clear()},this.waitForPopupLoaded=async()=>this.popup&&!this.popup.closed?(this.popup.focus(),this.popup):(jt("communicator.popup_setup.started",{action:Pe.unknown,componentType:ke.unknown},_e.high),this.popup=await function(m){let b,j,_=(window.innerWidth-420)/2+window.screenX,P=(window.innerHeight-700)/2+window.screenY;function C(){let ne=`wallet_${crypto.randomUUID()}`,ie=window.open(m,ne,`width=420, height=700, left=${_}, top=${P}`);return ie?.focus(),ie||null}var F,T,E,$=m;for(let[ne,ie]of Object.entries({sdkName:k,sdkVersion:z,origin:window.location.origin,coop:sa()}))$.searchParams.has(ne)||$.searchParams.append(ne,ie.toString());let q=C();return q?Promise.resolve(q):(F=C,b=(E=(T=M.config.get().metadata)==null?void 0:T.appName)!=null?E:"App",j=Lr(),new Promise((ne,ie)=>{Ba({dialogContext:"popup_blocked"}),j.presentItem({title:"{app} wants to continue in Base Account".replace("{app}",b),message:"This action requires your permission to open a new window.",onClose:()=>{Ha({dialogContext:"popup_blocked",dialogAction:"cancel"}),ie(Oe("Popup window was blocked"))},actionItems:[{text:"Try again",variant:"primary",onClick:()=>{Ha({dialogContext:"popup_blocked",dialogAction:"confirm"});let re=F();re?ne(re):ie(Oe("Popup window was blocked")),j.clear()}},{text:"Cancel",variant:"secondary",onClick:()=>{Ha({dialogContext:"popup_blocked",dialogAction:"cancel"}),ie(Oe("Popup window was blocked")),j.clear()}}]})}))}(this.url),this.onMessage(({event:m})=>m==="PopupUnload").then(()=>{this.disconnect(),jt("communicator.popup_unload.received",{action:Pe.unknown,componentType:ke.unknown},_e.high)}).catch(()=>{}),this.onMessage(({event:m})=>m==="PopupLoaded").then(m=>{this.postMessage({requestId:m.id,data:{version:z,sdkName:k,metadata:this.metadata,preference:this.preference,location:window.location.toString()}})}).then(()=>{if(!this.popup)throw Oe();return jt("communicator.popup_setup.completed",{action:Pe.unknown,componentType:ke.unknown},_e.high),this.popup})),this.url=new URL(a),this.metadata=o,this.preference=u}}var xr=i(6306);class Ar extends xr{}let br=t=>"message"in t&&typeof t.message=="string"?t.message:"";function Ai(t){return Math.floor(t)}let us=/^[0-9]*$/,ds=/^[a-f0-9]*$/;function Na(t){return`0x${BigInt(t).toString(16)}`}function hs(t){return t.startsWith("0x")||t.startsWith("0X")?t.slice(2):t}function ps(t,a=!1){if(typeof t=="string"){let o=hs(t).toLowerCase();if(ds.test(o))return a?`0x${o}`:o}throw Se(`"${String(t)}" is not a hexadecimal string`)}var hr=i(3601),ri=i(1591),_r=i(3599);let Zi=256;function Ms(t=11){if(!l||Zi+t>512){l="",Zi=0;for(let a=0;a<256;a++)l+=(256+256*Math.random()|0).toString(16).substring(1)}return l.substring(Zi,Zi+++t)}function ms(t){let{batch:a,chain:o,ccipRead:u,key:m="base",name:b="Base Client",type:j="base"}=t,_=t.experimental_blockTag??(typeof o?.experimental_preconfirmationTime=="number"?"pending":void 0),P=Math.min(Math.max(Math.floor((o?.blockTime??12e3)/2),500),4e3),C=t.pollingInterval??P,F=t.cacheTime??C,T=t.account?(0,_r.J)(t.account):void 0,{config:E,request:$,value:q}=t.transport({chain:o,pollingInterval:C}),ne={account:T,batch:a,cacheTime:F,ccipRead:u,chain:o,key:m,name:b,pollingInterval:C,request:$,transport:{...E,...q},type:j,uid:Ms(),..._?{experimental_blockTag:_}:{}};return Object.assign(ne,{extend:function ie(re){return pe=>{let ce=pe(re);for(let xe in ne)delete ce[xe];let he={...re,...ce};return Object.assign(he,{extend:ie(he)})}}(ne)})}var _n=i(7717),bn=i(9266),ei=i(3575),Ii=i(5925),Ht=i(5103),Mn=i(1236);function fs(t){if(!(t instanceof Ht.C))return!1;let a=t.walk(o=>o instanceof Mn.M);return a instanceof Mn.M&&(a.data?.errorName==="HttpError"||a.data?.errorName==="ResolverError"||a.data?.errorName==="ResolverNotContract"||a.data?.errorName==="ResolverNotFound"||a.data?.errorName==="ReverseAddressMismatch"||a.data?.errorName==="UnsupportedResolverProfile")}var Rs=i(9398),jn=i(2845),$r=i(904),Ur=i(1746),zn=i(8828);function yi(t){if(t.length!==66||t.indexOf("[")!==0||t.indexOf("]")!==65)return null;let a=`0x${t.slice(1,65)}`;return(0,zn.q)(a)?a:null}function Le(t){let a=new Uint8Array(32).fill(0);if(!t)return(0,Ne.My)(a);let o=t.split(".");for(let u=o.length-1;u>=0;u-=1){let m=yi(o[u]),b=m?(0,$r.ZJ)(m):(0,Ur.S)((0,$r.Af)(o[u]),"bytes");a=(0,Ur.S)((0,jn.xW)([a,b]),"bytes")}return(0,Ne.My)(a)}function Gt(t){let a=t.replace(/^\.|\.$/gm,"");if(a.length===0)return new Uint8Array(1);let o=new Uint8Array((0,$r.Af)(a).byteLength+2),u=0,m=a.split(".");for(let j=0;j255&&(_=(0,$r.Af)((b=function(P){let C=new Uint8Array(32).fill(0);return P?yi(P)||(0,Ur.S)((0,$r.Af)(P)):(0,Ne.My)(C)}(m[j]),`[${b.slice(2)}]`))),o[u]=_.length,o.set(_,u+1),u+=_.length+1}return o.byteLength!==u+1?o.slice(0,u+1):o}function da(t,a,o){let u=t[a.name];if(typeof u=="function")return u;let m=t[o];return typeof m=="function"?m:b=>a(t,b)}var Kr=i(4538),$n=i(1181);class yn extends Ht.C{constructor(a,{code:o,docsPath:u,metaMessages:m,name:b,shortMessage:j}){super(j,{cause:a,docsPath:u,metaMessages:m||a?.metaMessages,name:b||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=b||a.name,this.code=a instanceof $n.J8?a.code:o??-1}}class Sn extends yn{constructor(a,o){super(a,o),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=o.data}}class Ci extends yn{constructor(a){super(a,{code:Ci.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}}Object.defineProperty(Ci,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class Ei extends yn{constructor(a){super(a,{code:Ei.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}}Object.defineProperty(Ei,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class Oi extends yn{constructor(a,{method:o}={}){super(a,{code:Oi.code,name:"MethodNotFoundRpcError",shortMessage:`The method${o?` "${o}"`:""} does not exist / is not available.`})}}Object.defineProperty(Oi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class qi extends yn{constructor(a){super(a,{code:qi.code,name:"InvalidParamsRpcError",shortMessage:`Invalid parameters were provided to the RPC method. -Double check you have provided the correct parameters.`})}}Object.defineProperty(qi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class H extends yn{constructor(a){super(a,{code:H.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty(H,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class x extends yn{constructor(a){super(a,{code:x.code,name:"InvalidInputRpcError",shortMessage:`Missing or invalid parameters. -Double check you have provided the correct parameters.`})}}Object.defineProperty(x,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class U extends yn{constructor(a){super(a,{code:U.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(U,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class Z extends yn{constructor(a){super(a,{code:Z.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(Z,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class le extends yn{constructor(a){super(a,{code:le.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(le,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class ye extends yn{constructor(a,{method:o}={}){super(a,{code:ye.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${o?` "${o}"`:""} is not supported.`})}}Object.defineProperty(ye,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class Ie extends yn{constructor(a){super(a,{code:Ie.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(Ie,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class Je extends yn{constructor(a){super(a,{code:Je.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(Je,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class st extends Sn{constructor(a){super(a,{code:st.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(st,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class Ft extends Sn{constructor(a){super(a,{code:Ft.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(Ft,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class Yt extends Sn{constructor(a,{method:o}={}){super(a,{code:Yt.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${o?` " ${o}"`:""}.`})}}Object.defineProperty(Yt,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class Me extends Sn{constructor(a){super(a,{code:Me.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty(Me,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class Qa extends Sn{constructor(a){super(a,{code:Qa.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(Qa,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class nr extends Sn{constructor(a){super(a,{code:nr.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(nr,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class Mr extends Sn{constructor(a){super(a,{code:Mr.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(Mr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class Or extends Sn{constructor(a){super(a,{code:Or.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty(Or,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class Zn extends Sn{constructor(a){super(a,{code:Zn.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}}Object.defineProperty(Zn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});class un extends Sn{constructor(a){super(a,{code:un.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(un,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class mn extends Sn{constructor(a){super(a,{code:mn.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty(mn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class Kn extends Sn{constructor(a){super(a,{code:Kn.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}}Object.defineProperty(Kn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});class tn extends Sn{constructor(a){super(a,{code:tn.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(tn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class Pn extends yn{constructor(a){super(a,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}function yr(t,{abi:a,address:o,args:u,docsPath:m,functionName:b,sender:j}){let _=t instanceof Mn.$S?t:t instanceof Ht.C?t.walk(q=>"data"in q)||t.walk():{},{code:P,data:C,details:F,message:T,shortMessage:E}=_,$=t instanceof Kr.O?new Mn.rR({functionName:b}):[3,H.code].includes(P)&&(C||F||T||E)?new Mn.M({abi:a,data:typeof C=="object"?C.data:C,functionName:b,message:_ instanceof $n.J8?F:E??T}):t;return new Mn.bG($,{abi:a,args:u,contractAddress:o,docsPath:m,functionName:b,sender:j})}var Hn=i(18);async function Rr(t,a){let{abi:o,address:u,args:m,functionName:b,...j}=a,_=(0,Qt.p)({abi:o,args:m,functionName:b});try{let{data:P}=await da(t,Hn.T,"call")({...j,data:_,to:u});return(0,bn.e)({abi:o,args:m,functionName:b,data:P||"0x"})}catch(P){throw yr(P,{abi:o,address:u,args:m,docsPath:"/docs/contract/readContract",functionName:b})}}async function Br(t,a){let{blockNumber:o,blockTag:u,coinType:m,name:b,gatewayUrls:j,strict:_}=a,{chain:P}=t,C=(()=>{if(a.universalResolverAddress)return a.universalResolverAddress;if(!P)throw Error("client chain not configured. universalResolverAddress is required.");return(0,ei.M)({blockNumber:o,chain:P,contract:"ensUniversalResolver"})})(),F=P?.ensTlds;if(F&&!F.some(E=>b.endsWith(E)))return null;let T=m!=null?[Le(b),BigInt(m)]:[Le(b)];try{let E=(0,Qt.p)({abi:_n.Rm,functionName:"addr",args:T}),$={address:C,abi:_n.Ag,functionName:"resolveWithGateways",args:[(0,Ne.nj)(Gt(b)),E,j??[Rs.J]],blockNumber:o,blockTag:u},q=da(t,Rr,"readContract"),ne=await q($);if(ne[0]==="0x")return null;let ie=(0,bn.e)({abi:_n.Rm,args:T,functionName:"addr",data:ne[0]});return ie==="0x"||(0,Ii.B)(ie)==="0x00"?null:ie}catch(E){if(_)throw E;if(fs(E))return null;throw E}}class tr extends Ht.C{constructor({data:a}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(a)}`],name:"EnsAvatarInvalidMetadataError"})}}class Nr extends Ht.C{constructor({reason:a}){super(`ENS NFT avatar URI is invalid. ${a}`,{name:"EnsAvatarInvalidNftUriError"})}}class Ja extends Ht.C{constructor({uri:a}){super(`Unable to resolve ENS avatar URI "${a}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class Hr extends Ht.C{constructor({namespace:a}){super(`ENS NFT avatar namespace "${a}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}Ht.C;let An=/(?https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?\/)?(?ipfs\/|ipns\/)?(?[\w\-.]+)(?\/.*)?/,Yi=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?[\w\-.]+))?(?\/.*)?$/,sn=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,Vr=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function vn(t){try{let a=await fetch(t,{method:"HEAD"});return a.status===200?a.headers.get("content-type")?.startsWith("image/"):!1}catch(a){return typeof a=="object"&&a.response!==void 0||!Object.hasOwn(globalThis,"Image")?!1:new Promise(o=>{let u=new Image;u.onload=()=>{o(!0)},u.onerror=()=>{o(!1)},u.src=t})}}function dn(t,a){return t?t.endsWith("/")?t.slice(0,-1):t:a}function di({uri:t,gatewayUrls:a}){let o=sn.test(t);if(o)return{uri:t,isOnChain:!0,isEncoded:o};let u=dn(a?.ipfs,"https://ipfs.io"),m=dn(a?.arweave,"https://arweave.net"),b=t.match(An),{protocol:j,subpath:_,target:P,subtarget:C=""}=b?.groups||{},F=j==="ipns:/"||_==="ipns/",T=j==="ipfs:/"||_==="ipfs/"||Yi.test(t);if(t.startsWith("http")&&!F&&!T){let $=t;return a?.arweave&&($=t.replace(/https:\/\/arweave.net/g,a?.arweave)),{uri:$,isOnChain:!1,isEncoded:!1}}if((F||T)&&P)return{uri:`${u}/${F?"ipns":"ipfs"}/${P}${C}`,isOnChain:!1,isEncoded:!1};if(j==="ar:/"&&P)return{uri:`${m}/${P}${C||""}`,isOnChain:!1,isEncoded:!1};let E=t.replace(Vr,"");if(E.startsWith("u.json());return await Rn({gatewayUrls:t,uri:pa(o)})}catch{throw new Ja({uri:a})}}async function Rn({gatewayUrls:t,uri:a}){let{uri:o,isOnChain:u}=di({uri:a,gatewayUrls:t});if(u||await vn(o))return o;throw new Ja({uri:a})}async function hi(t,{nft:a}){if(a.namespace==="erc721")return Rr(t,{address:a.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(a.tokenID)]});if(a.namespace==="erc1155")return Rr(t,{address:a.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(a.tokenID)]});throw new Hr({namespace:a.namespace})}async function an(t,{gatewayUrls:a,record:o}){return/eip155:/i.test(o)?wn(t,{gatewayUrls:a,record:o}):Rn({uri:o,gatewayUrls:a})}async function wn(t,{gatewayUrls:a,record:o}){let u=function(P){let C=P;C.startsWith("did:nft:")&&(C=C.replace("did:nft:","").replace(/_/g,"/"));let[F,T,E]=C.split("/"),[$,q]=F.split(":"),[ne,ie]=T.split(":");if(!$||$.toLowerCase()!=="eip155")throw new Nr({reason:"Only EIP-155 supported"});if(!q)throw new Nr({reason:"Chain ID not found"});if(!ie)throw new Nr({reason:"Contract address not found"});if(!E)throw new Nr({reason:"Token ID not found"});if(!ne)throw new Nr({reason:"ERC namespace not found"});return{chainID:Number.parseInt(q,10),namespace:ne.toLowerCase(),contractAddress:ie,tokenID:E}}(o),{uri:m,isOnChain:b,isEncoded:j}=di({uri:await hi(t,{nft:u}),gatewayUrls:a});if(b&&(m.includes("data:application/json;base64,")||m.startsWith("{")))return Rn({uri:pa(JSON.parse(j?atob(m.replace("data:application/json;base64,","")):m)),gatewayUrls:a});let _=u.tokenID;return u.namespace==="erc1155"&&(_=_.replace("0x","").padStart(64,"0")),On({gatewayUrls:a,uri:m.replace(/(?:0x)?{id}/,_)})}async function ni(t,a){let{blockNumber:o,blockTag:u,key:m,name:b,gatewayUrls:j,strict:_}=a,{chain:P}=t,C=(()=>{if(a.universalResolverAddress)return a.universalResolverAddress;if(!P)throw Error("client chain not configured. universalResolverAddress is required.");return(0,ei.M)({blockNumber:o,chain:P,contract:"ensUniversalResolver"})})(),F=P?.ensTlds;if(F&&!F.some(T=>b.endsWith(T)))return null;try{let T={address:C,abi:_n.Ag,args:[(0,Ne.nj)(Gt(b)),(0,Qt.p)({abi:_n.SJ,functionName:"text",args:[Le(b),m]}),j??[Rs.J]],functionName:"resolveWithGateways",blockNumber:o,blockTag:u},E=da(t,Rr,"readContract"),$=await E(T);if($[0]==="0x")return null;let q=(0,bn.e)({abi:_n.SJ,functionName:"text",data:$[0]});return q===""?null:q}catch(T){if(_)throw T;if(fs(T))return null;throw T}}async function In(t,{blockNumber:a,blockTag:o,assetGatewayUrls:u,name:m,gatewayUrls:b,strict:j,universalResolverAddress:_}){let P=await da(t,ni,"getEnsText")({blockNumber:a,blockTag:o,key:"avatar",name:m,universalResolverAddress:_,gatewayUrls:b,strict:j});if(!P)return null;try{return await an(t,{record:P,gatewayUrls:u})}catch{return null}}async function qn(t,a){let{address:o,blockNumber:u,blockTag:m,coinType:b=60n,gatewayUrls:j,strict:_}=a,{chain:P}=t,C=(()=>{if(a.universalResolverAddress)return a.universalResolverAddress;if(!P)throw Error("client chain not configured. universalResolverAddress is required.");return(0,ei.M)({blockNumber:u,chain:P,contract:"ensUniversalResolver"})})();try{let F={address:C,abi:_n.oX,args:[o,b,j??[Rs.J]],functionName:"reverseWithGateways",blockNumber:u,blockTag:m},T=da(t,Rr,"readContract"),[E]=await T(F);return E||null}catch(F){if(_)throw F;if(fs(F))return null;throw F}}async function Nn(t,a){let{blockNumber:o,blockTag:u,name:m}=a,{chain:b}=t,j=(()=>{if(a.universalResolverAddress)return a.universalResolverAddress;if(!b)throw Error("client chain not configured. universalResolverAddress is required.");return(0,ei.M)({blockNumber:o,chain:b,contract:"ensUniversalResolver"})})(),_=b?.ensTlds;if(_&&!_.some(C=>m.endsWith(C)))throw Error(`${m} is not a valid ENS TLD (${_?.join(", ")}) for chain "${b.name}" (id: ${b.id}).`);let[P]=await da(t,Rr,"readContract")({address:j,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[(0,Ne.nj)(Gt(m))],blockNumber:o,blockTag:u});return P}var Tl=i(4074),qr=i(2487),Qi=i(1781),gs=i(2128);async function Lo(t,a){let{account:o=t.account,blockNumber:u,blockTag:m="latest",blobs:b,data:j,gas:_,gasPrice:P,maxFeePerBlobGas:C,maxFeePerGas:F,maxPriorityFeePerGas:T,to:E,value:$,...q}=a,ne=o?(0,_r.J)(o):void 0;try{(0,gs.c)(a);let ie=typeof u=="bigint"?(0,Ne.cK)(u):void 0,re=t.chain?.formatters?.transactionRequest?.format,pe=(re||Qi.Bv)({...(0,qr.o)(q,{format:re}),account:ne,blobs:b,data:j,gas:_,gasPrice:P,maxFeePerBlobGas:C,maxFeePerGas:F,maxPriorityFeePerGas:T,to:E,value:$},"createAccessList"),ce=await t.request({method:"eth_createAccessList",params:[pe,ie||m]});return{accessList:ce.accessList,gasUsed:BigInt(ce.gasUsed)}}catch(ie){throw(0,Tl.d)(ie,{...a,account:ne,chain:t.chain})}}function Ns(t,{method:a}){let o={};return t.transport.type==="fallback"&&t.transport.onResponse?.(({method:u,response:m,status:b,transport:j})=>{b==="success"&&a===u&&(o[m]=j.request)}),u=>o[u]||t.request}async function Bo(t){let a=Ns(t,{method:"eth_newBlockFilter"}),o=await t.request({method:"eth_newBlockFilter"});return{id:o,request:a(o),type:"block"}}class vu extends Ht.C{constructor(a){super(`Filter type "${a}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}var Do=i(4615),vi=i(5581),Ul=i(4805),Fo=i(7780);let Ml="/docs/contract/encodeEventTopics";function Ti(t){let{abi:a,eventName:o,args:u}=t,m=a[0];if(o){let P=(0,Fo.iY)({abi:a,name:o});if(!P)throw new Kr.M_(o,{docsPath:Ml});m=P}if(m.type!=="event")throw new Kr.M_(void 0,{docsPath:Ml});let b=(0,Ul.B)(m),j=(0,Do.h)(b),_=[];if(u&&"inputs"in m){let P=m.inputs?.filter(F=>"indexed"in F&&F.indexed),C=Array.isArray(u)?u:Object.values(u).length>0?P?.map(F=>u[F.name])??[]:[];C.length>0&&(_=P?.map((F,T)=>Array.isArray(C[T])?C[T].map((E,$)=>pi({param:F,value:C[T][$]})):C[T]!==void 0&&C[T]!==null?pi({param:F,value:C[T]}):null)??[])}return[j,..._]}function pi({param:t,value:a}){if(t.type==="string"||t.type==="bytes")return(0,Ur.S)((0,$r.ZJ)(a));if(t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/))throw new vu(t.type);return(0,vi.h)([t],[a])}async function Wo(t,a){let{address:o,abi:u,args:m,eventName:b,fromBlock:j,strict:_,toBlock:P}=a,C=Ns(t,{method:"eth_newFilter"}),F=b?Ti({abi:u,args:m,eventName:b}):void 0,T=await t.request({method:"eth_newFilter",params:[{address:o,fromBlock:typeof j=="bigint"?(0,Ne.cK)(j):j,toBlock:typeof P=="bigint"?(0,Ne.cK)(P):P,topics:F}]});return{abi:u,args:m,eventName:b,id:T,request:C(T),strict:!!_,type:"event"}}async function fn(t,{address:a,args:o,event:u,events:m,fromBlock:b,strict:j,toBlock:_}={}){let P=m??(u?[u]:void 0),C=Ns(t,{method:"eth_newFilter"}),F=[];P&&(F=[P.flatMap(E=>Ti({abi:[E],eventName:E.name,args:o}))],u&&(F=F[0]));let T=await t.request({method:"eth_newFilter",params:[{address:a,fromBlock:typeof b=="bigint"?(0,Ne.cK)(b):b,toBlock:typeof _=="bigint"?(0,Ne.cK)(_):_,...F.length?{topics:F}:{}}]});return{abi:P,args:o,eventName:u?u.name:void 0,fromBlock:b,id:T,request:C(T),strict:!!j,toBlock:_,type:"event"}}async function $o(t){let a=Ns(t,{method:"eth_newPendingTransactionFilter"}),o=await t.request({method:"eth_newPendingTransactionFilter"});return{id:o,request:a(o),type:"transaction"}}var wi=i(3211),Ui=i(4888);async function bs({hash:t,signature:a}){let o=(0,zn.q)(t)?t:(0,Ne.nj)(t),{secp256k1:u}=await Promise.resolve().then(i.bind(i,152));return`0x${(()=>{if(typeof a=="object"&&"r"in a&&"s"in a){let{r:_,s:P,v:C,yParity:F}=a,T=co(Number(F??C));return new u.Signature((0,hr.uU)(_),(0,hr.uU)(P)).addRecoveryBit(T)}let b=(0,zn.q)(a)?a:(0,Ne.nj)(a);if((0,Ui.E)(b)!==65)throw Error("invalid signature length");let j=co((0,hr.ME)(`0x${b.slice(130)}`));return u.Signature.fromCompact(b.substring(2,130)).addRecoveryBit(j)})().recoverPublicKey(o.substring(2)).toHex(!1)}`}function co(t){if(t===0||t===1)return t;if(t===27)return 0;if(t===28)return 1;throw Error("Invalid yParityOrV value")}async function Ls({hash:t,signature:a}){var o;let u;return o=await bs({hash:t,signature:a}),u=(0,Ur.S)(`0x${o.substring(4)}`).substring(26),(0,wi.o)(`0x${u}`)}var Rl=i(6808);function Nl(t){if(t<256)return 1;if(t<65536)return 2;if(t<16777216)return 3;if(t<4294967296)return 4;throw new Ht.C("Length is too large.")}async function uo(t){let{authorization:a,signature:o}=t;return Ls({hash:function(u){let{chainId:m,nonce:b,to:j}=u,_=u.contractAddress??u.address,P=(0,Ur.S)((0,jn.aP)(["0x05",function(C,F="hex"){let T=function $(q){var ne,ie;let re,pe,ce,he;return Array.isArray(q)?(pe=Nl(re=(ne=q.map(xe=>$(xe))).reduce((xe,Ee)=>xe+Ee.length,0)),{length:re<=55?1+re:1+pe+re,encode(xe){for(let{encode:Ee}of(re<=55?xe.pushByte(192+re):(xe.pushByte(247+pe),pe===1?xe.pushUint8(re):pe===2?xe.pushUint16(re):pe===3?xe.pushUint24(re):xe.pushUint32(re)),ne))Ee(xe)}}):(he=Nl((ce=typeof(ie=q)=="string"?(0,$r.aT)(ie):ie).length),{length:ce.length===1&&ce[0]<128?1:ce.length<=55?1+ce.length:1+he+ce.length,encode(xe){ce.length===1&&ce[0]<128||(ce.length<=55?xe.pushByte(128+ce.length):(xe.pushByte(183+he),he===1?xe.pushUint8(ce.length):he===2?xe.pushUint16(ce.length):he===3?xe.pushUint24(ce.length):xe.pushUint32(ce.length))),xe.pushBytes(ce)}})}(C),E=(0,Rl.l)(new Uint8Array(T.length));return T.encode(E),F==="hex"?(0,Ne.My)(E.bytes):E.bytes}([m?(0,Ne.cK)(m):"0x",_,b?(0,Ne.cK)(b):"0x"])]));return j==="bytes"?(0,$r.aT)(P):P}(a),signature:o??a})}var Ll=i(5510),Mi=i(2608),mi=i(8248);class Ko extends Ht.C{constructor(a,{account:o,docsPath:u,chain:m,data:b,gas:j,gasPrice:_,maxFeePerGas:P,maxPriorityFeePerGas:C,nonce:F,to:T,value:E}){let $=(0,mi.aO)({from:o?.address,to:T,value:E!==void 0&&`${(0,Ll.c)(E)} ${m?.nativeCurrency?.symbol||"ETH"}`,data:b,gas:j,gasPrice:_!==void 0&&`${(0,Mi.Q)(_)} gwei`,maxFeePerGas:P!==void 0&&`${(0,Mi.Q)(P)} gwei`,maxPriorityFeePerGas:C!==void 0&&`${(0,Mi.Q)(C)} gwei`,nonce:F});super(a.shortMessage,{cause:a,docsPath:u,metaMessages:[...a.metaMessages?[...a.metaMessages," "]:[],"Estimate Gas Arguments:",$].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=a}}var Ri=i(8670),ys=i(8606),kn=i(2077);class wu extends Ht.C{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class ho extends Ht.C{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class vs extends Ht.C{constructor({maxPriorityFeePerGas:a}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${(0,Mi.Q)(a)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class Bl extends Ht.C{constructor({blockHash:a,blockNumber:o}){let u="Block";a&&(u=`Block at hash "${a}"`),o&&(u=`Block at number "${o}"`),super(`${u} could not be found.`,{name:"BlockNotFoundError"})}}let Dl={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Fl(t,a){let o={...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,chainId:t.chainId?(0,hr.ME)(t.chainId):void 0,gas:t.gas?BigInt(t.gas):void 0,gasPrice:t.gasPrice?BigInt(t.gasPrice):void 0,maxFeePerBlobGas:t.maxFeePerBlobGas?BigInt(t.maxFeePerBlobGas):void 0,maxFeePerGas:t.maxFeePerGas?BigInt(t.maxFeePerGas):void 0,maxPriorityFeePerGas:t.maxPriorityFeePerGas?BigInt(t.maxPriorityFeePerGas):void 0,nonce:t.nonce?(0,hr.ME)(t.nonce):void 0,to:t.to?t.to:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,type:t.type?Dl[t.type]:void 0,typeHex:t.type?t.type:void 0,value:t.value?BigInt(t.value):void 0,v:t.v?BigInt(t.v):void 0};return t.authorizationList&&(o.authorizationList=t.authorizationList.map(u=>({address:u.address,chainId:Number(u.chainId),nonce:Number(u.nonce),r:u.r,s:u.s,yParity:Number(u.yParity)}))),o.yParity=(()=>{if(t.yParity)return Number(t.yParity);if(typeof o.v=="bigint"){if(o.v===0n||o.v===27n)return 0;if(o.v===1n||o.v===28n)return 1;if(o.v>=35n)return+(o.v%2n===0n)}})(),o.type==="legacy"&&(delete o.accessList,delete o.maxFeePerBlobGas,delete o.maxFeePerGas,delete o.maxPriorityFeePerGas,delete o.yParity),o.type==="eip2930"&&(delete o.maxFeePerBlobGas,delete o.maxFeePerGas,delete o.maxPriorityFeePerGas),o.type==="eip1559"&&delete o.maxFeePerBlobGas,o}function Ho(t,a){let o=(t.transactions??[]).map(u=>typeof u=="string"?u:Fl(u));return{...t,baseFeePerGas:t.baseFeePerGas?BigInt(t.baseFeePerGas):null,blobGasUsed:t.blobGasUsed?BigInt(t.blobGasUsed):void 0,difficulty:t.difficulty?BigInt(t.difficulty):void 0,excessBlobGas:t.excessBlobGas?BigInt(t.excessBlobGas):void 0,gasLimit:t.gasLimit?BigInt(t.gasLimit):void 0,gasUsed:t.gasUsed?BigInt(t.gasUsed):void 0,hash:t.hash?t.hash:null,logsBloom:t.logsBloom?t.logsBloom:null,nonce:t.nonce?t.nonce:null,number:t.number?BigInt(t.number):null,size:t.size?BigInt(t.size):void 0,timestamp:t.timestamp?BigInt(t.timestamp):void 0,transactions:o,totalDifficulty:t.totalDifficulty?BigInt(t.totalDifficulty):null}}async function ii(t,{blockHash:a,blockNumber:o,blockTag:u=t.experimental_blockTag??"latest",includeTransactions:m}={}){let b=m??!1,j=o!==void 0?(0,Ne.cK)(o):void 0,_=null;if(!(_=a?await t.request({method:"eth_getBlockByHash",params:[a,b]},{dedupe:!0}):await t.request({method:"eth_getBlockByNumber",params:[j||u,b]},{dedupe:!!j})))throw new Bl({blockHash:a,blockNumber:o});return(t.chain?.formatters?.block?.format||Ho)(_,"getBlock")}async function Dn(t){return BigInt(await t.request({method:"eth_gasPrice"}))}async function Wl(t,a){return $l(t,a)}async function $l(t,a){let{block:o,chain:u=t.chain,request:m}=a||{};try{let b=u?.fees?.maxPriorityFeePerGas??u?.fees?.defaultPriorityFee;if(typeof b=="function"){let _=o||await da(t,ii,"getBlock")({}),P=await b({block:_,client:t,request:m});if(P===null)throw Error();return P}if(b!==void 0)return b;let j=await t.request({method:"eth_maxPriorityFeePerGas"});return(0,hr.uU)(j)}catch{let[b,j]=await Promise.all([o?Promise.resolve(o):da(t,ii,"getBlock")({}),da(t,Dn,"getGasPrice")({})]);if(typeof b.baseFeePerGas!="bigint")throw new ho;let _=j-b.baseFeePerGas;return _<0n?0n:_}}async function Vo(t,a){return Xi(t,a)}async function Xi(t,a){let{block:o,chain:u=t.chain,request:m,type:b="eip1559"}=a||{},j=await(async()=>typeof u?.fees?.baseFeeMultiplier=="function"?u.fees.baseFeeMultiplier({block:o,client:t,request:m}):u?.fees?.baseFeeMultiplier??1.2)();if(j<1)throw new wu;let _=j.toString().split(".")[1]?.length??0,P=10**_,C=T=>T*BigInt(Math.ceil(j*P))/BigInt(P),F=o||await da(t,ii,"getBlock")({});if(typeof u?.fees?.estimateFeesPerGas=="function"){let T=await u.fees.estimateFeesPerGas({block:o,client:t,multiply:C,request:m,type:b});if(T!==null)return T}if(b==="eip1559"){if(typeof F.baseFeePerGas!="bigint")throw new ho;let T=typeof m?.maxPriorityFeePerGas=="bigint"?m.maxPriorityFeePerGas:await $l(t,{block:F,chain:u,request:m}),E=C(F.baseFeePerGas);return{maxFeePerGas:m?.maxFeePerGas??E+T,maxPriorityFeePerGas:T}}return{gasPrice:m?.gasPrice??C(await da(t,Dn,"getGasPrice")({}))}}async function es(t,{address:a,blockTag:o="latest",blockNumber:u}){let m=await t.request({method:"eth_getTransactionCount",params:[a,typeof u=="bigint"?(0,Ne.cK)(u):o]},{dedupe:!!u});return(0,hr.ME)(m)}function Kl(t){let{kzg:a}=t,o=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),u=typeof t.blobs[0]=="string"?t.blobs.map(b=>(0,$r.aT)(b)):t.blobs,m=[];for(let b of u)m.push(Uint8Array.from(a.blobToKzgCommitment(b)));return o==="bytes"?m:m.map(b=>(0,Ne.My)(b))}function Hl(t){let{kzg:a}=t,o=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),u=typeof t.blobs[0]=="string"?t.blobs.map(j=>(0,$r.aT)(j)):t.blobs,m=typeof t.commitments[0]=="string"?t.commitments.map(j=>(0,$r.aT)(j)):t.commitments,b=[];for(let j=0;j(0,Ne.My)(j))}var Vl=i(5013);class Ni extends Ht.C{constructor({maxSize:a,size:o}){super("Blob size is too large.",{metaMessages:[`Max: ${a} bytes`,`Given: ${o} bytes`],name:"BlobSizeTooLargeError"})}}class ws extends Ht.C{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}async function ti(t){let a=await t.request({method:"eth_chainId"},{dedupe:!0});return(0,hr.ME)(a)}Ht.C,Ht.C;let Go=["blobVersionedHashes","chainId","fees","gas","nonce","type"],ks=new Map;async function Jo(t,a){let o,u,{account:m=t.account,blobs:b,chain:j,gas:_,kzg:P,nonce:C,nonceManager:F,parameters:T=Go,type:E}=a,$=m&&(0,_r.J)(m),q={...a,...$?{from:$?.address}:{}};async function ne(){return o||(o=await da(t,ii,"getBlock")({blockTag:"latest"}))}async function ie(){return u||(j?j.id:a.chainId!==void 0?a.chainId:u=await da(t,ti,"getChainId")({}))}if(T.includes("nonce")&&C===void 0&&$)if(F){let re=await ie();q.nonce=await F.consume({address:$.address,chainId:re,client:t})}else q.nonce=await da(t,es,"getTransactionCount")({address:$.address,blockTag:"pending"});if((T.includes("blobVersionedHashes")||T.includes("sidecars"))&&b&&P){let re=Kl({blobs:b,kzg:P});if(T.includes("blobVersionedHashes")&&(q.blobVersionedHashes=function(pe){let{commitments:ce,version:he}=pe,xe=pe.to,Ee=[];for(let Be of ce)Ee.push(function(lt){let{commitment:Ot,version:Vt=1}=lt,_t=lt.to,Mt=(0,Vl.sc)((0,zn.q)(Ot,{strict:!1})?(0,$r.ZJ)(Ot):Ot);return Mt.set([Vt],0),_t==="bytes"?Mt:(0,Ne.My)(Mt)}({commitment:Be,to:xe,version:he}));return Ee}({commitments:re,to:"hex"})),T.includes("sidecars")){let pe=Hl({blobs:b,commitments:re,kzg:P});q.sidecars=function(ce){let{data:he,kzg:xe,to:Ee}=ce,Be=ce.blobs??function(_t){let Mt=typeof _t.data=="string"?(0,$r.aT)(_t.data):_t.data,Wt=(0,Ui.E)(Mt);if(!Wt)throw new ws;if(Wt>761855)throw new Ni({maxSize:761855,size:Wt});let wt=[],Rt=!0,aa=0;for(;Rt;){let za=(0,Rl.l)(new Uint8Array(131072)),We=0;for(;We<4096;){let yt=Mt.slice(aa,aa+31);if(za.pushByte(0),za.pushBytes(yt),yt.length<31){za.pushByte(128),Rt=!1;break}We++,aa+=31}wt.push(za)}return wt.map(za=>(0,Ne.My)(za.bytes))}({data:he}),lt=ce.commitments??Kl({blobs:Be,kzg:xe,to:Ee}),Ot=ce.proofs??Hl({blobs:Be,commitments:lt,kzg:xe,to:Ee}),Vt=[];for(let _t=0;_txe.to?xe.to:_&&_.length>0?await uo({authorization:_[0]}).catch(()=>{throw new Ht.C("`to` is required. Could not infer from `authorizationList`")}):void 0)();(0,gs.c)(a);let Ot=t.chain?.formatters?.transactionRequest?.format,Vt=(Ot||Qi.Bv)({...(0,qr.o)(xe,{format:Ot}),account:m,accessList:j,authorizationList:_,blobs:P,blobVersionedHashes:C,data:E,gas:$,gasPrice:q,maxFeePerBlobGas:ne,maxFeePerGas:ie,maxPriorityFeePerGas:re,nonce:pe,to:lt,value:ce},"estimateGas");return BigInt(await t.request({method:"eth_estimateGas",params:Be?[Vt,Ee??t.experimental_blockTag??"latest",Be]:Ee?[Vt,Ee]:[Vt]}))}catch(j){throw function(_,{docsPath:P,...C}){let F;return new Ko((F=(0,ys.l)(_,C))instanceof Ri.RM?_:F,{docsPath:P,...C})}(j,{...a,account:m,chain:t.chain})}}async function Li(t,a){let{abi:o,address:u,args:m,functionName:b,dataSuffix:j,..._}=a,P=(0,Qt.p)({abi:o,args:m,functionName:b});try{return await da(t,Zo,"estimateGas")({data:`${P}${j?j.replace("0x",""):""}`,to:u,..._})}catch(C){let F=_.account?(0,_r.J)(_.account):void 0;throw yr(C,{abi:o,address:u,args:m,docsPath:"/docs/contract/estimateContractGas",functionName:b,sender:F?.address})}}async function Yo(t,{address:a,blockNumber:o,blockTag:u=t.experimental_blockTag??"latest"}){let m=typeof o=="bigint"?(0,Ne.cK)(o):void 0;return BigInt(await t.request({method:"eth_getBalance",params:[a,m||u]}))}async function Gl(t){return BigInt(await t.request({method:"eth_blobBaseFee"}))}let Qo=new Map,ku=new Map;async function xu(t,{cacheKey:a,cacheTime:o=1/0}){let u,m,b,j=(m=(u=(C,F)=>({clear:()=>F.delete(C),get:()=>F.get(C),set:T=>F.set(C,T)}))(a,Qo),{clear:()=>{m.clear(),b.clear()},promise:m,response:b=u(a,ku)}),_=j.response.get();if(_&&o>0&&Date.now()-_.created.getTime()t.request({method:"eth_blockNumber"}),{cacheKey:(o=t.uid,`blockNumber.${o}`),cacheTime:a}))}async function Jl(t,{blockHash:a,blockNumber:o,blockTag:u="latest"}={}){let m,b=o!==void 0?(0,Ne.cK)(o):void 0;return m=a?await t.request({method:"eth_getBlockTransactionCountByHash",params:[a]},{dedupe:!0}):await t.request({method:"eth_getBlockTransactionCountByNumber",params:[b||u]},{dedupe:!!b}),(0,hr.ME)(m)}async function xs(t,{address:a,blockNumber:o,blockTag:u="latest"}){let m=o!==void 0?(0,Ne.cK)(o):void 0,b=await t.request({method:"eth_getCode",params:[a,m||u]},{dedupe:!!m});if(b!=="0x")return b}var Zl=i(5340);let Xo="/docs/contract/decodeEventLog";function Ds(t){let{abi:a,data:o,strict:u,topics:m}=t,b=u??!0,[j,..._]=m;if(!j)throw new Kr._z({docsPath:Xo});let P=a.find(ne=>ne.type==="event"&&j===(0,Do.h)((0,Ul.B)(ne)));if(!(P&&"name"in P)||P.type!=="event")throw new Kr.kE(j,{docsPath:Xo});let{name:C,inputs:F}=P,T=F?.some(ne=>!("name"in ne&&ne.name)),E=T?[]:{},$=F.map((ne,ie)=>[ne,ie]).filter(([ne])=>"indexed"in ne&&ne.indexed);for(let ne=0;ne<$.length;ne++){let[ie,re]=$[ne],pe=_[ne];if(!pe)throw new Kr.l3({abiItem:P,param:ie});E[T?re:ie.name||re]=function({param:ce,value:he}){return ce.type==="string"||ce.type==="bytes"||ce.type==="tuple"||ce.type.match(/^(.*)\[(\d+)?\]$/)?he:((0,La.n)([ce],he)||[])[0]}({param:ie,value:pe})}let q=F.filter(ne=>!("indexed"in ne&&ne.indexed));if(q.length>0){if(o&&o!=="0x")try{let ne=(0,La.n)(q,o);if(ne)if(T)for(let ie=0;ie0?E:void 0}}function ts(t){let{abi:a,args:o,logs:u,strict:m=!0}=t,b=(()=>{if(t.eventName)return Array.isArray(t.eventName)?t.eventName:[t.eventName]})();return u.map(j=>{try{let _=a.find(C=>C.type==="event"&&j.topics[0]===(0,Do.h)(C));if(!_)return null;let P=Ds({...j,abi:[_],strict:m});return b&&!b.includes(P.eventName)||!function(C){let{args:F,inputs:T,matchArgs:E}=C;if(!E)return!0;if(!F)return!1;function $(q,ne,ie){try{return q.type==="address"?(0,ri.h)(ne,ie):q.type==="string"||q.type==="bytes"?(0,Ur.S)((0,$r.ZJ)(ne))===ie:ne===ie}catch{return!1}}return Array.isArray(F)&&Array.isArray(E)?E.every((q,ne)=>{if(q==null)return!0;let ie=T[ne];return!!ie&&(Array.isArray(q)?q:[q]).some(re=>$(ie,re,F[ne]))}):!(typeof F!="object"||Array.isArray(F)||typeof E!="object"||Array.isArray(E))&&Object.entries(E).every(([q,ne])=>{if(ne==null)return!0;let ie=T.find(re=>re.name===q);return!!ie&&(Array.isArray(ne)?ne:[ne]).some(re=>$(ie,re,F[q]))})}({args:P.args,inputs:_.inputs,matchArgs:o})?null:{...P,...j}}catch(_){let P,C;if(_ instanceof Kr.kE)return null;if(_ instanceof Kr.fo||_ instanceof Kr.l3){if(m)return null;P=_.abiItem.name,C=_.abiItem.inputs?.some(F=>!("name"in F&&F.name))}return{...j,args:C?[]:{},eventName:P}}}).filter(Boolean)}function on(t,{args:a,eventName:o}={}){return{...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,logIndex:t.logIndex?Number(t.logIndex):null,transactionHash:t.transactionHash?t.transactionHash:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,...o?{args:a,eventName:o}:{}}}async function Fs(t,{address:a,blockHash:o,fromBlock:u,toBlock:m,event:b,events:j,args:_,strict:P}={}){let C=j??(b?[b]:void 0),F=[];C&&(F=[C.flatMap(E=>Ti({abi:[E],eventName:E.name,args:j?void 0:_}))],b&&(F=F[0]));let T=(o?await t.request({method:"eth_getLogs",params:[{address:a,topics:F,blockHash:o}]}):await t.request({method:"eth_getLogs",params:[{address:a,topics:F,fromBlock:typeof u=="bigint"?(0,Ne.cK)(u):u,toBlock:typeof m=="bigint"?(0,Ne.cK)(m):m}]})).map(E=>on(E));return C?ts({abi:C,args:_,logs:T,strict:P??!1}):T}async function el(t,a){let{abi:o,address:u,args:m,blockHash:b,eventName:j,fromBlock:_,toBlock:P,strict:C}=a,F=j?(0,Fo.iY)({abi:o,name:j}):void 0,T=F?void 0:o.filter(E=>E.type==="event");return da(t,Fs,"getLogs")({address:u,args:m,blockHash:b,event:F,events:T,fromBlock:_,toBlock:P,strict:C})}class tl extends Ht.C{constructor({address:a}){super(`No EIP-712 domain found on contract "${a}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${a}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function Yl(t,a){let{address:o,factory:u,factoryData:m}=a;try{let[b,j,_,P,C,F,T]=await da(t,Rr,"readContract")({abi:Ql,address:o,functionName:"eip712Domain",factory:u,factoryData:m});return{domain:{name:j,version:_,chainId:Number(P),verifyingContract:C,salt:F},extensions:T,fields:b}}catch(b){throw b.name==="ContractFunctionExecutionError"&&b.cause.name==="ContractFunctionZeroDataError"?new tl({address:o}):b}}let Ql=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];async function Xl(t,{blockCount:a,blockNumber:o,blockTag:u="latest",rewardPercentiles:m}){var b;let j=typeof o=="bigint"?(0,Ne.cK)(o):void 0;return{baseFeePerGas:(b=await t.request({method:"eth_feeHistory",params:[(0,Ne.cK)(a),j||u,m]},{dedupe:!!j})).baseFeePerGas.map(_=>BigInt(_)),gasUsedRatio:b.gasUsedRatio,oldestBlock:BigInt(b.oldestBlock),reward:b.reward?.map(_=>_.map(P=>BigInt(P)))}}async function ir(t,{filter:a}){let o="strict"in a&&a.strict,u=await a.request({method:"eth_getFilterChanges",params:[a.id]});if(typeof u[0]=="string")return u;let m=u.map(b=>on(b));return"abi"in a&&a.abi?ts({abi:a.abi,logs:m,strict:o}):m}async function ec(t,{filter:a}){let o=a.strict??!1,u=(await a.request({method:"eth_getFilterLogs",params:[a.id]})).map(m=>on(m));return a.abi?ts({abi:a.abi,logs:u,strict:o}):u}async function Xa(t,{address:a,blockNumber:o,blockTag:u,storageKeys:m}){let b=o!==void 0?(0,Ne.cK)(o):void 0;var j=await t.request({method:"eth_getProof",params:[a,m,b||(u??"latest")]});return{...j,balance:j.balance?BigInt(j.balance):void 0,nonce:j.nonce?(0,hr.ME)(j.nonce):void 0,storageProof:j.storageProof?j.storageProof.map(_=>({..._,value:BigInt(_.value)})):void 0}}async function _u(t,{address:a,blockNumber:o,blockTag:u="latest",slot:m}){let b=o!==void 0?(0,Ne.cK)(o):void 0;return await t.request({method:"eth_getStorageAt",params:[a,m,b||u]})}async function Bi(t,{blockHash:a,blockNumber:o,blockTag:u,hash:m,index:b}){let j=u||"latest",_=o!==void 0?(0,Ne.cK)(o):void 0,P=null;if(m?P=await t.request({method:"eth_getTransactionByHash",params:[m]},{dedupe:!0}):a?P=await t.request({method:"eth_getTransactionByBlockHashAndIndex",params:[a,(0,Ne.cK)(b)]},{dedupe:!0}):P=await t.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[_||j,(0,Ne.cK)(b)]},{dedupe:!!_}),!P)throw new mi.Kz({blockHash:a,blockNumber:o,blockTag:j,hash:m,index:b});return(t.chain?.formatters?.transaction?.format||Fl)(P,"getTransaction")}async function Sr(t,{hash:a,transactionReceipt:o}){let[u,m]=await Promise.all([da(t,Bs,"getBlockNumber")({}),a?da(t,Bi,"getTransaction")({hash:a}):void 0]),b=o?.blockNumber||m?.blockNumber;return b?u-b+1n:0n}let tc={"0x0":"reverted","0x1":"success"};function po(t,a){let o={...t,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,contractAddress:t.contractAddress?t.contractAddress:null,cumulativeGasUsed:t.cumulativeGasUsed?BigInt(t.cumulativeGasUsed):null,effectiveGasPrice:t.effectiveGasPrice?BigInt(t.effectiveGasPrice):null,gasUsed:t.gasUsed?BigInt(t.gasUsed):null,logs:t.logs?t.logs.map(u=>on(u)):null,to:t.to?t.to:null,transactionIndex:t.transactionIndex?(0,hr.ME)(t.transactionIndex):null,status:t.status?tc[t.status]:null,type:t.type?Dl[t.type]||t.type:null};return t.blobGasPrice&&(o.blobGasPrice=BigInt(t.blobGasPrice)),t.blobGasUsed&&(o.blobGasUsed=BigInt(t.blobGasUsed)),o}async function mo(t,{hash:a}){let o=await t.request({method:"eth_getTransactionReceipt",params:[a]},{dedupe:!0});if(!o)throw new mi.Kc({hash:a});return(t.chain?.formatters?.transactionReceipt?.format||po)(o,"getTransactionReceipt")}var fo=i(2891);async function ju(t,a){let{account:o,authorizationList:u,allowFailure:m=!0,blockNumber:b,blockOverrides:j,blockTag:_,stateOverride:P}=a,C=a.contracts,{batchSize:F=a.batchSize??1024,deployless:T=a.deployless??!1}=typeof t.batch?.multicall=="object"?t.batch.multicall:{},E=(()=>{if(a.multicallAddress)return a.multicallAddress;if(T)return null;if(t.chain)return(0,ei.M)({blockNumber:b,chain:t.chain,contract:"multicall3"});throw Error("client chain not configured. multicallAddress is required.")})(),$=[[]],q=0,ne=0;for(let pe=0;pe0&&ne>F&&$[q].length>0&&(q++,ne=(Be.length-2)/2,$[q]=[]),$[q]=[...$[q],{allowFailure:!0,callData:Be,target:he}]}catch(Be){let lt=yr(Be,{abi:ce,address:he,args:xe,docsPath:"/docs/contract/multicall",functionName:Ee,sender:o});if(!m)throw lt;$[q]=[...$[q],{allowFailure:!0,callData:"0x",target:he}]}}let ie=await Promise.allSettled($.map(pe=>da(t,Rr,"readContract")({...E===null?{code:fo.Ez}:{address:E},abi:_n.v2,account:o,args:[pe],authorizationList:u,blockNumber:b,blockOverrides:j,blockTag:_,functionName:"aggregate3",stateOverride:P}))),re=[];for(let pe=0;pe{let ne=q.account?(0,_r.J)(q.account):void 0,ie=q.abi?(0,Qt.p)(q):q.data,re={...q,account:ne,data:q.dataSuffix?(0,jn.xW)([ie||"0x",q.dataSuffix]):ie,from:q.from??ne?.address};return(0,gs.c)(re),(0,Qi.Bv)(re)}),$=F.stateOverrides?(0,kn.yH)(F.stateOverrides):void 0;P.push({blockOverrides:T,calls:E,stateOverrides:$})}let C=typeof o=="bigint"?(0,Ne.cK)(o):void 0;return(await t.request({method:"eth_simulateV1",params:[{blockStateCalls:P,returnFullTransactions:b,traceTransfers:j,validation:_},C||u]})).map((F,T)=>({...Ho(F),calls:F.calls.map((E,$)=>{let{abi:q,args:ne,functionName:ie,to:re}=m[T].calls[$],pe=E.error?.data??E.returnData,ce=BigInt(E.gasUsed),he=E.logs?.map(lt=>on(lt)),xe=E.status==="0x1"?"success":"failure",Ee=q&&xe==="success"&&pe!=="0x"?(0,bn.e)({abi:q,data:pe,functionName:ie}):null,Be=(()=>{let lt;if(xe!=="success"&&(E.error?.data==="0x"?lt=new Kr.O:E.error&&(lt=new Mn.$S(E.error)),lt))return yr(lt,{abi:q??[],address:re??"0x",args:ne,functionName:ie??""})})();return{data:pe,gasUsed:ce,logs:he,status:xe,...xe==="success"?{result:Ee}:{error:Be}}})}))}catch(P){let C=(0,ys.l)(P,{});throw C instanceof Ri.RM?P:C}}class Tn extends Error{constructor(a,o={}){let u=o.cause instanceof Tn?o.cause.details:o.cause?.message?o.cause.message:o.details,m=o.cause instanceof Tn&&o.cause.docsPath||o.docsPath;super([a||"An error occurred.","",...o.metaMessages?[...o.metaMessages,""]:[],...m?[`Docs: https://abitype.dev${m}`]:[],...u?[`Details: ${u}`]:[],"Version: abitype@1.1.1"].join(` -`)),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),o.cause&&(this.cause=o.cause),this.details=u,this.docsPath=m,this.metaMessages=o.metaMessages,this.shortMessage=a}}class al extends Tn{constructor({signature:a}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(a,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}}class bo extends Tn{constructor({type:a}){super("Unknown type.",{metaMessages:[`Type "${a}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}}class ac extends Tn{constructor({type:a}){super("Unknown type.",{metaMessages:[`Type "${a}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}function si(t,a){return t.exec(a)?.groups}let ki=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,rl=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,yo=/^\(.+?\).*?$/,xi=/^error (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)$/,nl=/^event (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)$/,Ws=/^function (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)(?: (?external|public{1}))?(?: (?pure|view|nonpayable|payable{1}))?(?: returns\s?\((?.*?)\))?$/,Fi=/^struct (?[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?.*?)\}$/;function vo(t){return Fi.test(t)}let rc=/^constructor\((?.*?)\)(?:\s(?payable{1}))?$/,nc=/^fallback\(\) external(?:\s(?payable{1}))?$/,wo=/^receive\(\) external payable$/,ko=new Set(["memory","indexed","storage","calldata"]),Wi=new Set(["indexed"]),_s=new Set(["calldata","memory","storage"]);class il extends Tn{constructor({params:a}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(a,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}}class zu extends Tn{constructor({param:a}){super("Invalid ABI parameter.",{details:a}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class Su extends Tn{constructor({param:a,name:o}){super("Invalid ABI parameter.",{details:a,metaMessages:[`"${o}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}}class sl extends Tn{constructor({param:a,type:o,modifier:u}){super("Invalid ABI parameter.",{details:a,metaMessages:[`Modifier "${u}" not allowed${o?` in "${o}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class ic extends Tn{constructor({param:a,type:o,modifier:u}){super("Invalid ABI parameter.",{details:a,metaMessages:[`Modifier "${u}" not allowed${o?` in "${o}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${u}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class sc extends Tn{constructor({abiParameter:a}){super("Invalid ABI parameter.",{details:JSON.stringify(a,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class as extends Tn{constructor({signature:a,type:o}){super(`Invalid ${o} signature.`,{details:a}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class Pu extends Tn{constructor({signature:a}){super("Unknown signature.",{details:a}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class oc extends Tn{constructor({signature:a}){super("Invalid struct signature.",{details:a,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class ol extends Tn{constructor({type:a}){super("Circular reference detected.",{metaMessages:[`Struct "${a}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class Au extends Tn{constructor({current:a,depth:o}){super("Unbalanced parentheses.",{metaMessages:[`"${a.trim()}" has too many ${o>0?"opening":"closing"} parentheses.`],details:`Depth "${o}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}let ll=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function js(t,a={}){if(Ws.test(t))return function(u,m={}){let b=si(Ws,u);if(!b)throw new as({signature:u,type:"function"});let j=Vn(b.parameters),_=[],P=j.length;for(let F=0;F[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?(?:\[\d*?\])+?)?(?:\s(?calldata|indexed|memory|storage{1}))?(?:\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Iu=/^\((?.+?)\)(?(?:\[\d*?\])+?)?(?:\s(?calldata|indexed|memory|storage{1}))?(?:\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Cu=/^u?int$/;function _i(t,a){var o,u;let m,b=function($,q,ne){let ie="";if(ne)for(let re of Object.entries(ne)){if(!re)continue;let pe="";for(let ce of re[1])pe+=`[${ce.type}${ce.name?`:${ce.name}`:""}]`;ie+=`(${re[0]}{${pe}})`}return q?`${q}:${$}${ie}`:$}(t,a?.type,a?.structs);if(ll.has(b))return ll.get(b);let j=yo.test(t),_=si(j?Iu:lc,t);if(!_)throw new zu({param:t});if(_.name&&((o=_.name)==="address"||o==="bool"||o==="function"||o==="string"||o==="tuple"||ki.test(o)||rl.test(o)||$s.test(o)))throw new Su({param:t,name:_.name});let P=_.name?{name:_.name}:{},C=_.modifier==="indexed"?{indexed:!0}:{},F=a?.structs??{},T={};if(j){m="tuple";let $=Vn(_.type),q=[],ne=$.length;for(let ie=0;ie[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\[\d*?\])+?)?$/,cl=/^tuple(?(\[(\d*)\])*)$/;function zs(t){let a="",o=t.length;for(let u=0;ua)throw new ot({givenSize:Ze(t),maxSize:a})}function A(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:void 0}function N(t,a={}){let{dir:o="left"}=a,u=t,m=0;for(let b=0;bthis.maxSize){let u=this.keys().next().value;u&&this.delete(u)}return this}}let xa={checksum:new va(8192)}.checksum,ja=/^0x[a-fA-F0-9]{40}$/;function _a(t,a={}){let{strict:o=!0}=a;if(!ja.test(t))throw new Ma({address:t,cause:new Oa});if(o){if(t.toLowerCase()===t)return;if(Za(t)!==t)throw new Ma({address:t,cause:new Ir})}}function Za(t){if(xa.has(t))return xa.get(t);_a(t,{strict:!1});let a=t.substring(2).toLowerCase(),o=Kt(function(b,j={}){let{size:_}=j,P=we.encode(b);return typeof _=="number"?(g(P,_),function(C,F={}){let{dir:T,size:E=32}=F;if(E===0)return C;if(C.length>E)throw new Et({size:C.length,targetSize:E,type:"Bytes"});let $=new Uint8Array(E);for(let q=0;q>1]>>4>=8&&u[b]&&(u[b]=u[b].toUpperCase()),(15&o[b>>1])>=8&&u[b+1]&&(u[b+1]=u[b+1].toUpperCase());let m=`0x${u.join("")}`;return xa.set(t,m),m}function ca(t,a={}){let{strict:o=!0}=a??{};try{return _a(t,{strict:o}),!0}catch{return!1}}class Ma extends w.C{constructor({address:a,cause:o}){super(`Address "${a}" is invalid.`,{cause:o}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class Oa extends w.C{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class Ir extends w.C{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}function En(t){let a=!0,o="",u=0,m="",b=!1;for(let j=0;jj?C.type==="function"||C.type==="error"?Fn(C)===n.di(a,0,4):C.type==="event"&&Wn(C)===a:"name"in C&&C.name===a);if(_.length===0)throw new hn({name:a});if(_.length===1)return{..._[0],...b?{hash:Wn(_[0])}:{}};for(let C of _)if("inputs"in C){if(!m||m.length===0){if(!C.inputs||C.inputs.length===0)return{...C,...b?{hash:Wn(C)}:{}};continue}if(C.inputs&&C.inputs.length!==0&&C.inputs.length===m.length&&m.every((F,T)=>{let E="inputs"in C&&C.inputs[T];return!!E&&function $(q,ne){let ie=typeof q,re=ne.type;switch(re){case"address":return ca(q,{strict:!1});case"bool":return ie==="boolean";case"function":case"string":return ie==="string";default:return re==="tuple"&&"components"in ne?Object.values(ne.components).every((pe,ce)=>$(Object.values(q)[ce],pe)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(re)?ie==="number"||ie==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(re)?ie==="string"||q instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(re)?Array.isArray(q)&&q.every(pe=>$(pe,{...ne,type:re.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}(F,E)})){if(u&&"inputs"in u&&u.inputs){let F=function T(E,$,q){for(let ne in E){let ie=E[ne],re=$[ne];if(ie.type==="tuple"&&re.type==="tuple"&&"components"in ie&&"components"in re)return T(ie.components,re.components,q[ne]);let pe=[ie.type,re.type];if(pe.includes("address")&&pe.includes("bytes20")||(pe.includes("address")&&pe.includes("string")||pe.includes("address")&&pe.includes("bytes"))&&ca(q[ne],{strict:!1}))return pe}}(C.inputs,u.inputs,m);if(F)throw new Ln({abiItem:C,type:F[0]},{abiItem:u,type:F[1]})}u=C}}let P=(()=>{if(u)return u;let[C,...F]=_;return{...C,overloads:F}})();if(!P)throw new hn({name:a});return{...P,...b?{hash:Wn(P)}:{}}}function Fn(...t){let a=(()=>{if(Array.isArray(t[0])){let[o,u]=t;return ji(o,u)}return t[0]})();return n.di(Wn(a),0,4)}function Wn(...t){let a=(()=>{if(Array.isArray(t[0])){let[o,u]=t;return ji(o,u)}return t[0]})();return typeof a!="string"&&"hash"in a&&a.hash?a.hash:Kt(n.sH(function(...o){let u=(()=>{if(Array.isArray(o[0])){let[m,b]=o;return ji(m,b)}return o[0]})();return En(typeof u=="string"?u:Cn(u))}(a)))}class Ln extends w.C{constructor(a,o){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${a.type}\` in \`${En(Cn(a.abiItem))}\`, and`,`\`${o.type}\` in \`${En(Cn(o.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class hn extends w.C{constructor({name:a,data:o,type:u="item"}){let m=a?` with name "${a}"`:o?` with data "${o}"`:"";super(`ABI ${u}${m} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}w.C;let Gn=/^(.*)\[([0-9]*)\]$/,Ks=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ss=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Hs=2n**256n-1n;function Eu(t){let a=0;for(let b=0;b=this.recursiveReadLimit)throw new Nf({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new Rf({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new gh({offset:t});let a=this.position-t;this.assertPosition(a),this.position=a},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new gh({offset:t});let a=this.position+t;this.assertPosition(a),this.position=a},inspectByte(t){let a=t??this.position;return this.assertPosition(a),this.bytes[a]},inspectBytes(t,a){let o=a??this.position;return this.assertPosition(o+t-1),this.bytes.subarray(o,o+t)},inspectUint8(t){let a=t??this.position;return this.assertPosition(a),this.bytes[a]},inspectUint16(t){let a=t??this.position;return this.assertPosition(a+1),this.dataView.getUint16(a)},inspectUint24(t){let a=t??this.position;return this.assertPosition(a+2),(this.dataView.getUint16(a)<<8)+this.dataView.getUint8(a+2)},inspectUint32(t){let a=t??this.position;return this.assertPosition(a+3),this.dataView.getUint32(a)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,255&t),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let t=this.inspectByte();return this.position++,t},readBytes(t,a){this.assertReadLimit(),this._touch();let o=this.inspectBytes(t);return this.position+=a??t,o},readUint8(){this.assertReadLimit(),this._touch();let t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();let t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();let t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();let t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){let a=this.position;return this.assertPosition(t),this.position=t,()=>this.position=a},_touch(){if(this.recursiveReadLimit===1/0)return;let t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}};class gh extends w.C{constructor({offset:a}){super(`Offset \`${a}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class Rf extends w.C{constructor({length:a,position:o}){super(`Position \`${o}\` is out of bounds (\`0 < position < ${a}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class Nf extends w.C{constructor({count:a,limit:o}){super(`Recursive read limit of \`${o}\` exceeded (recursive read count: \`${a}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function qu(t,a,o){let{checksumAddress:u=!1}={};if(t.length!==a.length)throw new vh({expectedLength:t.length,givenLength:a.length});let m=Eu(function({checksumAddress:b,parameters:j,values:_}){let P=[];for(let C=0;C0?n.xW(Mt,_t):Mt}}if(Ot)return{dynamic:!0,encoded:_t}}return{dynamic:!1,encoded:n.xW(...Vt.map(({encoded:_t})=>_t))}}($,{checksumAddress:T,length:re,parameter:{...E,type:pe}})}if(E.type==="tuple")return function(re,pe){let{checksumAddress:ce,parameter:he}=pe,xe=!1,Ee=[];for(let Be=0;BeBe))}}($,{checksumAddress:T,parameter:E});if(E.type==="address")return function(re,pe){let{checksum:ce=!1}=pe;return _a(re,{strict:ce}),{dynamic:!1,encoded:n.Ho(re.toLowerCase())}}($,{checksum:T});if(E.type==="bool"){var ne=$;if(typeof ne!="boolean")throw new w.C(`Invalid boolean value: "${ne}" (type: ${typeof ne}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:n.Ho(n.xb(ne))}}if(E.type.startsWith("uint")||E.type.startsWith("int")){let re=E.type.startsWith("int"),[,,pe="256"]=Ss.exec(E.type)??[];return function(ce,{signed:he,size:xe}){if(typeof xe=="number"){let Ee=2n**(BigInt(xe)-(he?1n:0n))-1n,Be=he?-Ee-1n:0n;if(ce>Ee||ce{if(Array.isArray(wt[0])){let[yt,tt]=wt;return[function(Nt){let Ue=Nt.find(ht=>ht.type==="constructor");if(!Ue)throw new hn({name:"constructor"});return Ue}(yt),tt]}return wt})(),{bytecode:za,args:We}=aa;return n.xW(za,Rt.inputs?.length&&We?.length?qu(Rt.inputs,We):"0x")}(fi("constructor(bytes, bytes)"),{bytecode:fo.LX,args:["0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033",function(...wt){let[Rt,aa=[]]=(()=>{if(Array.isArray(wt[0])){let[ht,kt,ut]=wt;return[wh(ht,kt,{args:ut}),ut]}let[Nt,Ue]=wt;return[Nt,Ue]})(),{overloads:za}=Rt,We=za?wh([Rt,...za],Rt.name,{args:aa}):Rt,yt=Fn(We),tt=aa.length>0?qu(We.inputs,aa):void 0;return tt?n.xW(yt,tt):yt}(_o("function getBalance(address)"),[C.address])]}):void 0,T=j?await Promise.all(a.calls.map(async wt=>{if(!wt.data&&!wt.abi)return;let{accessList:Rt}=await Lo(t,{account:C.address,...wt,data:wt.abi?(0,Qt.p)(wt):wt.data});return Rt.map(({address:aa,storageKeys:za})=>za.length>0?aa:null)})).then(wt=>wt.flat().filter(Boolean)):[],E=await go(t,{blockNumber:o,blockTag:u,blocks:[...j?[{calls:[{data:F}],stateOverrides:b},{calls:T.map((wt,Rt)=>({abi:[_o("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[C.address],to:wt,from:Ki,nonce:Rt})),stateOverrides:[{address:Ki,nonce:0}]}]:[],{calls:[...m,{}].map(wt=>({...wt,from:C?.address})),stateOverrides:b},...j?[{calls:[{data:F}]},{calls:T.map((wt,Rt)=>({abi:[_o("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[C.address],to:wt,from:Ki,nonce:Rt})),stateOverrides:[{address:Ki,nonce:0}]},{calls:T.map((wt,Rt)=>({to:wt,abi:[_o("function decimals() returns (uint256)")],functionName:"decimals",from:Ki,nonce:Rt})),stateOverrides:[{address:Ki,nonce:0}]},{calls:T.map((wt,Rt)=>({to:wt,abi:[_o("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:Ki,nonce:Rt})),stateOverrides:[{address:Ki,nonce:0}]},{calls:T.map((wt,Rt)=>({to:wt,abi:[_o("function symbol() returns (string)")],functionName:"symbol",from:Ki,nonce:Rt})),stateOverrides:[{address:Ki,nonce:0}]}]:[]],traceTransfers:_,validation:P}),$=j?E[2]:E[0],[q,ne,,ie,re,pe,ce,he]=j?E:[],{calls:xe,...Ee}=$,Be=xe.slice(0,-1)??[],lt=[...q?.calls??[],...ne?.calls??[]].map(wt=>wt.status==="success"?(0,hr.uU)(wt.data):null),Ot=[...ie?.calls??[],...re?.calls??[]].map(wt=>wt.status==="success"?(0,hr.uU)(wt.data):null),Vt=(pe?.calls??[]).map(wt=>wt.status==="success"?wt.result:null),_t=(he?.calls??[]).map(wt=>wt.status==="success"?wt.result:null),Mt=(ce?.calls??[]).map(wt=>wt.status==="success"?wt.result:null),Wt=[];for(let[wt,Rt]of Ot.entries()){let aa=lt[wt];if(typeof Rt!="bigint"||typeof aa!="bigint")continue;let za=Vt[wt-1],We=_t[wt-1],yt=Mt[wt-1],tt=wt===0?{address:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",decimals:18,symbol:"ETH"}:{address:T[wt-1],decimals:yt||za?Number(za??1):void 0,symbol:We??void 0};Wt.some(Nt=>Nt.token.address===tt.address)||Wt.push({token:tt,value:{pre:aa,post:Rt,diff:Rt-aa}})}return{assetChanges:Wt,block:Ee,results:Be}}async function $f(t,a){let{abi:o,address:u,args:m,dataSuffix:b,functionName:j,..._}=a,P=_.account?(0,_r.J)(_.account):t.account,C=(0,Qt.p)({abi:o,args:m,functionName:j});try{let{data:F}=await da(t,Hn.T,"call")({batch:!1,data:`${C}${b?b.replace("0x",""):""}`,to:u,..._,account:P}),T=(0,bn.e)({abi:o,args:m,functionName:j,data:F||"0x"}),E=o.filter($=>"name"in $&&$.name===a.functionName);return{result:T,request:{abi:E,address:u,args:m,dataSuffix:b,functionName:j,..._,account:P}}}catch(F){throw yr(F,{abi:o,address:u,args:m,docsPath:"/docs/contract/simulateContract",functionName:j,sender:P?.address})}}async function uc(t,{filter:a}){return a.request({method:"eth_uninstallFilter",params:[a.id]})}let kh="0x6492649264926492649264926492649264926492649264926492649264926492";class Kf extends w.C{constructor(a){super(`Value \`${a}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}function xh(t,a={}){let{recovered:o}=a;if(t.r===void 0||t.s===void 0||o&&t.yParity===void 0)throw new Vf({signature:t});if(t.r<0n||t.r>Hs)throw new Gf({value:t.r});if(t.s<0n||t.s>Hs)throw new Jf({value:t.s});if(typeof t.yParity=="number"&&t.yParity!==0&&t.yParity!==1)throw new Ru({value:t.yParity})}function _h(t){if(t.length!==130&&t.length!==132)throw new Hf({signature:t});let a=BigInt(n.di(t,0,32)),o=BigInt(n.di(t,32,64)),u=(()=>{let m=+`0x${t.slice(130)}`;if(!Number.isNaN(m))try{return Mu(m)}catch{throw new Ru({value:m})}})();return u===void 0?{r:a,s:o}:{r:a,s:o,yParity:u}}function Mu(t){if(t===0||t===27)return 0;if(t===1||t===28)return 1;if(t>=35)return+(t%2==0);throw new Zf({value:t})}class Hf extends w.C{constructor({signature:a}){super(`Value \`${a}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${n.Ej(n.HT(a))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class Vf extends w.C{constructor({signature:a}){super(`Signature \`${ge.A(a)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class Gf extends w.C{constructor({value:a}){super(`Value \`${a}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}}class Jf extends w.C{constructor({value:a}){super(`Value \`${a}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}}class Ru extends w.C{constructor({value:a}){super(`Value \`${a}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class Zf extends w.C{constructor({value:a}){super(`Value \`${a}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}let Yf=bh("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function jh(t){if(typeof t=="string"){if(n.di(t,-32)!=="0x8010801080108010801080108010801080108010801080108010801080108010")throw new Qf(t)}else xh(t.authorization)}class Qf extends w.C{constructor(a){super(`Value \`${a}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}}var Xf=i(9476);async function eg({address:t,authorization:a,signature:o}){return(0,ri.h)((0,wi.b)(t),await uo({authorization:a,signature:o}))}var zh=i(152);async function dc(t,a){let o,{address:u,hash:m,erc6492VerifierAddress:b=a.universalSignatureVerifierAddress??t.chain?.contracts?.erc6492Verifier?.address,multicallAddress:j=a.multicallAddress??t.chain?.contracts?.multicall3?.address}=a,_=(o=a.signature,(0,zn.q)(o)?o:typeof o=="object"&&"r"in o&&"s"in o?function({r:P,s:C,to:F="hex",v:T,yParity:E}){let $=(()=>{if(E===0||E===1)return E;if(T&&(T===27n||T===28n||T>=35n))return+(T%2n===0n);throw Error("Invalid `v` or `yParity` value")})(),q=`0x${new zh.secp256k1.Signature((0,hr.uU)(P),(0,hr.uU)(C)).toCompactHex()}${$===0?"1b":"1c"}`;return F==="hex"?q:(0,$r.aT)(q)}(o):(0,Ne.My)(o));try{return function(P){try{return jh(P),!0}catch{return!1}}(_)?await tg(t,{...a,multicallAddress:j,signature:_}):await ag(t,{...a,verifierAddress:b,signature:_})}catch(P){try{if((0,ri.h)((0,wi.b)(u),await Ls({hash:m,signature:_})))return!0}catch{}if(P instanceof Vs)return!1;throw P}}async function tg(t,a){let{address:o,blockNumber:u,blockTag:m,hash:b,multicallAddress:j}=a,{authorization:_,data:P,signature:C,to:F}=function(q){jh(q);let ne=n.Ro(n.di(q,-64,-32)),ie=n.di(q,-ne-64,-64),re=n.di(q,0,-ne-64),[pe,ce,he]=function(xe,Ee,Be={}){let{as:lt="Array",checksumAddress:Ot=!1}=Be,Vt=typeof Ee=="string"?ze(Ee):Ee,_t=function(wt,{recursiveReadLimit:Rt=8192}={}){let aa=Object.create(Mf);return aa.bytes=wt,aa.dataView=new DataView(wt.buffer,wt.byteOffset,wt.byteLength),aa.positionReadCount=new Map,aa.recursiveReadLimit=Rt,aa}(Vt);if(Ze(Vt)===0&&xe.length>0)throw new Bf;if(Ze(Vt)&&32>Ze(Vt))throw new Lf({data:typeof Ee=="string"?Ee:n.uK(Ee),parameters:xe,size:Ze(Vt)});let Mt=0,Wt=lt==="Array"?[]:{};for(let wt=0;wt!Fa),Pa=ka?[]:{},ra=0;if(ul(it)){let Fa=$t+$e(De.readBytes(32));for(let ar=0;ar1||qt[0]>1)throw new ft(qt);return!!qt[0]}(yt.readBytes(32),{size:32}),32];if(tt.type.startsWith("bytes"))return function(De,it,{staticPosition:dt}){let[qt,$t]=it.type.split("bytes");if(!$t){let ka=$e(De.readBytes(32));De.setPosition(dt+ka);let Pa=$e(De.readBytes(32));if(Pa===0)return De.setPosition(dt+32),["0x",32];let ra=De.readBytes(Pa);return De.setPosition(dt+32),[n.uK(ra),32]}return[n.uK(De.readBytes(Number.parseInt($t,10),32)),32]}(yt,tt,{staticPosition:ht});if(tt.type.startsWith("uint")||tt.type.startsWith("int")){var ut,zt;let De,it,dt;return ut=yt,De=(zt=tt).type.startsWith("int"),it=Number.parseInt(zt.type.split("int")[1]||"256",10),dt=ut.readBytes(32),[it>48?function(qt,$t={}){let{size:ka}=$t;ka!==void 0&&g(qt,ka);let Pa=n.uK(qt,$t);return n.Dg(Pa,$t)}(dt,{signed:De}):$e(dt,{signed:De}),32]}if(tt.type==="string")return function(De,{staticPosition:it}){let dt=$e(De.readBytes(32));De.setPosition(it+dt);let qt=$e(De.readBytes(32));if(qt===0)return De.setPosition(it+32),["",32];let $t=function(ka,Pa={}){let{size:ra}=Pa,Fa=ka;return ra!==void 0&&(g(Fa,ra),Fa=N(Fa,{dir:"right"})),de.decode(Fa)}(et(De.readBytes(qt,32)));return De.setPosition(it+32),[$t,32]}(yt,{staticPosition:ht});throw new Uu(tt.type)}(_t,Rt,{checksumAddress:Ot,staticPosition:0});Mt+=za,lt==="Array"?Wt.push(aa):Wt[Rt.name??wt]=aa}return Wt}(Yf,ie);return{authorization:function(xe,Ee={}){return typeof xe.chainId=="string"?function(Be){let{address:lt,chainId:Ot,nonce:Vt}=Be,_t=function(Mt){if(Mt.r!==void 0&&Mt.s!==void 0){var Wt;let wt;return Wt=Mt,xh(wt=(()=>{var Rt,aa;let za;return typeof Wt=="string"?_h(Wt):Wt instanceof Uint8Array?_h(n.uK(Wt)):typeof Wt.r=="string"?(Rt=Wt,za=(()=>{let We=Rt.v?Number(Rt.v):void 0,yt=Rt.yParity?Number(Rt.yParity):void 0;if(typeof We=="number"&&typeof yt!="number"&&(yt=Mu(We)),typeof yt!="number")throw new Ru({value:Rt.yParity});return yt})(),{r:BigInt(Rt.r),s:BigInt(Rt.s),yParity:za}):Wt.v?{r:(aa=Wt).r,s:aa.s,yParity:Mu(aa.v)}:{r:Wt.r,s:Wt.s,...Wt.yParity!==void 0?{yParity:Wt.yParity}:{}}})()),wt}}(Be);return{address:lt,chainId:Number(Ot),nonce:BigInt(Vt),..._t}}(xe):{...xe,...Ee.signature}}({address:pe.delegation,chainId:Number(pe.chainId),nonce:pe.nonce,yParity:pe.yParity,r:pe.r,s:pe.s}),signature:re,...he&&he!=="0x"?{data:he,to:ce}:{}}}(a.signature);if(await xs(t,{address:o,blockNumber:u,blockTag:m})===(0,jn.aP)(["0xef0100",_.address]))return await rg(t,{address:o,blockNumber:u,blockTag:m,hash:b,signature:C});let T={address:_.address,chainId:Number(_.chainId),nonce:Number(_.nonce),r:(0,Ne.cK)(_.r,{size:32}),s:(0,Ne.cK)(_.s,{size:32}),yParity:_.yParity};if(!await eg({address:o,authorization:T}))throw new Vs;let E=await da(t,Rr,"readContract")({...j?{address:j}:{code:fo.Ez},authorizationList:[T],abi:_n.v2,blockNumber:u,blockTag:"pending",functionName:"aggregate3",args:[[...P?[{allowFailure:!0,target:F??o,callData:P}]:[],{allowFailure:!0,target:o,callData:(0,Qt.p)({abi:_n.UW,functionName:"isValidSignature",args:[b,C]})}]]});if(E[E.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new Vs}async function ag(t,a){let{address:o,factory:u,factoryData:m,hash:b,signature:j,verifierAddress:_,...P}=a,C=await(async()=>!u&&!m||function(E){try{if(n.di(E,-32)!==kh)throw new Kf(E);return!0}catch{return!1}}(j)?j:function(E){let{data:$,signature:q,to:ne}=E;return n.xW(qu(bh("address, bytes, bytes"),[ne,$,q]),kh)}({data:m,signature:j,to:u}))(),F=_?{to:_,data:(0,Qt.p)({abi:_n.E5,functionName:"isValidSig",args:[o,b,C]}),...P}:{data:(0,Xf.m)({abi:_n.E5,args:[o,b,C],bytecode:fo.fT}),...P},{data:T}=await da(t,Hn.T,"call")(F).catch(E=>{throw E instanceof Mn.zX?new Vs:E});if((0,hr.Nx)(T??"0x0"))return!0;throw new Vs}async function rg(t,a){let{address:o,blockNumber:u,blockTag:m,hash:b,signature:j}=a;if((await da(t,Rr,"readContract")({address:o,abi:_n.UW,args:[b,j],blockNumber:u,blockTag:m,functionName:"isValidSignature"}).catch(_=>{throw _ instanceof Mn.bG?new Vs:_})).startsWith("0x1626ba7e"))return!0;throw new Vs}class Vs extends Error{}function hc(t,a){let o,u;return(0,Ur.S)((o=typeof t=="string"?(0,Ne.i3)(t):typeof t.raw=="string"?t.raw:(0,Ne.My)(t.raw),u=(0,Ne.i3)(`Ethereum Signed Message: -${(0,Ui.E)(o)}`),(0,jn.xW)([u,o])),a)}async function ng(t,{address:a,message:o,factory:u,factoryData:m,signature:b,...j}){return dc(t,{address:a,factory:u,factoryData:m,hash:hc(o),signature:b,...j})}var Sh=i(7064),Yn=i(385);class ig extends Ht.C{constructor({domain:a}){super(`Invalid domain "${(0,Yn.A)(a)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class sg extends Ht.C{constructor({primaryType:a,types:o}){super(`Invalid primary type \`${a}\` must be one of \`${JSON.stringify(Object.keys(o))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class og extends Ht.C{constructor({type:a}){super(`Struct type "${a}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}var Gs=i(5407),dl=i(4691);function hl(t){let{domain:a={},message:o,primaryType:u}=t,m={EIP712Domain:function({domain:j}){return[typeof j?.name=="string"&&{name:"name",type:"string"},j?.version&&{name:"version",type:"string"},(typeof j?.chainId=="number"||typeof j?.chainId=="bigint")&&{name:"chainId",type:"uint256"},j?.verifyingContract&&{name:"verifyingContract",type:"address"},j?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}({domain:a}),...t.types};(function(j){let{domain:_,message:P,primaryType:C,types:F}=j,T=(E,$)=>{for(let q of E){let{name:ne,type:ie}=q,re=$[ne],pe=ie.match(dl.Ge);if(pe&&(typeof re=="number"||typeof re=="bigint")){let[xe,Ee,Be]=pe;(0,Ne.cK)(re,{signed:Ee==="int",size:Number.parseInt(Be,10)/8})}if(ie==="address"&&typeof re=="string"&&!(0,Gs.P)(re))throw new Sh.M({address:re});let ce=ie.match(dl.BD);if(ce){let[xe,Ee]=ce;if(Ee&&(0,Ui.E)(re)!==Number.parseInt(Ee,10))throw new Kr.BI({expectedSize:Number.parseInt(Ee,10),givenSize:(0,Ui.E)(re)})}let he=F[ie];he&&(function(xe){if(xe==="address"||xe==="bool"||xe==="string"||xe.startsWith("bytes")||xe.startsWith("uint")||xe.startsWith("int"))throw new og({type:xe})}(ie),T(he,re))}};if(F.EIP712Domain&&_){if(typeof _!="object")throw new ig({domain:_});T(F.EIP712Domain,_)}if(C!=="EIP712Domain")if(F[C])T(F[C],P);else throw new sg({primaryType:C,types:F})})({domain:a,message:o,primaryType:u,types:m});let b=["0x1901"];return a&&b.push(function({domain:j,types:_}){return Ph({data:j,primaryType:"EIP712Domain",types:_})}({domain:a,types:m})),u!=="EIP712Domain"&&b.push(Ph({data:o,primaryType:u,types:m})),(0,Ur.S)((0,jn.xW)(b))}function Ph({data:t,primaryType:a,types:o}){let u=function m({data:b,primaryType:j,types:_}){let P=[{type:"bytes32"}],C=[function({primaryType:F,types:T}){let E=(0,Ne.nj)(function({primaryType:$,types:q}){let ne="",ie=function re({primaryType:pe,types:ce},he=new Set){let xe=pe.match(/^\w*/u),Ee=xe?.[0];if(he.has(Ee)||ce[Ee]===void 0)return he;for(let Be of(he.add(Ee),ce[Ee]))re({primaryType:Be.type,types:ce},he);return he}({primaryType:$,types:q});for(let re of(ie.delete($),[$,...Array.from(ie).sort()]))ne+=`${re}(${q[re].map(({name:pe,type:ce})=>`${ce} ${pe}`).join(",")})`;return ne}({primaryType:F,types:T}));return(0,Ur.S)(E)}({primaryType:j,types:_})];for(let F of _[j]){let[T,E]=function $({types:q,name:ne,type:ie,value:re}){if(q[ie]!==void 0)return[{type:"bytes32"},(0,Ur.S)(m({data:re,primaryType:ie,types:q}))];if(ie==="bytes")return re=`0x${(re.length%2?"0":"")+re.slice(2)}`,[{type:"bytes32"},(0,Ur.S)(re)];if(ie==="string")return[{type:"bytes32"},(0,Ur.S)((0,Ne.nj)(re))];if(ie.lastIndexOf("]")===ie.length-1){let pe=ie.slice(0,ie.lastIndexOf("[")),ce=re.map(he=>$({name:ne,type:pe,types:q,value:he}));return[{type:"bytes32"},(0,Ur.S)((0,vi.h)(ce.map(([he])=>he),ce.map(([,he])=>he)))]}return[{type:ie},re]}({types:_,name:F.name,type:F.type,value:b[F.name]});P.push(T),C.push(E)}return(0,vi.h)(P,C)}({data:t,primaryType:a,types:o});return(0,Ur.S)(u)}async function lg(t,a){let{address:o,factory:u,factoryData:m,signature:b,message:j,primaryType:_,types:P,domain:C,...F}=a;return dc(t,{address:o,factory:u,factoryData:m,hash:hl({message:j,primaryType:_,types:P,domain:C}),signature:b,...F})}let Nu=new Map,Ah=new Map,cg=0;function Hi(t,a,o){let u=++cg,m=()=>Nu.get(t)||[],b=()=>{let C,F=m();if(!F.some(E=>E.id===u))return;let T=Ah.get(t);if(F.length===1&&T){let E=T();E instanceof Promise&&E.catch(()=>{})}C=m(),Nu.set(t,C.filter(E=>E.id!==u))},j=m();if(Nu.set(t,[...j,{id:u,fns:a}]),j&&j.length>0)return b;let _={};for(let C in a)_[C]=(...F)=>{let T=m();if(T.length!==0)for(let E of T)E.fns[C]?.(...F)};let P=o(_);return typeof P=="function"&&Ah.set(t,P),b}var Ih=i(9693);async function Lu(t){return new Promise(a=>setTimeout(a,t))}function pc(t,{delay:a=100,retryCount:o=2,shouldRetry:u=()=>!0}={}){return new Promise((m,b)=>{let j=async({count:_=0}={})=>{let P=async({error:C})=>{let F=typeof a=="function"?a({count:_,error:C}):a;F&&await Lu(F),j({count:_+1})};try{let C=await t();m(C)}catch(C){if(_m=!1;return(async()=>{let j;a&&(j=await t({unpoll:b}));let _=await o?.(j)??u;await Lu(_);let P=async()=>{m&&(await t({unpoll:b}),await Lu(u),P())};P()})(),b}function Ch(t,{emitOnBegin:a=!1,emitMissed:o=!1,onBlockNumber:u,onError:m,poll:b,pollingInterval:j=t.pollingInterval}){let _;return(b!==void 0?b:t.transport.type!=="webSocket"&&t.transport.type!=="ipc"&&(t.transport.type!=="fallback"||t.transport.transports[0].config.type!=="webSocket"&&t.transport.transports[0].config.type!=="ipc"))?Hi((0,Yn.A)(["watchBlockNumber",t.uid,a,o,j]),{onBlockNumber:u,onError:m},P=>Js(async()=>{try{let C=await da(t,Bs,"getBlockNumber")({cacheTime:0});if(_!==void 0){if(C===_)return;if(C-_>1&&o)for(let F=_+1n;F_)&&(P.onBlockNumber(C,_),_=C)}catch(C){P.onError?.(C)}},{emitOnBegin:a,interval:j})):Hi((0,Yn.A)(["watchBlockNumber",t.uid,a,o]),{onBlockNumber:u,onError:m},P=>{let C=!0,F=()=>C=!1;return(async()=>{try{let T=(()=>{if(t.transport.type==="fallback"){let $=t.transport.transports.find(q=>q.config.type==="webSocket"||q.config.type==="ipc");return $?$.value:t.transport}return t.transport})(),{unsubscribe:E}=await T.subscribe({params:["newHeads"],onData($){if(!C)return;let q=(0,hr.uU)($.result?.number);P.onBlockNumber(q,_),_=q},onError($){P.onError?.($)}});F=E,C||F()}catch(T){m?.(T)}})(),()=>F()})}async function ug(t,a){let o,u,m,b,j,{checkReplacement:_=!0,confirmations:P=1,hash:C,onReplaced:F,retryCount:T=6,retryDelay:E=({count:xe})=>200*~~(1<{j?.(),b?.(),ce(new mi.WA({hash:C}))},$):void 0;return b=Hi(q,{onReplaced:F,resolve:pe,reject:ce},async xe=>{if((m=await da(t,mo,"getTransactionReceipt")({hash:C}).catch(()=>{}))&&P<=1){clearTimeout(he),xe.resolve(m),b?.();return}j=da(t,Ch,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:ne,async onBlockNumber(Ee){let Be=Ot=>{clearTimeout(he),j?.(),Ot(),b?.()},lt=Ee;if(!ie)try{if(m){if(P>1&&(!m.blockNumber||lt-m.blockNumber+1nxe.resolve(m));return}if(_&&!o&&(ie=!0,await pc(async()=>{(o=await da(t,Bi,"getTransaction")({hash:C})).blockNumber&&(lt=o.blockNumber)},{delay:E,retryCount:T}),ie=!1),m=await da(t,mo,"getTransactionReceipt")({hash:C}),P>1&&(!m.blockNumber||lt-m.blockNumber+1nxe.resolve(m))}catch(Ot){if(Ot instanceof mi.Kz||Ot instanceof mi.Kc){if(!o){ie=!1;return}try{u=o,ie=!0;let Vt=await pc(()=>da(t,ii,"getBlock")({blockNumber:lt,includeTransactions:!0}),{delay:E,retryCount:T,shouldRetry:({error:Wt})=>Wt instanceof Bl});ie=!1;let _t=Vt.transactions.find(({from:Wt,nonce:wt})=>Wt===u.from&&wt===u.nonce);if(!_t||(m=await da(t,mo,"getTransactionReceipt")({hash:_t.hash}),P>1&&(!m.blockNumber||lt-m.blockNumber+1n{xe.onReplaced?.({reason:Mt,replacedTransaction:u,transaction:_t,transactionReceipt:m}),xe.resolve(m)})}catch(Vt){Be(()=>xe.reject(Vt))}}else Be(()=>xe.reject(Ot))}}})}),re}let dg=/^(?:(?[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?
          0x[a-fA-F0-9]{40})\n\n(?:(?.*)\n\n)?/,hg=/(?:URI: (?.+))\n(?:Version: (?.+))\n(?:Chain ID: (?\d+))\n(?:Nonce: (?[a-zA-Z0-9]+))\n(?:Issued At: (?.+))(?:\nExpiration Time: (?.+))?(?:\nNot Before: (?.+))?(?:\nRequest ID: (?.+))?/;async function pg(t,a){let{address:o,domain:u,message:m,nonce:b,scheme:j,signature:_,time:P=new Date,...C}=a,F=function(E){let{scheme:$,statement:q,...ne}=E.match(dg)?.groups??{},{chainId:ie,expirationTime:re,issuedAt:pe,notBefore:ce,requestId:he,...xe}=E.match(hg)?.groups??{},Ee=E.split("Resources:")[1]?.split(` -- `).slice(1);return{...ne,...xe,...ie?{chainId:Number(ie)}:{},...re?{expirationTime:new Date(re)}:{},...pe?{issuedAt:new Date(pe)}:{},...ce?{notBefore:new Date(ce)}:{},...he?{requestId:he}:{},...Ee?{resources:Ee}:{},...$?{scheme:$}:{},...q?{statement:q}:{}}}(m);if(!F.address||!function(E){let{address:$,domain:q,message:ne,nonce:ie,scheme:re,time:pe=new Date}=E;if(q&&ne.domain!==q||ie&&ne.nonce!==ie||re&&ne.scheme!==re||ne.expirationTime&&pe>=ne.expirationTime||ne.notBefore&&pe(0,Hn.T)(t,a),createAccessList:a=>Lo(t,a),createBlockFilter:()=>Bo(t),createContractEventFilter:a=>Wo(t,a),createEventFilter:a=>fn(t,a),createPendingTransactionFilter:()=>$o(t),estimateContractGas:a=>Li(t,a),estimateGas:a=>Zo(t,a),getBalance:a=>Yo(t,a),getBlobBaseFee:()=>Gl(t),getBlock:a=>ii(t,a),getBlockNumber:a=>Bs(t,a),getBlockTransactionCount:a=>Jl(t,a),getBytecode:a=>xs(t,a),getChainId:()=>ti(t),getCode:a=>xs(t,a),getContractEvents:a=>el(t,a),getEip712Domain:a=>Yl(t,a),getEnsAddress:a=>Br(t,a),getEnsAvatar:a=>In(t,a),getEnsName:a=>qn(t,a),getEnsResolver:a=>Nn(t,a),getEnsText:a=>ni(t,a),getFeeHistory:a=>Xl(t,a),estimateFeesPerGas:a=>Vo(t,a),getFilterChanges:a=>ir(t,a),getFilterLogs:a=>ec(t,a),getGasPrice:()=>Dn(t),getLogs:a=>Fs(t,a),getProof:a=>Xa(t,a),estimateMaxPriorityFeePerGas:a=>Wl(t,a),getStorageAt:a=>_u(t,a),getTransaction:a=>Bi(t,a),getTransactionConfirmations:a=>Sr(t,a),getTransactionCount:a=>es(t,a),getTransactionReceipt:a=>mo(t,a),multicall:a=>ju(t,a),prepareTransactionRequest:a=>Jo(t,a),readContract:a=>Rr(t,a),sendRawTransaction:a=>mg(t,a),sendRawTransactionSync:a=>fg(t,a),simulate:a=>go(t,a),simulateBlocks:a=>go(t,a),simulateCalls:a=>Wf(t,a),simulateContract:a=>$f(t,a),verifyHash:a=>dc(t,a),verifyMessage:a=>ng(t,a),verifySiweMessage:a=>pg(t,a),verifyTypedData:a=>lg(t,a),uninstallFilter:a=>uc(t,a),waitForTransactionReceipt:a=>ug(t,a),watchBlocks:a=>function(o,{blockTag:u=o.experimental_blockTag??"latest",emitMissed:m=!1,emitOnBegin:b=!1,onBlock:j,onError:_,includeTransactions:P,poll:C,pollingInterval:F=o.pollingInterval}){let T,E,$,q,ne=C!==void 0?C:o.transport.type!=="webSocket"&&o.transport.type!=="ipc"&&(o.transport.type!=="fallback"||o.transport.transports[0].config.type!=="webSocket"&&o.transport.transports[0].config.type!=="ipc"),ie=P??!1;return ne?Hi((0,Yn.A)(["watchBlocks",o.uid,u,m,b,ie,F]),{onBlock:j,onError:_},re=>Js(async()=>{try{let pe=await da(o,ii,"getBlock")({blockTag:u,includeTransactions:ie});if(pe.number!==null&&T?.number!=null){if(pe.number===T.number)return;if(pe.number-T.number>1&&m)for(let ce=T?.number+1n;ceT.number)&&(re.onBlock(pe,T),T=pe)}catch(pe){re.onError?.(pe)}},{emitOnBegin:b,interval:F})):(E=!0,$=!0,q=()=>E=!1,(async()=>{try{b&&da(o,ii,"getBlock")({blockTag:u,includeTransactions:ie}).then(ce=>{!E||$&&(j(ce,void 0),$=!1)}).catch(_);let re=(()=>{if(o.transport.type==="fallback"){let ce=o.transport.transports.find(he=>he.config.type==="webSocket"||he.config.type==="ipc");return ce?ce.value:o.transport}return o.transport})(),{unsubscribe:pe}=await re.subscribe({params:["newHeads"],async onData(ce){if(!E)return;let he=await da(o,ii,"getBlock")({blockNumber:ce.result?.number,includeTransactions:ie}).catch(()=>{});E&&(j(he,T),$=!1,T=he)},onError(ce){_?.(ce)}});q=pe,E||q()}catch(re){_?.(re)}})(),()=>q())}(t,a),watchBlockNumber:a=>Ch(t,a),watchContractEvent:a=>function(o,u){let m,b,j,_,{abi:P,address:C,args:F,batch:T=!0,eventName:E,fromBlock:$,onError:q,onLogs:ne,poll:ie,pollingInterval:re=o.pollingInterval,strict:pe}=u;return(ie!==void 0?ie:typeof $=="bigint"||o.transport.type!=="webSocket"&&o.transport.type!=="ipc"&&(o.transport.type!=="fallback"||o.transport.transports[0].config.type!=="webSocket"&&o.transport.transports[0].config.type!=="ipc"))?(m=pe??!1,Hi((0,Yn.A)(["watchContractEvent",C,F,T,o.uid,E,re,m,$]),{onLogs:ne,onError:q},ce=>{let he,xe;$!==void 0&&(he=$-1n);let Ee=!1,Be=Js(async()=>{if(!Ee){try{xe=await da(o,Wo,"createContractEventFilter")({abi:P,address:C,args:F,eventName:E,strict:m,fromBlock:$})}catch{}Ee=!0;return}try{let lt;if(xe)lt=await da(o,ir,"getFilterChanges")({filter:xe});else{let Ot=await da(o,Bs,"getBlockNumber")({});lt=he&&he{xe&&await da(o,uc,"uninstallFilter")({filter:xe}),Be()}})):(b=(0,Yn.A)(["watchContractEvent",C,F,T,o.uid,E,re,pe??!1]),j=!0,_=()=>j=!1,Hi(b,{onLogs:ne,onError:q},ce=>((async()=>{try{let he=(()=>{if(o.transport.type==="fallback"){let Be=o.transport.transports.find(lt=>lt.config.type==="webSocket"||lt.config.type==="ipc");return Be?Be.value:o.transport}return o.transport})(),xe=E?Ti({abi:P,eventName:E,args:F}):[],{unsubscribe:Ee}=await he.subscribe({params:["logs",{address:C,topics:xe}],onData(Be){if(!j)return;let lt=Be.result;try{let{eventName:Ot,args:Vt}=Ds({abi:P,data:lt.data,topics:lt.topics,strict:pe}),_t=on(lt,{args:Vt,eventName:Ot});ce.onLogs([_t])}catch(Ot){let Vt,_t;if(Ot instanceof Kr.fo||Ot instanceof Kr.l3){if(pe)return;Vt=Ot.abiItem.name,_t=Ot.abiItem.inputs?.some(Wt=>!("name"in Wt&&Wt.name))}let Mt=on(lt,{args:_t?[]:{},eventName:Vt});ce.onLogs([Mt])}},onError(Be){ce.onError?.(Be)}});_=Ee,j||_()}catch(he){q?.(he)}})(),()=>_())))}(t,a),watchEvent:a=>function(o,{address:u,args:m,batch:b=!0,event:j,events:_,fromBlock:P,onError:C,onLogs:F,poll:T,pollingInterval:E=o.pollingInterval,strict:$}){let q,ne,ie=T!==void 0?T:typeof P=="bigint"||o.transport.type!=="webSocket"&&o.transport.type!=="ipc"&&(o.transport.type!=="fallback"||o.transport.transports[0].config.type!=="webSocket"&&o.transport.transports[0].config.type!=="ipc"),re=$??!1;return ie?Hi((0,Yn.A)(["watchEvent",u,m,b,o.uid,j,E,P]),{onLogs:F,onError:C},pe=>{let ce,he;P!==void 0&&(ce=P-1n);let xe=!1,Ee=Js(async()=>{if(!xe){try{he=await da(o,fn,"createEventFilter")({address:u,args:m,event:j,events:_,strict:re,fromBlock:P})}catch{}xe=!0;return}try{let Be;if(he)Be=await da(o,ir,"getFilterChanges")({filter:he});else{let lt=await da(o,Bs,"getBlockNumber")({});Be=ce&&ce!==lt?await da(o,Fs,"getLogs")({address:u,args:m,event:j,events:_,fromBlock:ce+1n,toBlock:lt}):[],ce=lt}if(Be.length===0)return;if(b)pe.onLogs(Be);else for(let lt of Be)pe.onLogs([lt])}catch(Be){he&&Be instanceof x&&(xe=!1),pe.onError?.(Be)}},{emitOnBegin:!0,interval:E});return async()=>{he&&await da(o,uc,"uninstallFilter")({filter:he}),Ee()}}):(q=!0,ne=()=>q=!1,(async()=>{try{let pe=(()=>{if(o.transport.type==="fallback"){let Ee=o.transport.transports.find(Be=>Be.config.type==="webSocket"||Be.config.type==="ipc");return Ee?Ee.value:o.transport}return o.transport})(),ce=_??(j?[j]:void 0),he=[];ce&&(he=[ce.flatMap(Ee=>Ti({abi:[Ee],eventName:Ee.name,args:m}))],j&&(he=he[0]));let{unsubscribe:xe}=await pe.subscribe({params:["logs",{address:u,topics:he}],onData(Ee){if(!q)return;let Be=Ee.result;try{let{eventName:lt,args:Ot}=Ds({abi:ce??[],data:Be.data,topics:Be.topics,strict:re}),Vt=on(Be,{args:Ot,eventName:lt});F([Vt])}catch(lt){let Ot,Vt;if(lt instanceof Kr.fo||lt instanceof Kr.l3){if($)return;Ot=lt.abiItem.name,Vt=lt.abiItem.inputs?.some(Mt=>!("name"in Mt&&Mt.name))}let _t=on(Be,{args:Vt?[]:{},eventName:Ot});F([_t])}},onError(Ee){C?.(Ee)}});ne=xe,q||ne()}catch(pe){C?.(pe)}})(),()=>ne())}(t,a),watchPendingTransactions:a=>function(o,{batch:u=!0,onError:m,onTransactions:b,poll:j,pollingInterval:_=o.pollingInterval}){let P,C;return(j!==void 0?j:o.transport.type!=="webSocket"&&o.transport.type!=="ipc")?Hi((0,Yn.A)(["watchPendingTransactions",o.uid,u,_]),{onTransactions:b,onError:m},F=>{let T,E=Js(async()=>{try{if(!T)try{T=await da(o,$o,"createPendingTransactionFilter")({});return}catch(q){throw E(),q}let $=await da(o,ir,"getFilterChanges")({filter:T});if($.length===0)return;if(u)F.onTransactions($);else for(let q of $)F.onTransactions([q])}catch($){F.onError?.($)}},{emitOnBegin:!0,interval:_});return async()=>{T&&await da(o,uc,"uninstallFilter")({filter:T}),E()}}):(P=!0,C=()=>P=!1,(async()=>{try{let{unsubscribe:F}=await o.transport.subscribe({params:["newPendingTransactions"],onData(T){if(!P)return;let E=T.result;b([E])},onError(T){m?.(T)}});C=F,P||C()}catch(F){m?.(F)}})(),()=>C())}(t,a)}}class bg extends Ht.C{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}var yg=i(6189);let Eh={current:0,take(){return this.current++},reset(){this.current=0}};var Oh=i(9081);let mc=new Oh.A(8192);function qh(t,a={}){let{batch:o,fetchFn:u,fetchOptions:m,key:b="http",methods:j,name:_="HTTP JSON-RPC",onFetchRequest:P,onFetchResponse:C,retryDelay:F,raw:T}=a;return({chain:E,retryCount:$,timeout:q})=>{let{batchSize:ne=1e3,wait:ie=0}=typeof o=="object"?o:{},re=a.retryCount??$,pe=q??a.timeout??1e4,ce=t||E?.rpcUrls.default.http[0];if(!ce)throw new bg;let he=function(xe,Ee={}){return{async request(Be){let{body:lt,fetchFn:Ot=Ee.fetchFn??fetch,onRequest:Vt=Ee.onRequest,onResponse:_t=Ee.onResponse,timeout:Mt=Ee.timeout??1e4}=Be,Wt={...Ee.fetchOptions??{},...Be.fetchOptions??{}},{headers:wt,method:Rt,signal:aa}=Wt;try{let za,We=await function(yt,{errorInstance:tt=Error("timed out"),timeout:Nt,signal:Ue}){return new Promise((ht,kt)=>{(async()=>{let ut;try{let zt=new AbortController;Nt>0&&(ut=setTimeout(()=>{Ue?zt.abort():kt(tt)},Nt)),ht(await yt({signal:zt?.signal||null}))}catch(zt){zt?.name==="AbortError"&&kt(tt),kt(zt)}finally{clearTimeout(ut)}})()})}(async({signal:yt})=>{let tt={...Wt,body:Array.isArray(lt)?(0,Yn.A)(lt.map(ht=>({jsonrpc:"2.0",id:ht.id??Eh.take(),...ht}))):(0,Yn.A)({jsonrpc:"2.0",id:lt.id??Eh.take(),...lt}),headers:{"Content-Type":"application/json",...wt},method:Rt||"POST",signal:aa||(Mt>0?yt:null)},Nt=new Request(xe,tt),Ue=await Vt?.(Nt,tt)??{...tt,url:xe};return await Ot(Ue.url??xe,Ue)},{errorInstance:new $n.MU({body:lt,url:xe}),timeout:Mt,signal:!0});if(_t&&await _t(We),We.headers.get("Content-Type")?.startsWith("application/json"))za=await We.json();else{za=await We.text();try{za=JSON.parse(za||"{}")}catch(yt){if(We.ok)throw yt;za={error:za}}}if(!We.ok)throw new $n.Ci({body:lt,details:(0,Yn.A)(za.error)||We.statusText,headers:We.headers,status:We.status,url:xe});return za}catch(za){throw za instanceof $n.Ci||za instanceof $n.MU?za:new $n.Ci({body:lt,cause:za,url:xe})}}}}(ce,{fetchFn:u,fetchOptions:m,onRequest:P,onResponse:C,timeout:pe});return function({key:xe,methods:Ee,name:Be,request:lt,retryCount:Ot=3,retryDelay:Vt=150,timeout:_t,type:Mt},Wt){return{config:{key:xe,methods:Ee,name:Be,request:lt,retryCount:Ot,retryDelay:Vt,timeout:_t,type:Mt},request:function(wt,Rt={}){return async(aa,za={})=>{let{dedupe:We=!1,methods:yt,retryDelay:tt=150,retryCount:Nt=3,uid:Ue}={...Rt,...za},{method:ht}=aa;if(yt?.exclude?.includes(ht)||yt?.include&&!yt.include.includes(ht))throw new ye(Error("method not supported"),{method:ht});let kt=We?(0,Ne.i3)(`${Ue}.${(0,Yn.A)(aa)}`):void 0;return function(ut,{enabled:zt=!0,id:De}){if(!zt||!De)return ut();if(mc.get(De))return mc.get(De);let it=ut().finally(()=>mc.delete(De));return mc.set(De,it),it}(()=>pc(async()=>{try{return await wt(aa)}catch(ut){switch(ut.code){case Ci.code:throw new Ci(ut);case Ei.code:throw new Ei(ut);case Oi.code:throw new Oi(ut,{method:aa.method});case qi.code:throw new qi(ut);case H.code:throw new H(ut);case x.code:throw new x(ut);case U.code:throw new U(ut);case Z.code:throw new Z(ut);case le.code:throw new le(ut);case ye.code:throw new ye(ut,{method:aa.method});case Ie.code:throw new Ie(ut);case Je.code:throw new Je(ut);case st.code:throw new st(ut);case Ft.code:throw new Ft(ut);case Yt.code:throw new Yt(ut);case Me.code:throw new Me(ut);case Qa.code:throw new Qa(ut);case nr.code:throw new nr(ut);case Mr.code:throw new Mr(ut);case Or.code:throw new Or(ut);case Zn.code:throw new Zn(ut);case un.code:throw new un(ut);case mn.code:throw new mn(ut);case Kn.code:throw new Kn(ut);case tn.code:throw new tn(ut);case 5e3:throw new st(ut);default:throw ut instanceof Ht.C?ut:new Pn(ut)}}},{delay:({count:ut,error:zt})=>{if(zt&&zt instanceof $n.Ci){let De=zt?.headers?.get("Retry-After");if(De?.match(/\d/))return 1e3*Number.parseInt(De,10)}return~~(1<{var zt;return"code"in(zt=ut)&&typeof zt.code=="number"?zt.code===-1||zt.code===Ie.code||zt.code===H.code:!(zt instanceof $n.Ci)||!zt.status||zt.status===403||zt.status===408||zt.status===413||zt.status===429||zt.status===500||zt.status===502||zt.status===503||zt.status===504||!1}}),{enabled:We,id:kt})}}(lt,{methods:Ee,retryCount:Ot,retryDelay:Vt,uid:Ms()}),value:Wt}}({key:b,methods:j,name:_,async request({method:xe,params:Ee}){let Be={method:xe,params:Ee},{schedule:lt}=(0,yg.u)({id:ce,wait:ie,shouldSplitBatch:Mt=>Mt.length>ne,fn:Mt=>he.request({body:Mt}),sort:(Mt,Wt)=>Mt.id-Wt.id}),Ot=async Mt=>o?lt(Mt):[await he.request({body:Mt})],[{error:Vt,result:_t}]=await Ot(Be);if(T)return{error:Vt,result:_t};if(Vt)throw new $n.J8({body:Be,error:Vt,url:ce});return _t},retryCount:re,retryDelay:F,timeout:pe,type:"http"},{fetchOptions:m,url:ce})}}class fc extends Ht.C{constructor({docsPath:a}={}){super("Could not find an Account to execute with this Action.\nPlease provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.",{docsPath:a,docsSlug:"account",name:"AccountNotFoundError"})}}Ht.C;var vg=i(8092);class Bu extends Ht.C{constructor({cause:a}){super("Smart Account is not deployed.",{cause:a,metaMessages:["This could arise when:","- No `factory`/`factoryData` or `initCode` properties are provided for Smart Account deployment.","- An incorrect `sender` address is provided."],name:"AccountNotDeployedError"})}}Object.defineProperty(Bu,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa20/});class jo extends Ht.C{constructor({cause:a,data:o,message:u}={}){let m=u?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${m?`with reason: ${m}`:"for an unknown reason"}.`,{cause:a,name:"ExecutionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=o}}Object.defineProperty(jo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32521}),Object.defineProperty(jo,"message",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class Du extends Ht.C{constructor({cause:a}){super("Failed to send funds to beneficiary.",{cause:a,name:"FailedToSendToBeneficiaryError"})}}Object.defineProperty(Du,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa91/});class Fu extends Ht.C{constructor({cause:a}){super("Gas value overflowed.",{cause:a,metaMessages:["This could arise when:","- one of the gas values exceeded 2**120 (uint120)"].filter(Boolean),name:"GasValuesOverflowError"})}}Object.defineProperty(Fu,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa94/});class Wu extends Ht.C{constructor({cause:a}){super("The `handleOps` function was called by the Bundler with a gas limit too low.",{cause:a,name:"HandleOpsOutOfGasError"})}}Object.defineProperty(Wu,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa95/});class $u extends Ht.C{constructor({cause:a,factory:o,factoryData:u,initCode:m}){super("Failed to simulate deployment for Smart Account.",{cause:a,metaMessages:["This could arise when:","- Invalid `factory`/`factoryData` or `initCode` properties are present","- Smart Account deployment execution ran out of gas (low `verificationGasLimit` value)",`- Smart Account deployment execution reverted with an error -`,o&&`factory: ${o}`,u&&`factoryData: ${u}`,m&&`initCode: ${m}`].filter(Boolean),name:"InitCodeFailedError"})}}Object.defineProperty($u,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa13/});class Ku extends Ht.C{constructor({cause:a,factory:o,factoryData:u,initCode:m}){super("Smart Account initialization implementation did not create an account.",{cause:a,metaMessages:["This could arise when:","- `factory`/`factoryData` or `initCode` properties are invalid",`- Smart Account initialization implementation is incorrect -`,o&&`factory: ${o}`,u&&`factoryData: ${u}`,m&&`initCode: ${m}`].filter(Boolean),name:"InitCodeMustCreateSenderError"})}}Object.defineProperty(Ku,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa15/});class Hu extends Ht.C{constructor({cause:a,factory:o,factoryData:u,initCode:m,sender:b}){super("Smart Account initialization implementation does not return the expected sender.",{cause:a,metaMessages:["This could arise when:",`Smart Account initialization implementation does not return a sender address -`,o&&`factory: ${o}`,u&&`factoryData: ${u}`,m&&`initCode: ${m}`,b&&`sender: ${b}`].filter(Boolean),name:"InitCodeMustReturnSenderError"})}}Object.defineProperty(Hu,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa14/});class Vu extends Ht.C{constructor({cause:a}){super("Smart Account does not have sufficient funds to execute the User Operation.",{cause:a,metaMessages:["This could arise when:","- the Smart Account does not have sufficient funds to cover the required prefund, or","- a Paymaster was not provided"].filter(Boolean),name:"InsufficientPrefundError"})}}Object.defineProperty(Vu,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa21/});class Gu extends Ht.C{constructor({cause:a}){super("Bundler attempted to call an invalid function on the EntryPoint.",{cause:a,name:"InternalCallOnlyError"})}}Object.defineProperty(Gu,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa92/});class Ju extends Ht.C{constructor({cause:a}){super("Bundler used an invalid aggregator for handling aggregated User Operations.",{cause:a,name:"InvalidAggregatorError"})}}Object.defineProperty(Ju,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa96/});class Zu extends Ht.C{constructor({cause:a,nonce:o}){super("Invalid Smart Account nonce used for User Operation.",{cause:a,metaMessages:[o&&`nonce: ${o}`].filter(Boolean),name:"InvalidAccountNonceError"})}}Object.defineProperty(Zu,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa25/});class Yu extends Ht.C{constructor({cause:a}){super("Bundler has not set a beneficiary address.",{cause:a,name:"InvalidBeneficiaryError"})}}Object.defineProperty(Yu,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa90/});class gc extends Ht.C{constructor({cause:a}){super("Invalid fields set on User Operation.",{cause:a,name:"InvalidFieldsError"})}}Object.defineProperty(gc,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class Qu extends Ht.C{constructor({cause:a,paymasterAndData:o}){super("Paymaster properties provided are invalid.",{cause:a,metaMessages:["This could arise when:","- the `paymasterAndData` property is of an incorrect length\n",o&&`paymasterAndData: ${o}`].filter(Boolean),name:"InvalidPaymasterAndDataError"})}}Object.defineProperty(Qu,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa93/});class Zs extends Ht.C{constructor({cause:a}){super("Paymaster deposit for the User Operation is too low.",{cause:a,metaMessages:["This could arise when:","- the Paymaster has deposited less than the expected amount via the `deposit` function"].filter(Boolean),name:"PaymasterDepositTooLowError"})}}Object.defineProperty(Zs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32508}),Object.defineProperty(Zs,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa31/});class Xu extends Ht.C{constructor({cause:a}){super("The `validatePaymasterUserOp` function on the Paymaster reverted.",{cause:a,name:"PaymasterFunctionRevertedError"})}}Object.defineProperty(Xu,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa33/});class ed extends Ht.C{constructor({cause:a}){super("The Paymaster contract has not been deployed.",{cause:a,name:"PaymasterNotDeployedError"})}}Object.defineProperty(ed,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa30/});class bc extends Ht.C{constructor({cause:a}){super("UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.",{cause:a,name:"PaymasterRateLimitError"})}}Object.defineProperty(bc,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32504});class yc extends Ht.C{constructor({cause:a}){super("UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.",{cause:a,name:"PaymasterStakeTooLowError"})}}Object.defineProperty(yc,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32505});class td extends Ht.C{constructor({cause:a}){super("Paymaster `postOp` function reverted.",{cause:a,name:"PaymasterPostOpFunctionRevertedError"})}}Object.defineProperty(td,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa50/});class ad extends Ht.C{constructor({cause:a,factory:o,factoryData:u,initCode:m}){super("Smart Account has already been deployed.",{cause:a,metaMessages:["Remove the following properties and try again:",o&&"`factory`",u&&"`factoryData`",m&&"`initCode`"].filter(Boolean),name:"SenderAlreadyConstructedError"})}}Object.defineProperty(ad,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa10/});class vc extends Ht.C{constructor({cause:a}){super("UserOperation rejected because account signature check failed (or paymaster signature, if the paymaster uses its data as signature).",{cause:a,name:"SignatureCheckFailedError"})}}Object.defineProperty(vc,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32507});class rd extends Ht.C{constructor({cause:a}){super("The `validateUserOp` function on the Smart Account reverted.",{cause:a,name:"SmartAccountFunctionRevertedError"})}}Object.defineProperty(rd,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa23/});class wc extends Ht.C{constructor({cause:a}){super("UserOperation rejected because account specified unsupported signature aggregator.",{cause:a,name:"UnsupportedSignatureAggregatorError"})}}Object.defineProperty(wc,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32506});class nd extends Ht.C{constructor({cause:a}){super("User Operation expired.",{cause:a,metaMessages:["This could arise when:","- the `validAfter` or `validUntil` values returned from `validateUserOp` on the Smart Account are not satisfied"].filter(Boolean),name:"UserOperationExpiredError"})}}Object.defineProperty(nd,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa22/});class id extends Ht.C{constructor({cause:a}){super("Paymaster for User Operation expired.",{cause:a,metaMessages:["This could arise when:","- the `validAfter` or `validUntil` values returned from `validatePaymasterUserOp` on the Paymaster are not satisfied"].filter(Boolean),name:"UserOperationPaymasterExpiredError"})}}Object.defineProperty(id,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa32/});class sd extends Ht.C{constructor({cause:a}){super("Signature provided for the User Operation is invalid.",{cause:a,metaMessages:["This could arise when:","- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Smart Account"].filter(Boolean),name:"UserOperationSignatureError"})}}Object.defineProperty(sd,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa24/});class od extends Ht.C{constructor({cause:a}){super("Signature provided for the User Operation is invalid.",{cause:a,metaMessages:["This could arise when:","- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Paymaster"].filter(Boolean),name:"UserOperationPaymasterSignatureError"})}}Object.defineProperty(od,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa34/});class kc extends Ht.C{constructor({cause:a}){super("User Operation rejected by EntryPoint's `simulateValidation` during account creation or validation.",{cause:a,name:"UserOperationRejectedByEntryPointError"})}}Object.defineProperty(kc,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32500});class xc extends Ht.C{constructor({cause:a}){super("User Operation rejected by Paymaster's `validatePaymasterUserOp`.",{cause:a,name:"UserOperationRejectedByPaymasterError"})}}Object.defineProperty(xc,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32501});class _c extends Ht.C{constructor({cause:a}){super("User Operation rejected with op code validation error.",{cause:a,name:"UserOperationRejectedByOpCodeError"})}}Object.defineProperty(_c,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32502});class jc extends Ht.C{constructor({cause:a}){super("UserOperation out of time-range: either wallet or paymaster returned a time-range, and it is already expired (or will expire soon).",{cause:a,name:"UserOperationOutOfTimeRangeError"})}}Object.defineProperty(jc,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32503});class wg extends Ht.C{constructor({cause:a}){super(`An error occurred while executing user operation: ${a?.shortMessage}`,{cause:a,name:"UnknownBundlerError"})}}class ld extends Ht.C{constructor({cause:a}){super("User Operation verification gas limit exceeded.",{cause:a,metaMessages:["This could arise when:","- the gas used for verification exceeded the `verificationGasLimit`"].filter(Boolean),name:"VerificationGasLimitExceededError"})}}Object.defineProperty(ld,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa40/});class cd extends Ht.C{constructor({cause:a}){super("User Operation verification gas limit is too low.",{cause:a,metaMessages:["This could arise when:","- the `verificationGasLimit` is too low to verify the User Operation"].filter(Boolean),name:"VerificationGasLimitTooLowError"})}}Object.defineProperty(cd,"message",{enumerable:!0,configurable:!0,writable:!0,value:/aa41/});class kg extends Ht.C{constructor(a,{callData:o,callGasLimit:u,docsPath:m,factory:b,factoryData:j,initCode:_,maxFeePerGas:P,maxPriorityFeePerGas:C,nonce:F,paymaster:T,paymasterAndData:E,paymasterData:$,paymasterPostOpGasLimit:q,paymasterVerificationGasLimit:ne,preVerificationGas:ie,sender:re,signature:pe,verificationGasLimit:ce}){let he=(0,mi.aO)({callData:o,callGasLimit:u,factory:b,factoryData:j,initCode:_,maxFeePerGas:P!==void 0&&`${(0,Mi.Q)(P)} gwei`,maxPriorityFeePerGas:C!==void 0&&`${(0,Mi.Q)(C)} gwei`,nonce:F,paymaster:T,paymasterAndData:E,paymasterData:$,paymasterPostOpGasLimit:q,paymasterVerificationGasLimit:ne,preVerificationGas:ie,sender:re,signature:pe,verificationGasLimit:ce});super(a.shortMessage,{cause:a,docsPath:m,metaMessages:[...a.metaMessages?[...a.metaMessages," "]:[],"Request Arguments:",he].filter(Boolean),name:"UserOperationExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=a}}class xg extends Ht.C{constructor({hash:a}){super(`User Operation receipt with hash "${a}" could not be found. The User Operation may not have been processed yet.`,{name:"UserOperationReceiptNotFoundError"})}}class _g extends Ht.C{constructor({hash:a}){super(`User Operation with hash "${a}" could not be found.`,{name:"UserOperationNotFoundError"})}}class Th extends Ht.C{constructor({hash:a}){super(`Timed out while waiting for User Operation with hash "${a}" to be confirmed.`,{name:"WaitForUserOperationReceiptTimeoutError"})}}let jg=[jo,gc,Zs,bc,yc,vc,wc,jc,kc,xc,_c];function Uh(t,{calls:a,docsPath:o,...u}){return new kg((()=>{let m=function(b,j){let _=(b.details||"").toLowerCase();if(Bu.message.test(_))return new Bu({cause:b});if(Du.message.test(_))return new Du({cause:b});if(Fu.message.test(_))return new Fu({cause:b});if(Wu.message.test(_))return new Wu({cause:b});if($u.message.test(_))return new $u({cause:b,factory:j.factory,factoryData:j.factoryData,initCode:j.initCode});if(Ku.message.test(_))return new Ku({cause:b,factory:j.factory,factoryData:j.factoryData,initCode:j.initCode});if(Hu.message.test(_))return new Hu({cause:b,factory:j.factory,factoryData:j.factoryData,initCode:j.initCode,sender:j.sender});if(Vu.message.test(_))return new Vu({cause:b});if(Gu.message.test(_))return new Gu({cause:b});if(Zu.message.test(_))return new Zu({cause:b,nonce:j.nonce});if(Ju.message.test(_))return new Ju({cause:b});if(Yu.message.test(_))return new Yu({cause:b});if(Qu.message.test(_))return new Qu({cause:b});if(Zs.message.test(_))return new Zs({cause:b});if(Xu.message.test(_))return new Xu({cause:b});if(ed.message.test(_))return new ed({cause:b});if(td.message.test(_))return new td({cause:b});if(rd.message.test(_))return new rd({cause:b});if(ad.message.test(_))return new ad({cause:b,factory:j.factory,factoryData:j.factoryData,initCode:j.initCode});if(nd.message.test(_))return new nd({cause:b});if(id.message.test(_))return new id({cause:b});if(od.message.test(_))return new od({cause:b});if(sd.message.test(_))return new sd({cause:b});if(ld.message.test(_))return new ld({cause:b});if(cd.message.test(_))return new cd({cause:b});let P=b.walk(C=>jg.some(F=>F.code===C.code));if(P){if(P.code===jo.code)return new jo({cause:b,data:P.data,message:P.details});if(P.code===gc.code)return new gc({cause:b});if(P.code===Zs.code)return new Zs({cause:b});if(P.code===bc.code)return new bc({cause:b});if(P.code===yc.code)return new yc({cause:b});if(P.code===vc.code)return new vc({cause:b});if(P.code===wc.code)return new wc({cause:b});if(P.code===jc.code)return new jc({cause:b});if(P.code===kc.code)return new kc({cause:b});if(P.code===xc.code)return new xc({cause:b});if(P.code===_c.code)return new _c({cause:b})}return new wg({cause:b})}(t,u);if(a&&m instanceof jo){let b,j=(m.walk(P=>{if(typeof P.data=="string"||typeof P.data?.revertData=="string"||!(P instanceof Ht.C)&&typeof P.message=="string"){let C=(P.data?.revertData||P.data||P.message).match?.(/(0x[A-Za-z0-9]*)/);if(C)return b=C[1],!0}return!1}),b),_=a?.filter(P=>P.abi);if(j&&_.length>0)return function(P){let{calls:C,revertData:F}=P,{abi:T,functionName:E,args:$,to:q}=(()=>{let ie=C?.filter(pe=>!!pe.abi);if(ie.length===1)return ie[0];let re=ie.filter(pe=>{try{return!!(0,vg.W)({abi:pe.abi,data:F})}catch{return!1}});return re.length===1?re[0]:{abi:[],functionName:ie.reduce((pe,ce)=>`${pe?`${pe} | `:""}${ce.functionName}`,""),args:void 0,to:void 0}})(),ne=F==="0x"?new Mn.rR({functionName:E}):new Mn.M({abi:T,data:F,functionName:E});return new Mn.bG(ne,{abi:T,args:$,contractAddress:q,functionName:E})}({calls:_,revertData:j})}return m})(),{docsPath:o,...u})}var oi=i(7816);function zc(t){var a;let o={};return t.callData!==void 0&&(o.callData=t.callData),t.callGasLimit!==void 0&&(o.callGasLimit=(0,Ne.cK)(t.callGasLimit)),t.factory!==void 0&&(o.factory=t.factory),t.factoryData!==void 0&&(o.factoryData=t.factoryData),t.initCode!==void 0&&(o.initCode=t.initCode),t.maxFeePerGas!==void 0&&(o.maxFeePerGas=(0,Ne.cK)(t.maxFeePerGas)),t.maxPriorityFeePerGas!==void 0&&(o.maxPriorityFeePerGas=(0,Ne.cK)(t.maxPriorityFeePerGas)),t.nonce!==void 0&&(o.nonce=(0,Ne.cK)(t.nonce)),t.paymaster!==void 0&&(o.paymaster=t.paymaster),t.paymasterAndData!==void 0&&(o.paymasterAndData=t.paymasterAndData||"0x"),t.paymasterData!==void 0&&(o.paymasterData=t.paymasterData),t.paymasterPostOpGasLimit!==void 0&&(o.paymasterPostOpGasLimit=(0,Ne.cK)(t.paymasterPostOpGasLimit)),t.paymasterVerificationGasLimit!==void 0&&(o.paymasterVerificationGasLimit=(0,Ne.cK)(t.paymasterVerificationGasLimit)),t.preVerificationGas!==void 0&&(o.preVerificationGas=(0,Ne.cK)(t.preVerificationGas)),t.sender!==void 0&&(o.sender=t.sender),t.signature!==void 0&&(o.signature=t.signature),t.verificationGasLimit!==void 0&&(o.verificationGasLimit=(0,Ne.cK)(t.verificationGasLimit)),t.authorization!==void 0&&(o.eip7702Auth={address:(a=t.authorization).address,chainId:(0,Ne.cK)(a.chainId),nonce:(0,Ne.cK)(a.nonce),r:a.r?(0,Ne.cK)(BigInt(a.r),{size:32}):(0,oi.eV)("0x",{size:32}),s:a.s?(0,Ne.cK)(BigInt(a.s),{size:32}):(0,oi.eV)("0x",{size:32}),yParity:a.yParity?(0,Ne.cK)(a.yParity,{size:1}):(0,oi.eV)("0x",{size:32})}),o}async function zg(t,a){let{account:o=t.account,chainId:u,nonce:m}=a;if(!o)throw new fc({docsPath:"/docs/eip7702/prepareAuthorization"});let b=(0,_r.J)(o),j=(()=>{if(a.executor)return a.executor==="self"?a.executor:(0,_r.J)(a.executor)})(),_={address:a.contractAddress??a.address,chainId:u,nonce:m};return _.chainId===void 0&&(_.chainId=t.chain?.id??await da(t,ti,"getChainId")({})),_.nonce===void 0&&(_.nonce=await da(t,es,"getTransactionCount")({address:b.address,blockTag:"pending"}),(j==="self"||j?.address&&(0,ri.h)(j.address,b.address))&&(_.nonce+=1)),_}async function Sg(t,a){let{chainId:o,entryPointAddress:u,context:m,...b}=a,j=zc(b),{paymasterPostOpGasLimit:_,paymasterVerificationGasLimit:P,...C}=await t.request({method:"pm_getPaymasterData",params:[{...j,callGasLimit:j.callGasLimit??"0x0",verificationGasLimit:j.verificationGasLimit??"0x0",preVerificationGas:j.preVerificationGas??"0x0"},u,(0,Ne.cK)(o),m]});return{...C,..._&&{paymasterPostOpGasLimit:(0,hr.uU)(_)},...P&&{paymasterVerificationGasLimit:(0,hr.uU)(P)}}}async function Pg(t,a){let{chainId:o,entryPointAddress:u,context:m,...b}=a,j=zc(b),{paymasterPostOpGasLimit:_,paymasterVerificationGasLimit:P,...C}=await t.request({method:"pm_getPaymasterStubData",params:[{...j,callGasLimit:j.callGasLimit??"0x0",verificationGasLimit:j.verificationGasLimit??"0x0",preVerificationGas:j.preVerificationGas??"0x0"},u,(0,Ne.cK)(o),m]});return{...C,..._&&{paymasterPostOpGasLimit:(0,hr.uU)(_)},...P&&{paymasterVerificationGasLimit:(0,hr.uU)(P)}}}let Ag=["factory","fees","gas","paymaster","nonce","signature","authorization"];async function ud(t,a){let o,{account:u=t.account,parameters:m=Ag,stateOverride:b}=a;if(!u)throw new fc;let j=(0,_r.J)(u),_=a.paymaster??t?.paymaster,P=typeof _=="string"?_:void 0,{getPaymasterStubData:C,getPaymasterData:F}=(()=>{if(_===!0)return{getPaymasterStubData:he=>da(t,Pg,"getPaymasterStubData")(he),getPaymasterData:he=>da(t,Sg,"getPaymasterData")(he)};if(typeof _=="object"){let{getPaymasterStubData:he,getPaymasterData:xe}=_;return{getPaymasterStubData:xe&&he?he:xe,getPaymasterData:xe&&he?xe:void 0}}return{getPaymasterStubData:void 0,getPaymasterData:void 0}})(),T=a.paymasterContext?a.paymasterContext:t?.paymasterContext,E={...a,paymaster:P,sender:j.address},[$,q,ne,ie,re]=await Promise.all([(async()=>a.calls?j.encodeCalls(a.calls.map(he=>he.abi?{data:(0,Qt.p)(he),to:he.to,value:he.value}:he)):a.callData)(),(async()=>{if(!m.includes("factory"))return;if(a.initCode)return{initCode:a.initCode};if(a.factory&&a.factoryData)return{factory:a.factory,factoryData:a.factoryData};let{factory:he,factoryData:xe}=await j.getFactoryArgs();return j.entryPoint.version==="0.6"?{initCode:he&&xe?(0,jn.xW)([he,xe]):void 0}:{factory:he,factoryData:xe}})(),(async()=>{if(m.includes("fees")){if(typeof a.maxFeePerGas=="bigint"&&typeof a.maxPriorityFeePerGas=="bigint")return E;if(t?.userOperation?.estimateFeesPerGas){let he=await t.userOperation.estimateFeesPerGas({account:j,bundlerClient:t,userOperation:E});return{...E,...he}}try{let he=t.client??t,xe=await da(he,Vo,"estimateFeesPerGas")({chain:he.chain,type:"eip1559"});return{maxFeePerGas:typeof a.maxFeePerGas=="bigint"?a.maxFeePerGas:BigInt(2n*xe.maxFeePerGas),maxPriorityFeePerGas:typeof a.maxPriorityFeePerGas=="bigint"?a.maxPriorityFeePerGas:BigInt(2n*xe.maxPriorityFeePerGas)}}catch{return}}})(),(async()=>{if(m.includes("nonce"))return typeof a.nonce=="bigint"?a.nonce:j.getNonce()})(),(async()=>{if(m.includes("authorization")){if(typeof a.authorization=="object")return a.authorization;if(j.authorization&&!await j.isDeployed())return{...await zg(j.client,j.authorization),r:"0xfffffffffffffffffffffffffffffff000000000000000000000000000000000",s:"0x7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",yParity:1}}})()]);async function pe(){return o||(t.chain?t.chain.id:o=await da(t,ti,"getChainId")({}))}$!==void 0&&(E.callData=$),q!==void 0&&(E={...E,...q}),ne!==void 0&&(E={...E,...ne}),ie!==void 0&&(E.nonce=ie),re!==void 0&&(E.authorization=re),m.includes("signature")&&(a.signature!==void 0?E.signature=a.signature:E.signature=await j.getStubSignature(E)),j.entryPoint.version!=="0.6"||E.initCode||(E.initCode="0x");let ce=!1;if(m.includes("paymaster")&&C&&!P&&!a.paymasterAndData){let{isFinal:he=!1,sponsor:xe,...Ee}=await C({chainId:await pe(),entryPointAddress:j.entryPoint.address,context:T,...E});ce=he,E={...E,...Ee}}if(j.entryPoint.version!=="0.6"||E.paymasterAndData||(E.paymasterAndData="0x"),m.includes("gas")){if(j.userOperation?.estimateGas){let he=await j.userOperation.estimateGas(E);E={...E,...he}}if(E.callGasLimit===void 0||E.preVerificationGas===void 0||E.verificationGasLimit===void 0||E.paymaster&&E.paymasterPostOpGasLimit===void 0||E.paymaster&&E.paymasterVerificationGasLimit===void 0){let he=await da(t,Mh,"estimateUserOperationGas")({account:j,callGasLimit:0n,preVerificationGas:0n,verificationGasLimit:0n,stateOverride:b,...E.paymaster?{paymasterPostOpGasLimit:0n,paymasterVerificationGasLimit:0n}:{},...E});E={...E,callGasLimit:E.callGasLimit??he.callGasLimit,preVerificationGas:E.preVerificationGas??he.preVerificationGas,verificationGasLimit:E.verificationGasLimit??he.verificationGasLimit,paymasterPostOpGasLimit:E.paymasterPostOpGasLimit??he.paymasterPostOpGasLimit,paymasterVerificationGasLimit:E.paymasterVerificationGasLimit??he.paymasterVerificationGasLimit}}}if(m.includes("paymaster")&&F&&!P&&!a.paymasterAndData&&!ce){let he=await F({chainId:await pe(),entryPointAddress:j.entryPoint.address,context:T,...E});E={...E,...he}}return delete E.calls,delete E.parameters,delete E.paymasterContext,typeof E.paymaster!="string"&&delete E.paymaster,E}async function Mh(t,a){let{account:o=t.account,entryPointAddress:u,stateOverride:m}=a;if(!o&&!a.sender)throw new fc;let b=o?(0,_r.J)(o):void 0,j=(0,kn.yH)(m),_=b?await da(t,ud,"prepareUserOperation")({...a,parameters:["authorization","factory","nonce","paymaster","signature"]}):a;try{var P;let C,F=[zc(_),u??b?.entryPoint?.address];return P=await t.request({method:"eth_estimateUserOperationGas",params:j?[...F,j]:[...F]}),C={},P.callGasLimit&&(C.callGasLimit=BigInt(P.callGasLimit)),P.preVerificationGas&&(C.preVerificationGas=BigInt(P.preVerificationGas)),P.verificationGasLimit&&(C.verificationGasLimit=BigInt(P.verificationGasLimit)),P.paymasterPostOpGasLimit&&(C.paymasterPostOpGasLimit=BigInt(P.paymasterPostOpGasLimit)),P.paymasterVerificationGasLimit&&(C.paymasterVerificationGasLimit=BigInt(P.paymasterVerificationGasLimit)),C}catch(C){let F=a.calls;throw Uh(C,{..._,...F?{calls:F}:{}})}}async function Ig(t,{hash:a}){let o,u=await t.request({method:"eth_getUserOperationByHash",params:[a]},{dedupe:!0});if(!u)throw new _g({hash:a});let{blockHash:m,blockNumber:b,entryPoint:j,transactionHash:_,userOperation:P}=u;return{blockHash:m,blockNumber:BigInt(b),entryPoint:j,transactionHash:_,userOperation:(o={...P},P.callGasLimit&&(o.callGasLimit=BigInt(P.callGasLimit)),P.maxFeePerGas&&(o.maxFeePerGas=BigInt(P.maxFeePerGas)),P.maxPriorityFeePerGas&&(o.maxPriorityFeePerGas=BigInt(P.maxPriorityFeePerGas)),P.nonce&&(o.nonce=BigInt(P.nonce)),P.paymasterPostOpGasLimit&&(o.paymasterPostOpGasLimit=BigInt(P.paymasterPostOpGasLimit)),P.paymasterVerificationGasLimit&&(o.paymasterVerificationGasLimit=BigInt(P.paymasterVerificationGasLimit)),P.preVerificationGas&&(o.preVerificationGas=BigInt(P.preVerificationGas)),P.verificationGasLimit&&(o.verificationGasLimit=BigInt(P.verificationGasLimit)),o)}}async function Rh(t,{hash:a}){let o,u=await t.request({method:"eth_getUserOperationReceipt",params:[a]},{dedupe:!0});if(!u)throw new xg({hash:a});return o={...u},u.actualGasCost&&(o.actualGasCost=BigInt(u.actualGasCost)),u.actualGasUsed&&(o.actualGasUsed=BigInt(u.actualGasUsed)),u.logs&&(o.logs=u.logs.map(m=>on(m))),u.receipt&&(o.receipt=po(o.receipt)),o}async function Cg(t,a){let{account:o=t.account,entryPointAddress:u}=a;if(!o&&!a.sender)throw new fc;let m=o?(0,_r.J)(o):void 0,b=m?await da(t,ud,"prepareUserOperation")(a):a,j=a.signature||await m?.signUserOperation?.(b),_=zc({...b,signature:j});try{return await t.request({method:"eth_sendUserOperation",params:[_,u??m?.entryPoint?.address]},{retryCount:0})}catch(P){let C=a.calls;throw Uh(P,{...b,...C?{calls:C}:{},signature:j})}}function Eg(t){return{estimateUserOperationGas:a=>Mh(t,a),getChainId:()=>ti(t),getSupportedEntryPoints:()=>t.request({method:"eth_supportedEntryPoints"}),getUserOperation:a=>Ig(t,a),getUserOperationReceipt:a=>Rh(t,a),prepareUserOperation:a=>ud(t,a),sendUserOperation:a=>Cg(t,a),waitForUserOperationReceipt:a=>function(o,u){let{hash:m,pollingInterval:b=o.pollingInterval,retryCount:j,timeout:_=12e4}=u,P=0,C=(0,Yn.A)(["waitForUserOperationReceipt",o.uid,m]);return new Promise((F,T)=>{let E=Hi(C,{resolve:F,reject:T},$=>{let q=ie=>{ne(),ie(),E()},ne=Js(async()=>{j&&P>=j&&q(()=>$.reject(new Th({hash:m})));try{let ie=await da(o,Rh,"getUserOperationReceipt")({hash:m});q(()=>$.resolve(ie))}catch(ie){ie.name!=="UserOperationReceiptNotFoundError"&&q(()=>$.reject(ie))}P++},{emitOnBegin:!0,interval:b});return _&&setTimeout(()=>q(()=>$.reject(new Th({hash:m}))),_),ne})})}(t,a)}}let Nh=D(()=>({}));function Lh(t){t.forEach(a=>{var o,u,m,b,j,_,P,C;if(!a.rpcUrl)return;let F=function(E){let{key:$="public",name:q="Public Client"}=E;return ms({...E,key:$,name:q,type:"publicClient"}).extend(gg)}({chain:{formatters:void 0,fees:void 0,serializers:void 0,id:a.id,rpcUrls:{default:{http:[a.rpcUrl]}},name:(u=(o=a.nativeCurrency)==null?void 0:o.name)!=null?u:"",nativeCurrency:{name:(b=(m=a.nativeCurrency)==null?void 0:m.name)!=null?b:"",symbol:(_=(j=a.nativeCurrency)==null?void 0:j.symbol)!=null?_:"",decimals:(C=(P=a.nativeCurrency)==null?void 0:P.decimal)!=null?C:18}},transport:qh(a.rpcUrl)}),T=function(E){let{client:$,key:q="bundler",name:ne="Bundler Client",paymaster:ie,paymasterContext:re,transport:pe,userOperation:ce}=E;return Object.assign(ms({...E,chain:E.chain??$?.chain,key:q,name:ne,transport:pe,type:"bundlerClient"}),{client:$,paymaster:ie,paymasterContext:re,userOperation:ce}).extend(Eg)}({client:F,transport:qh(a.rpcUrl)});Nh.setState({[a.id]:{client:F,bundlerClient:T}})})}function Bh(t){var a;return(a=Nh.getState()[t])==null?void 0:a.client}let Sc=D(()=>({correlationIds:new Map})),zo=t=>Sc.getState().correlationIds.get(t);function Pc(t){if(typeof t!="object"||t===null)throw Oe("sub account info is not an object");if(!("address"in t))throw Oe("sub account is invalid");if("address"in t&&typeof t.address=="string"&&!(0,Gs.P)(t.address))throw Oe("sub account address is invalid");if("factory"in t&&typeof t.factory=="string"&&!(0,Gs.P)(t.factory))throw Oe("sub account factory address is invalid");if("factoryData"in t&&typeof t.factoryData=="string"&&!(0,zn.q)(t.factoryData))throw Oe("sub account factory data is invalid")}async function Og(){return crypto.subtle.generateKey({name:"ECDH",namedCurve:"P-256"},!0,["deriveKey"])}async function qg(t,a){return crypto.subtle.deriveKey({name:"ECDH",public:a},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function Tg(t,a){let o=crypto.getRandomValues(new Uint8Array(12)),u=await crypto.subtle.encrypt({name:"AES-GCM",iv:o},t,new TextEncoder().encode(a));return{iv:o,cipherText:u}}async function Ug(t,{iv:a,cipherText:o}){let u=await crypto.subtle.decrypt({name:"AES-GCM",iv:a},t,o);return new TextDecoder().decode(u)}function Dh(t){switch(t){case"public":return"spki";case"private":return"pkcs8"}}async function Fh(t,a){let o=Dh(t);return[...new Uint8Array(await crypto.subtle.exportKey(o,a))].map(u=>u.toString(16).padStart(2,"0")).join("")}async function Wh(t,a){let o=Dh(t),u=new Uint8Array(a.match(/.{1,2}/g).map(m=>Number.parseInt(m,16))).buffer;return await crypto.subtle.importKey(o,new Uint8Array(u),{name:"ECDH",namedCurve:"P-256"},!0,t==="private"?["deriveKey"]:[])}async function Mg(t,a){return Tg(a,JSON.stringify(t,(o,u)=>u instanceof Error?Object.assign(Object.assign({},u.code?{code:u.code}:{}),{message:u.message}):u))}async function Rg(t,a){return JSON.parse(await Ug(a,t))}async function Ac(t,a){let o=Object.assign(Object.assign({},t),{jsonrpc:"2.0",id:crypto.randomUUID()}),u=await window.fetch(a,{method:"POST",body:JSON.stringify(o),mode:"cors",headers:{"Content-Type":"application/json","X-Cbw-Sdk-Version":z,"X-Cbw-Sdk-Platform":k}}),{result:m,error:b}=await u.json();if(b)throw b;return m}var dd=i(5314),Ng=i(2733),Xr=i(1374);let hd=BigInt(0),pd=BigInt(1);function Ic(t,a=""){if(typeof t!="boolean")throw Error((a&&`"${a}"`)+"expected boolean, got type="+typeof t);return t}function Ys(t,a,o=""){let u=(0,Xr.aY)(t),m=t?.length,b=a!==void 0;if(!u||b&&m!==a)throw Error((o&&`"${o}" `)+"expected Uint8Array"+(b?` of length ${a}`:"")+", got "+(u?`length=${m}`:`type=${typeof t}`));return t}function Cc(t){let a=t.toString(16);return 1&a.length?"0"+a:a}function $h(t){if(typeof t!="string")throw Error("hex string expected, got "+typeof t);return t===""?hd:BigInt("0x"+t)}function Ec(t){return $h((0,Xr.My)(t))}function Kh(t){return(0,Xr.DO)(t),$h((0,Xr.My)(Uint8Array.from(t).reverse()))}function md(t,a){return(0,Xr.aT)(t.toString(16).padStart(2*a,"0"))}function Hh(t,a){return md(t,a).reverse()}function ai(t,a,o){let u;if(typeof a=="string")try{u=(0,Xr.aT)(a)}catch(m){throw Error(t+" must be hex string or Uint8Array, cause: "+m)}else if((0,Xr.aY)(a))u=Uint8Array.from(a);else throw Error(t+" must be hex string or Uint8Array");return u.length,u}let fd=t=>typeof t=="bigint"&&hd<=t;function Vh(t){let a;for(a=0;t>hd;t>>=pd,a+=1);return a}let pl=t=>(pd<u(m,b,!1)),Object.entries(o).forEach(([m,b])=>u(m,b,!0))}function Gh(t){let a=new WeakMap;return(o,...u)=>{let m=a.get(o);if(m!==void 0)return m;let b=t(o,...u);return a.set(o,b),b}}let li=BigInt(0),Qn=BigInt(1),Qs=BigInt(2),Jh=BigInt(3),Zh=BigInt(4),Yh=BigInt(5),Lg=BigInt(7),Qh=BigInt(8),Bg=BigInt(9),Xh=BigInt(16);function zi(t,a){let o=t%a;return o>=li?o:a+o}function ep(t,a){if(t===li)throw Error("invert: expected non-zero number");if(a<=li)throw Error("invert: expected positive modulus, got "+a);let o=zi(t,a),u=a,m=li,b=Qn;for(;o!==li;){let j=u/o,_=u%o,P=m-b*j;u=o,o=_,m=b,b=P}if(u!==Qn)throw Error("invert: does not exist");return zi(m,a)}function bd(t,a,o){if(!t.eql(t.sqr(a),o))throw Error("Cannot find square root")}function tp(t,a){let o=(t.ORDER+Qn)/Zh,u=t.pow(a,o);return bd(t,u,a),u}function Dg(t,a){let o=(t.ORDER-Yh)/Qh,u=t.mul(a,Qs),m=t.pow(u,o),b=t.mul(a,m),j=t.mul(t.mul(b,Qs),m),_=t.mul(b,t.sub(j,t.ONE));return bd(t,_,a),_}function ap(t){if(t1e3)throw Error("Cannot find square root: probably non-prime P");if(o===1)return tp;let b=m.pow(u,a),j=(a+Qn)/Qs;return function(_,P){if(_.is0(P))return P;if(np(_,P)!==1)throw Error("Cannot find square root");let C=o,F=_.mul(_.ONE,b),T=_.pow(P,a),E=_.pow(P,j);for(;!_.eql(T,_.ONE);){if(_.is0(T))return _.ZERO;let $=1,q=_.sqr(T);for(;!_.eql(q,_.ONE);)if($++,q=_.sqr(q),$===C)throw Error("Cannot find square root");let ne=Qn<t.is0(_)?j:(u[P]=j,t.mul(j,_)),t.ONE),b=t.inv(m);return a.reduceRight((j,_,P)=>t.is0(_)?j:(u[P]=t.mul(j,u[P]),t.mul(j,_)),b),u}function np(t,a){let o=(t.ORDER-Qn)/Qs,u=t.pow(a,o),m=t.eql(u,t.ONE),b=t.eql(u,t.ZERO),j=t.eql(u,t.neg(t.ONE));if(!m&&!b&&!j)throw Error("invalid Legendre symbol result");return m?1:b?0:-1}function ip(t,a){a!==void 0&&(0,Xr.Fe)(a);let o=a!==void 0?a:t.toString(2).length,u=Math.ceil(o/8);return{nBitLength:o,nByteLength:u}}function Xs(t,a,o=!1,u={}){let m,b,j,_;if(t<=li)throw Error("invalid field: expected ORDER > 0, got "+t);let P=!1;if(typeof a=="object"&&a!=null){if(u.sqrt||o)throw Error("cannot specify opts in two arguments");a.BITS&&(b=a.BITS),a.sqrt&&(j=a.sqrt),typeof a.isLE=="boolean"&&(o=a.isLE),typeof a.modFromBytes=="boolean"&&(P=a.modFromBytes),_=a.allowedLengths}else typeof a=="number"&&(b=a),u.sqrt&&(j=u.sqrt);let{nBitLength:C,nByteLength:F}=ip(t,b);if(F>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let T=Object.freeze({ORDER:t,isLE:o,BITS:C,BYTES:F,MASK:pl(C),ZERO:li,ONE:Qn,allowedLengths:_,create:E=>zi(E,t),isValid:E=>{if(typeof E!="bigint")throw Error("invalid field element: expected bigint, got "+typeof E);return li<=E&&EE===li,isValidNot0:E=>!T.is0(E)&&T.isValid(E),isOdd:E=>(E&Qn)===Qn,neg:E=>zi(-E,t),eql:(E,$)=>E===$,sqr:E=>zi(E*E,t),add:(E,$)=>zi(E+$,t),sub:(E,$)=>zi(E-$,t),mul:(E,$)=>zi(E*$,t),pow:(E,$)=>function(q,ne,ie){if(ieli;)ie&Qn&&(re=q.mul(re,pe)),pe=q.sqr(pe),ie>>=Qn;return re}(T,E,$),div:(E,$)=>zi(E*ep($,t),t),sqrN:E=>E*E,addN:(E,$)=>E+$,subN:(E,$)=>E-$,mulN:(E,$)=>E*$,inv:E=>ep(E,t),sqrt:j||(E=>(m||(m=function($){if($%Zh===Jh)return tp;if($%Qh===Yh)return Dg;if($%Xh===Bg){let q,ne,ie,re,pe,ce;return q=Xs($),ie=(ne=ap($))(q,q.neg(q.ONE)),re=ne(q,ie),pe=ne(q,q.neg(ie)),ce=($+Lg)/Xh,(he,xe)=>{let Ee=he.pow(xe,ce),Be=he.mul(Ee,ie),lt=he.mul(Ee,re),Ot=he.mul(Ee,pe),Vt=he.eql(he.sqr(Be),xe),_t=he.eql(he.sqr(lt),xe);Ee=he.cmov(Ee,Be,Vt),Be=he.cmov(Ot,lt,_t);let Mt=he.eql(he.sqr(Be),xe),Wt=he.cmov(Ee,Be,Mt);return bd(he,Wt,xe),Wt}}return ap($)}(t)),m(T,E))),toBytes:E=>o?Hh(E,F):md(E,F),fromBytes:(E,$=!0)=>{if(_){if(!_.includes(E.length)||E.length>F)throw Error("Field.fromBytes: expected "+_+" bytes, got "+E.length);let ne=new Uint8Array(F);ne.set(E,o?0:ne.length-E.length),E=ne}if(E.length!==F)throw Error("Field.fromBytes: expected "+F+" bytes, got "+E.length);let q=o?Kh(E):Ec(E);if(P&&(q=zi(q,t)),!$&&!T.isValid(q))throw Error("invalid field element: outside of range 0..ORDER");return q},invertBatch:E=>rp(T,E),cmov:(E,$,q)=>q?$:E});return Object.freeze(T)}function sp(t){if(typeof t!="bigint")throw Error("field order must be bigint");return Math.ceil(t.toString(2).length/8)}function op(t){let a=sp(t);return a+Math.ceil(a/2)}let So=BigInt(0),eo=BigInt(1);function Oc(t,a){let o=a.negate();return t?o:a}function yd(t,a){let o=rp(t.Fp,a.map(u=>u.Z));return a.map((u,m)=>t.fromAffine(u.toAffine(o[m])))}function lp(t,a){if(!Number.isSafeInteger(t)||t<=0||t>a)throw Error("invalid window size, expected [1.."+a+"], got W="+t)}function vd(t,a){lp(t,a);let o=Math.ceil(a/t)+1,u=2**(t-1),m=2**t;return{windows:o,windowSize:u,mask:pl(t),maxNumber:m,shiftBy:BigInt(t)}}function cp(t,a,o){let{windowSize:u,mask:m,maxNumber:b,shiftBy:j}=o,_=Number(t&m),P=t>>j;_>u&&(_-=b,P+=eo);let C=a*u,F=C+Math.abs(_)-1;return{nextN:P,offset:F,isZero:_===0,isNeg:_<0,isNegF:a%2!=0,offsetF:C}}let wd=new WeakMap,up=new WeakMap;function kd(t){return up.get(t)||1}function dp(t){if(t!==So)throw Error("invalid wNAF")}class Wg{constructor(a,o){this.BASE=a.BASE,this.ZERO=a.ZERO,this.Fn=a.Fn,this.bits=o}_unsafeLadder(a,o,u=this.ZERO){let m=a;for(;o>So;)o&eo&&(u=u.add(m)),m=m.double(),o>>=eo;return u}precomputeWindow(a,o){let{windows:u,windowSize:m}=vd(o,this.bits),b=[],j=a,_=j;for(let P=0;P(u[m]="function",u),{ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"})),a}let pp=(t,a)=>(t+(t>=0?a:-a)/mp)/a;function xd(t){if(!["compact","recovered","der"].includes(t))throw Error('Signature format must be "compact", "recovered", or "der"');return t}function _d(t,a){let o={};for(let u of Object.keys(a))o[u]=t[u]===void 0?a[u]:t[u];return Ic(o.lowS,"lowS"),Ic(o.prehash,"prehash"),o.format!==void 0&&xd(o.format),o}let rs={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(t,a)=>{let{Err:o}=rs;if(t<0||t>256)throw new o("tlv.encode: wrong tag");if(1&a.length)throw new o("tlv.encode: unpadded data");let u=a.length/2,m=Cc(u);if(m.length/2&128)throw new o("tlv.encode: long form length too big");let b=u>127?Cc(m.length/2|128):"";return Cc(t)+b+m+a},decode(t,a){let{Err:o}=rs,u=0;if(t<0||t>256)throw new o("tlv.encode: wrong tag");if(a.length<2||a[u++]!==t)throw new o("tlv.decode: wrong tlv");let m=a[u++],b=0;if(128&m){let _=127&m;if(!_)throw new o("tlv.decode(long): indefinite length not supported");if(_>4)throw new o("tlv.decode(long): byte length is too big");let P=a.subarray(u,u+_);if(P.length!==_)throw new o("tlv.decode: length bytes not complete");if(P[0]===0)throw new o("tlv.decode(long): zero leftmost byte");for(let C of P)b=b<<8|C;if(u+=_,b<128)throw new o("tlv.decode(long): not minimal encoding")}else b=m;let j=a.subarray(u,u+b);if(j.length!==b)throw new o("tlv.decode: wrong value length");return{v:j,l:a.subarray(u+b)}}},_int:{encode(t){let{Err:a}=rs;if(tfunction(m){let b,{CURVE:j,curveOpts:_,hash:P,ecdsaOpts:C}=function(T){let E,$,q,ne,{CURVE:ie,curveOpts:re}=(E={a:T.a,b:T.b,p:T.Fp.ORDER,n:T.n,h:T.h,Gx:T.Gx,Gy:T.Gy},$=T.Fp,q=T.allowedPrivateKeyLengths?Array.from(new Set(T.allowedPrivateKeyLengths.map(ce=>Math.ceil(ce/2)))):void 0,ne={Fp:$,Fn:Xs(E.n,{BITS:T.nBitLength,allowedLengths:q,modFromBytes:T.wrapPrivateKey}),allowInfinityPoint:T.allowInfinityPoint,endo:T.endo,isTorsionFree:T.isTorsionFree,clearCofactor:T.clearCofactor,fromBytes:T.fromBytes,toBytes:T.toBytes},{CURVE:E,curveOpts:ne}),pe={hmac:T.hmac,randomBytes:T.randomBytes,lowS:T.lowS,bits2int:T.bits2int,bits2int_modN:T.bits2int_modN};return{CURVE:ie,curveOpts:re,hash:T.hash,ecdsaOpts:pe}}(m),F=function(T,E,$={}){(0,Xr.sd)(E),gd($,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let q=$.randomBytes||Xr.po,ne=$.hmac||((We,...yt)=>(0,Ng.w)(E,We,(0,Xr.Id)(...yt))),{Fp:ie,Fn:re}=T,{ORDER:pe,BITS:ce}=re,{keygen:he,getPublicKey:xe,getSharedSecret:Ee,utils:Be,lengths:lt}=function(We,yt={}){let{Fn:tt}=We,Nt=yt.randomBytes||Xr.po,Ue=Object.assign(gp(We.Fp,tt),{seed:op(tt.ORDER)});function ht(De){try{return!!Po(tt,De)}catch{return!1}}function kt(De=Nt(Ue.seed)){return function(it,dt,qt=!1){let $t=it.length,ka=sp(dt),Pa=op(dt);if($t<16||$t1024)throw Error("expected "+Pa+"-1024 bytes of input, got "+$t);let ra=zi(qt?Kh(it):Ec(it),dt-Qn)+Qn;return qt?Hh(ra,ka):md(ra,ka)}(Ys(De,Ue.seed,"seed"),tt.ORDER)}function ut(De,it=!0){return We.BASE.multiply(Po(tt,De)).toBytes(it)}function zt(De){if(typeof De=="bigint")return!1;if(De instanceof We)return!0;let{secretKey:it,publicKey:dt,publicKeyUncompressed:qt}=Ue;if(tt.allowedLengths||it===dt)return;let $t=ai("key",De).length;return $t===dt||$t===qt}return Object.freeze({getPublicKey:ut,getSharedSecret:function(De,it,dt=!0){if(zt(De)===!0)throw Error("first arg must be private key");if(zt(it)===!1)throw Error("second arg must be public key");let qt=Po(tt,De);return We.fromHex(it).multiply(qt).toBytes(dt)},keygen:function(De){let it=kt(De);return{secretKey:it,publicKey:ut(it)}},Point:We,utils:{isValidSecretKey:ht,isValidPublicKey:function(De,it){let{publicKey:dt,publicKeyUncompressed:qt}=Ue;try{let $t=De.length;return it===!0&&$t!==dt||it===!1&&$t!==qt?!1:!!We.fromBytes(De)}catch{return!1}},randomSecretKey:kt,isValidPrivateKey:ht,randomPrivateKey:kt,normPrivateKeyToScalar:De=>Po(tt,De),precompute:(De=8,it=We.BASE)=>it.precompute(De,!1)},lengths:Ue})}(T,$),Ot={prehash:!1,lowS:typeof $.lowS=="boolean"&&$.lowS,format:void 0,extraEntropy:!1},Vt="compact";function _t(We,yt){if(!re.isValidNot0(yt))throw Error(`invalid signature ${We}: out of range 1..Point.Fn.ORDER`);return yt}class Mt{constructor(yt,tt,Nt){this.r=_t("r",yt),this.s=_t("s",tt),Nt!=null&&(this.recovery=Nt),Object.freeze(this)}static fromBytes(yt,tt=Vt){var Nt,Ue;let ht,kt;if(Nt=yt,xd(Ue=tt),kt=lt.signature,Ys(Nt,Ue==="compact"?kt:Ue==="recovered"?kt+1:void 0,`${Ue} signature`),tt==="der"){let{r:it,s:dt}=rs.toSig(Ys(yt));return new Mt(it,dt)}tt==="recovered"&&(ht=yt[0],tt="compact",yt=yt.subarray(1));let ut=re.BYTES,zt=yt.subarray(0,ut),De=yt.subarray(ut,2*ut);return new Mt(re.fromBytes(zt),re.fromBytes(De),ht)}static fromHex(yt,tt){return this.fromBytes((0,Xr.aT)(yt),tt)}addRecoveryBit(yt){return new Mt(this.r,this.s,yt)}recoverPublicKey(yt){let tt=ie.ORDER,{r:Nt,s:Ue,recovery:ht}=this;if(ht==null||![0,1,2,3].includes(ht))throw Error("recovery id invalid");if(pe*mp1)throw Error("recovery id is ambiguous for h>1 curve");let kt=ht===2||ht===3?Nt+pe:Nt;if(!ie.isValid(kt))throw Error("recovery id 2 or 3 invalid");let ut=ie.toBytes(kt),zt=T.fromBytes((0,Xr.Id)(fp((1&ht)==0),ut)),De=re.inv(kt),it=wt(ai("msgHash",yt)),dt=re.create(-it*De),qt=re.create(Ue*De),$t=T.BASE.multiplyUnsafe(dt).add(zt.multiplyUnsafe(qt));if($t.is0())throw Error("point at infinify");return $t.assertValidity(),$t}hasHighS(){return this.s>pe>>to}toBytes(yt=Vt){if(xd(yt),yt==="der")return(0,Xr.aT)(rs.hexFromSig(this));let tt=re.toBytes(this.r),Nt=re.toBytes(this.s);if(yt==="recovered"){if(this.recovery==null)throw Error("recovery bit must be present");return(0,Xr.Id)(Uint8Array.of(this.recovery),tt,Nt)}return(0,Xr.Id)(tt,Nt)}toHex(yt){return(0,Xr.My)(this.toBytes(yt))}assertValidity(){}static fromCompact(yt){return Mt.fromBytes(ai("sig",yt),"compact")}static fromDER(yt){return Mt.fromBytes(ai("sig",yt),"der")}normalizeS(){return this.hasHighS()?new Mt(this.r,re.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return(0,Xr.My)(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return(0,Xr.My)(this.toBytes("compact"))}}let Wt=$.bits2int||function(We){if(We.length>8192)throw Error("input is too large");let yt=Ec(We),tt=8*We.length-ce;return tt>0?yt>>BigInt(tt):yt},wt=$.bits2int_modN||function(We){return re.create(Wt(We))},Rt=pl(ce);function aa(We){return function(yt,tt,Nt,Ue){if(!(fd(tt)&&fd(Nt)&&fd(Ue))||!(Nt<=tt)||!(ttka in ut))throw Error("sign() legacy options not supported");let{lowS:zt,prehash:De,extraEntropy:it}=_d(ut,Ot),dt=wt(ht=za(ht,De)),qt=Po(re,kt),$t=[aa(qt),aa(dt)];if(it!=null&&it!==!1){let ka=it===!0?q(lt.secretKey):it;$t.push(ai("extraEntropy",ka))}return{seed:(0,Xr.Id)(...$t),k2sig:function(ka){let Pa=Wt(ka);if(!re.isValidNot0(Pa))return;let ra=re.inv(Pa),Fa=T.BASE.multiply(Pa).toAffine(),ar=re.create(Fa.x);if(ar===ns)return;let Pr=re.create(ra*re.create(dt+ar*qt));if(Pr===ns)return;let pr=2*(Fa.x!==ar)|Number(Fa.y&to),jr=Pr;return zt&&Pr>pe>>to&&(jr=re.neg(Pr),pr^=1),new Mt(ar,jr,pr)}}}(We=ai("message",We),yt,tt);return function(ht,kt,ut){if(typeof ht!="number"||ht<2)throw Error("hashLen must be a number");if(typeof kt!="number"||kt<2)throw Error("qByteLen must be a number");if(typeof ut!="function")throw Error("hmacFn must be a function");let zt=ra=>new Uint8Array(ra),De=zt(ht),it=zt(ht),dt=0,qt=()=>{De.fill(1),it.fill(0),dt=0},$t=(...ra)=>ut(it,De,...ra),ka=(ra=zt(0))=>{it=$t(Uint8Array.of(0),ra),De=$t(),ra.length!==0&&(it=$t(Uint8Array.of(1),ra),De=$t())},Pa=()=>{if(dt++>=1e3)throw Error("drbg: tried 1000 values");let ra=0,Fa=[];for(;ra{let ar;for(qt(),ka(ra);!(ar=Fa(Pa()));)ka();return qt(),ar}}(E.outputLen,re.BYTES,ne)(Nt,Ue)},verify:function(We,yt,tt,Nt={}){let{lowS:Ue,prehash:ht,format:kt}=_d(Nt,Ot);if(tt=ai("publicKey",tt),yt=za(ai("message",yt),ht),"strict"in Nt)throw Error("options.strict was renamed to lowS");let ut=kt===void 0?function(zt){let De,it=typeof zt=="string"||(0,Xr.aY)(zt),dt=!it&&zt!==null&&typeof zt=="object"&&typeof zt.r=="bigint"&&typeof zt.s=="bigint";if(!it&&!dt)throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(dt)De=new Mt(zt.r,zt.s);else if(it){try{De=Mt.fromBytes(ai("sig",zt),"der")}catch(qt){if(!(qt instanceof rs.Err))throw qt}if(!De)try{De=Mt.fromBytes(ai("sig",zt),"compact")}catch{return!1}}return!!De&&De}(We):Mt.fromBytes(ai("sig",We),kt);if(ut===!1)return!1;try{let zt=T.fromBytes(tt);if(Ue&&ut.hasHighS())return!1;let{r:De,s:it}=ut,dt=wt(yt),qt=re.inv(it),$t=re.create(dt*qt),ka=re.create(De*qt),Pa=T.BASE.multiplyUnsafe($t).add(zt.multiplyUnsafe(ka));return Pa.is0()?!1:re.create(Pa.x)===De}catch{return!1}},recoverPublicKey:function(We,yt,tt={}){let{prehash:Nt}=_d(tt,Ot);return yt=za(yt,Nt),Mt.fromBytes(We,"recovered").recoverPublicKey(yt).toBytes()},Signature:Mt,hash:E})}(function(T,E={}){let $=function(Nt,Ue,ht={},kt){if(kt===void 0&&(kt=Nt==="edwards"),!Ue||typeof Ue!="object")throw Error(`expected valid ${Nt} CURVE object`);for(let De of["p","n","h"]){let it=Ue[De];if(!(typeof it=="bigint"&&it>So))throw Error(`CURVE.${De} must be positive bigint`)}let ut=hp(Ue.p,ht.Fp,kt),zt=hp(Ue.n,ht.Fn,kt);for(let De of["Gx","Gy","a","b"])if(!ut.isValid(Ue[De]))throw Error(`CURVE.${De} must be valid field element of CURVE.Fp`);return{CURVE:Ue=Object.freeze(Object.assign({},Ue)),Fp:ut,Fn:zt}}("weierstrass",T,E),{Fp:q,Fn:ne}=$,ie=$.CURVE,{h:re,n:pe}=ie;gd(E,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:ce}=E;if(ce&&(!q.is0(ie.a)||typeof ce.beta!="bigint"||!Array.isArray(ce.basises)))throw Error('invalid endo: expected "beta": bigint and "basises": array');let he=gp(q,ne);function xe(){if(!q.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}let Ee=E.toBytes||function(Nt,Ue,ht){let{x:kt,y:ut}=Ue.toAffine(),zt=q.toBytes(kt);if(Ic(ht,"isCompressed"),!ht)return(0,Xr.Id)(Uint8Array.of(4),zt,q.toBytes(ut));{xe();let De=!q.isOdd(ut);return(0,Xr.Id)(fp(De),zt)}},Be=E.fromBytes||function(Nt){Ys(Nt,void 0,"Point");let{publicKey:Ue,publicKeyUncompressed:ht}=he,kt=Nt.length,ut=Nt[0],zt=Nt.subarray(1);if(kt===Ue&&(ut===2||ut===3)){let De,it=q.fromBytes(zt);if(!q.isValid(it))throw Error("bad point: is not on curve, wrong x");let dt=lt(it);try{De=q.sqrt(dt)}catch(qt){throw Error("bad point: is not on curve, sqrt error"+(qt instanceof Error?": "+qt.message:""))}return xe(),(1&ut)==1!==q.isOdd(De)&&(De=q.neg(De)),{x:it,y:De}}if(kt===ht&&ut===4){let De=q.BYTES,it=q.fromBytes(zt.subarray(0,De)),dt=q.fromBytes(zt.subarray(De,2*De));if(!Ot(it,dt))throw Error("bad point: is not on curve");return{x:it,y:dt}}throw Error(`bad point: got length ${kt}, expected compressed=${Ue} or uncompressed=${ht}`)};function lt(Nt){let Ue=q.sqr(Nt),ht=q.mul(Ue,Nt);return q.add(q.add(ht,q.mul(Nt,ie.a)),ie.b)}function Ot(Nt,Ue){let ht=q.sqr(Ue),kt=lt(Nt);return q.eql(ht,kt)}if(!Ot(ie.Gx,ie.Gy))throw Error("bad curve params: generator point");let Vt=q.mul(q.pow(ie.a,qc),$g),_t=q.mul(q.sqr(ie.b),BigInt(27));if(q.is0(q.add(Vt,_t)))throw Error("bad curve params: a or b");function Mt(Nt,Ue,ht=!1){if(!q.isValid(Ue)||ht&&q.is0(Ue))throw Error(`bad point coordinate ${Nt}`);return Ue}function Wt(Nt){if(!(Nt instanceof We))throw Error("ProjectivePoint expected")}function wt(Nt){if(!ce||!ce.basises)throw Error("no endo");return function(Ue,ht,kt){let[[ut,zt],[De,it]]=ht,dt=pp(it*Ue,kt),qt=pp(-zt*Ue,kt),$t=Ue-dt*ut-qt*De,ka=-dt*zt-qt*it,Pa=$t=Fa||ka=Fa)throw Error("splitScalar (endomorphism): failed, k="+Ue);return{k1neg:Pa,k1:$t,k2neg:ra,k2:ka}}(Nt,ce.basises,ne.ORDER)}let Rt=Gh((Nt,Ue)=>{let{X:ht,Y:kt,Z:ut}=Nt;if(q.eql(ut,q.ONE))return{x:ht,y:kt};let zt=Nt.is0();Ue==null&&(Ue=zt?q.ONE:q.inv(ut));let De=q.mul(ht,Ue),it=q.mul(kt,Ue),dt=q.mul(ut,Ue);if(zt)return{x:q.ZERO,y:q.ZERO};if(!q.eql(dt,q.ONE))throw Error("invZ was invalid");return{x:De,y:it}}),aa=Gh(Nt=>{if(Nt.is0()){if(E.allowInfinityPoint&&!q.is0(Nt.Y))return;throw Error("bad point: ZERO")}let{x:Ue,y:ht}=Nt.toAffine();if(!q.isValid(Ue)||!q.isValid(ht))throw Error("bad point: x or y not field elements");if(!Ot(Ue,ht))throw Error("bad point: equation left != right");if(!Nt.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});function za(Nt,Ue,ht,kt,ut){return ht=new We(q.mul(ht.X,Nt),ht.Y,ht.Z),Ue=Oc(kt,Ue),ht=Oc(ut,ht),Ue.add(ht)}class We{constructor(Ue,ht,kt){this.X=Mt("x",Ue),this.Y=Mt("y",ht,!0),this.Z=Mt("z",kt),Object.freeze(this)}static CURVE(){return ie}static fromAffine(Ue){let{x:ht,y:kt}=Ue||{};if(!Ue||!q.isValid(ht)||!q.isValid(kt))throw Error("invalid affine point");if(Ue instanceof We)throw Error("projective point not allowed");return q.is0(ht)&&q.is0(kt)?We.ZERO:new We(ht,kt,q.ONE)}static fromBytes(Ue){let ht=We.fromAffine(Be(Ys(Ue,void 0,"point")));return ht.assertValidity(),ht}static fromHex(Ue){return We.fromBytes(ai("pointHex",Ue))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(Ue=8,ht=!0){return tt.createCache(this,Ue),ht||this.multiply(qc),this}assertValidity(){aa(this)}hasEvenY(){let{y:Ue}=this.toAffine();if(!q.isOdd)throw Error("Field doesn't support isOdd");return!q.isOdd(Ue)}equals(Ue){Wt(Ue);let{X:ht,Y:kt,Z:ut}=this,{X:zt,Y:De,Z:it}=Ue,dt=q.eql(q.mul(ht,it),q.mul(zt,ut)),qt=q.eql(q.mul(kt,it),q.mul(De,ut));return dt&&qt}negate(){return new We(this.X,q.neg(this.Y),this.Z)}double(){let{a:Ue,b:ht}=ie,kt=q.mul(ht,qc),{X:ut,Y:zt,Z:De}=this,it=q.ZERO,dt=q.ZERO,qt=q.ZERO,$t=q.mul(ut,ut),ka=q.mul(zt,zt),Pa=q.mul(De,De),ra=q.mul(ut,zt);return ra=q.add(ra,ra),qt=q.mul(ut,De),qt=q.add(qt,qt),it=q.mul(Ue,qt),dt=q.mul(kt,Pa),dt=q.add(it,dt),it=q.sub(ka,dt),dt=q.add(ka,dt),dt=q.mul(it,dt),it=q.mul(ra,it),qt=q.mul(kt,qt),Pa=q.mul(Ue,Pa),ra=q.sub($t,Pa),ra=q.mul(Ue,ra),ra=q.add(ra,qt),qt=q.add($t,$t),$t=q.add(qt,$t),$t=q.add($t,Pa),$t=q.mul($t,ra),dt=q.add(dt,$t),Pa=q.mul(zt,De),Pa=q.add(Pa,Pa),$t=q.mul(Pa,ra),it=q.sub(it,$t),qt=q.mul(Pa,ka),qt=q.add(qt,qt),new We(it,dt,qt=q.add(qt,qt))}add(Ue){Wt(Ue);let{X:ht,Y:kt,Z:ut}=this,{X:zt,Y:De,Z:it}=Ue,dt=q.ZERO,qt=q.ZERO,$t=q.ZERO,ka=ie.a,Pa=q.mul(ie.b,qc),ra=q.mul(ht,zt),Fa=q.mul(kt,De),ar=q.mul(ut,it),Pr=q.add(ht,kt),pr=q.add(zt,De);Pr=q.mul(Pr,pr),pr=q.add(ra,Fa),Pr=q.sub(Pr,pr),pr=q.add(ht,ut);let jr=q.add(zt,it);return pr=q.mul(pr,jr),jr=q.add(ra,ar),pr=q.sub(pr,jr),jr=q.add(kt,ut),dt=q.add(De,it),jr=q.mul(jr,dt),dt=q.add(Fa,ar),jr=q.sub(jr,dt),$t=q.mul(ka,pr),dt=q.mul(Pa,ar),$t=q.add(dt,$t),dt=q.sub(Fa,$t),$t=q.add(Fa,$t),qt=q.mul(dt,$t),Fa=q.add(ra,ra),Fa=q.add(Fa,ra),ar=q.mul(ka,ar),pr=q.mul(Pa,pr),Fa=q.add(Fa,ar),ar=q.sub(ra,ar),ar=q.mul(ka,ar),pr=q.add(pr,ar),ra=q.mul(Fa,pr),qt=q.add(qt,ra),ra=q.mul(jr,pr),dt=q.mul(Pr,dt),dt=q.sub(dt,ra),ra=q.mul(Pr,Fa),$t=q.mul(jr,$t),new We(dt,qt,$t=q.add($t,ra))}subtract(Ue){return this.add(Ue.negate())}is0(){return this.equals(We.ZERO)}multiply(Ue){let ht,kt,{endo:ut}=E;if(!ne.isValidNot0(Ue))throw Error("invalid scalar: out of range");let zt=De=>tt.cached(this,De,it=>yd(We,it));if(ut){let{k1neg:De,k1:it,k2neg:dt,k2:qt}=wt(Ue),{p:$t,f:ka}=zt(it),{p:Pa,f:ra}=zt(qt);kt=ka.add(ra),ht=za(ut.beta,$t,Pa,De,dt)}else{let{p:De,f:it}=zt(Ue);ht=De,kt=it}return yd(We,[ht,kt])[0]}multiplyUnsafe(Ue){let{endo:ht}=E;if(!ne.isValid(Ue))throw Error("invalid scalar: out of range");if(Ue===ns||this.is0())return We.ZERO;if(Ue===to)return this;if(tt.hasCache(this))return this.multiply(Ue);if(!ht)return tt.unsafe(this,Ue);{let{k1neg:kt,k1:ut,k2neg:zt,k2:De}=wt(Ue),{p1:it,p2:dt}=function(qt,$t,ka,Pa){let ra=$t,Fa=qt.ZERO,ar=qt.ZERO;for(;ka>So||Pa>So;)ka&eo&&(Fa=Fa.add(ra)),Pa&eo&&(ar=ar.add(ra)),ra=ra.double(),ka>>=eo,Pa>>=eo;return{p1:Fa,p2:ar}}(We,this,ut,De);return za(ht.beta,it,dt,kt,zt)}}multiplyAndAddUnsafe(Ue,ht,kt){let ut=this.multiplyUnsafe(ht).add(Ue.multiplyUnsafe(kt));return ut.is0()?void 0:ut}toAffine(Ue){return Rt(this,Ue)}isTorsionFree(){let{isTorsionFree:Ue}=E;return re===to||(Ue?Ue(We,this):tt.unsafe(this,pe).is0())}clearCofactor(){let{clearCofactor:Ue}=E;return re===to?this:Ue?Ue(We,this):this.multiplyUnsafe(re)}isSmallOrder(){return this.multiplyUnsafe(re).is0()}toBytes(Ue=!0){return Ic(Ue,"isCompressed"),this.assertValidity(),Ee(We,this,Ue)}toHex(Ue=!0){return(0,Xr.My)(this.toBytes(Ue))}toString(){return``}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(Ue=!0){return this.toBytes(Ue)}_setWindowSize(Ue){this.precompute(Ue)}static normalizeZ(Ue){return yd(We,Ue)}static msm(Ue,ht){return function(kt,ut,zt,De){if(!Array.isArray(zt))throw Error("array expected");if(zt.forEach((Pr,pr)=>{if(!(Pr instanceof kt))throw Error("invalid point at index "+pr)}),!Array.isArray(De))throw Error("array of scalars expected");De.forEach((Pr,pr)=>{if(!ut.isValid(Pr))throw Error("invalid scalar at index "+pr)});let it=zt.length,dt=De.length;if(it!==dt)throw Error("arrays of points and scalars must have equal length");let qt=kt.ZERO,$t=Vh(BigInt(it)),ka=1;$t>12?ka=$t-3:$t>4?ka=$t-2:$t>0&&(ka=2);let Pa=pl(ka),ra=Array(Number(Pa)+1).fill(qt),Fa=Math.floor((ut.BITS-1)/ka)*ka,ar=qt;for(let Pr=Fa;Pr>=0;Pr-=ka){ra.fill(qt);for(let jr=0;jr>BigInt(Pr)&Pa);ra[Vi]=ra[Vi].add(zt[jr])}let pr=qt;for(let jr=ra.length-1,Vi=qt;jr>0;jr--)Vi=Vi.add(ra[jr]),pr=pr.add(Vi);if(ar=ar.add(pr),Pr!==0)for(let jr=0;jr{if(o.cause instanceof ln){if(o.cause.details)return o.cause.details;if(o.cause.shortMessage)return o.cause.shortMessage}return o.cause?.message?o.cause.message:o.details})(),m=o.cause instanceof ln&&o.cause.docsPath||o.docsPath,b=`https://oxlib.sh${m??""}`;super([a||"An error occurred.",...o.metaMessages?["",...o.metaMessages]:[],...u||m?["",u?`Details: ${u}`:void 0,m?`See: ${b}`:void 0]:[]].filter(j=>typeof j=="string").join(` -`),o.cause?{cause:o.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:"ox@0.1.1"}),this.cause=o.cause,this.details=u,this.docs=b,this.docsPath=m,this.shortMessage=a}walk(a){return function o(u,m){return m?.(u)?u:u&&typeof u=="object"&&"cause"in u&&u.cause?o(u.cause,m):m?null:u}(this,a)}}function Tc(t,a,o){return JSON.stringify(t,(u,m)=>typeof m=="bigint"?m.toString()+"#__bigint":m,o)}function zd(t,a){if(As(t)>a)throw new Xg({givenSize:As(t),maxSize:a})}function kp(t,a={}){let{dir:o,size:u=32}=a;if(u===0)return t;let m=t.replace("0x","");if(m.length>2*u)throw new eb({size:Math.ceil(m.length/2),targetSize:u,type:"Hex"});return`0x${m[o==="right"?"padEnd":"padStart"](2*u,"0")}`}let Gg=new TextEncoder,Jg=Array.from({length:256},(t,a)=>a.toString(16).padStart(2,"0"));function Uc(...t){return`0x${t.reduce((a,o)=>a+o.replace("0x",""),"")}`}function xp(t){return t instanceof Uint8Array?Ao(t):Array.isArray(t)?Ao(new Uint8Array(t)):t}function Ao(t,a={}){let o="";for(let m=0;mu||j<_){let F=typeof t=="bigint"?"n":"";throw new Zg({max:u?`${u}${F}`:void 0,min:`${_}${F}`,signed:m,size:b,value:`${t}${F}`})}let P=(m&&j<0?(1n<0&&a>As(t)-1)throw new zp({offset:a,position:"start",size:As(t)});let b=`0x${t.replace("0x","").slice((a??0)*2,(o??t.length)*2)}`;return m&&function(j,_,P){if(typeof _=="number"&&typeof P=="number"&&As(j)!==P-_)throw new zp({offset:P,position:"end",size:As(j)})}(b,a,o),b}function As(t){return Math.ceil((t.length-2)/2)}class Zg extends ln{constructor({max:a,min:o,signed:u,size:m,value:b}){super(`Number \`${b}\` is not in safe${m?` ${8*m}-bit`:""}${u?" signed":" unsigned"} integer range ${a?`(\`${o}\` to \`${a}\`)`:`(above \`${o}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class Yg extends ln{constructor(a){super(`Value \`${typeof a=="object"?Tc(a):a}\` of type \`${typeof a}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class Qg extends ln{constructor(a){super(`Value \`${a}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}class Xg extends ln{constructor({givenSize:a,maxSize:o}){super(`Size cannot exceed \`${o}\` bytes. Given size: \`${a}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class zp extends ln{constructor({offset:a,position:o,size:u}){super(`Slice ${o==="start"?"starting":"ending"} at offset \`${a}\` is out-of-bounds (size: \`${u}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class eb extends ln{constructor({size:a,targetSize:o,type:u}){super(`${u.charAt(0).toUpperCase()}${u.slice(1).toLowerCase()} size (\`${a}\`) exceeds padding size (\`${o}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}function Sp(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:void 0}function Pp(t){return t instanceof Uint8Array?t:typeof t=="string"?Ip(t):Ap(t)}function Ap(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function Ip(t,a={}){let{size:o}=a,u=t;o&&(zd(t,o),u=jp(t,o));let m=u.slice(2);m.length%2&&(m=`0${m}`);let b=m.length/2,j=new Uint8Array(b);for(let _=0,P=0;_0&&a>Io(t)-1)throw new Op({offset:a,position:"start",size:Io(t)});let b=t.slice(a,o);return m&&function(j,_,P){if(typeof _=="number"&&typeof P=="number"&&Io(j)!==P-_)throw new Op({offset:P,position:"end",size:Io(j)})}(b,a,o),b}function Ep(t,a={}){let{size:o}=a;return o!==void 0&&function(u,m){if(Io(u)>m)throw new ab({givenSize:Io(u),maxSize:m})}(t,o),function(u,m={}){let{signed:b}=m;m.size&&zd(u,m.size);let j=BigInt(u);if(!b)return j;let _=(1n<<8n*BigInt((u.length-2)/2))-1n;return j<=_>>1n?j:j-_-1n}(Ao(t,a),a)}class tb extends ln{constructor(a){super(`Value \`${typeof a=="object"?Tc(a):a}\` of type \`${typeof a}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}}class ab extends ln{constructor({givenSize:a,maxSize:o}){super(`Size cannot exceed \`${o}\` bytes. Given size: \`${a}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}}class Op extends ln{constructor({offset:a,position:o,size:u}){super(`Slice ${o==="start"?"starting":"ending"} at offset \`${a}\` is out-of-bounds (size: \`${u}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"})}}function qp(t,a={}){let{compressed:o}=a,{prefix:u,x:m,y:b}=t;if(o===!1||typeof m=="bigint"&&typeof b=="bigint"){if(u!==4)throw new Up({prefix:u,cause:new ib});return}if(o===!0||typeof m=="bigint"&&b===void 0){if(u!==3&&u!==2)throw new Up({prefix:u,cause:new nb});return}throw new rb({publicKey:t})}function Tp(t){if(t.length!==132&&t.length!==130&&t.length!==68)throw new sb({publicKey:t});return t.length===130?{prefix:4,x:BigInt(ci(t,0,32)),y:BigInt(ci(t,32,64))}:t.length===132?{prefix:Number(ci(t,0,1)),x:BigInt(ci(t,1,33)),y:BigInt(ci(t,33,65))}:{prefix:Number(ci(t,0,1)),x:BigInt(ci(t,1,33))}}function Mc(t,a={}){qp(t);let{prefix:o,x:u,y:m}=t,{includePrefix:b=!0}=a;return Uc(b?Ps(o,{size:1}):"0x",Ps(u,{size:32}),typeof m=="bigint"?Ps(m,{size:32}):"0x")}class rb extends ln{constructor({publicKey:a}){super(`Value \`${Tc(a)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}}class Up extends ln{constructor({prefix:a,cause:o}){super(`Prefix "${a}" is invalid.`,{cause:o}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}}class nb extends ln{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}}class ib extends ln{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}}class sb extends ln{constructor({publicKey:a}){super(`Value \`${a}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${As(xp(a))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}}async function ob(t={}){var a;let o,{extractable:u=!1}=t,m=await globalThis.crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},u,["sign","verify"]),b=(a=new Uint8Array(await globalThis.crypto.subtle.exportKey("raw",m.publicKey)),qp(o=(()=>{if(function(C,F={}){let{strict:T=!1}=F;try{return function(E,$={}){let{strict:q=!1}=$;if(!E||typeof E!="string")throw new Yg(E);if(q&&!/^0x[0-9a-fA-F]*$/.test(E)||!E.startsWith("0x"))throw new Qg(E)}(C,{strict:T}),!0}catch{return!1}}(a))return Tp(a);if(function(C){try{if(!(C instanceof Uint8Array)&&(!C||typeof C!="object"||!("BYTES_PER_ELEMENT"in C)||C.BYTES_PER_ELEMENT!==1||C.constructor.name!=="Uint8Array"))throw new tb(C);return!0}catch{return!1}}(a))return Tp(Ao(a));let{prefix:j,x:_,y:P}=a;return typeof _=="bigint"&&typeof P=="bigint"?{prefix:j??4,x:_,y:P}:{prefix:j,x:_}})()),o);return{privateKey:m.privateKey,publicKey:b}}async function lb(t){let{payload:a,privateKey:o}=t,u=Ap(new Uint8Array(await globalThis.crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},o,Pp(a)))),m=Ep(Cp(u,0,32)),b=Ep(Cp(u,32,64));return b>wp.CURVE.n/2n&&(b=wp.CURVE.n-b),{r:m,s:b}}let cb=new TextDecoder,Rc=Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((t,a)=>[a,t.charCodeAt(0)]));function Mp(t,a={}){let{as:o=typeof t=="string"?"Hex":"Bytes"}=a,u=(0,Vl.sc)(Pp(t));return o==="Bytes"?u:Ao(u)}({...Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((t,a)=>[t.charCodeAt(0),a]))},Uint8Array.from([105,171,180,181,160,222,75,198,42,42,32,31,141,37,186,233]));let Rp=2n**256n-1n;function Np(t){if(t.length!==130&&t.length!==132)throw new ub({signature:t});let a=BigInt(ci(t,0,32)),o=BigInt(ci(t,32,64)),u=(()=>{let m=+`0x${t.slice(130)}`;if(!Number.isNaN(m))try{var b=m;if(b===0||b===27)return 0;if(b===1||b===28)return 1;if(b>=35)return+(b%2==0);throw new mb({value:b})}catch{throw new Sd({value:m})}})();return u===void 0?{r:a,s:o}:{r:a,s:o,yParity:u}}class ub extends ln{constructor({signature:a}){super(`Value \`${a}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${As(xp(a))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class db extends ln{constructor({signature:a}){super(`Signature \`${Tc(a)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class hb extends ln{constructor({value:a}){super(`Value \`${a}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}}class pb extends ln{constructor({value:a}){super(`Value \`${a}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}}class Sd extends ln{constructor({value:a}){super(`Value \`${a}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class mb extends ln{constructor({value:a}){super(`Value \`${a}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}function Nc(t){return new Promise((a,o)=>{t.oncomplete=t.onsuccess=()=>a(t.result),t.onabort=t.onerror=()=>o(t.error)})}function Lp(t,a){let o=indexedDB.open(t);o.onupgradeneeded=()=>o.result.createObjectStore(a);let u=Nc(o);return(m,b)=>u.then(j=>b(j.transaction(a,m).objectStore(a)))}function Pd(){return c||(c=Lp("keyval-store","keyval")),c}let Lc="activeId",Is=(p="u">typeof indexedDB?Lp("base-acc-sdk","keys"):void 0,{getItem:async t=>await function(o,u=Pd()){return u("readonly",m=>Nc(m.get(o)))}(t,p)||null,removeItem:async t=>function(a,o=Pd()){return o("readwrite",u=>(u.delete(a),Nc(u.transaction)))}(t,p),setItem:async(t,a)=>function(o,u,m=Pd()){return m("readwrite",b=>(b.put(u,o),Nc(b.transaction)))}(t,a,p)});async function fb(){let t=await ob({extractable:!1}),a=ci(Mc(t.publicKey),1);return await Is.setItem(a,t),await Is.setItem(Lc,a),t}async function Bp(){let t=await Is.getItem(Lc);return t&&await Is.getItem(t)||null}async function gb(){let t=await Bp();if(!t){let a=await fb(),o=ci(Mc(a.publicKey),1);return await Is.setItem(o,a),await Is.setItem(Lc,o),a}return t}async function bb(){let t=await gb(),a=ci(Mc(t.publicKey),1),o=async u=>{var m;let b,j,{payload:_,metadata:P}=function(C){let{challenge:F,crossOrigin:T,extraClientData:E,flag:$,origin:q,rpId:ne,signCount:ie,userVerification:re="required"}=C,pe=function(Be={}){let{flag:lt=5,rpId:Ot=window.location.hostname,signCount:Vt=0}=Be;return Uc(Mp(_p(Ot)),Ps(lt,{size:1}),Ps(Vt,{size:4}))}({flag:$,rpId:ne,signCount:ie}),ce=function(Be){let{challenge:lt,crossOrigin:Ot=!1,extraClientData:Vt,origin:_t=window.location.origin}=Be;return JSON.stringify({type:"webauthn.get",challenge:function(Mt,Wt={}){return function(wt,Rt={}){let{pad:aa=!0,url:za=!1}=Rt,We=new Uint8Array(4*Math.ceil(wt.length/3));for(let Ue=0,ht=0;ht>18],We[Ue+1]=Rc[kt>>12&63],We[Ue+2]=Rc[kt>>6&63],We[Ue+3]=Rc[63&kt]}let yt=wt.length%3,tt=4*Math.floor(wt.length/3)+(yt&&yt+1),Nt=cb.decode(new Uint8Array(We.buffer,0,tt));return aa&&yt===1&&(Nt+="=="),aa&&yt===2&&(Nt+="="),za&&(Nt=Nt.replaceAll("+","-").replaceAll("/","_")),Nt}(Ip(Mt),Wt)}(lt,{url:!0,pad:!1}),origin:_t,crossOrigin:Ot,...Vt})}({challenge:F,crossOrigin:T,extraClientData:E,origin:q}),he=Mp(_p(ce)),xe=ce.indexOf('"challenge"'),Ee=ce.indexOf('"type"');return{metadata:{authenticatorData:pe,clientDataJSON:ce,challengeIndex:xe,typeIndex:Ee,userVerificationRequired:re==="required"},payload:Uc(pe,he)}}({challenge:u,origin:"https://keys.coinbase.com",userVerification:"preferred"});return{signature:(function(C,F={}){let{recovered:T}=F;if(C.r===void 0||C.s===void 0||T&&C.yParity===void 0)throw new db({signature:C});if(C.r<0n||C.r>Rp)throw new hb({value:C.r});if(C.s<0n||C.s>Rp)throw new pb({value:C.s});if(typeof C.yParity=="number"&&C.yParity!==0&&C.yParity!==1)throw new Sd({value:C.yParity})}(m=await lb({payload:_,privateKey:t.privateKey})),b=m.r,j=m.s,Uc(Ps(b,{size:32}),Ps(j,{size:32}),typeof m.yParity=="number"?Ps(function(C){if(C===0)return 27;if(C===1)return 28;throw new Sd({value:C})}(m.yParity),{size:1}):"0x")),raw:{},webauthn:P}};return{id:a,publicKey:a,sign:async({hash:u})=>o(u),signMessage:async({message:u})=>o(hc(u)),signTypedData:async u=>o(hl(u)),type:"webAuthn"}}async function Bc(){return{account:await bb()}}async function yb(){let t=await Bp();t&&(await Is.removeItem(ci(Mc(t.publicKey),1)),await Is.removeItem(Lc))}let Dp={storageKey:"ownPrivateKey",keyType:"private"},Fp={storageKey:"ownPublicKey",keyType:"public"},Wp={storageKey:"peerPublicKey",keyType:"public"};class vb{constructor(){this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null}async getOwnPublicKey(){return await this.loadKeysIfNeeded(),this.ownPublicKey}async getSharedSecret(){return await this.loadKeysIfNeeded(),this.sharedSecret}async setPeerPublicKey(a){this.sharedSecret=null,this.peerPublicKey=a,await this.storeKey(Wp,a),await this.loadKeysIfNeeded()}async clear(){this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null,M.keys.clear()}async generateKeyPair(){let a=await Og();this.ownPrivateKey=a.privateKey,this.ownPublicKey=a.publicKey,await this.storeKey(Dp,a.privateKey),await this.storeKey(Fp,a.publicKey)}async loadKeysIfNeeded(){this.ownPrivateKey===null&&(this.ownPrivateKey=await this.loadKey(Dp)),this.ownPublicKey===null&&(this.ownPublicKey=await this.loadKey(Fp)),(this.ownPrivateKey===null||this.ownPublicKey===null)&&await this.generateKeyPair(),this.peerPublicKey===null&&(this.peerPublicKey=await this.loadKey(Wp)),this.sharedSecret===null&&this.ownPrivateKey!==null&&this.peerPublicKey!==null&&(this.sharedSecret=await qg(this.ownPrivateKey,this.peerPublicKey))}async loadKey(a){let o=M.keys.get(a.storageKey);return o?Wh(a.keyType,o):null}async storeKey(a,o){let u=await Fh(a.keyType,o);M.keys.set(a.storageKey,u)}}var Ad=i(2863);function ml(t,a){if(typeof t=="object"&&t!==null)return a.split(/[.[\]]+/).filter(Boolean).reduce((o,u)=>{if(typeof o=="object"&&o!==null)return o[u]},t)}class wb extends Ht.C{constructor(a){super(`Call bundle failed with status: ${a.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=a}}let kb=(0,Ne.cK)(0,{size:32});async function xb(t,a){let o;async function u(T){if(T.endsWith("0x5792579257925792579257925792579257925792579257925792579257925792".slice(2))){let E=(0,Ii.B)((0,Ad.iN)(T,-64,-32)),$=(0,Ad.iN)(T,0,-64).slice(2).match(/.{1,64}/g),q=await Promise.all($.map(ie=>kb.slice(2)!==ie?t.request({method:"eth_getTransactionReceipt",params:[`0x${ie}`]},{dedupe:!0}):void 0)),ne=q.some(ie=>ie===null)?100:q.every(ie=>ie?.status==="0x1")?200:q.every(ie=>ie?.status==="0x0")?500:600;return{atomic:!1,chainId:(0,hr.ME)(E),receipts:q.filter(Boolean),status:ne,version:"2.0.0"}}return t.request({method:"wallet_getCallsStatus",params:[T]})}let{atomic:m=!1,chainId:b,receipts:j,version:_="2.0.0",...P}=await u(a.id),[C,F]=(o=P.status)>=100&&o<200?["pending",o]:o>=200&&o<300?["success",o]:o>=300&&o<700?["failure",o]:o==="CONFIRMED"?["success",200]:o==="PENDING"?["pending",100]:[void 0,o];return{...P,atomic:m,chainId:b?(0,hr.ME)(b):void 0,receipts:j?.map(T=>({...T,blockNumber:(0,hr.uU)(T.blockNumber),gasUsed:(0,hr.uU)(T.gasUsed),status:tc[T.status]}))??[],statusCode:F,status:C,version:_}}async function $p(t,a){let o,{id:u,pollingInterval:m=t.pollingInterval,status:b=({statusCode:ne})=>ne===200||ne>=300,retryCount:j=4,retryDelay:_=({count:ne})=>200*~~(1<{let ie=Js(async()=>{let re=pe=>{clearTimeout(o),ie(),pe(),q()};try{let pe=await pc(async()=>{let ce=await da(t,xb,"getCallsStatus")({id:u});if(C&&ce.status==="failure")throw new wb(ce);return ce},{retryCount:j,delay:_});if(!b(pe))return;re(()=>ne.resolve(pe))}catch(pe){re(()=>ne.reject(pe))}},{interval:m,emitOnBegin:!0});return ie});return o=P?setTimeout(()=>{q(),clearTimeout(o),$(new _b({id:u}))},P):void 0,await T}class _b extends Ht.C{constructor({id:a}){super(`Timed out while waiting for call bundle with id "${a}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}function Kp(t){var a;if(!Array.isArray(t.params))return null;switch(t.method){case"personal_sign":return t.params[1];case"eth_signTypedData_v4":return t.params[0];case"eth_signTransaction":case"eth_sendTransaction":case"wallet_sendCalls":return(a=t.params[0])==null?void 0:a.from;default:return null}}function Hp(t){var a;if(!t||!Array.isArray(t)||!((a=t[0])!=null&&a.chainId)||typeof t[0].chainId!="string"&&typeof t[0].chainId!="number")throw Se()}function Dc(t,a){let o=Object.assign({},t);if(a&&t.method.startsWith("wallet_")){let u=ml(o,"params.0.capabilities");if(u===void 0&&(u={}),typeof u!="object")throw Se();u=Object.assign(Object.assign({},a),u),o.params&&Array.isArray(o.params)&&(o.params[0]=Object.assign(Object.assign({},o.params[0]),{capabilities:u}))}return o}async function Id(){var t;let a=(t=M.subAccountsConfig.get())!=null?t:{},o={};if(a.enableAutoSubAccounts){let{account:u}=a.toOwnerAccount?await a.toOwnerAccount():await Bc();if(!u)throw bt("No owner account found");o.addSubAccount={account:{type:"create",keys:[{type:u.address?"address":"webauthn-p256",publicKey:u.address||u.publicKey}]}}}M.subAccountsConfig.set({capabilities:o})}async function Vp({client:t,id:a}){var o;let u=await $p(t,{id:a});if(u.status==="success")return(o=u.receipts)==null?void 0:o[0].transactionHash;throw Oe("failed to send transaction")}function Gp({calls:t,from:a,chainId:o,capabilities:u}){let m=O.get().paymasterUrls,b={method:"wallet_sendCalls",params:[{version:"1.0",calls:t,chainId:(0,Ne.cK)(o),from:a,atomicRequired:!0,capabilities:u}]};return m?.[o]&&(b=Dc(b,{paymasterService:{url:m?.[o]}})),b}async function jb(){let t=Lr();return await new Promise(a=>{Ba({dialogContext:"sub_account_insufficient_balance"}),t.presentItem({title:"Insufficient spend permission",message:"Your spend permission's remaining balance cannot cover this transaction. Please choose how to proceed:",onClose:()=>{Ia({dialogContext:"sub_account_insufficient_balance"}),t.clear()},actionItems:[{text:"Edit spend permission",variant:"primary",onClick:()=>{Ha({dialogContext:"sub_account_insufficient_balance",dialogAction:"create_permission"}),t.clear(),a("update_permission")}},{text:"Use primary account",variant:"secondary",onClick:()=>{Ha({dialogContext:"sub_account_insufficient_balance",dialogAction:"continue_in_popup"}),t.clear(),a("continue_popup")}}]})})}function Jp(t,a){var o;if(!Array.isArray(t?.params))return!1;let u=(o=t.params[0])==null?void 0:o.capabilities;return!!u&&typeof u=="object"&&a in u}function Fc(t,a){let o=t.filter(u=>u!==a);return[a,...o]}function Wc(t,a){return[...t.filter(o=>o!==a),a]}async function zb(){let t=M.spendPermissions.get(),a=M.subAccounts.get(),o=M.account.get().accounts;return o?{accounts:o?.map(u=>({address:u,capabilities:{subAccounts:a?[a]:void 0,spendPermissions:t.length>0?{permissions:t}:void 0}}))}:null}function $c(t){return btoa(String.fromCharCode(...new Uint8Array(t))).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}var Zp=i(519);let Sb=[{inputs:[{name:"preOpGas",type:"uint256"},{name:"paid",type:"uint256"},{name:"validAfter",type:"uint48"},{name:"validUntil",type:"uint48"},{name:"targetSuccess",type:"bool"},{name:"targetResult",type:"bytes"}],name:"ExecutionResult",type:"error"},{inputs:[{name:"opIndex",type:"uint256"},{name:"reason",type:"string"}],name:"FailedOp",type:"error"},{inputs:[{name:"sender",type:"address"}],name:"SenderAddressResult",type:"error"},{inputs:[{name:"aggregator",type:"address"}],name:"SignatureValidationFailed",type:"error"},{inputs:[{components:[{name:"preOpGas",type:"uint256"},{name:"prefund",type:"uint256"},{name:"sigFailed",type:"bool"},{name:"validAfter",type:"uint48"},{name:"validUntil",type:"uint48"},{name:"paymasterContext",type:"bytes"}],name:"returnInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"senderInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"factoryInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"paymasterInfo",type:"tuple"}],name:"ValidationResult",type:"error"},{inputs:[{components:[{name:"preOpGas",type:"uint256"},{name:"prefund",type:"uint256"},{name:"sigFailed",type:"bool"},{name:"validAfter",type:"uint48"},{name:"validUntil",type:"uint48"},{name:"paymasterContext",type:"bytes"}],name:"returnInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"senderInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"factoryInfo",type:"tuple"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"paymasterInfo",type:"tuple"},{components:[{name:"aggregator",type:"address"},{components:[{name:"stake",type:"uint256"},{name:"unstakeDelaySec",type:"uint256"}],name:"stakeInfo",type:"tuple"}],name:"aggregatorInfo",type:"tuple"}],name:"ValidationResultWithAggregation",type:"error"},{anonymous:!1,inputs:[{indexed:!0,name:"userOpHash",type:"bytes32"},{indexed:!0,name:"sender",type:"address"},{indexed:!1,name:"factory",type:"address"},{indexed:!1,name:"paymaster",type:"address"}],name:"AccountDeployed",type:"event"},{anonymous:!1,inputs:[],name:"BeforeExecution",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"totalDeposit",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"aggregator",type:"address"}],name:"SignatureAggregatorChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"totalStaked",type:"uint256"},{indexed:!1,name:"unstakeDelaySec",type:"uint256"}],name:"StakeLocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"withdrawTime",type:"uint256"}],name:"StakeUnlocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"withdrawAddress",type:"address"},{indexed:!1,name:"amount",type:"uint256"}],name:"StakeWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"userOpHash",type:"bytes32"},{indexed:!0,name:"sender",type:"address"},{indexed:!0,name:"paymaster",type:"address"},{indexed:!1,name:"nonce",type:"uint256"},{indexed:!1,name:"success",type:"bool"},{indexed:!1,name:"actualGasCost",type:"uint256"},{indexed:!1,name:"actualGasUsed",type:"uint256"}],name:"UserOperationEvent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"userOpHash",type:"bytes32"},{indexed:!0,name:"sender",type:"address"},{indexed:!1,name:"nonce",type:"uint256"},{indexed:!1,name:"revertReason",type:"bytes"}],name:"UserOperationRevertReason",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"account",type:"address"},{indexed:!1,name:"withdrawAddress",type:"address"},{indexed:!1,name:"amount",type:"uint256"}],name:"Withdrawn",type:"event"},{inputs:[],name:"SIG_VALIDATION_FAILED",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"initCode",type:"bytes"},{name:"sender",type:"address"},{name:"paymasterAndData",type:"bytes"}],name:"_validateSenderAndPaymaster",outputs:[],stateMutability:"view",type:"function"},{inputs:[{name:"unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{name:"account",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"account",type:"address"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{name:"",type:"address"}],name:"deposits",outputs:[{name:"deposit",type:"uint112"},{name:"staked",type:"bool"},{name:"stake",type:"uint112"},{name:"unstakeDelaySec",type:"uint32"},{name:"withdrawTime",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{name:"account",type:"address"}],name:"getDepositInfo",outputs:[{components:[{name:"deposit",type:"uint112"},{name:"staked",type:"bool"},{name:"stake",type:"uint112"},{name:"unstakeDelaySec",type:"uint32"},{name:"withdrawTime",type:"uint48"}],name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{name:"sender",type:"address"},{name:"key",type:"uint192"}],name:"getNonce",outputs:[{name:"nonce",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"initCode",type:"bytes"}],name:"getSenderAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOp",type:"tuple"}],name:"getUserOpHash",outputs:[{name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOps",type:"tuple[]"},{name:"aggregator",type:"address"},{name:"signature",type:"bytes"}],name:"opsPerAggregator",type:"tuple[]"},{name:"beneficiary",type:"address"}],name:"handleAggregatedOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"ops",type:"tuple[]"},{name:"beneficiary",type:"address"}],name:"handleOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"key",type:"uint192"}],name:"incrementNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"callData",type:"bytes"},{components:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"paymaster",type:"address"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"}],name:"mUserOp",type:"tuple"},{name:"userOpHash",type:"bytes32"},{name:"prefund",type:"uint256"},{name:"contextOffset",type:"uint256"},{name:"preOpGas",type:"uint256"}],name:"opInfo",type:"tuple"},{name:"context",type:"bytes"}],name:"innerHandleOp",outputs:[{name:"actualGasCost",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"",type:"address"},{name:"",type:"uint192"}],name:"nonceSequenceNumber",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"op",type:"tuple"},{name:"target",type:"address"},{name:"targetCallData",type:"bytes"}],name:"simulateHandleOp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"initCode",type:"bytes"},{name:"callData",type:"bytes"},{name:"callGasLimit",type:"uint256"},{name:"verificationGasLimit",type:"uint256"},{name:"preVerificationGas",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymasterAndData",type:"bytes"},{name:"signature",type:"bytes"}],name:"userOp",type:"tuple"}],name:"simulateValidation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unlockStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"withdrawAddress",type:"address"}],name:"withdrawStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"withdrawAddress",type:"address"},{name:"withdrawAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];var Pb=i(1298);function Cd(t){let{address:a,data:o,signature:u,to:m="hex"}=t,b=(0,jn.aP)([(0,vi.h)([{type:"address"},{type:"bytes"},{type:"bytes"}],[a,o,u]),"0x6492649264926492649264926492649264926492649264926492649264926492"]);return m==="hex"?b:(0,$r.aT)(b)}async function Ab(t){let{extend:a,nonceKeyManager:o=function(j){let{source:_}=j,P=new Map,C=new Oh.A(8192),F=new Map,T=({address:E,chainId:$})=>`${E}.${$}`;return{async consume({address:E,chainId:$,client:q}){let ne=T({address:E,chainId:$}),ie=this.get({address:E,chainId:$,client:q});this.increment({address:E,chainId:$});let re=await ie;return await _.set({address:E,chainId:$},re),C.set(ne,re),re},async increment({address:E,chainId:$}){let q=T({address:E,chainId:$}),ne=P.get(q)??0;P.set(q,ne+1)},async get({address:E,chainId:$,client:q}){let ne=T({address:E,chainId:$}),ie=F.get(ne);return ie||(ie=(async()=>{try{let re=await _.get({address:E,chainId:$,client:q}),pe=C.get(ne)??0;return pe>0&&re<=pe?pe+1:(C.delete(ne),re)}finally{this.reset({address:E,chainId:$})}})(),F.set(ne,ie)),(P.get(ne)??0)+await ie},reset({address:E,chainId:$}){let q=T({address:E,chainId:$});P.delete(q),F.delete(q)}}}({source:{get:()=>Date.now(),set(){}}}),...u}=t,m=!1,b=await t.getAddress();return{...a,...u,address:b,async getFactoryArgs(){return"isDeployed"in this&&await this.isDeployed()?{factory:void 0,factoryData:void 0}:t.getFactoryArgs()},async getNonce(j){let _=j?.key??BigInt(await o.consume({address:b,chainId:t.client.chain.id,client:t.client}));return t.getNonce?await t.getNonce({...j,key:_}):await Rr(t.client,{abi:(0,Pb.U)(["function getNonce(address, uint192) pure returns (uint256)"]),address:t.entryPoint.address,functionName:"getNonce",args:[b,_]})},isDeployed:async()=>!!m||(m=!!await da(t.client,xs,"getCode")({address:b})),...t.sign?{async sign(j){let[{factory:_,factoryData:P},C]=await Promise.all([this.getFactoryArgs(),t.sign(j)]);return _&&P?Cd({address:_,data:P,signature:C}):C}}:{},async signMessage(j){let[{factory:_,factoryData:P},C]=await Promise.all([this.getFactoryArgs(),t.signMessage(j)]);return _&&P&&_!=="0x7702"?Cd({address:_,data:P,signature:C}):C},async signTypedData(j){let[{factory:_,factoryData:P},C]=await Promise.all([this.getFactoryArgs(),t.signTypedData(j)]);return _&&P&&_!=="0x7702"?Cd({address:_,data:P,signature:C}):C},type:"smart"}}function Yp(t){let{authorization:a,factory:o,factoryData:u}=t;if(o==="0x7702"||o==="0x7702000000000000000000000000000000000000"){if(!a)return"0x7702000000000000000000000000000000000000";let m=a.address;return(0,jn.xW)([m,u??"0x"])}return o?(0,jn.xW)([o,u??"0x"]):"0x"}function Qp(t){let{callGasLimit:a,callData:o,maxPriorityFeePerGas:u,maxFeePerGas:m,paymaster:b,paymasterData:j,paymasterPostOpGasLimit:_,paymasterVerificationGasLimit:P,sender:C,signature:F="0x",verificationGasLimit:T}=t,E=(0,jn.xW)([(0,oi.eV)((0,Ne.cK)(T||0n),{size:16}),(0,oi.eV)((0,Ne.cK)(a||0n),{size:16})]),$=Yp(t),q=(0,jn.xW)([(0,oi.eV)((0,Ne.cK)(u||0n),{size:16}),(0,oi.eV)((0,Ne.cK)(m||0n),{size:16})]),ne=t.nonce??0n;return{accountGasLimits:E,callData:o,initCode:$,gasFees:q,nonce:ne,paymasterAndData:b?(0,jn.xW)([b,(0,oi.eV)((0,Ne.cK)(P||0n),{size:16}),(0,oi.eV)((0,Ne.cK)(_||0n),{size:16}),j||"0x"]):"0x",preVerificationGas:t.preVerificationGas??0n,sender:C,signature:F}}let Ib={PackedUserOperation:[{type:"address",name:"sender"},{type:"uint256",name:"nonce"},{type:"bytes",name:"initCode"},{type:"bytes",name:"callData"},{type:"bytes32",name:"accountGasLimits"},{type:"uint256",name:"preVerificationGas"},{type:"bytes32",name:"gasFees"},{type:"bytes",name:"paymasterAndData"}]};var Cb=function(t,a){var o={};for(var u in t)Object.prototype.hasOwnProperty.call(t,u)&&0>a.indexOf(u)&&(o[u]=t[u]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var m=0,u=Object.getOwnPropertySymbols(t);ma.indexOf(u[m])&&Object.prototype.propertyIsEnumerable.call(t,u[m])&&(o[u[m]]=t[u[m]]);return o};async function Eb(t){let{owner:a,ownerIndex:o,address:u,client:m,factoryData:b}=t,j={abi:Sb,address:"0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",version:"0.6"},_={abi:ue,address:"0xba5ed110efdba3d005bfc882d75358acbbb85842"};return Ab({client:m,entryPoint:j,extend:{abi:ae,factory:_},async decodeCalls(P){let C=(0,Zp.J)({abi:ae,data:P});if(C.functionName==="execute")return[{to:C.args[0],value:C.args[1],data:C.args[2]}];if(C.functionName==="executeBatch")return C.args[0].map(F=>({to:F.target,value:F.value,data:F.data}));throw new Ht.C(`unable to decode calls for "${C.functionName}"`)},async encodeCalls(P){var C,F;return P.length===1?(0,Qt.p)({abi:ae,functionName:"execute",args:[P[0].to,(C=P[0].value)!=null?C:BigInt(0),(F=P[0].data)!=null?F:"0x"]}):(0,Qt.p)({abi:ae,functionName:"executeBatch",args:[P.map(T=>{var E,$;return{data:(E=T.data)!=null?E:"0x",target:T.to,value:($=T.value)!=null?$:BigInt(0)}})]})},getAddress:async()=>u,getFactoryArgs:async()=>({factory:_.address,factoryData:b}),getStubSignature:async()=>a.type==="webAuthn"?"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000001949fc7c88032b9fcb5f6efc7a7b8c63668eae9871b765e23123bb473ff57aa831a7c0d9276168ebcc29f2875a0239cffdf2a9cd1c2007c5c77c071db9264df1d000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a7b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a2273496a396e6164474850596759334b7156384f7a4a666c726275504b474f716d59576f4d57516869467773222c226f726967696e223a2268747470733a2f2f7369676e2e636f696e626173652e636f6d222c2263726f73734f726967696e223a66616c73657d00000000000000000000000000000000000000000000":fl({ownerIndex:o,signature:"0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"}),async sign(P){let C=Ed({address:await this.getAddress(),chainId:m.chain.id,hash:P.hash});return fl({ownerIndex:o,signature:await Kc({hash:C,owner:a})})},async signMessage(P){let{message:C}=P,F=Ed({address:await this.getAddress(),chainId:m.chain.id,hash:hc(C)});return fl({ownerIndex:o,signature:await Kc({hash:F,owner:a})})},async signTypedData(P){let{domain:C,types:F,primaryType:T,message:E}=P,$=Ed({address:await this.getAddress(),chainId:m.chain.id,hash:hl({domain:C,message:E,primaryType:T,types:F})});return fl({ownerIndex:o,signature:await Kc({hash:$,owner:a})})},async signUserOperation(P){let{chainId:C=m.chain.id}=P,F=Cb(P,["chainId"]),T=await this.getAddress(),E=function($){let{chainId:q,entryPointAddress:ne,entryPointVersion:ie}=$,re=$.userOperation,{authorization:pe,callData:ce="0x",callGasLimit:he,maxFeePerGas:xe,maxPriorityFeePerGas:Ee,nonce:Be,paymasterAndData:lt="0x",preVerificationGas:Ot,sender:Vt,verificationGasLimit:_t}=re;if(ie==="0.8")return hl(function(Wt){let{chainId:wt,entryPointAddress:Rt,userOperation:aa}=Wt;return{types:Ib,primaryType:"PackedUserOperation",domain:{name:"ERC4337",version:"1",chainId:wt,verifyingContract:Rt},message:Qp(aa)}}({chainId:q,entryPointAddress:ne,userOperation:re}));let Mt=(()=>{if(ie==="0.6"){let Wt=Yp({authorization:pe,factory:re.initCode?.slice(0,42),factoryData:re.initCode?.slice(42)});return(0,vi.h)([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"bytes32"}],[Vt,Be,(0,Ur.S)(Wt),(0,Ur.S)(ce),he,_t,Ot,xe,Ee,(0,Ur.S)(lt)])}if(ie==="0.7"){let Wt=Qp(re);return(0,vi.h)([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[Wt.sender,Wt.nonce,(0,Ur.S)(Wt.initCode),(0,Ur.S)(Wt.callData),Wt.accountGasLimits,Wt.preVerificationGas,Wt.gasFees,(0,Ur.S)(Wt.paymasterAndData)])}throw Error(`entryPointVersion "${ie}" not supported.`)})();return(0,Ur.S)((0,vi.h)([{type:"bytes32"},{type:"address"},{type:"uint256"}],[(0,Ur.S)(Mt),ne,BigInt(q)]))}({chainId:C,entryPointAddress:j.address,entryPointVersion:j.version,userOperation:Object.assign(Object.assign({},F),{sender:T})});return fl({ownerIndex:o,signature:await Kc({hash:E,owner:a})})},userOperation:{async estimateGas(P){var C;if(a.type==="webAuthn")return{verificationGasLimit:BigInt(Math.max(Number((C=P.verificationGasLimit)!=null?C:BigInt(0)),8e5))}}}})}async function Kc({hash:t,owner:a}){if(a.type==="webAuthn"){let{signature:o,webauthn:u}=await a.sign({hash:t});return function({webauthn:m,signature:b}){let{r:j,s:_}=Np(b);return(0,vi.h)([{components:[{name:"authenticatorData",type:"bytes"},{name:"clientDataJSON",type:"bytes"},{name:"challengeIndex",type:"uint256"},{name:"typeIndex",type:"uint256"},{name:"r",type:"uint256"},{name:"s",type:"uint256"}],type:"tuple"}],[{authenticatorData:m.authenticatorData,clientDataJSON:(0,Ne.i3)(m.clientDataJSON),challengeIndex:BigInt(m.challengeIndex),typeIndex:BigInt(m.typeIndex),r:j,s:_}])}({signature:o,webauthn:u})}if(a.sign)return a.sign({hash:t});throw new Ht.C("`owner` does not support raw sign.")}function Ed({address:t,chainId:a,hash:o}){return hl({domain:{chainId:a,name:"Coinbase Smart Wallet",verifyingContract:t,version:"1"},types:{CoinbaseSmartWalletMessage:[{name:"hash",type:"bytes32"}]},primaryType:"CoinbaseSmartWalletMessage",message:{hash:o}})}function fl(t){let{ownerIndex:a=0}=t,o=(()=>{if((0,Ui.E)(t.signature)!==65)return t.signature;let u=function(m){let{r:b,s:j}=zh.secp256k1.Signature.fromCompact(m.slice(2,130)),_=+`0x${m.slice(130)}`,[P,C]=(()=>{if(_===0||_===1)return[void 0,_];if(_===27)return[BigInt(_),0];if(_===28)return[BigInt(_),1];throw Error("Invalid yParityOrV value")})();return P!==void 0?{r:(0,Ne.cK)(b,{size:32}),s:(0,Ne.cK)(j,{size:32}),v:P,yParity:C}:{r:(0,Ne.cK)(b,{size:32}),s:(0,Ne.cK)(j,{size:32}),yParity:C}}(t.signature);return function(m,b){if(m.length!==b.length)throw new Kr.YE({expectedLength:m.length,givenLength:b.length});let j=[];for(let _=0;_{var q,ne,ie,re,pe;try{switch($.method){case"wallet_addSubAccount":return C;case"eth_accounts":return[C.address];case"eth_coinbase":return C.address;case"net_version":return F.toString();case"eth_chainId":return(0,Ne.cK)(F);case"eth_sendTransaction":{It($.params);let ce=$.params[0];ct(ce.to,Se("to is required"));let he={to:ce.to,data:ps((q=ce.data)!=null?q:"0x",!0),value:ps((ne=ce.value)!=null?ne:"0x",!0),from:(ie=ce.from)!=null?ie:C.address},xe=Gp({calls:[he],chainId:F,from:he.from}),Ee=await E(xe);return Vp({client:a,id:Ee})}case"wallet_sendCalls":{let ce;It($.params);let he=ml($.params[0],"chainId");if(!he)throw Se("chainId is required");if(!(0,zn.q)(he))throw Se("chainId must be a hex encoded integer");if(!$.params[0])throw Se("params are required");if(!("calls"in $.params[0]))throw Se("calls are required");let xe={method:"wallet_prepareCalls",params:[{version:"1.0",calls:$.params[0].calls,chainId:he,from:C.address,capabilities:"capabilities"in $.params[0]?$.params[0].capabilities:{}}]};j&&(xe=Dc(xe,{funding:[{type:"spendPermission",data:{autoApply:!0,sources:[j],preference:"PREFER_DIRECT_BALANCE"}}]}));let Ee=await E(xe),Be=await((re=m.sign)==null?void 0:re.call(m,{hash:(0,hr.IQ)(Ee.signatureRequest.hash)}));if(!Be)throw Oe("signature not found");return ce=(0,zn.q)(Be)?{type:"secp256k1",data:{address:m.address,signature:Be}}:{type:"webauthn",data:{signature:JSON.stringify(function({webauthn:lt,signature:Ot,id:Vt}){var _t,Mt;let Wt,wt,Rt,aa,za,We,yt=Np(Ot);return{id:Vt,rawId:$c((0,$r.Af)(Vt)),response:{authenticatorData:$c((0,$r.aT)(lt.authenticatorData)),clientDataJSON:$c((0,$r.Af)(lt.clientDataJSON)),signature:$c((_t=yt.r,Mt=yt.s,Wt=(0,$r.aT)((0,Ii.B)((0,Ne.cK)(_t))),wt=(0,$r.aT)((0,Ii.B)((0,Ne.cK)(Mt))),Rt=Wt.length,aa=wt.length,za=Rt+aa+4,(We=new Uint8Array(za+2))[0]=48,We[1]=za,We[2]=2,We[3]=Rt,We.set(Wt,4),We[Rt+4]=2,We[Rt+5]=aa,We.set(wt,Rt+6),We))},type:JSON.parse(lt.clientDataJSON).type}}(Object.assign({id:(pe=m.id)!=null?pe:"1"},Be))),publicKey:m.publicKey}},(await E({method:"wallet_sendPreparedCalls",params:[{version:"1.0",type:Ee.type,data:Ee.userOp,chainId:Ee.chainId,signature:ce}]}))[0]}case"wallet_sendPreparedCalls":{It($.params);let ce=ml($.params[0],"chainId");if(!ce)throw Se("chainId is required");if(!(0,zn.q)(ce))throw Se("chainId must be a hex encoded integer");return await a.request({method:"wallet_sendPreparedCalls",params:$.params})}case"wallet_prepareCalls":{It($.params);let ce=ml($.params[0],"chainId");if(!ce)throw Se("chainId is required");if(!(0,zn.q)(ce))throw Se("chainId must be a hex encoded integer");if(!$.params[0])throw Se("params are required");if(!ml($.params[0],"calls"))throw Se("calls are required");let he=$.params[0];return!_||!he.capabilities||"attribution"in he.capabilities||(he.capabilities.attribution=_),await a.request({method:"wallet_prepareCalls",params:[Object.assign(Object.assign({},$.params[0]),{chainId:ce})]})}case"personal_sign":{if(It($.params),!(0,zn.q)($.params[0]))throw Se("message must be a hex encoded string");let ce=(0,hr.IQ)($.params[0]);return T.signMessage({message:ce})}case"eth_signTypedData_v4":{It($.params);let ce=typeof $.params[1]=="string"?JSON.parse($.params[1]):$.params[1];return T.signTypedData(ce)}default:throw Fe()}}catch(ce){if(He(ce)){let he=function(xe){try{let Ee=JSON.parse(xe.details);return new L(Ee.code,Ee.message,Ee.data)}catch{return null}}(ce);if(he)throw he}throw ce}};return{request:E}}async function Xp({address:t,client:a,publicKey:o,factory:u,factoryData:m}){if(!await xs(a,{address:t})&&u&&m){let j=(0,Zp.J)({abi:ue,data:m});if(j.functionName!=="createAccount")throw Oe("unknown factory function");let[_]=j.args;return _.findIndex(P=>P.toLowerCase()===em(o).toLowerCase())}let b=await Rr(a,{address:t,abi:ae,functionName:"ownerCount"});for(let j=Number(b)-1;j>=0;j--){let _=await Rr(a,{address:t,abi:ae,functionName:"ownerAtIndex",args:[BigInt(j)]}),P=em(o);if(_.toLowerCase()===P.toLowerCase())return j}return-1}function em(t){return(0,Gs.P)(t)?(0,oi.eV)(t):t}async function qb(){var t,a;let o=(a=(t=M.config.get().metadata)==null?void 0:t.appName)!=null?a:"App",u=Lr();return new Promise(m=>{Ba({dialogContext:"sub_account_add_owner"}),u.presentItem({title:`Re-authorize ${o}`,message:`${o} has lost access to your account. Please sign at the next step to re-authorize ${o}`,onClose:()=>{Ia({dialogContext:"sub_account_add_owner"}),m("cancel")},actionItems:[{text:"Continue",variant:"primary",onClick:()=>{Ha({dialogContext:"sub_account_add_owner",dialogAction:"confirm"}),u.clear(),m("authenticate")}},{text:"Not now",variant:"secondary",onClick:()=>{Ha({dialogContext:"sub_account_add_owner",dialogAction:"cancel"}),u.clear(),m("cancel")}}]})})}async function Tb({ownerAccount:t,globalAccountRequest:a,chainId:o}){var u,m;let b=M.account.get(),j=M.subAccounts.get(),_=(u=b.accounts)==null?void 0:u.find($=>$.toLowerCase()!==j?.address.toLowerCase());ct(_,bt("no global account")),ct((m=b.chain)==null?void 0:m.id,bt("no chain id")),ct(j?.address,bt("no sub account"));let P=[];if(t.type==="local"&&t.address&&P.push({to:j.address,data:(0,Qt.p)({abi:ae,functionName:"addOwnerAddress",args:[t.address]}),value:(0,Ne.nj)(0)}),t.publicKey){let[$,q]=(0,La.n)([{type:"bytes32"},{type:"bytes32"}],t.publicKey);P.push({to:j.address,data:(0,Qt.p)({abi:ae,functionName:"addOwnerPublicKey",args:[$,q]}),value:(0,Ne.nj)(0)})}let C={method:"wallet_sendCalls",params:[{version:"1",calls:P,chainId:(0,Ne.cK)(o),from:_}]};if(await qb()==="cancel")throw bt("user cancelled");let F=await a(C),T=Bh(b.chain.id);if(ct(T,Oe(`client not found for chainId ${b.chain.id}`)),(await $p(T,{id:F})).status!=="success")throw Oe("add owner call failed");let E=await Xp({address:j.address,publicKey:t.type==="local"&&t.address?t.address:t.publicKey,client:T});if(E===-1)throw Oe("failed to find owner index");return E}async function Ub({errorData:t,globalAccountAddress:a,subAccountAddress:o,client:u,request:m,subAccountRequest:b,globalAccountRequest:j}){var _,P,C;let F,T,E=(_=u.chain)==null?void 0:_.id;ct(E,Oe("invalid chainId"));let $=function({errorData:pe,sourceAddress:ce}){var he;let xe=[];for(let[Ee,{amount:Be,sources:lt}]of Object.entries((he=pe?.required)!=null?he:{})){if(lt.filter(Ot=>(0,hr.uU)(Ot.balance)>=(0,hr.uU)(Be)&&Ot.address.toLowerCase()===ce?.toLowerCase()).length===0)throw Error("Source address has insufficient balance for a token");xe.push({token:Ee,requiredAmount:(0,hr.uU)(Be)})}return xe}({errorData:t,sourceAddress:a}),q=await jb();if(q==="cancel")throw Error("User cancelled funding");if(q==="update_permission"){if($.length===1){let pe=$[0],ce=function({spendPermission:he,chainId:xe}){return{domain:{name:"Spend Permission Manager",version:"1",chainId:xe,verifyingContract:Y},types:{SpendPermission:[{name:"account",type:"address"},{name:"spender",type:"address"},{name:"token",type:"address"},{name:"allowance",type:"uint160"},{name:"period",type:"uint48"},{name:"start",type:"uint48"},{name:"end",type:"uint48"},{name:"salt",type:"uint256"},{name:"extraData",type:"bytes"}]},primaryType:"SpendPermission",message:{account:he.account,spender:he.spender,token:he.token,allowance:he.allowance,period:he.period,start:he.start,end:he.end,salt:he.salt,extraData:he.extraData}}}({spendPermission:{token:pe.token,allowance:(0,Ne.cK)(pe.requiredAmount*BigInt(3)),period:86400,account:a,spender:o,start:0,end:0xffffffffffff,salt:(0,Ne.cK)(BigInt(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER))),extraData:"0x"},chainId:E});F={method:"eth_signTypedData_v4",params:[a,ce]}}else{let pe=function({spendPermissionBatch:ce,chainId:he}){return{domain:{name:"Spend Permission Manager",version:"1",chainId:he,verifyingContract:Y},types:{SpendPermissionBatch:[{name:"account",type:"address"},{name:"period",type:"uint48"},{name:"start",type:"uint48"},{name:"end",type:"uint48"},{name:"permissions",type:"PermissionDetails[]"}],PermissionDetails:[{name:"spender",type:"address"},{name:"token",type:"address"},{name:"allowance",type:"uint160"},{name:"salt",type:"uint256"},{name:"extraData",type:"bytes"}]},primaryType:"SpendPermissionBatch",message:{account:ce.account,period:ce.period,start:ce.start,end:ce.end,permissions:ce.permissions.map(xe=>({spender:xe.spender,token:xe.token,allowance:xe.allowance,salt:xe.salt,extraData:xe.extraData}))}}}({spendPermissionBatch:{account:a,period:86400,start:0,end:0xffffffffffff,permissions:$.map(ce=>({token:ce.token,allowance:(0,Ne.cK)(ce.requiredAmount*BigInt(3)),period:86400,account:a,spender:o,salt:"0x0",extraData:"0x"}))},chainId:E});F={method:"eth_signTypedData_v4",params:[a,pe]}}try{await j(F)}catch(pe){throw console.error(pe),Error("User denied spend permission request")}return b(m)}let ne=$.map(pe=>pe.token.toLowerCase()==="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"?{to:o,value:(0,Ne.cK)(pe.requiredAmount),data:"0x"}:{to:pe.token,value:"0x0",data:(0,Qt.p)({abi:_n.xw,functionName:"transfer",args:[o,pe.requiredAmount]})});if(m.method==="wallet_sendCalls"&&typeof(P=m.params)=="object"&&P!==null&&"calls"in P)T=m.params[0];else if(m.method==="eth_sendTransaction"&&Array.isArray(C=m.params)&&C.length===1&&typeof C[0]=="object"&&C[0]!==null&&"to"in C[0])T=Gp({calls:[m.params[0]],chainId:E,from:m.params[0].from}).params[0];else throw Error("Could not get original call");let ie=[...ne,{data:(0,Qt.p)({abi:ae,functionName:"executeBatch",args:[T.calls.map(pe=>{var ce,he;return{target:pe.to,value:(0,hr.uU)((ce=pe.value)!=null?ce:"0x0"),data:(he=pe.data)!=null?he:"0x"}})]}),to:o,value:"0x0"}],re=await j({method:"wallet_sendCalls",params:[Object.assign(Object.assign({},T),{calls:ie,from:a})]});return m.method==="eth_sendTransaction"?Vp({client:u,id:re}):re}class Mb{constructor(a){var o,u,m,b;this.communicator=a.communicator,this.callback=a.callback,this.keyManager=new vb;let{account:j,chains:_}=M.getState();this.accounts=(o=j.accounts)!=null?o:[],this.chain=(u=j.chain)!=null?u:{id:(b=(m=a.metadata.appChainIds)==null?void 0:m[0])!=null?b:1},_&&Lh(_)}get isConnected(){return this.accounts.length>0}async handshake(a){var o,u,m;let b=zo(a);(({method:j,correlationId:_})=>{var P;jt("scw_signer.handshake.started",{action:Pe.unknown,componentType:ke.unknown,method:j,correlationId:_,enableAutoSubAccounts:(P=M.subAccountsConfig.get())==null?void 0:P.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:b});try{await((u=(o=this.communicator).waitForPopupLoaded)==null?void 0:u.call(o));let j=await this.createRequestMessage({handshake:{method:a.method,params:(m=a.params)!=null?m:[]}},b),_=await this.communicator.postRequestAndWaitForResponse(j);if("failure"in _.content)throw _.content.failure;let P=await Wh("public",_.sender);await this.keyManager.setPeerPublicKey(P);let C=await this.decryptResponseMessage(_);this.handleResponse(a,C),(({method:F,correlationId:T})=>{var E;jt("scw_signer.handshake.completed",{action:Pe.unknown,componentType:ke.unknown,method:F,correlationId:T,enableAutoSubAccounts:(E=M.subAccountsConfig.get())==null?void 0:E.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:b})}catch(j){throw(({method:_,correlationId:P,errorMessage:C})=>{var F;jt("scw_signer.handshake.error",{action:Pe.error,componentType:ke.unknown,method:_,correlationId:P,errorMessage:C,enableAutoSubAccounts:(F=M.subAccountsConfig.get())==null?void 0:F.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:b,errorMessage:br(j)}),j}}async request(a){let o=zo(a);(({method:u,correlationId:m})=>{var b;jt("scw_signer.request.started",{action:Pe.unknown,componentType:ke.unknown,method:u,correlationId:m,enableAutoSubAccounts:(b=M.subAccountsConfig.get())==null?void 0:b.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:o});try{let u=await this._request(a);return(({method:m,correlationId:b})=>{var j;jt("scw_signer.request.completed",{action:Pe.unknown,componentType:ke.unknown,method:m,correlationId:b,enableAutoSubAccounts:(j=M.subAccountsConfig.get())==null?void 0:j.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:o}),u}catch(u){throw(({method:m,correlationId:b,errorMessage:j})=>{var _;jt("scw_signer.request.error",{action:Pe.error,componentType:ke.unknown,method:m,correlationId:b,errorMessage:j,enableAutoSubAccounts:(_=M.subAccountsConfig.get())==null?void 0:_.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:o,errorMessage:br(u)}),u}}async _request(a){var o,u,m,b,j,_,P,C,F,T;if(this.accounts.length===0)switch(a.method){case"wallet_switchEthereumChain":Hp(a.params),this.chain.id=Number(a.params[0].chainId);return;case"wallet_connect":{await((u=(o=this.communicator).waitForPopupLoaded)==null?void 0:u.call(o)),await Id();let E={};Jp(a,"addSubAccount")&&(E=(b=(m=M.subAccountsConfig.get())==null?void 0:m.capabilities)!=null?b:{});let $=Dc(a,E);return this.sendRequestToPopup($)}case"wallet_sendCalls":case"wallet_sign":return this.sendRequestToPopup(a);default:throw bt()}if(this.shouldRequestUseSubAccountSigner(a)){let E=zo(a);(({method:$,correlationId:q})=>{var ne;jt("scw_sub_account.request.started",{action:Pe.unknown,componentType:ke.unknown,method:$,correlationId:q,enableAutoSubAccounts:(ne=M.subAccountsConfig.get())==null?void 0:ne.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:E});try{let $=await this.sendRequestToSubAccountSigner(a);return(({method:q,correlationId:ne})=>{var ie;jt("scw_sub_account.request.completed",{action:Pe.unknown,componentType:ke.unknown,method:q,correlationId:ne,enableAutoSubAccounts:(ie=M.subAccountsConfig.get())==null?void 0:ie.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:E}),$}catch($){throw(({method:q,correlationId:ne,errorMessage:ie})=>{var re;jt("scw_sub_account.request.error",{action:Pe.error,componentType:ke.unknown,method:q,correlationId:ne,errorMessage:ie,enableAutoSubAccounts:(re=M.subAccountsConfig.get())==null?void 0:re.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:E,errorMessage:br($)}),$}}switch(a.method){case"eth_requestAccounts":case"eth_accounts":{let E=M.subAccounts.get(),$=M.subAccountsConfig.get();return E?.address&&(this.accounts=$?.enableAutoSubAccounts?Fc(this.accounts,E.address):Wc(this.accounts,E.address)),(j=this.callback)==null||j.call(this,"connect",{chainId:(0,Ne.cK)(this.chain.id)}),this.accounts}case"eth_coinbase":return this.accounts[0];case"net_version":return this.chain.id;case"eth_chainId":return(0,Ne.cK)(this.chain.id);case"wallet_getCapabilities":return this.handleGetCapabilitiesRequest(a);case"wallet_switchEthereumChain":return this.handleSwitchChainRequest(a);case"eth_ecRecover":case"personal_sign":case"wallet_sign":case"personal_ecRecover":case"eth_signTransaction":case"eth_sendTransaction":case"eth_signTypedData_v1":case"eth_signTypedData_v3":case"eth_signTypedData_v4":case"eth_signTypedData":case"wallet_addEthereumChain":case"wallet_watchAsset":case"wallet_sendCalls":case"wallet_showCallsStatus":case"wallet_grantPermissions":return this.sendRequestToPopup(a);case"wallet_connect":{if(!Jp(a,"signInWithEthereum")){let ne=await zb();if(ne)return ne}await((P=(_=this.communicator).waitForPopupLoaded)==null?void 0:P.call(_)),await Id();let E=M.subAccountsConfig.get(),$=Dc(a,(C=E?.capabilities)!=null?C:{}),q=await this.sendRequestToPopup($);return(F=this.callback)==null||F.call(this,"connect",{chainId:(0,Ne.cK)(this.chain.id)}),q}case"wallet_getSubAccounts":{let E=M.subAccounts.get();if(E?.address)return{subAccounts:[E]};if(!this.chain.rpcUrl)throw Oe("No RPC URL set for chain");let $=await Ac(a,this.chain.rpcUrl);if(It($.subAccounts,"subAccounts"),$.subAccounts.length>0){Pc($.subAccounts[0]);let q=$.subAccounts[0];M.subAccounts.set({address:q.address,factory:q.factory,factoryData:q.factoryData})}return $}case"wallet_addSubAccount":return this.addSubAccount(a);case"coinbase_fetchPermissions":{(function(ne){if(ne.method!=="coinbase_fetchPermissions"||ne.params!==void 0){if(ne.method==="coinbase_fetchPermissions"&&Array.isArray(ne.params)&&ne.params.length===1&&typeof ne.params[0]=="object"){if(typeof ne.params[0].account!="string"||!ne.params[0].chainId.startsWith("0x"))throw Se("FetchPermissions - Invalid params: params[0].account must be a hex string");if(typeof ne.params[0].chainId!="string"||!ne.params[0].chainId.startsWith("0x"))throw Se("FetchPermissions - Invalid params: params[0].chainId must be a hex string");if(typeof ne.params[0].spender!="string"||!ne.params[0].spender.startsWith("0x"))throw Se("FetchPermissions - Invalid params: params[0].spender must be a hex string");return}throw Se()}})(a);let E=function(ne){var ie,re,pe;if(ne.params!==void 0)return ne;let ce=(ie=M.getState().account.accounts)==null?void 0:ie[0],he=(re=M.getState().account.chain)==null?void 0:re.id,xe=(pe=M.getState().subAccount)==null?void 0:pe.address;if(!ce||!xe||!he)throw Se("FetchPermissions - one or more of account, sub account, or chain id is missing, connect to sub account via wallet_connect first");return{method:"coinbase_fetchPermissions",params:[{account:ce,chainId:(0,Ne.cK)(he),spender:xe}]}}(a),$=await Ac(E,v),q=(0,hr.ME)((T=E.params)==null?void 0:T[0].chainId);return M.spendPermissions.set($.permissions.map(ne=>Object.assign(Object.assign({},ne),{chainId:q}))),$}default:if(!this.chain.rpcUrl)throw Oe("No RPC URL set for chain");return Ac(a,this.chain.rpcUrl)}}async sendRequestToPopup(a){var o,u;await((u=(o=this.communicator).waitForPopupLoaded)==null?void 0:u.call(o));let m=await this.sendEncryptedRequest(a),b=await this.decryptResponseMessage(m);return this.handleResponse(a,b)}async handleResponse(a,o){var u,m,b,j,_;let P=o.result;if("error"in P)throw P.error;switch(a.method){case"eth_requestAccounts":{let C=P.value;this.accounts=C,M.account.set({accounts:C,chain:this.chain}),(u=this.callback)==null||u.call(this,"accountsChanged",C);break}case"wallet_connect":{let C=P.value,F=C.accounts.map(re=>re.address);this.accounts=F,M.account.set({accounts:F});let T=C.accounts.at(0),E=T?.capabilities;if(E?.subAccounts){let re=E?.subAccounts;It(re,"subAccounts"),Pc(re[0]),M.subAccounts.set({address:re[0].address,factory:re[0].factory,factoryData:re[0].factoryData})}let $=[this.accounts[0]],q=M.subAccounts.get(),ne=M.subAccountsConfig.get();q?.address&&(this.accounts=ne?.enableAutoSubAccounts?Fc(this.accounts,q.address):Wc(this.accounts,q.address));let ie=(b=(m=C?.accounts)==null?void 0:m[0].capabilities)==null?void 0:b.spendPermissions;ie&&"permissions"in ie&&M.spendPermissions.set(ie?.permissions),(j=this.callback)==null||j.call(this,"accountsChanged",$);break}case"wallet_addSubAccount":{Pc(P.value);let C=P.value;M.subAccounts.set(C);let F=M.subAccountsConfig.get();this.accounts=F?.enableAutoSubAccounts?Fc(this.accounts,C.address):Wc(this.accounts,C.address),(_=this.callback)==null||_.call(this,"accountsChanged",this.accounts)}}return P.value}async cleanup(){var a,o;let u=M.config.get().metadata;await this.keyManager.clear(),M.account.clear(),M.subAccounts.clear(),M.spendPermissions.clear(),M.chains.clear(),this.accounts=[],this.chain={id:(o=(a=u?.appChainIds)==null?void 0:a[0])!=null?o:1}}async handleSwitchChainRequest(a){Hp(a.params);let o=function(m){if(typeof m=="number"&&Number.isInteger(m))return Ai(m);if(typeof m=="string"){if(us.test(m))return Ai(Number(m));if(function(b){if(typeof b!="string")return!1;let j=hs(b).toLowerCase();return ds.test(j)}(m))return Ai(Number(BigInt(function(b,j=!1){let _=ps(b,!1);return _.length%2==1&&(_=`0${_}`),j?`0x${_}`:_}(m,!0))))}throw Se(`Not an integer: ${String(m)}`)}(a.params[0].chainId);if(this.updateChain(o))return null;let u=await this.sendRequestToPopup(a);return u===null&&this.updateChain(o),u}async handleGetCapabilitiesRequest(a){var o=a.params;if(!o||!Array.isArray(o)||o.length!==1&&o.length!==2||typeof o[0]!="string"||!(0,Gs.P)(o[0]))throw Se();if(o.length===2){if(!Array.isArray(o[1]))throw Se();for(let _ of o[1])if(typeof _!="string"||!_.startsWith("0x"))throw Se()}let u=a.params[0],m=a.params[1];if(!this.accounts.some(_=>(0,ri.h)(_,u)))throw bt("no active account found when getting capabilities");let b=M.getState().account.capabilities;if(!b)return{};if(!m||m.length===0)return b;let j=new Set(m.map(_=>(0,hr.ME)(_)));return Object.fromEntries(Object.entries(b).filter(([_])=>{try{let P=(0,hr.ME)(_);return j.has(P)}catch{return!1}}))}async sendEncryptedRequest(a){let o=await this.keyManager.getSharedSecret();if(!o)throw bt("No shared secret found when encrypting request");let u=await Mg({action:a,chainId:this.chain.id},o),m=zo(a),b=await this.createRequestMessage({encrypted:u},m);return this.communicator.postRequestAndWaitForResponse(b)}async createRequestMessage(a,o){let u=await Fh("public",await this.keyManager.getOwnPublicKey());return{id:crypto.randomUUID(),correlationId:o,sender:u,content:a,timestamp:new Date}}async decryptResponseMessage(a){var o,u,m;let b=a.content;if("failure"in b)throw b.failure;let j=await this.keyManager.getSharedSecret();if(!j)throw bt("Invalid session: no shared secret found when decrypting response");let _=await Rg(b.encrypted,j),P=(o=_.data)==null?void 0:o.chains;if(P){let F=(u=_.data)==null?void 0:u.nativeCurrencies,T=Object.entries(P).map(([E,$])=>{let q=F?.[Number(E)];return Object.assign({id:Number(E),rpcUrl:$},q?{nativeCurrency:q}:{})});M.chains.set(T),this.updateChain(this.chain.id,T),Lh(T)}let C=(m=_.data)==null?void 0:m.capabilities;return C&&M.account.set({capabilities:C}),_}updateChain(a,o){var u;let m=M.getState(),b=o??m.chains,j=b?.find(_=>_.id===a);return!!j&&(j!==this.chain&&(this.chain=j,M.account.set({chain:j}),(u=this.callback)==null||u.call(this,"chainChanged",Na(j.id))),!0)}async addSubAccount(a){var o,u,m,b;let j=M.getState().subAccount,_=M.subAccountsConfig.get();if(j?.address)return this.accounts=_?.enableAutoSubAccounts?Fc(this.accounts,j.address):Wc(this.accounts,j.address),(o=this.callback)==null||o.call(this,"accountsChanged",this.accounts),j;if(await((m=(u=this.communicator).waitForPopupLoaded)==null?void 0:m.call(u)),Array.isArray(a.params)&&a.params.length>0&&a.params[0].account&&a.params[0].account.type==="create"){let C;if(a.params[0].account.keys&&a.params[0].account.keys.length>0)C=a.params[0].account.keys;else{let F=(b=M.subAccountsConfig.get())!=null?b:{},{account:T}=F.toOwnerAccount?await F.toOwnerAccount():await Bc();if(!T)throw bt("could not get subaccount owner account when adding sub account");C=[{type:T.address?"address":"webauthn-p256",publicKey:T.address||T.publicKey}]}a.params[0].account.keys=C}let P=await this.sendRequestToPopup(a);return Pc(P),P}shouldRequestUseSubAccountSigner(a){let o=Kp(a),u=M.subAccounts.get();return!!o&&o.toLowerCase()===u?.address.toLowerCase()}async sendRequestToSubAccountSigner(a){var o;let u=M.subAccounts.get(),m=M.subAccountsConfig.get(),b=M.config.get();ct(u?.address,bt("no active sub account when sending request to sub account signer"));let j=m?.toOwnerAccount?await m.toOwnerAccount():await Bc();ct(j?.account,bt("no active sub account owner when sending request to sub account signer")),Kp(a)===void 0&&(a=function($,q){if(!Array.isArray($.params))throw Se();let ne=[...$.params];switch($.method){case"eth_signTransaction":case"eth_sendTransaction":case"wallet_sendCalls":ne[0].from=q;break;case"eth_signTypedData_v4":ne[0]=q;break;case"personal_sign":ne[1]=q}return Object.assign(Object.assign({},$),{params:ne})}(a,u.address));let _=Bh(this.chain.id);ct(_,Oe(`client not found for chainId ${this.chain.id} when sending request to sub account signer`));let P=this.accounts.find($=>$.toLowerCase()!==u.address.toLowerCase());ct(P,bt("no global account found when sending request to sub account signer"));let C=function({attribution:$,dappOrigin:q}){if($){if("auto"in $&&$.auto&&q)return(0,Ad.di)((0,Ur.S)((0,Ne.nj)(q)),0,16);if("dataSuffix"in $)return $.dataSuffix}}({attribution:(o=b.preference)==null?void 0:o.attribution,dappOrigin:window.location.origin}),F=j.account.type==="local"?j.account.address:j.account.publicKey,T=await Xp({address:u.address,factory:u.factory,factoryData:u.factoryData,publicKey:F,client:_});if(T===-1){let $=zo(a);(({method:q,correlationId:ne})=>{var ie;jt("scw_sub_account.add_owner.started",{action:Pe.unknown,componentType:ke.unknown,method:q,correlationId:ne,enableAutoSubAccounts:(ie=M.subAccountsConfig.get())==null?void 0:ie.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:$});try{T=await Tb({ownerAccount:j.account,globalAccountRequest:this.sendRequestToPopup.bind(this),chainId:this.chain.id}),(({method:q,correlationId:ne})=>{var ie;jt("scw_sub_account.add_owner.completed",{action:Pe.unknown,componentType:ke.unknown,method:q,correlationId:ne,enableAutoSubAccounts:(ie=M.subAccountsConfig.get())==null?void 0:ie.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:$})}catch(q){return(({method:ne,correlationId:ie,errorMessage:re})=>{var pe;jt("scw_sub_account.add_owner.error",{action:Pe.error,componentType:ke.unknown,method:ne,correlationId:ie,errorMessage:re,enableAutoSubAccounts:(pe=M.subAccountsConfig.get())==null?void 0:pe.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:$,errorMessage:br(q)}),bt("failed to add sub account owner when sending request to sub account signer")}}let{request:E}=await Ob({address:u.address,owner:j.account,client:_,factory:u.factory,factoryData:u.factoryData,parentAddress:P,attribution:C?{suffix:C}:void 0,ownerIndex:T});try{return await E(a)}catch($){let q;if(He($))q=JSON.parse($.details);else if(Ae($))q=$;else throw $;if(!(Ae(q)&&q.data)||!q.data)throw $;let ne=zo(a);(({method:ie,correlationId:re})=>{var pe;jt("scw_sub_account.insufficient_balance.error_handling.started",{action:Pe.unknown,componentType:ke.unknown,method:ie,correlationId:re,enableAutoSubAccounts:(pe=M.subAccountsConfig.get())==null?void 0:pe.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:ne});try{let ie=await Ub({errorData:q.data,globalAccountAddress:P,subAccountAddress:u.address,client:_,request:a,subAccountRequest:E,globalAccountRequest:this.request.bind(this)});return(({method:re,correlationId:pe})=>{var ce;jt("scw_sub_account.insufficient_balance.error_handling.completed",{action:Pe.unknown,componentType:ke.unknown,method:re,correlationId:pe,enableAutoSubAccounts:(ce=M.subAccountsConfig.get())==null?void 0:ce.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:ne}),ie}catch(ie){throw console.error(ie),(({method:re,correlationId:pe,errorMessage:ce})=>{var he;jt("scw_sub_account.insufficient_balance.error_handling.error",{action:Pe.error,componentType:ke.unknown,method:re,correlationId:pe,errorMessage:ce,enableAutoSubAccounts:(he=M.subAccountsConfig.get())==null?void 0:he.enableAutoSubAccounts},_e.high)})({method:a.method,correlationId:ne,errorMessage:br(ie)}),$}}}}var Rb=function(t,a){var o={};for(var u in t)Object.prototype.hasOwnProperty.call(t,u)&&0>a.indexOf(u)&&(o[u]=t[u]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var m=0,u=Object.getOwnPropertySymbols(t);ma.indexOf(u[m])&&Object.prototype.propertyIsEnumerable.call(t,u[m])&&(o[u[m]]=t[u[m]]);return o};class Nb extends Ar{constructor(a){var{metadata:o}=a,u=a.preference,{walletUrl:m}=u,b=Rb(u,["walletUrl"]);super(),this.isBaseAccount=!0,this.communicator=new Qr({url:m,metadata:o,preference:b}),this.signer=new Mb({metadata:o,communicator:this.communicator,callback:this.emit.bind(this)})}async request(a){var o,u,m;let b=crypto.randomUUID();o=a,u=b,Sc.setState(j=>{let _=new Map(j.correlationIds);return _.set(o,u),{correlationIds:_}}),(({method:j,correlationId:_})=>{jt("provider.request.started",{action:Pe.unknown,componentType:ke.unknown,method:j,signerType:"base-account",correlationId:_},_e.high)})({method:a.method,correlationId:b});try{let j=await this._request(a);return(({method:_,correlationId:P})=>{jt("provider.request.responded",{action:Pe.unknown,componentType:ke.unknown,method:_,signerType:"base-account",correlationId:P},_e.high)})({method:a.method,correlationId:b}),j}catch(j){throw(({method:_,correlationId:P,errorMessage:C})=>{jt("provider.request.error",{action:Pe.error,componentType:ke.unknown,method:_,signerType:"base-account",correlationId:P,errorMessage:C},_e.high)})({method:a.method,correlationId:b,errorMessage:br(j)}),j}finally{m=a,Sc.setState(j=>{let _=new Map(j.correlationIds);return _.delete(m),{correlationIds:_}})}}async _request(a){var o,u;try{if(function(m){if(!m||typeof m!="object"||Array.isArray(m))throw Se({message:"Expected a single, non-array, object argument.",data:m});let{method:b,params:j}=m;if(typeof b!="string"||b.length===0)throw Se({message:"'args.method' must be a non-empty string.",data:m});if(j!==void 0&&!Array.isArray(j)&&(typeof j!="object"||j===null))throw Se({message:"'args.params' must be an object or array if provided.",data:m});switch(b){case"eth_sign":case"eth_signTypedData_v2":case"eth_subscribe":case"eth_unsubscribe":throw Lt()}}(a),!this.signer.isConnected)switch(a.method){case"eth_requestAccounts":await this.signer.handshake({method:"handshake"}),await Id(),await this.signer.request({method:"wallet_connect",params:[{version:"1",capabilities:Object.assign({},(u=(o=M.subAccountsConfig.get())==null?void 0:o.capabilities)!=null?u:{})}]});break;case"wallet_connect":return await this.signer.handshake({method:"handshake"}),await this.signer.request(a);case"wallet_sendCalls":case"wallet_sign":try{return await this.signer.handshake({method:"handshake"}),await this.signer.request(a)}finally{await this.signer.cleanup()}case"wallet_getCallsStatus":return await Ac(a,v);case"eth_accounts":return[];case"net_version":return 1;case"eth_chainId":return Na(1);default:throw bt("Must call 'eth_requestAccounts' before other methods")}return await this.signer.request(a)}catch(m){let b,j,{code:_}=m;return _===Q&&await this.disconnect(),Promise.reject((b=function(P,{shouldIncludeStack:C=!1}={}){var F,T;let E={};return P&&typeof P=="object"&&!Array.isArray(P)&&Re(P,"code")&&Number.isInteger(F=P.code)&&(be[F.toString()]||(T=F)>=-32099&&T<=-32e3)?(E.code=P.code,P.message&&typeof P.message=="string"?(E.message=P.message,Re(P,"data")&&(E.data=P.data)):(E.message=je(E.code),E.data={originalError:qe(P)})):(E.code=W,E.message=Ke(P,"message")?P.message:ve,E.data={originalError:qe(P)}),C&&(E.stack=Ke(P,"stack")?P.stack:void 0),E}(function(P){var C;if(typeof P=="string")return{message:P,code:W};if(P.errorMessage!==void 0){let F=P.errorMessage,T=(C=P.errorCode)!=null?C:F.match(/(denied|rejected)/i)?G:void 0;return Object.assign(Object.assign({},P),{message:F,code:T,data:{method:P.method}})}return P}(m),{shouldIncludeStack:!0}),(j=new URL("https://docs.cloud.coinbase.com/wallet-sdk/docs/errors")).searchParams.set("version",z),j.searchParams.set("code",b.code.toString()),j.searchParams.set("message",b.message),Object.assign(Object.assign({},b),{docUrl:j.href})))}}async disconnect(){await this.signer.cleanup(),Sc.setState({correlationIds:new Map}),this.emit("disconnect",At("User initiated disconnection"))}}function tm(t){let a={metadata:{appName:t.appName||"App",appLogoUrl:t.appLogoUrl||"",appChainIds:t.appChainIds||[]},preference:(o=t.preference)!=null?o:{},paymasterUrls:t.paymasterUrls};(u=t.subAccounts)!=null&&u.toOwnerAccount&&Wa(t.subAccounts.toOwnerAccount),M.subAccountsConfig.set({toOwnerAccount:(m=t.subAccounts)==null?void 0:m.toOwnerAccount,enableAutoSubAccounts:(b=t.subAccounts)==null?void 0:b.enableAutoSubAccounts}),M.config.set(a),M.persist.rehydrate(),Bt();var o,u,m,b,j=a.preference;if(j){if(j.attribution&&j.attribution.auto!==void 0&&j.attribution.dataSuffix!==void 0)throw Error("Attribution cannot contain both auto and dataSuffix properties");if(j.telemetry&&typeof j.telemetry!="boolean")throw Error("Telemetry must be a boolean")}a.preference.telemetry!==!1&&new Promise((C,F)=>{if(window.ClientAnalytics)return C();try{let T=document.createElement("script");T.textContent='!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ClientAnalytics=t():e.ClientAnalytics=t()}(this,(function(){return(()=>{var e={792:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n{var t,n;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(e,t){return e<>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-a)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\\/]/gi,"");for(var n=[],r=0,i=0;r>>6-2*i);return n}},e.exports=n},335:e=>{function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},762:(e,t,n)=>{var r,i,a,o,s;r=n(562),i=n(792).utf8,a=n(335),o=n(792).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?o.stringToBytes(e):i.stringToBytes(e):a(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=r.bytesToWords(e),c=8*e.length,u=1732584193,l=-271733879,d=-1732584194,p=271733878,m=0;m>>24)|4278255360&(n[m]<<24|n[m]>>>8);n[c>>>5]|=128<>>9<<4)]=c;var f=s._ff,v=s._gg,g=s._hh,b=s._ii;for(m=0;m>>0,l=l+w>>>0,d=d+y>>>0,p=p+T>>>0}return r.endian([u,l,d,p])})._ff=function(e,t,n,r,i,a,o){var s=e+(t&n|~t&r)+(i>>>0)+o;return(s<>>32-a)+t},s._gg=function(e,t,n,r,i,a,o){var s=e+(t&r|n&~r)+(i>>>0)+o;return(s<>>32-a)+t},s._hh=function(e,t,n,r,i,a,o){var s=e+(t^n^r)+(i>>>0)+o;return(s<>>32-a)+t},s._ii=function(e,t,n,r,i,a,o){var s=e+(n^(t|~r))+(i>>>0)+o;return(s<>>32-a)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=r.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?o.bytesToString(n):r.bytesToHex(n)}},2:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Perfume:()=>ze,incrementUjNavigation:()=>Le,markStep:()=>Re,markStepOnce:()=>qe});var r,i,a={isResourceTiming:!1,isElementTiming:!1,maxTime:3e4,reportOptions:{},enableNavigationTracking:!0},o=window,s=o.console,c=o.navigator,u=o.performance,l=function(){return c.deviceMemory},d=function(){return c.hardwareConcurrency},p="mark.",m=function(){return u&&!!u.getEntriesByType&&!!u.now&&!!u.mark},f="4g",v=!1,g={},b={value:0},h={value:{beacon:0,css:0,fetch:0,img:0,other:0,script:0,total:0,xmlhttprequest:0}},w={value:0},y={value:0},T={},k={isHidden:!1,didChange:!1},_=function(){k.isHidden=!1,document.hidden&&(k.isHidden=document.hidden,k.didChange=!0)},S=function(e,t){try{var n=new PerformanceObserver((function(e){t(e.getEntries())}));return n.observe({type:e,buffered:!0}),n}catch(e){s.warn("Perfume.js:",e)}return null},E=function(){return!!(d()&&d()<=4)||!!(l()&&l()<=4)},x=function(e,t){switch(e){case"slow-2g":case"2g":case"3g":return!0;default:return E()||t}},O=function(e){return parseFloat(e.toFixed(4))},j=function(e){return"number"!=typeof e?null:O(e/Math.pow(1024,2))},N=function(e,t,n,r,i){var s,u=function(){a.analyticsTracker&&(k.isHidden&&!["CLS","INP"].includes(e)||a.analyticsTracker({attribution:r,metricName:e,data:t,navigatorInformation:c?{deviceMemory:l()||0,hardwareConcurrency:d()||0,serviceWorkerStatus:"serviceWorker"in c?c.serviceWorker.controller?"controlled":"supported":"unsupported",isLowEndDevice:E(),isLowEndExperience:x(f,v)}:{},rating:n,navigationType:i}))};["CLS","INP"].includes(e)?u():(s=u,"requestIdleCallback"in o?o.requestIdleCallback(s,{timeout:3e3}):s())},I=function(e){e.forEach((function(e){if(!("self"!==e.name||e.startTime0&&(w.value+=t,y.value+=t)}}))};!function(e){e.instant="instant",e.quick="quick",e.moderate="moderate",e.slow="slow",e.unavoidable="unavoidable"}(r||(r={}));var P,M,B,C,D,A=((i={})[r.instant]={vitalsThresholds:[100,200],maxOutlierThreshold:1e4},i[r.quick]={vitalsThresholds:[200,500],maxOutlierThreshold:1e4},i[r.moderate]={vitalsThresholds:[500,1e3],maxOutlierThreshold:1e4},i[r.slow]={vitalsThresholds:[1e3,2e3],maxOutlierThreshold:1e4},i[r.unavoidable]={vitalsThresholds:[2e3,5e3],maxOutlierThreshold:2e4},i),L={RT:[100,200],TBT:[200,600],NTBT:[200,600]},U=function(e,t){return L[e]?t<=L[e][0]?"good":t<=L[e][1]?"needsImprovement":"poor":null},R=function(e,t,n){Object.keys(t).forEach((function(e){"number"==typeof t[e]&&(t[e]=O(t[e]))})),N(e,t,null,n||{})},q=function(e){var t=e.attribution,n=e.name,r=e.rating,i=e.value,o=e.navigationType;"FCP"===n&&(b.value=i),["FCP","LCP"].includes(n)&&!T[0]&&(T[0]=S("longtask",I)),"FID"===n&&setTimeout((function(){k.didChange||(q({attribution:t,name:"TBT",rating:U("TBT",w.value),value:w.value,navigationType:o}),R("dataConsumption",h.value))}),1e4);var s=O(i);s<=a.maxTime&&s>=0&&N(n,s,r,t,o)},F=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]},z=function(e){if("loading"===document.readyState)return"loading";var t=F();if(t){if(e(t||100)-1)return n||i;if(n=n?i+">"+n:i,r.id)break;e=r.parentNode}}catch(e){}return n},Q=-1,W=function(){return Q},H=function(e){addEventListener("pageshow",(function(t){t.persisted&&(Q=t.timeStamp,e(t))}),!0)},V=function(){var e=F();return e&&e.activationStart||0},J=function(e,t){var n=F(),r="navigate";return W()>=0?r="back-forward-cache":n&&(r=document.prerendering||V()>0?"prerender":document.wasDiscarded?"restore":n.type.replace(/_/g,"-")),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},X=function(e,t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(Object.assign({type:e,buffered:!0},n||{})),r}}catch(e){}},G=function(e,t){var n=function n(r){"pagehide"!==r.type&&"hidden"!==document.visibilityState||(e(r),t&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},Z=function(e,t,n,r){var i,a;return function(o){t.value>=0&&(o||r)&&((a=t.value-(i||0))||void 0===i)&&(i=t.value,t.delta=a,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t))}},Y=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},ee=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},te=-1,ne=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},re=function(e){"hidden"===document.visibilityState&&te>-1&&(te="visibilitychange"===e.type?e.timeStamp:0,ae())},ie=function(){addEventListener("visibilitychange",re,!0),addEventListener("prerenderingchange",re,!0)},ae=function(){removeEventListener("visibilitychange",re,!0),removeEventListener("prerenderingchange",re,!0)},oe=function(){return te<0&&(te=ne(),ie(),H((function(){setTimeout((function(){te=ne(),ie()}),0)}))),{get firstHiddenTime(){return te}}},se=function(e,t){t=t||{},ee((function(){var n,r=[1800,3e3],i=oe(),a=J("FCP"),o=X("paint",(function(e){e.forEach((function(e){"first-contentful-paint"===e.name&&(o.disconnect(),e.startTime=0&&M1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){le(e,t),i()},r=function(){i()},i=function(){removeEventListener("pointerup",n,ce),removeEventListener("pointercancel",r,ce)};addEventListener("pointerup",n,ce),addEventListener("pointercancel",r,ce)}(t,e):le(t,e)}},me=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,pe,ce)}))},fe=0,ve=1/0,ge=0,be=function(e){e.forEach((function(e){e.interactionId&&(ve=Math.min(ve,e.interactionId),ge=Math.max(ge,e.interactionId),fe=ge?(ge-ve)/7+1:0)}))},he=function(){return D?fe:performance.interactionCount||0},we=0,ye=function(){return he()-we},Te=[],ke={},_e=function(e){var t=Te[Te.length-1],n=ke[e.interactionId];if(n||Te.length<10||e.duration>t.latency){if(n)n.entries.push(e),n.latency=Math.max(n.latency,e.duration);else{var r={id:e.interactionId,latency:e.duration,entries:[e]};ke[r.id]=r,Te.push(r)}Te.sort((function(e,t){return t.latency-e.latency})),Te.splice(10).forEach((function(e){delete ke[e.id]}))}},Se={},Ee=function e(t){document.prerendering?ee((function(){return e(t)})):"complete"!==document.readyState?addEventListener("load",(function(){return e(t)}),!0):setTimeout(t,0)},xe=function(e,t){t=t||{};var n=[800,1800],r=J("TTFB"),i=Z(e,r,n,t.reportAllChanges);Ee((function(){var a=F();if(a){var o=a.responseStart;if(o<=0||o>performance.now())return;r.value=Math.max(o-V(),0),r.entries=[a],i(!0),H((function(){r=J("TTFB",0),(i=Z(e,r,n,t.reportAllChanges))(!0)}))}}))},Oe=function(e){e.forEach((function(e){e.identifier&&q({attribution:{identifier:e.identifier},name:"ET",rating:null,value:e.startTime})}))},je=function(e){e.forEach((function(e){if(a.isResourceTiming&&R("resourceTiming",e),e.decodedBodySize&&e.initiatorType){var t=e.decodedBodySize/1e3;h.value[e.initiatorType]+=t,h.value.total+=t}}))},Ne=function(){!function(e,t){xe((function(e){!function(e){if(e.entries.length){var t=e.entries[0],n=t.activationStart||0,r=Math.max(t.domainLookupStart-n,0),i=Math.max(t.connectStart-n,0),a=Math.max(t.requestStart-n,0);e.attribution={waitingTime:r,dnsTime:i-r,connectionTime:a-i,requestTime:e.value-a,navigationEntry:t}}else e.attribution={waitingTime:0,dnsTime:0,connectionTime:0,requestTime:0}}(e),function(e){e.value>0&&q(e)}(e)}),t)}(0,a.reportOptions.ttfb),function(e,t){!function(e,t){t=t||{},ee((function(){var e,n=[.1,.25],r=J("CLS"),i=-1,a=0,o=[],s=function(e){i>-1&&function(e){!function(e){if(e.entries.length){var t=e.entries.reduce((function(e,t){return e&&e.value>t.value?e:t}));if(t&&t.sources&&t.sources.length){var n=(r=t.sources).find((function(e){return e.node&&1===e.node.nodeType}))||r[0];if(n)return void(e.attribution={largestShiftTarget:$(n.node),largestShiftTime:t.startTime,largestShiftValue:t.value,largestShiftSource:n,largestShiftEntry:t,loadState:z(t.startTime)})}}var r;e.attribution={}}(e),function(e){q(e)}(e)}(e)},c=function(t){t.forEach((function(t){if(!t.hadRecentInput){var n=o[0],i=o[o.length-1];a&&t.startTime-i.startTime<1e3&&t.startTime-n.startTime<5e3?(a+=t.value,o.push(t)):(a=t.value,o=[t]),a>r.value&&(r.value=a,r.entries=o,e())}}))},u=X("layout-shift",c);u&&(e=Z(s,r,n,t.reportAllChanges),se((function(t){i=t.value,r.value<0&&(r.value=0,e())})),G((function(){c(u.takeRecords()),e(!0)})),H((function(){a=0,i=-1,r=J("CLS",0),e=Z(s,r,n,t.reportAllChanges),Y((function(){return e()}))})))}))}(0,t)}(0,a.reportOptions.cls),function(e,t){se((function(e){!function(e){if(e.entries.length){var t=F(),n=e.entries[e.entries.length-1];if(t){var r=t.activationStart||0,i=Math.max(0,t.responseStart-r);return void(e.attribution={timeToFirstByte:i,firstByteToFCP:e.value-i,loadState:z(e.entries[0].startTime),navigationEntry:t,fcpEntry:n})}}e.attribution={timeToFirstByte:0,firstByteToFCP:e.value,loadState:z(W())}}(e),function(e){q(e)}(e)}),t)}(0,a.reportOptions.fcp),function(e,t){!function(e,t){t=t||{},ee((function(){var n,r=[100,300],i=oe(),a=J("FID"),o=function(e){e.startTime0&&(i.value=0,i.entries=[]),r(!0)})),H((function(){Te=[],we=he(),i=J("INP"),r=Z(e,i,n,t.reportAllChanges)})))}))}((function(t){!function(e){if(e.entries.length){var t=e.entries.sort((function(e,t){return t.duration-e.duration||t.processingEnd-t.processingStart-(e.processingEnd-e.processingStart)}))[0];e.attribution={eventTarget:$(t.target),eventType:t.name,eventTime:t.startTime,eventEntry:t,loadState:z(t.startTime)}}else e.attribution={}}(t),e(t)}),t)}((function(e){return q(e)}),a.reportOptions.inp),a.isResourceTiming&&S("resource",je),a.isElementTiming&&S("element",Oe)},Ie=function(e){var t="usageDetails"in e?e.usageDetails:{};R("storageEstimate",{quota:j(e.quota),usage:j(e.usage),caches:j(t.caches),indexedDB:j(t.indexedDB),serviceWorker:j(t.serviceWorkerRegistrations)})},Pe={finalMarkToStepsMap:{},startMarkToStepsMap:{},active:{},navigationSteps:{}},Me=function(e){delete Pe.active[e]},Be=function(){return Pe.navigationSteps},Ce=function(e){var t;return null!==(t=Be()[e])&&void 0!==t?t:{}},De=function(e,t,n){var r="step."+e,i=u.getEntriesByName(p+t).length>0;if(u.getEntriesByName(p+n).length>0&&a.steps){var o=A[a.steps[e].threshold],s=o.maxOutlierThreshold,c=o.vitalsThresholds;if(i){var l=u.measure(r,p+t,p+n),d=l.duration;if(d<=s){var m=function(e,t){return e<=t[0]?"good":e<=t[1]?"needsImprovement":"poor"}(d,c);d>=0&&(N("userJourneyStep",d,m,{stepName:e},void 0),u.measure("step.".concat(e,"_vitals_").concat(m),{start:l.startTime+l.duration,end:l.startTime+l.duration,detail:{type:"stepVital",duration:d}}))}}}},Ae=function(){var e=Be(),t=Pe.startMarkToStepsMap,n=Object.keys(e).length;if(0===n)return{};var r={},i=n-1,a=Ce(i);if(Object.keys(a).forEach((function(e){var n,i=null!==(n=t[e])&&void 0!==n?n:[];Object.keys(i).forEach((function(e){r[e]=!0}))})),n>1){var o=Ce(i-1);Object.keys(o).forEach((function(e){var n,i=null!==(n=t[e])&&void 0!==n?n:[];Object.keys(i).forEach((function(e){r[e]=!0}))}))}return r},Le=function(){var e,t=Object.keys(Pe.navigationSteps).length;Pe.navigationSteps[t]={};var n=Ae();null===(e=a.onMarkStep)||void 0===e||e.call(a,"",Object.keys(n))},Ue=function(e){var t,n,r,i,o,s,c;if(Pe.finalMarkToStepsMap[e]){!function(e){var t=Pe.navigationSteps,n=Pe.finalMarkToStepsMap,r=Object.keys(t).length;if(0!==r){var i=r-1,a=Ce(i);if(a&&n[e]){var o=n[e];o&&Object.keys(o).forEach((function(e){if(a[e]){var n=Ce(i)||{};n[e]=!1,t[i]=n}if(r>1){var o=i-1,s=Ce(o);s[e]&&(s[e]=!1,t[o]=s)}}))}}}(e);var u=Pe.finalMarkToStepsMap[e];Object.keys(u).forEach((function(t){var n=u[t];n.forEach(Me),Promise.all(n.map((function(n){return function(e,t,n,r){return new(n||(n=Promise))((function(e,t){function i(e){try{o(r.next(e))}catch(e){t(e)}}function a(e){try{o(r.throw(e))}catch(e){t(e)}}function o(t){var r;t.done?e(t.value):(r=t.value,r instanceof n?r:new n((function(e){e(r)}))).then(i,a)}o((r=r.apply(undefined,[])).next())}))}(0,0,void 0,(function(){return function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!((i=(i=o.trys).length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?o:1)-1)||[])[r]=!0,i[s]=c,function(e){var t,n=null!==(t=Pe.startMarkToStepsMap[e])&&void 0!==t?t:[];Object.keys(n).forEach((function(e){Pe.active[e]||(Pe.active[e]=!0)}))}(e);if(a.enableNavigationTracking){var l=Ae();null===(t=a.onMarkStep)||void 0===t||t.call(a,e,Object.keys(l))}else null===(n=a.onMarkStep)||void 0===n||n.call(a,e,Object.keys(Pe.active))},Re=function(e){u.mark(p+e),Ue(e)},qe=function(e){0===u.getEntriesByName(p+e).length&&(u.mark(p+e),Ue(e))},Fe=0,ze=function(){function e(e){if(void 0===e&&(e={}),this.v="9.0.0-rc.3",a.analyticsTracker=e.analyticsTracker,a.isResourceTiming=!!e.resourceTiming,a.isElementTiming=!!e.elementTiming,a.maxTime=e.maxMeasureTime||a.maxTime,a.reportOptions=e.reportOptions||a.reportOptions,a.steps=e.steps,a.onMarkStep=e.onMarkStep,a.enableNavigationTracking=e.enableNavigationTracking,m()){"PerformanceObserver"in o&&Ne(),void 0!==document.hidden&&document.addEventListener("visibilitychange",_);var t=function(){if(!m())return{};var e=u.getEntriesByType("navigation")[0];if(!e)return{};var t=e.responseStart,n=e.responseEnd;return{fetchTime:n-e.fetchStart,workerTime:e.workerStart>0?n-e.workerStart:0,totalTime:n-e.requestStart,downloadTime:n-t,timeToFirstByte:t-e.requestStart,headerSize:e.transferSize-e.encodedBodySize||0,dnsLookupTime:e.domainLookupEnd-e.domainLookupStart,redirectTime:e.redirectEnd-e.redirectStart}}();R("navigationTiming",t),t.redirectTime&&q({attribution:{},name:"RT",rating:U("RT",t.redirectTime),value:t.redirectTime}),R("networkInformation",function(){if("connection"in c){var e=c.connection;return"object"!=typeof e?{}:(f=e.effectiveType,v=!!e.saveData,{downlink:e.downlink,effectiveType:e.effectiveType,rtt:e.rtt,saveData:!!e.saveData})}return{}}()),c&&c.storage&&"function"==typeof c.storage.estimate&&c.storage.estimate().then(Ie),a.steps&&a.steps&&(Pe.startMarkToStepsMap={},Pe.finalMarkToStepsMap={},Pe.active={},Pe.navigationSteps={},Object.entries(a.steps).forEach((function(e){var t,n,r=e[0],i=e[1].marks,a=i[0],o=i[1],s=null!==(n=Pe.startMarkToStepsMap[a])&&void 0!==n?n:{};if(s[r]=!0,Pe.startMarkToStepsMap[a]=s,Pe.finalMarkToStepsMap[o]){var c=Pe.finalMarkToStepsMap[o][a]||[];c.push(r),Pe.finalMarkToStepsMap[o][a]=c}else Pe.finalMarkToStepsMap[o]=((t={})[a]=[r],t)})))}}return e.prototype.start=function(e){m()&&!g[e]&&(g[e]=!0,u.mark("mark_".concat(e,"_start")))},e.prototype.end=function(e,t,n){if(void 0===t&&(t={}),void 0===n&&(n=!0),m()&&g[e]){u.mark("mark_".concat(e,"_end")),delete g[e];var r=function(e){u.measure(e,"mark_".concat(e,"_start"),"mark_".concat(e,"_end"));var t=u.getEntriesByName(e).pop();return t&&"measure"===t.entryType?t.duration:-1}(e);n&&R(e,O(r),t)}},e.prototype.endPaint=function(e,t){var n=this;setTimeout((function(){n.end(e,t)}))},e.prototype.clear=function(e){delete g[e],u.clearMarks&&(u.clearMarks("mark_".concat(e,"_start")),u.clearMarks("mark_".concat(e,"_end")))},e.prototype.markNTBT=function(){var e=this;this.start("ntbt"),y.value=0,clearTimeout(Fe),Fe=setTimeout((function(){e.end("ntbt",{},!1),q({attribution:{},name:"NTBT",rating:U("NTBT",y.value),value:y.value}),y.value=0}),2e3)},e}()},426:(e,t)=>{"use strict";Symbol.for("react.element"),Symbol.for("react.portal"),Symbol.for("react.fragment"),Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.provider"),Symbol.for("react.context"),Symbol.for("react.forward_ref"),Symbol.for("react.suspense"),Symbol.for("react.memo"),Symbol.for("react.lazy"),Symbol.iterator;var n={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},r=Object.assign,i={};function a(e,t,r){this.props=e,this.context=t,this.refs=i,this.updater=r||n}function o(){}function s(e,t,r){this.props=e,this.context=t,this.refs=i,this.updater=r||n}a.prototype.isReactComponent={},a.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)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")},a.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},o.prototype=a.prototype;var c=s.prototype=new o;c.constructor=s,r(c,a.prototype),c.isPureReactComponent=!0;Array.isArray,Object.prototype.hasOwnProperty;var u={current:null};t.useCallback=function(e,t){return u.current.useCallback(e,t)},t.useEffect=function(e,t){return u.current.useEffect(e,t)},t.useRef=function(e){return u.current.useRef(e)}},784:(e,t,n)=>{"use strict";e.exports=n(426)},353:function(e,t,n){var r;!function(i,a){"use strict";var o="function",s="undefined",c="object",u="string",l="major",d="model",p="name",m="type",f="vendor",v="version",g="architecture",b="console",h="mobile",w="tablet",y="smarttv",T="wearable",k="embedded",_="Amazon",S="Apple",E="ASUS",x="BlackBerry",O="Browser",j="Chrome",N="Firefox",I="Google",P="Huawei",M="LG",B="Microsoft",C="Motorola",D="Opera",A="Samsung",L="Sharp",U="Sony",R="Xiaomi",q="Zebra",F="Facebook",z="Chromium OS",K="Mac OS",$=function(e){for(var t={},n=0;n0?2===s.length?typeof s[1]==o?this[s[0]]=s[1].call(this,l):this[s[0]]=s[1]:3===s.length?typeof s[1]!==o||s[1].exec&&s[1].test?this[s[0]]=l?l.replace(s[1],s[2]):a:this[s[0]]=l?s[1].call(this,l,s[2]):a:4===s.length&&(this[s[0]]=l?s[3].call(this,l.replace(s[1],s[2])):a):this[s]=l||a;d+=2}},J=function(e,t){for(var n in t)if(typeof t[n]===c&&t[n].length>0){for(var r=0;r2&&(e[d]="iPad",e[m]=w),e},this.getEngine=function(){var e={};return e[p]=a,e[v]=a,V.call(e,r,y.engine),e},this.getOS=function(){var e={};return e[p]=a,e[v]=a,V.call(e,r,y.os),T&&!e[p]&&b&&"Unknown"!=b.platform&&(e[p]=b.platform.replace(/chrome os/i,z).replace(/macos/i,K)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=typeof e===u&&e.length>350?H(e,350):e,this},this.setUA(r),this};Z.VERSION="1.0.35",Z.BROWSER=$([p,v,l]),Z.CPU=$([g]),Z.DEVICE=$([d,f,m,b,h,y,w,T,k]),Z.ENGINE=Z.OS=$([p,v]),typeof t!==s?(e.exports&&(t=e.exports=Z),t.UAParser=Z):n.amdO?(r=function(){return Z}.call(t,n,t,e))===a||(e.exports=r):typeof i!==s&&(i.UAParser=Z);var Y=typeof i!==s&&(i.jQuery||i.Zepto);if(Y&&!Y.ua){var ee=new Z;Y.ua=ee.getResult(),Y.ua.get=function(){return ee.getUA()},Y.ua.set=function(e){ee.setUA(e);var t=ee.getResult();for(var n in t)Y.ua[n]=t[n]}}}("object"==typeof window?window:this)}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,n),a.exports}n.amdO={},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{"use strict";n.r(r),n.d(r,{ActionType:()=>f,AmplitudePlatformName:()=>g,AnalyticsEventImportance:()=>l,AnalyticsQueries:()=>e,AuthStatus:()=>b,ComponentType:()=>m,IThresholdTier:()=>Jt,MetricType:()=>d,PlatformName:()=>v,SessionActions:()=>h,SessionAutomatedEvents:()=>w,SessionRank:()=>y,SubjectType:()=>p,UserTypeCommerce:()=>c,UserTypeInsto:()=>i,UserTypeRetail:()=>t,UserTypeRetailBusinessBanking:()=>s,UserTypeRetailEmployeeInternal:()=>a,UserTypeRetailEmployeePersonal:()=>o,UserTypeWallet:()=>u,automatedEvents:()=>xn,automatedMappingConfig:()=>In,clearMarkEntry:()=>Vn,clearPerformanceMarkEntries:()=>Xn,config:()=>A,createEventConfig:()=>On,createNewSpan:()=>Ln,createNewTrace:()=>Un,device:()=>W,endPerfMark:()=>Jn,exposeExperiment:()=>wn,flushQueue:()=>or,generateUUID:()=>V,getAnalyticsHeaders:()=>sr,getReferrerData:()=>le,getTracingHeaders:()=>An,getTracingId:()=>Dn,getUrlHostname:()=>pe,getUrlParams:()=>me,getUrlPathname:()=>fe,getUserContext:()=>ar,identify:()=>Tn,identifyFlow:()=>xe,identity:()=>H,identityFlow:()=>Se,incrementUjNavigation:()=>an,init:()=>yn,initNextJsTrackPageview:()=>_n,initTrackPageview:()=>kn,isEventKeyFormatValid:()=>we,isSessionEnded:()=>pt,location:()=>re,logEvent:()=>$t,logMetric:()=>Ht,logPageView:()=>on,logTrace:()=>Rn,markNTBT:()=>tn,markStep:()=>nn,markStepOnce:()=>rn,onVisibilityChange:()=>ln,optIn:()=>En,optOut:()=>Sn,perfMark:()=>Wn,persistentData:()=>oe,postMessage:()=>K,recordSessionDuration:()=>pn,removeFromIdentifyFlow:()=>Ee,savePersistentData:()=>st,sendScheduledEvents:()=>Bt,setBreadcrumbs:()=>ie,setConfig:()=>U,setLocation:()=>ae,setPagePath:()=>ve,setPageview:()=>Kt,setPersistentData:()=>se,setSessionStart:()=>dt,setTime:()=>Ue,startPerfMark:()=>Hn,timeStone:()=>Le,useEventLogger:()=>Yn,useLogEventOnMount:()=>tr,usePerformanceMarks:()=>rr});let e=function(e){return e.fbclid="fbclid",e.gclid="gclid",e.msclkid="msclkid",e.ptclid="ptclid",e.ttclid="ttclid",e.utm_source="utm_source",e.utm_medium="utm_medium",e.utm_campaign="utm_campaign",e.utm_term="utm_term",e.utm_content="utm_content",e}({});const t=0,i=1,a=2,o=3,s=4,c=5,u=6;let l=function(e){return e.low="low",e.high="high",e}({}),d=function(e){return e.count="count",e.rate="rate",e.gauge="gauge",e.distribution="distribution",e.histogram="histogram",e}({}),p=function(e){return e.commerce_merchant="commerce_merchant",e.device="device",e.edp_fingerprint_id="edp_fingerprint_id",e.nft_user="nft_user",e.user="user",e.wallet_user="wallet_user",e.uuid="user_uuid",e}({}),m=function(e){return e.unknown="unknown",e.banner="banner",e.button="button",e.card="card",e.chart="chart",e.content_script="content_script",e.dropdown="dropdown",e.link="link",e.page="page",e.modal="modal",e.table="table",e.search_bar="search_bar",e.service_worker="service_worker",e.text="text",e.text_input="text_input",e.tray="tray",e.checkbox="checkbox",e.icon="icon",e}({}),f=function(e){return e.unknown="unknown",e.blur="blur",e.click="click",e.change="change",e.dismiss="dismiss",e.focus="focus",e.hover="hover",e.select="select",e.measurement="measurement",e.move="move",e.process="process",e.render="render",e.scroll="scroll",e.view="view",e.search="search",e.keyPress="keyPress",e}({}),v=function(e){return e.unknown="unknown",e.web="web",e.android="android",e.ios="ios",e.mobile_web="mobile_web",e.tablet_web="tablet_web",e.server="server",e.windows="windows",e.macos="macos",e.extension="extension",e}({}),g=function(e){return e.web="Web",e.ios="iOS",e.android="Android",e}({}),b=function(e){return e[e.notLoggedIn=0]="notLoggedIn",e[e.loggedIn=1]="loggedIn",e}({}),h=function(e){return e.ac="ac",e.af="af",e.ah="ah",e.al="al",e.am="am",e.ar="ar",e.as="as",e}({}),w=function(e){return e.pv="pv",e}({}),y=function(e){return e.xs="xs",e.s="s",e.m="m",e.l="l",e.xl="xl",e.xxl="xxl",e}({});const T="https://analytics-service-dev.cbhq.net",k=3e5,_=5e3,S="analytics-db",E="experiment-exposure-db",x="Analytics SDK:",O=Object.values(e),j="pageview",N="session_duration",I={navigationTiming:{eventName:"perf_navigation_timing"},redirectTime:{eventName:"perf_redirect_time"},RT:{eventName:"perf_redirect_time"},TTFB:{eventName:"perf_time_to_first_byte"},networkInformation:{eventName:"perf_network_information"},storageEstimate:{eventName:"perf_storage_estimate"},FCP:{eventName:"perf_first_contentful_paint"},FID:{eventName:"perf_first_input_delay"},LCP:{eventName:"perf_largest_contentful_paint"},CLS:{eventName:"perf_cumulative_layout_shift"},TBT:{eventName:"perf_total_blocking_time"},NTBT:{eventName:"perf_navigation_total_blocking_time"},INP:{eventName:"perf_interact_to_next_paint"},ET:{eventName:"perf_element_timing"},userJourneyStep:{eventName:"perf_user_journey_step"}},P="1",M="web";function B(){return B=Object.assign?Object.assign.bind():function(e){for(var t=1;t{console.error(x,e,t)},platform:v.unknown,projectName:"",ricTimeoutScheduleEvent:1e3,ricTimeoutSetDevice:500,showDebugLogging:!1,trackUserId:!1,version:null,apiEndpoint:T},D(T),{steps:{}}),L=[].reduce(((e,t)=>n=>e(t(n))),(e=>{if(!e.isProd)return e.isInternalApplication?(e.apiEndpoint="https://analytics-service-internal-dev.cbhq.net",B({},e,D(e.apiEndpoint))):e;const t=(e=>e.apiEndpoint?C.test(e.apiEndpoint)?e.apiEndpoint:`https://${e.apiEndpoint}`:e.isInternalApplication?"https://analytics-service-internal.cbhq.net":"https://as.coinbase.com")(e);return B({},e,{apiEndpoint:t},D(t))})),U=e=>{const{batchEventsThreshold:t,batchMetricsThreshold:n,batchTracesThreshold:r}=e,i=[t,n,r];for(const e of i)if((e||0)>30){console.warn("You are setting the threshhold for the batch limit to be greater than 30. This may cause request overload.");break}Object.assign(A,L(e))},R=[v.web,v.mobile_web,v.tablet_web];function q(){return"android"===A.platform}function F(){return"ios"===A.platform}function z(){return R.includes(A.platform)}function K(e){if(z()&&navigator&&"serviceWorker"in navigator&&navigator.serviceWorker.controller)try{navigator.serviceWorker.controller.postMessage(e)}catch(e){e instanceof Error&&A.onError(e)}}var $=n(353),Q=n.n($);const W={amplitudeOSName:null,amplitudeOSVersion:null,amplitudeDeviceModel:null,amplitudePlatform:null,browserName:null,browserMajor:null,osName:null,userAgent:null,width:null,height:null},H={countryCode:null,deviceId:null,device_os:null,isOptOut:!1,languageCode:null,locale:null,jwt:null,session_lcc_id:null,userAgent:null,userId:null},V=e=>e?(e^16*Math.random()>>e/4).toString(16):"10000000-1000-4000-8000-100000000000".replace(/[018]/g,V),J=()=>A.isAlwaysAuthed||!!H.userId,X=()=>{const e={};return H.countryCode&&(e.country_code=H.countryCode),e},G=()=>{const{platform:e}=A;if(e===v.web)switch(!0){case window.matchMedia("(max-width: 560px)").matches:return v.mobile_web;case window.matchMedia("(max-width: 1024px, min-width: 561px)").matches:return v.tablet_web}return e},Z=()=>{var e,t,n,r,i;z()?("requestIdleCallback"in window?window.requestIdleCallback(ne,{timeout:A.ricTimeoutSetDevice}):ne(),W.amplitudePlatform=g.web,W.userAgent=(null==(e=window)||null==(e=e.navigator)?void 0:e.userAgent)||null,ee({height:null!=(t=null==(n=window)?void 0:n.innerHeight)?t:null,width:null!=(r=null==(i=window)?void 0:i.innerWidth)?r:null})):F()?(W.amplitudePlatform=g.ios,W.userAgent=H.userAgent,W.userAgent&&ne()):q()&&(W.userAgent=H.userAgent,W.amplitudePlatform=g.android,W.userAgent&&ne())},Y=e=>{Object.assign(H,e),z()&&K({identity:{isAuthed:!!H.userId,locale:H.locale||null}})},ee=e=>{W.height=e.height,W.width=e.width},te=()=>{U({platform:G()}),z()&&K({config:{platform:A.platform}})},ne=()=>{var e;performance.mark&&performance.mark("ua_parser_start");const t=new(Q())(null!=(e=W.userAgent)?e:"").getResult();W.browserName=t.browser.name||null,W.browserMajor=t.browser.major||null,W.osName=t.os.name||null,W.amplitudeOSName=W.browserName,W.amplitudeOSVersion=W.browserMajor,W.amplitudeDeviceModel=W.osName,K({device:{browserName:W.browserName,osName:W.osName}}),performance.mark&&(performance.mark("ua_parser_end"),performance.measure("ua_parser","ua_parser_start","ua_parser_end"))},re={breadcrumbs:[],initialUAAData:{},pageKey:"",pageKeyRegex:{},pagePath:"",prevPageKey:"",prevPagePath:""};function ie(e){Object.assign(re,{breadcrumbs:e})}function ae(e){Object.assign(re,e)}const oe={eventId:0,sequenceNumber:0,sessionId:0,lastEventTime:0,sessionStart:0,sessionUUID:null,userId:null,ac:0,af:0,ah:0,al:0,am:0,ar:0,as:0,pv:0};function se(e){Object.assign(oe,e)}function ce(){var e,t;return null!=(e=null==(t=document)?void 0:t.referrer)?e:""}function ue(){return ue=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=ce();if(!e)return{};const t=new URL(e);return t.hostname===pe()?{}:{referrer:e,referring_domain:t.hostname}},de=()=>{const e=new URLSearchParams(me()),t={};return O.forEach((n=>{e.has(n)&&(t[n]=(e.get(n)||"").toLowerCase())})),t},pe=()=>{var e;return(null==(e=window)||null==(e=e.location)?void 0:e.hostname)||""},me=()=>{var e;return(null==(e=window)||null==(e=e.location)?void 0:e.search)||""},fe=()=>{var e;return(null==(e=window)||null==(e=e.location)?void 0:e.pathname)||""},ve=()=>{const e=A.overrideWindowLocation?re.pagePath:fe()+me();e&&e!==re.pagePath&&(e!==re.pagePath&&ge(),re.pagePath=e,re.pageKeyRegex&&Object.keys(re.pageKeyRegex).some((e=>{if(re.pageKeyRegex[e].test(re.pagePath))return re.pageKey=e,!0})))},ge=()=>{if(z()){const e=ce();if(!re.prevPagePath&&e){const t=new URL(e);if(t.hostname===pe())return void(re.prevPagePath=t.pathname)}}re.prevPagePath=re.pagePath,re.prevPageKey=re.pageKey},be=e=>{z()&&Object.assign(e,z()?(Object.keys(re.initialUAAData).length>0||(new URLSearchParams(me()),re.initialUAAData=ue({},(()=>{const e={};return O.forEach((t=>{oe[t]&&(e[t]=oe[t])})),e})(),de(),le())),re.initialUAAData):re.initialUAAData)},he=/^[a-zd]+(_[a-zd]+)*$/;function we(e){return he.test(e)}function ye(){return ye=Object.assign?Object.assign.bind():function(e){for(var t=1;t{ke.includes(e)&&delete Se[e]}))}function xe(e){var t;const n=Object.entries(e).reduce(((e,t)=>{const[n,r]=t;return!Te.includes(n)&&ke.includes(n)?we(n)?ye({},e,{[n]:r}):(A.onError(new Error("IdentityFlow property names must have snake case format"),{[n]:r}),e):e}),{});null!=(t=n.ujs)&&t.length&&(n.ujs=n.ujs.map((e=>`${_e}${e}`))),Object.assign(Se,n)}function Oe(){return A.platform!==v.unknown||(A.onError(new Error("SDK platform not initialized")),!1)}const je={eventsQueue:[],eventsScheduled:!1,metricsQueue:[],metricsScheduled:!1,tracesQueue:[],tracesScheduled:!1};function Ne(e){Object.assign(je,e)}const Ie={ac:0,af:0,ah:0,al:0,am:0,ar:0,as:0,pv:0,sqs:0},Pe={ac:20,af:5,ah:1,al:1,am:0,ar:10,as:20},Me={pv:25},Be={xs:0,s:1,m:1,l:2,xl:2,xxl:2},Ce=e=>e<15?y.xs:e<60?y.s:e<240?y.m:e<960?y.l:e<3840?y.xl:y.xxl,De=e=>{Object.assign(Ie,e)};function Ae(){return(new Date).getTime()}const Le={timeStart:Ae(),timeOnPagePath:0,timeOnPageKey:0,prevTimeOnPagePath:0,prevTimeOnPageKey:0,sessionDuration:0,sessionEnd:0,sessionStart:0,prevSessionDuration:0};function Ue(e){Object.assign(Le,e)}const Re=(e,t)=>t.some((t=>e instanceof t));let qe,Fe;const ze=new WeakMap,Ke=new WeakMap,$e=new WeakMap,Qe=new WeakMap,We=new WeakMap;let He={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return Ke.get(e);if("objectStoreNames"===t)return e.objectStoreNames||$e.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Je(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Ve(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Fe||(Fe=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(Xe(this),e),Je(ze.get(this))}:function(...e){return Je(t.apply(Xe(this),e))}:function(e,...n){const r=t.call(Xe(this),e,...n);return $e.set(r,e.sort?e.sort():[e]),Je(r)}:(e instanceof IDBTransaction&&function(e){if(Ke.has(e))return;const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",a),e.removeEventListener("abort",a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",i),e.addEventListener("error",a),e.addEventListener("abort",a)}));Ke.set(e,t)}(e),Re(e,qe||(qe=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,He):e);var t}function Je(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener("success",i),e.removeEventListener("error",a)},i=()=>{t(Je(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener("success",i),e.addEventListener("error",a)}));return t.then((t=>{t instanceof IDBCursor&&ze.set(t,e)})).catch((()=>{})),We.set(t,e),t}(e);if(Qe.has(e))return Qe.get(e);const t=Ve(e);return t!==e&&(Qe.set(e,t),We.set(t,e)),t}const Xe=e=>We.get(e),Ge=["get","getKey","getAll","getAllKeys","count"],Ze=["put","add","delete","clear"],Ye=new Map;function et(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(Ye.get(t))return Ye.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,i=Ze.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!i&&!Ge.includes(n))return;const a=async function(e,...t){const a=this.transaction(e,i?"readwrite":"readonly");let o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return Ye.set(t,a),a}var tt;tt=He,He={...tt,get:(e,t,n)=>et(e,t)||tt.get(e,t,n),has:(e,t)=>!!et(e,t)||tt.has(e,t)};const nt={isReady:!1,idbKeyval:null};function rt(e){Object.assign(nt,e)}const it={},at=async e=>{if(!nt.idbKeyval)return Promise.resolve(null);try{return await nt.idbKeyval.get(e)}catch(e){return A.onError(new Error("IndexedDB:Get:InternalError")),Promise.resolve(null)}},ot=async(e,t)=>{if(nt.idbKeyval)try{await nt.idbKeyval.set(e,t)}catch(e){A.onError(new Error("IndexedDB:Set:InternalError"))}},st=()=>{"server"!==A.platform&&(se({sessionStart:Le.sessionStart,ac:Ie.ac,af:Ie.af,ah:Ie.ah,al:Ie.al,am:Ie.am,ar:Ie.ar,as:Ie.as,pv:Ie.pv}),H.userId&&se({userId:H.userId}),ot(S,oe))},ct="rgb(5,177,105)",ut=e=>{const{metricName:t,data:n}=e,r=e.importance||l.low;if(!A.showDebugLogging||!console)return;const i=`%c ${x}`,a=`color:${ct};font-size:11px;`,o=`Importance: ${r}`;console.group(i,a,t,o),n.forEach((e=>{e.event_type?console.log(e.event_type,e):console.log(e)})),console.groupEnd()},lt=e=>{const{metricName:t,data:n}=e,r=e.importance||l.low;if(!A.showDebugLogging||!console)return;const i=`color:${ct};font-size:11px;`,a=`%c ${x}`,o=`Importance: ${r}`;console.log(a,i,t,n,o)},dt=()=>{const e=Ae();oe.sessionId&&oe.lastEventTime&&oe.sessionUUID&&!pt(e)||(oe.sessionId=e,oe.sessionUUID=V(),Ue({sessionStart:e}),lt({metricName:"Started new session:",data:{persistentData:oe,timeStone:Le}})),oe.lastEventTime=e},pt=e=>e-oe.lastEventTime>18e5;function mt(){return mt=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t;(e=>{switch(e.action){case f.click:Ie.ac+=1;break;case f.focus:Ie.af+=1;break;case f.hover:Ie.ah+=1;break;case f.move:Ie.am+=1;break;case f.scroll:Ie.al+=1;break;case f.search:Ie.ar+=1;break;case f.select:Ie.as+=1}})(t=e),t.event_type!==j?t.event_type===N&&((e=>{if(!e.session_rank)return;const t=e.session_rank;Object.values(h).forEach((e=>{Ie.sqs+=Ie[e]*Pe[e]})),Object.values(w).forEach((e=>{Ie.sqs+=Ie[e]*Me[e]})),Ie.sqs*=Be[t]})(t),Object.assign(t,Ie),De({ac:0,af:0,ah:0,al:0,am:0,ar:0,as:0,pv:0,sqs:0})):Ie.pv+=1;const n=e.event_type;delete e.event_type;const r=e.deviceId?e.deviceId:null,i=e.timestamp;return delete e.timestamp,se({eventId:oe.eventId+1}),se({sequenceNumber:oe.sequenceNumber+1}),dt(),st(),{device_id:H.deviceId||r||null,user_id:H.userId,timestamp:i,event_id:oe.eventId,session_id:oe.sessionId||-1,event_type:n,version_name:A.version||null,platform:W.amplitudePlatform,os_name:W.amplitudeOSName,os_version:W.amplitudeOSVersion,device_model:W.amplitudeDeviceModel,language:H.languageCode,event_properties:mt({},e,{session_uuid:oe.sessionUUID,height:W.height,width:W.width}),user_properties:X(),uuid:V(),library:{name:"@cbhq/client-analytics",version:"10.6.0"},sequence_number:oe.sequenceNumber,user_agent:W.userAgent||H.userAgent}},vt=e=>e.map((e=>ft(e)));function gt(){return gt=Object.assign?Object.assign.bind():function(e){for(var t=1;te.map((e=>(e=>{const t=e.tags||{},n=gt({authed:J()?"true":"false",platform:A.platform},t,{project_name:A.projectName,version_name:A.version||null});return{metric_name:e.metricName,page_path:e.pagePath||null,value:e.value,tags:n,type:e.metricType}})(e))),ht=e=>0!==je.metricsQueue.length&&(je.metricsQueue.length>=A.batchMetricsThreshold||(je.metricsScheduled||(je.metricsScheduled=!0,setTimeout((()=>{je.metricsScheduled=!1,e(bt(je.metricsQueue)),je.metricsQueue=[]}),A.batchMetricsPeriod)),!1)),wt=e=>0!==je.tracesQueue.length&&(je.tracesQueue.length>=A.batchTracesThreshold||(je.tracesScheduled||(je.tracesScheduled=!0,setTimeout((()=>{je.tracesScheduled=!1,e(je.tracesQueue),je.tracesQueue=[]}),A.batchTracesPeriod)),!1)),yt=e=>{var t;z()&&null!=(t=window)&&t.requestIdleCallback?window.requestIdleCallback(e,{timeout:A.ricTimeoutScheduleEvent}):(q()||F())&&A.interactionManager?A.interactionManager.runAfterInteractions(e):e()};function Tt(){return Tt=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{data:t,importance:n,isJSON:r,onError:i,url:a}=e,o=r?"application/json":kt,s=n||l.low,c=r?JSON.stringify(t):new URLSearchParams(t).toString();function u(){const e=new XMLHttpRequest;e.open("POST",a,!0),Object.keys(A.headers||{}).forEach((t=>{e.setRequestHeader(t,A.headers[t])})),e.setRequestHeader("Content-Type",kt),H.jwt&&e.setRequestHeader("authorization",`Bearer ${H.jwt}`),e.send(c)}if(!z()||r||!("sendBeacon"in navigator)||s!==l.low||A.headers&&0!==Object.keys(A.headers).length)if(z()&&!r)u();else{const e=Tt({},A.headers,{"Content-Type":o});H.jwt&&(e.Authorization=`Bearer ${H.jwt}`),fetch(a,{method:"POST",mode:"no-cors",headers:e,body:c}).catch((e=>{i(e,{context:"AnalyticsSDKApiError"})}))}else{const e=new Blob([c],{type:kt});try{navigator.sendBeacon.bind(navigator)(a,e)||u()}catch(e){console.error(e),u()}}};var St=n(762),Et=n.n(St);const xt=(e,t,n)=>{const r=e||"";return Et()("2"+r+t+n)};function Ot(){return Ot=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n;e&&je.eventsQueue.push(e),nt.isReady&&(!A.trackUserId||H.userId?(t===l.high||(n=Mt,0!==je.eventsQueue.length&&(je.eventsQueue.length>=A.batchEventsThreshold||(je.eventsScheduled||(je.eventsScheduled=!0,setTimeout((()=>{je.eventsScheduled=!1,n(vt(je.eventsQueue)),je.eventsQueue=[]}),A.batchEventsPeriod)),0))))&&Bt():je.eventsQueue.length>10&&(A.trackUserId=!1,A.onError(new Error("userId not set in Logged-in"))))},Mt=(e,t=l.low)=>{if(H.isOptOut||0===e.length)return;let n;try{n=JSON.stringify(e)}catch(t){const r=e.map((e=>e.event_type)).join(", "),[i,a]=(e=>{try{const n=[];for(const r of e){const e=Ot({},r);r.event_properties&&(e.event_properties=Ot({},e.event_properties,{currentTarget:null,target:null,relatedTarget:null,_dispatchInstances:null,_targetInst:null,view:(t=r.event_properties.view,["string","number","boolean"].includes(typeof t)?r.event_properties.view:null)})),n.push(e)}return[!0,JSON.stringify(n)]}catch(e){return[!1,""]}var t})(e);if(!i)return void A.onError(new jt(t instanceof Error?t.message:"unknown"),{listEventType:r});n=a,A.onError(new Nt("Found DOM element reference"),{listEventType:r,stringifiedEventData:n})}const r=Ae().toString(),i=It({},{e:n,v:"2",upload_time:r},{client:A.amplitudeApiKey,checksum:xt(A.amplitudeApiKey,n,r)});_t({url:A.eventsEndpoint,data:i,importance:t,onError:A.onError}),ut({metricName:"Batch Events",data:e,importance:t})},Bt=()=>{Mt(vt(je.eventsQueue)),Ne({eventsQueue:[]})};function Ct(){return Ct=Object.assign?Object.assign.bind():function(e){for(var t=1;tDt.includes(e)?e:f.unknown,Ut=e=>At.includes(e)?e:m.unknown,Rt=(e,t,n)=>{const r={auth:J()?b.loggedIn:b.notLoggedIn,action:Lt(e),component_type:Ut(t),logging_id:n,platform:A.platform,project_name:A.projectName};return"number"==typeof H.userTypeEnum&&(r.user_type_enum=H.userTypeEnum),r},qt=e=>{const t=Ae();if(!e)return A.onError(new Error("missing logData")),Ct({},Rt(f.unknown,m.unknown),{locale:H.locale,session_lcc_id:H.session_lcc_id,timestamp:t,time_start:Le.timeStart});const n=Ct({},e,Rt(e.action,e.componentType,e.loggingId),{locale:H.locale,session_lcc_id:H.session_lcc_id,timestamp:t,time_start:Le.timeStart});return delete n.componentType,delete n.loggingId,n},Ft={blacklistRegex:[],isEnabled:!1};function zt(){return{page_key:re.pageKey,page_path:re.pagePath,prev_page_key:re.prevPageKey,prev_page_path:re.prevPagePath}}function Kt(e){Object.assign(Ft,e)}function $t(e,t,n=l.low){if(H.isOptOut)return;if(!Oe())return;const r=qt(t);!function(e){Ft.isEnabled&&(ve(),Object.assign(e,zt()))}(r),be(r),function(e){Object.keys(Se).length>0&&Object.assign(e,Se)}(r),r.has_double_fired=!1,r.event_type=e,n===l.high?Pt(r,n):yt((()=>{Pt(r)}))}function Qt(e,t=!1){t?_t({url:A.metricsEndPoint,data:{metrics:e},isJSON:!0,onError:A.onError}):yt((()=>{_t({url:A.metricsEndPoint,data:{metrics:e},isJSON:!0,onError:A.onError})})),ut({metricName:"Batch Metrics",data:e})}function Wt(){return Wt=Object.assign?Object.assign.bind():function(e){for(var t=1;t{null!=A&&A.onMarkStep&&A.onMarkStep(e,t),xe({ujs:t})};let Yt;const en={Perfume:()=>{},markStep:e=>{},markStepOnce:e=>{},incrementUjNavigation:()=>{}},tn=()=>{z()&&Yt&&Yt.markNTBT&&Yt.markNTBT()},nn=e=>{z()&&Yt&&en.markStep&&en.markStep(e)},rn=e=>{z()&&Yt&&en.markStepOnce&&en.markStepOnce(e)},an=()=>{z()&&Yt&&en.incrementUjNavigation&&en.incrementUjNavigation()};function on(e={callMarkNTBT:!0}){"unknown"!==A.platform&&(Ft.blacklistRegex.some((e=>e.test(fe())))||($t(j,{action:f.render,componentType:m.page}),e.callMarkNTBT&&tn()))}let sn=!1,cn=!1;const un=e=>{sn=!e.persisted},ln=(e,t="hidden",n=!1)=>{cn||(addEventListener("pagehide",un),addEventListener("beforeunload",(()=>{})),cn=!0),addEventListener("visibilitychange",(({timeStamp:n})=>{document.visibilityState===t&&e({timeStamp:n,isUnloading:sn})}),{capture:!0,once:n})},dn=36e3;function pn(){const e=pt(Ae());if(e&&(O.forEach((e=>{oe[e]&&delete oe[e]})),st()),!oe.lastEventTime||!Le.sessionStart||!e)return;const t=Math.round((oe.lastEventTime-Le.sessionStart)/1e3);if(t<1||t>dn)return;const n=Ce(t);$t(N,{action:f.measurement,componentType:m.page,session_duration:t,session_end:oe.lastEventTime,session_start:Le.sessionStart,session_rank:n})}function mn(){return mn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=fn.shift();e&&e()},bn=()=>{const e=vn.shift();e&&e()};let hn={};function wn(e){const t=function(e){return{test_name:e.testName,group_name:e.group,subject_id:e.subjectId,exposed_at:Ae(),subject_type:e.subjectType,platform:A.platform}}(e);hn[e.testName]=hn[e.testName]||0,hn[e.testName]+k>Ae()?lt({metricName:`Event: exposeExperiment ${e.testName} not sent`,data:t}):(hn[e.testName]=Ae(),ot(E,hn),lt({metricName:`Event: exposeExperiment ${e.testName} sent`,data:t}),_t({url:A.exposureEndpoint,data:[t],onError:(t,n)=>{hn[e.testName]=0,ot(E,hn),A.onError(t,n)},isJSON:!0,importance:l.high}))}const yn=e=>{var t,r,i;U(e),z()&&(H.languageCode=(null==(t=navigator)?void 0:t.languages[0])||(null==(r=navigator)?void 0:r.language)||""),te(),(()=>{var e;if(z()&&null!=(e=window)&&e.indexedDB){const e=function(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){const o=indexedDB.open(e,t),s=Je(o);return r&&o.addEventListener("upgradeneeded",(e=>{r(Je(o.result),e.oldVersion,e.newVersion,Je(o.transaction),e)})),n&&o.addEventListener("blocked",(e=>n(e.oldVersion,e.newVersion,e))),s.then((e=>{a&&e.addEventListener("close",(()=>a())),i&&e.addEventListener("versionchange",(e=>i(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),s}("keyval-store",1,{upgrade(e){e.createObjectStore("keyval")}});rt({idbKeyval:{get:async t=>(await e).get("keyval",t),set:async(t,n)=>(await e).put("keyval",n,t),delete:async t=>(await e).delete("keyval",t),keys:async()=>(await e).getAllKeys("keyval")}})}else rt({idbKeyval:{get:async e=>new Promise((t=>{t(it[e])})),set:async(e,t)=>new Promise((n=>{it[e]=t,n(e)})),delete:async e=>new Promise((()=>{delete it[e]})),keys:async()=>new Promise((e=>{e(Object.keys(it))}))}})})(),lt({metricName:"Initialized Analytics:",data:{deviceId:H.deviceId}}),fn.push((()=>{Pt()})),(async()=>{const e=await at(S);rt({isReady:!0}),gn(),e&&(bn(),se({eventId:e.eventId||oe.eventId,sequenceNumber:e.sequenceNumber||oe.sequenceNumber,sessionId:e.sessionId||oe.sessionId,lastEventTime:e.lastEventTime||oe.lastEventTime,sessionUUID:e.sessionUUID||oe.sessionUUID}),function(e){se(mn({},function(e){const t={};return O.forEach((n=>{e[n]&&(t[n]=e[n])})),t}(e),de()))}(e),Ue({sessionStart:e.sessionStart||oe.sessionStart}),De({ac:e.ac||Ie.ac,af:e.af||Ie.af,ah:e.ah||Ie.ah,al:e.al||Ie.al,am:e.am||Ie.am,ar:e.ar||Ie.ar,as:e.as||Ie.as,pv:e.pv||Ie.pv}),A.trackUserId&&Y({userId:e.userId||H.userId}),pn(),lt({metricName:"Initialized Analytics IndexedDB:",data:e}))})(),async function(){at(E).then((e=>{hn=null!=e?e:{}})).catch((e=>{e instanceof Error&&A.onError(e)}))}(),Z(),z()&&(ln((()=>{se({lastEventTime:Ae()}),st(),Bt()}),"hidden"),ln((()=>{pn()}),"visible")),z()&&(i=()=>{var e,t,n,r;te(),ee({width:null!=(e=null==(t=window)?void 0:t.innerWidth)?e:null,height:null!=(n=null==(r=window)?void 0:r.innerHeight)?n:null})},addEventListener("resize",(()=>{requestAnimationFrame((()=>{i()}))}))),(()=>{if(z())try{const e=n(2);en.markStep=e.markStep,en.markStepOnce=e.markStepOnce,en.incrementUjNavigation=e.incrementUjNavigation,Yt=new e.Perfume({analyticsTracker:e=>{const{data:t,attribution:n,metricName:r,navigatorInformation:i,rating:a}=e,o=I[r],s=(null==n?void 0:n.category)||null;if(!o&&!s)return;const c=(null==i?void 0:i.deviceMemory)||0,u=(null==i?void 0:i.hardwareConcurrency)||0,l=(null==i?void 0:i.isLowEndDevice)||!1,p=(null==i?void 0:i.isLowEndExperience)||!1,v=(null==i?void 0:i.serviceWorkerStatus)||"unsupported",g=Vt({deviceMemory:c,hardwareConcurrency:u,isLowEndDevice:l,isLowEndExperience:p,serviceWorkerStatus:v},Gt),b={is_low_end_device:l,is_low_end_experience:p,page_key:re.pageKey||"",save_data:t.saveData||!1,service_worker:v,is_perf_metric:!0};if("navigationTiming"===r)t&&"number"==typeof t.redirectTime&&Ht({metricName:I.redirectTime.eventName,metricType:d.histogram,tags:b,value:t.redirectTime||0});else if("TTFB"===r)$t(o.eventName,Vt({action:f.measurement,componentType:m.page,duration:t||null,vitalsScore:a||null},g)),Ht({metricName:I.TTFB.eventName,metricType:d.histogram,tags:Vt({},b),value:t}),a&&Ht({metricName:`perf_web_vitals_ttfb_${a}`,metricType:d.count,tags:b,value:1});else if("networkInformation"===r)null!=t&&t.effectiveType&&(Gt=t,$t(o.eventName,{action:f.measurement,componentType:m.page,networkInformationDownlink:t.downlink,networkInformationEffectiveType:t.effectiveType,networkInformationRtt:t.rtt,networkInformationSaveData:t.saveData,navigatorDeviceMemory:c,navigatorHardwareConcurrency:u}));else if("storageEstimate"===r)$t(o.eventName,Vt({action:f.measurement,componentType:m.page},t,g)),Ht({metricName:"perf_storage_estimate_caches",metricType:d.histogram,tags:b,value:t.caches}),Ht({metricName:"perf_storage_estimate_indexed_db",metricType:d.histogram,tags:b,value:t.indexedDB});else if("CLS"===r)$t(o.eventName,Vt({action:f.measurement,componentType:m.page,score:100*t||null,vitalsScore:a||null},g)),a&&Ht({metricName:`perf_web_vitals_cls_${a}`,metricType:d.count,tags:b,value:1});else if("FID"===r){const e=(null==n?void 0:n.performanceEntry)||null,r=parseInt((null==e?void 0:e.processingStart)||"");$t(o.eventName,Vt({action:f.measurement,componentType:m.page,duration:t||null,processingStart:null!=e&&e.processingStart?r:null,startTime:null!=e&&e.startTime?parseInt(e.startTime):null,vitalsScore:a||null},g)),a&&Ht({metricName:`perf_web_vitals_fidVitals_${a}`,metricType:d.count,tags:b,value:1})}else"userJourneyStep"===r?($t("perf_user_journey_step",Vt({action:f.measurement,componentType:m.page,duration:t||null,rating:null!=a?a:null,step_name:(null==n?void 0:n.stepName)||""},g)),Ht({metricName:`user_journey_step.${A.projectName}.${A.platform}.${(null==n?void 0:n.stepName)||""}_vitals_${a}`,metricType:d.count,tags:b,value:1}),Ht({metricName:`user_journey_step.${A.projectName}.${A.platform}.${(null==n?void 0:n.stepName)||""}`,metricType:d.distribution,tags:b,value:t||null})):I[r]&&t&&($t(o.eventName,Vt({action:f.measurement,componentType:m.page,duration:t||null,vitalsScore:a||null},g)),a&&(Ht({metricName:`perf_web_vitals_${Xt(r)}_${a}`,metricType:d.count,tags:b,value:1}),"LCP"===r&&Ht({metricName:`perf_web_vitals_${Xt(r)}`,metricType:d.distribution,tags:b,value:t})))},maxMeasureTime:3e4,steps:A.steps,onMarkStep:Zt})}catch(e){e instanceof Error&&A.onError(e)}})()},Tn=e=>{Y(e),e.userAgent&&Z(),lt({metricName:"Identify:",data:{countryCode:H.countryCode,deviceId:H.deviceId,userId:H.userId}})},kn=({blacklistRegex:e,pageKeyRegex:t,browserHistory:n})=>{Kt({blacklistRegex:e||[],isEnabled:!0}),ae({pageKeyRegex:t}),on({callMarkNTBT:!1}),n.listen((()=>{on()}))},_n=({blacklistRegex:e,pageKeyRegex:t,nextJsRouter:n})=>{Kt({blacklistRegex:e||[],isEnabled:!0}),ae({pageKeyRegex:t}),on({callMarkNTBT:!1}),n.events.on("routeChangeComplete",(()=>{on()}))},Sn=()=>{Y({isOptOut:!0}),ot(S,{})},En=()=>{Y({isOptOut:!1})},xn={Button:{label:"cb_button",uuid:"e921a074-40e6-4371-8700-134d5cd633e6",componentType:m.button}};function On(e,t,n){return{componentName:e,actions:t,data:n}}function jn(){return jn=Object.assign?Object.assign.bind():function(e){for(var t=1;tNn(xn.Button,f.click,e),[f.hover]:e=>Nn(xn.Button,f.hover,e)}}};function Pn(e,t=!1){t?_t({url:A.tracesEndpoint,data:{traces:e},isJSON:!0,onError:A.onError}):yt((()=>{_t({url:A.tracesEndpoint,data:{traces:e},isJSON:!0,onError:A.onError})})),ut({metricName:"Batch Traces",data:e})}function Mn(){return Mn=Object.assign?Object.assign.bind():function(e){for(var t=1;t0}(e)&&(t&&function(e,t){e.forEach((e=>function(e,t){const n=Mn({},e.meta,t.meta),r={start:t.start?Cn(t.start):e.start,duration:t.duration?Cn(t.duration):e.duration};Object.assign(e,t,Mn({meta:n},r))}(e,t)))}(e,t),je.tracesQueue.push(e),wt(Pn)&&(Pn(je.tracesQueue),je.tracesQueue=[]))}function qn(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}function Fn(){return Fn=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}(Qn,[n].map(qn));Qn=r}function Jn(e,t){if(!zn())return;const n=$n(e,"start",t);Qn[n]&&(Wn(e,"end",t),Vn(e,t))}function Xn(){zn()&&(performance.clearMarks(),Qn={})}var Gn=n(784);function Zn(){return Zn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.current=t}),[t]),(0,Gn.useCallback)((t=>{$t(e,Zn({},r.current,t),n)}),[e,n])}function er(){return er=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const r=er({},t,{action:f.render});$t(e,r,n)}),[])}function nr(){return nr=Object.assign?Object.assign.bind():function(e){for(var t=1;tHn(e,t)),[e,t]),markEndPerf:(0,Gn.useCallback)((n=>Jn(e,nr({},t,n))),[e,t])}};function ir(){return ir=Object.assign?Object.assign.bind():function(e){for(var t=1;t{return null!=(n=t[1])&&""!==n?ir({},e,{[t[0]]:t[1]}):e;var n}),{})}async function or(){return new Promise((e=>{Mt(vt(je.eventsQueue)),Qt(bt(je.metricsQueue),!0),Pn(je.tracesQueue,!0),Ne({eventsQueue:[],metricsQueue:[],tracesQueue:[]}),e()}))}function sr(){return{"X-CB-Device-ID":H.deviceId||"unknown","X-CB-Is-Logged-In":H.userId?"true":"false","X-CB-Pagekey":re.pageKey||"unknown","X-CB-UJS":(e=Se.ujs,void 0===e||0===e.length?"":e.join(",")),"X-CB-Platform":A.platform||"unknown","X-CB-Project-Name":A.projectName||"unknown","X-CB-Session-UUID":oe.sessionUUID||"unknown","X-CB-Version-Name":A.version?String(A.version):"unknown"};var e}})(),r})()}));',T.type="text/javascript",document.head.appendChild(T),(()=>{var E,$,q;if("u">typeof window){let ne=(q=(E=M.config.get().deviceId)!=null?E:($=window.crypto)==null?void 0:$.randomUUID())!=null?q:"";if(window.ClientAnalytics){let{init:ie,identify:re,PlatformName:pe}=window.ClientAnalytics;ie({isProd:!0,amplitudeApiKey:"c66737ad47ec354ced777935b0af822e",platform:pe.web,projectName:"base_account_sdk",showDebugLogging:!1,version:"1.0.0",apiEndpoint:"https://cca-lite.coinbase.com"}),re({deviceId:ne}),M.config.set({deviceId:ne})}}})(),document.head.removeChild(T),C()}catch{console.error("Failed to execute inlined telemetry script"),F()}});let _=null,P={getProvider:()=>{var C,F,T;let E;return _||(_=(C=(E=(T=(F=window.top)==null?void 0:F.ethereum)!=null?T:window.ethereum)!=null&&E.isCoinbaseBrowser?E:null)!=null?C:new Nb(a)),_},subAccount:{async create(C){var F;return await((F=P.getProvider())==null?void 0:F.request({method:"wallet_addSubAccount",params:[{version:"1",account:C}]}))},async get(){var C,F;let T=M.subAccounts.get();if(T?.address)return T;let E=(F=(await((C=P.getProvider())==null?void 0:C.request({method:"wallet_connect",params:[{version:"1",capabilities:{}}]}))).accounts[0].capabilities)==null?void 0:F.subAccounts;return Array.isArray(E)?E[0]:null},addOwner:async({address:C,publicKey:F,chainId:T})=>{var E,$;let q=M.subAccounts.get(),ne=M.account.get();ct(ne,Error("account does not exist")),ct(q?.address,Error("subaccount does not exist"));let ie=[];if(F){let[re,pe]=(0,La.n)([{type:"bytes32"},{type:"bytes32"}],F);ie.push({to:q.address,data:(0,Qt.p)({abi:ae,functionName:"addOwnerPublicKey",args:[re,pe]}),value:(0,Ne.nj)(0)})}return C&&ie.push({to:q.address,data:(0,Qt.p)({abi:ae,functionName:"addOwnerAddress",args:[C]}),value:(0,Ne.nj)(0)}),await((E=P.getProvider())==null?void 0:E.request({method:"wallet_sendCalls",params:[{calls:ie,chainId:(0,Ne.nj)(T),from:($=ne.accounts)==null?void 0:$[0],version:"1"}]}))},setToOwnerAccount(C){Wa(C),M.subAccountsConfig.set({toOwnerAccount:C})}}};return P}let Hc={USDC:{decimals:6,addresses:{base:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",baseSepolia:"0x036CbD53842c5426634e7929541eC2318f3dCF7e"}}},Od={base:8453,baseSepolia:84532},am=[{name:"transfer",type:"function",stateMutability:"nonpayable",inputs:[{name:"to",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"Transfer",type:"event",anonymous:!1,inputs:[{name:"from",type:"address",indexed:!0},{name:"to",type:"address",indexed:!0},{name:"value",type:"uint256",indexed:!1}]}];var Lb=i(1869);let Vc=({testnet:t,status:a,correlationId:o})=>{jt("payment.status_check.completed",{action:Pe.process,componentType:ke.unknown,method:"getPaymentStatus",correlationId:o,signerType:"base-account",testnet:t,status:a},_e.low)},rm=({testnet:t,correlationId:a,errorMessage:o})=>{jt("payment.status_check.error",{action:Pe.error,componentType:ke.unknown,method:"getPaymentStatus",correlationId:a,errorMessage:o,signerType:"base-account",testnet:t},_e.low)};async function nm(t){var a;let{id:o,testnet:u=!1,telemetry:m=!0}=t,b=crypto.randomUUID();m&&(({testnet:j,correlationId:_})=>{jt("payment.status_check.started",{action:Pe.process,componentType:ke.unknown,method:"getPaymentStatus",correlationId:_,signerType:"base-account",testnet:j},_e.low)})({testnet:u,correlationId:b});try{let j=u?"https://api.developer.coinbase.com/rpc/v1/base-sepolia/S-fOd2n2Oi4fl4e1Crm83XeDXZ7tkg8O":"https://api.developer.coinbase.com/rpc/v1/base/S-fOd2n2Oi4fl4e1Crm83XeDXZ7tkg8O",_=await fetch(j,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getUserOperationReceipt",params:[o]})}).then(E=>E.json());if(_.error){console.error("[getPaymentStatus] RPC error:",_.error);let E=_.error.message||"Network error";throw m&&rm({testnet:u,correlationId:b,errorMessage:E}),Error(`RPC error: ${E}`)}if(!_.result){let E=await fetch(j,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:2,method:"eth_getUserOperationByHash",params:[o]})}).then($=>$.json());return E.result?(m&&Vc({testnet:u,status:"pending",correlationId:b}),{status:"pending",id:o,message:"Your payment is being processed. This usually takes a few seconds.",sender:E.result.sender}):(m&&Vc({testnet:u,status:"not_found",correlationId:b}),{status:"not_found",id:o,message:"Payment not found. Please check your transaction ID."})}let{success:P,receipt:C,reason:F}=_.result;if(P){let E,$;if(C?.logs){let q=u?"baseSepolia":"base",ne=Hc.USDC.addresses[q].toLowerCase(),ie=_.result.sender?(0,wi.b)(_.result.sender):void 0,re=[];for(let pe=0;pe0&&ie){let pe=re.filter(ce=>{try{return(0,ri.h)(ce.from,ie)}catch{return!1}});if(pe.length===0)throw Error(`Unable to find USDC transfer from sender wallet ${_.result.sender}. Found ${re.length} USDC transfer(s) but none originated from the sender wallet.`);if(pe.length>1){let ce=pe.map(he=>`${he.formattedAmount} USDC to ${he.to}`).join(", ");throw Error(`Found multiple USDC transfers from sender wallet ${_.result.sender}: ${ce}. Expected exactly one transfer.`)}E=pe[0].formattedAmount,$=pe[0].to}}return m&&Vc({testnet:u,status:"completed",correlationId:b}),{status:"completed",id:o,message:"Payment completed successfully",sender:_.result.sender,amount:E,recipient:$}}let T="Payment could not be completed";return F&&(T=F.toLowerCase().includes("insufficient")?"Insufficient USDC balance":F),m&&Vc({testnet:u,status:"failed",correlationId:b}),{status:"failed",id:o,message:"Payment failed",sender:_.result.sender,reason:T}}catch(j){console.error("[getPaymentStatus] Error checking status:",j);let _=j instanceof Error?j.message:"Connection error";throw m&&rm({testnet:u,correlationId:b,errorMessage:_}),j}}async function Bb(t,a){var o;let u,m,b=t.getProvider(),j=await b.request({method:"wallet_sendCalls",params:[a]});if(typeof j=="string"&&j.length>=66)u=j.slice(0,66);else if(typeof j=="object"&&j!==null)if(typeof j.id=="string"&&j.id.length>=66)u=j.id.slice(0,66),(o=j.capabilities)!=null&&o.dataCallback&&(m=j.capabilities.dataCallback);else throw Error(`Could not extract transaction hash from object response. Available fields: ${Object.keys(j).join(", ")}`);else throw Error(`Unexpected response format from wallet_sendCalls: expected string with length > 66 or object with id, got ${typeof j}`);return{transactionHash:u,payerInfoResponses:m}}async function Db(t,a,o,u=!0){let m=function(j,_,P=!0){return tm({appName:"u">typeof window?window.location.origin:"Base Pay SDK",appChainIds:[j],preference:{telemetry:P,walletUrl:_}})}(Od[a?"baseSepolia":"base"],o,u),b=m.getProvider();try{return await Bb(m,t)}finally{await b.disconnect()}}class Fb extends Ht.C{constructor({value:a}){super(`Number \`${a}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}async function im(t){var a,o;let{amount:u,to:m,testnet:b=!1,payerInfo:j,walletUrl:_,telemetry:P=!0}=t,C=crypto.randomUUID();P&&(({amount:F,testnet:T,correlationId:E})=>{jt("payment.pay.started",{action:Pe.process,componentType:ke.unknown,method:"pay",correlationId:E,signerType:"base-account",amount:F,testnet:T},_e.high)})({amount:u,testnet:b,correlationId:C});try{let F,T,E,$,q;if(typeof u!="string")throw Error("Invalid amount: must be a string");let ne=parseFloat(u);if(isNaN(ne))throw Error("Invalid amount: must be a valid number");if(ne<=0)throw Error("Invalid amount: must be greater than 0");let ie=u.indexOf(".");if(ie!==-1&&u.length-ie-1>6)throw Error("Invalid amount: pay only supports up to 6 decimal places");let re=function(he){if(!he)throw Error("Invalid address: address is required");try{return(0,wi.b)(he)}catch{throw Error("Invalid address: must be a valid Ethereum address")}}(m),pe=(F=function(he,xe){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(he))throw new Fb({value:he});let[Ee,Be="0"]=he.split("."),lt=Ee.startsWith("-");if(lt&&(Ee=Ee.slice(1)),Be=Be.replace(/(0+)$/,""),xe===0)Math.round(+`.${Be}`)===1&&(Ee=`${BigInt(Ee)+1n}`),Be="";else if(Be.length>xe){let[Ot,Vt,_t]=[Be.slice(0,xe-1),Be.slice(xe-1,xe),Be.slice(xe)],Mt=Math.round(+`${Vt}.${_t}`);(Be=Mt>9?`${BigInt(Ot)+BigInt(1)}0`.padStart(Ot.length+1,"0"):`${Ot}${Mt}`).length>xe&&(Be=Be.slice(1),Ee=`${BigInt(Ee)+1n}`),Be=Be.slice(0,xe)}else Be=Be.padEnd(xe,"0");return BigInt(`${lt?"-":""}${Ee}${Be}`)}(u,Hc.USDC.decimals),o=(0,Qt.p)({abi:am,functionName:"transfer",args:[re,F]}),E=Od[T=b?"baseSepolia":"base"],$=Hc.USDC.addresses[T],q={},j&&j.requests.length>0&&(q.dataCallback=Object.assign({requests:j.requests.map(he=>{var xe;return{type:he.type,optional:(xe=he.optional)!=null&&xe}})},j.callbackURL&&{callbackURL:j.callbackURL})),{version:"2.0.0",chainId:E,calls:[{to:$,data:o,value:"0x0"}],capabilities:q}),ce=await Db(pe,b,_,P);return P&&(({amount:he,testnet:xe,correlationId:Ee})=>{jt("payment.pay.completed",{action:Pe.process,componentType:ke.unknown,method:"pay",correlationId:Ee,signerType:"base-account",amount:he,testnet:xe},_e.high)})({amount:u,testnet:b,correlationId:C}),{success:!0,id:ce.transactionHash,amount:u,to:re,payerInfoResponses:ce.payerInfoResponses}}catch(F){let T="Unknown error occurred";throw F instanceof Error?T=F.message:typeof F=="string"?T=F:F&&typeof F=="object"&&(typeof F?.message=="string"?T=F.message:typeof((a=F?.error)==null?void 0:a.message)=="string"?T=F.error.message:typeof F?.reason=="string"&&(T=F.reason)),P&&(({amount:E,testnet:$,correlationId:q,errorMessage:ne})=>{jt("payment.pay.error",{action:Pe.error,componentType:ke.unknown,method:"pay",correlationId:q,signerType:"base-account",amount:E,testnet:$,errorMessage:ne},_e.high)})({amount:u,testnet:b,correlationId:C,errorMessage:T}),F}}let Wb={pay:im,getPaymentStatus:nm,constants:{CHAIN_IDS:Od,TOKENS:Hc},types:{}}},1276(s,r,i){let l;i.r(r),i.d(r,{createCoinbaseWalletSDK:()=>Oi,default:()=>qi,CoinbaseWalletSDK:()=>Ci});var c=i(1591),h=i(3601);class d{constructor(x,U){this.scope=x,this.module=U}storeObject(x,U){this.setItem(x,JSON.stringify(U))}loadObject(x){let U=this.getItem(x);return U?JSON.parse(U):void 0}setItem(x,U){localStorage.setItem(this.scopedKey(x),U)}getItem(x){return localStorage.getItem(this.scopedKey(x))}removeItem(x){localStorage.removeItem(this.scopedKey(x))}clear(){let x=this.scopedKey(""),U=[];for(let Z=0;ZlocalStorage.removeItem(Z))}scopedKey(x){return`-${this.scope}${this.module?`:${this.module}`:""}:${x}`}static clearAll(){new d("CBWSDK").clear(),new d("walletlink").clear()}}let f=-32602,p=-32603,y=4001,v=4100,k=4200,z=4900,S={"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."},"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32000":{standard:"EIP-1474",message:"Invalid input."},"-32001":{standard:"EIP-1474",message:"Resource not found."},"-32002":{standard:"EIP-1474",message:"Resource unavailable."},"-32003":{standard:"EIP-1474",message:"Transaction rejected."},"-32004":{standard:"EIP-1474",message:"Method not supported."},"-32005":{standard:"EIP-1474",message:"Request limit exceeded."},4001:{standard:"EIP-1193",message:"User rejected the request."},4100:{standard:"EIP-1193",message:"The requested account and/or method has not been authorized by the user."},4200:{standard:"EIP-1193",message:"The requested method is not supported by this Ethereum provider."},4900:{standard:"EIP-1193",message:"The provider is disconnected from all chains."},4901:{standard:"EIP-1193",message:"The provider is disconnected from the specified chain."},4902:{standard:"EIP-3085",message:"Unrecognized chain ID."}},B="Unspecified error message.";function R(H,x=B){if(H&&Number.isInteger(H)){var U;let Z=H.toString();if(I(S,Z))return S[Z].message;if((U=H)>=-32099&&U<=-32e3)return"Unspecified server error."}return x}function D(H){return H&&typeof H=="object"&&!Array.isArray(H)?Object.assign({},H):H}function I(H,x){return Object.prototype.hasOwnProperty.call(H,x)}function O(H,x){return typeof H=="object"&&H!==null&&x in H&&typeof H[x]=="string"}let M=H=>G(f,H),Y=H=>G(p,H),ae=H=>Q(y,H),ue=H=>Q(v,H),se=H=>Q(k,H),J=H=>Q(z,H),W=H=>{if(!H||typeof H!="object"||Array.isArray(H))throw Error("Ethereum Provider custom errors must provide single object argument.");let{code:x,message:U,data:Z}=H;return new be(x,U,Z)};function G(H,x){let[U,Z]=X(x);return new ee(H,U||R(H),Z)}function Q(H,x){let[U,Z]=X(x);return new be(H,U||R(H),Z)}function X(H){if(H){if(typeof H=="string")return[H];if(typeof H=="object"&&!Array.isArray(H)){let{message:x,data:U}=H;if(x&&typeof x!="string")throw Error("Must specify string message.");return[x||void 0,U]}}return[]}class ee extends Error{constructor(x,U,Z){if(!Number.isInteger(x))throw Error('"code" must be an integer.');if(!U||typeof U!="string")throw Error('"message" must be a nonempty string.');super(U),this.code=x,Z!==void 0&&(this.data=Z)}}class be extends ee{constructor(x,U,Z){var le;if(!(Number.isInteger(le=x)&&le>=1e3&&le<=4999))throw Error('"code" must be an integer such that: 1000 <= code <= 4999');super(x,U,Z)}}function ve(H){return Math.floor(H)}let je=/^[0-9]*$/,qe=/^[a-f0-9]*$/;function Re(H){return Ke(crypto.getRandomValues(new Uint8Array(H)))}function Ke(H){return[...H].map(x=>x.toString(16).padStart(2,"0")).join("")}function Se(H){return new Uint8Array(H.match(/.{1,2}/g).map(x=>Number.parseInt(x,16)))}function Oe(H,x=!1){let U=H.toString("hex");return x?`0x${U}`:U}function Fe(H){return Oe(te(H),!0)}function xt(H){return H.toString(10)}function bt(H){return`0x${BigInt(H).toString(16)}`}function Lt(H){return H.startsWith("0x")||H.startsWith("0X")}function At(H){return Lt(H)?H.slice(2):H}function St(H){return Lt(H)?`0x${H.slice(2)}`:`0x${H}`}function ha(H){if(typeof H!="string")return!1;let x=At(H).toLowerCase();return qe.test(x)}function Aa(H,x=!1){let U=function(Z,le=!1){if(typeof Z=="string"){let ye=At(Z).toLowerCase();if(qe.test(ye))return le?`0x${ye}`:ye}throw M(`"${String(Z)}" is not a hexadecimal string`)}(H,!1);return U.length%2==1&&(U=`0${U}`),x?`0x${U}`:U}function L(H){if(typeof H=="string"){let x=At(H).toLowerCase();if(ha(x)&&x.length===40)return St(x)}throw M(`Invalid Ethereum address: ${String(H)}`)}function te(H){if(Buffer.isBuffer(H))return H;if(typeof H=="string"){if(ha(H)){let x=Aa(H,!1);return Buffer.from(x,"hex")}return Buffer.from(H,"utf8")}throw M(`Not binary data: ${String(H)}`)}function Ae(H){if(typeof H=="number"&&Number.isInteger(H))return ve(H);if(typeof H=="string"){if(je.test(H))return ve(Number(H));if(ha(H))return ve(Number(BigInt(Aa(H,!0))))}throw M(`Not an integer: ${String(H)}`)}function He(H){if(H!==null&&(typeof H=="bigint"||function(x){if(x==null||typeof x.constructor!="function")return!1;let{constructor:U}=x;return typeof U.config=="function"&&typeof U.EUCLID=="number"}(H)))return BigInt(H.toString(10));if(typeof H=="number")return BigInt(Ae(H));if(typeof H=="string"){if(je.test(H))return BigInt(H);if(ha(H))return BigInt(Aa(H,!0))}throw M(`Not an integer: ${String(H)}`)}async function ct(){return crypto.subtle.generateKey({name:"ECDH",namedCurve:"P-256"},!0,["deriveKey"])}async function It(H,x){return crypto.subtle.deriveKey({name:"ECDH",public:x},H,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function Jt(H,x){let U=crypto.getRandomValues(new Uint8Array(12)),Z=await crypto.subtle.encrypt({name:"AES-GCM",iv:U},H,new TextEncoder().encode(x));return{iv:U,cipherText:Z}}async function Bt(H,{iv:x,cipherText:U}){let Z=await crypto.subtle.decrypt({name:"AES-GCM",iv:x},H,U);return new TextDecoder().decode(Z)}function sa(H){switch(H){case"public":return"spki";case"private":return"pkcs8"}}async function Wa(H,x){let U=sa(H);return Ke(new Uint8Array(await crypto.subtle.exportKey(U,x)))}async function La(H,x){let U=sa(H),Z=Se(x).buffer;return await crypto.subtle.importKey(U,new Uint8Array(Z),{name:"ECDH",namedCurve:"P-256"},!0,H==="private"?["deriveKey"]:[])}async function Qt(H,x){return Jt(x,JSON.stringify(H,(U,Z)=>Z instanceof Error?Object.assign(Object.assign({},Z.code?{code:Z.code}:{}),{message:Z.message}):Z))}async function Ne(H,x){return JSON.parse(await Bt(x,H))}let jt={storageKey:"ownPrivateKey",keyType:"private"},Ba={storageKey:"ownPublicKey",keyType:"public"},Ia={storageKey:"peerPublicKey",keyType:"public"};class Ha{constructor(){this.storage=new d("CBWSDK","SCWKeyManager"),this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null}async getOwnPublicKey(){return await this.loadKeysIfNeeded(),this.ownPublicKey}async getSharedSecret(){return await this.loadKeysIfNeeded(),this.sharedSecret}async setPeerPublicKey(x){this.sharedSecret=null,this.peerPublicKey=x,await this.storeKey(Ia,x),await this.loadKeysIfNeeded()}async clear(){this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null,this.storage.removeItem(Ba.storageKey),this.storage.removeItem(jt.storageKey),this.storage.removeItem(Ia.storageKey)}async generateKeyPair(){let x=await ct();this.ownPrivateKey=x.privateKey,this.ownPublicKey=x.publicKey,await this.storeKey(jt,x.privateKey),await this.storeKey(Ba,x.publicKey)}async loadKeysIfNeeded(){this.ownPrivateKey===null&&(this.ownPrivateKey=await this.loadKey(jt)),this.ownPublicKey===null&&(this.ownPublicKey=await this.loadKey(Ba)),(this.ownPrivateKey===null||this.ownPublicKey===null)&&await this.generateKeyPair(),this.peerPublicKey===null&&(this.peerPublicKey=await this.loadKey(Ia)),this.sharedSecret===null&&this.ownPrivateKey!==null&&this.peerPublicKey!==null&&(this.sharedSecret=await It(this.ownPrivateKey,this.peerPublicKey))}async loadKey(x){let U=this.storage.getItem(x.storageKey);return U?La(x.keyType,U):null}async storeKey(x,U){let Z=await Wa(x.keyType,U);this.storage.setItem(x.storageKey,Z)}}var cr=i(5407);let Ve="@coinbase/wallet-sdk";async function V(H,x){let U=Object.assign(Object.assign({},H),{jsonrpc:"2.0",id:crypto.randomUUID()}),Z=await window.fetch(x,{method:"POST",body:JSON.stringify(U),mode:"cors",headers:{"Content-Type":"application/json","X-Cbw-Sdk-Version":"4.3.7","X-Cbw-Sdk-Platform":Ve}}),{result:le,error:ye}=await Z.json();if(ye)throw ye;return le}function me({metadata:H,preference:x}){var U,Z;let{appName:le,appLogoUrl:ye,appChainIds:Ie}=H;if(x.options!=="smartWalletOnly"){let st=globalThis.coinbaseWalletExtension;if(st)return(U=st.setAppInfo)==null||U.call(st,le,ye,Ie,x),st}let Je=function(){var st,Ft;try{let Yt=globalThis;return(Ft=(st=Yt.top)==null?void 0:st.ethereum)!=null?Ft:Yt.ethereum}catch{return}}();if(Je?.isCoinbaseBrowser)return(Z=Je.setAppInfo)==null||Z.call(Je,le,ye,Ie,x),Je}let fe="accounts",ke="activeChain",Pe="availableChains",_e="walletCapabilities";class at{constructor(x){var U,Z,le;this.metadata=x.metadata,this.communicator=x.communicator,this.callback=x.callback,this.keyManager=new Ha,this.storage=new d("CBWSDK","SCWStateManager"),this.accounts=(U=this.storage.loadObject(fe))!=null?U:[],this.chain=this.storage.loadObject(ke)||{id:(le=(Z=x.metadata.appChainIds)==null?void 0:Z[0])!=null?le:1},this.handshake=this.handshake.bind(this),this.request=this.request.bind(this),this.createRequestMessage=this.createRequestMessage.bind(this),this.decryptResponseMessage=this.decryptResponseMessage.bind(this)}async handshake(x){var U,Z,le,ye;await((Z=(U=this.communicator).waitForPopupLoaded)==null?void 0:Z.call(U));let Ie=await this.createRequestMessage({handshake:{method:x.method,params:Object.assign({},this.metadata,(le=x.params)!=null?le:{})}}),Je=await this.communicator.postRequestAndWaitForResponse(Ie);if("failure"in Je.content)throw Je.content.failure;let st=await La("public",Je.sender);await this.keyManager.setPeerPublicKey(st);let Ft=(await this.decryptResponseMessage(Je)).result;if("error"in Ft)throw Ft.error;if(x.method==="eth_requestAccounts"){let Yt=Ft.value;this.accounts=Yt,this.storage.storeObject(fe,Yt),(ye=this.callback)==null||ye.call(this,"accountsChanged",Yt)}}async request(x){var U;if(this.accounts.length===0){if(x.method==="wallet_sendCalls")return this.sendRequestToPopup(x);throw ue()}switch(x.method){case"eth_requestAccounts":return(U=this.callback)==null||U.call(this,"connect",{chainId:bt(this.chain.id)}),this.accounts;case"eth_accounts":return this.accounts;case"eth_coinbase":return this.accounts[0];case"net_version":return this.chain.id;case"eth_chainId":return bt(this.chain.id);case"wallet_getCapabilities":return this.handleGetCapabilitiesRequest(x);case"wallet_switchEthereumChain":return this.handleSwitchChainRequest(x);case"eth_ecRecover":case"personal_sign":case"wallet_sign":case"personal_ecRecover":case"eth_signTransaction":case"eth_sendTransaction":case"eth_signTypedData_v1":case"eth_signTypedData_v3":case"eth_signTypedData_v4":case"eth_signTypedData":case"wallet_addEthereumChain":case"wallet_watchAsset":case"wallet_sendCalls":case"wallet_showCallsStatus":case"wallet_grantPermissions":return this.sendRequestToPopup(x);default:if(!this.chain.rpcUrl)throw Y("No RPC URL set for chain");return V(x,this.chain.rpcUrl)}}async sendRequestToPopup(x){var U,Z;await((Z=(U=this.communicator).waitForPopupLoaded)==null?void 0:Z.call(U));let le=await this.sendEncryptedRequest(x),ye=(await this.decryptResponseMessage(le)).result;if("error"in ye)throw ye.error;return ye.value}async cleanup(){var x,U;this.storage.clear(),await this.keyManager.clear(),this.accounts=[],this.chain={id:(U=(x=this.metadata.appChainIds)==null?void 0:x[0])!=null?U:1}}async handleSwitchChainRequest(x){var U;let Z=x.params;if(!Z||!((U=Z[0])!=null&&U.chainId))throw M();let le=Ae(Z[0].chainId);if(this.updateChain(le))return null;let ye=await this.sendRequestToPopup(x);return ye===null&&this.updateChain(le),ye}async handleGetCapabilitiesRequest(x){var U=x.params;if(!U||!Array.isArray(U)||U.length!==1&&U.length!==2||typeof U[0]!="string"||!(0,cr.P)(U[0]))throw M();if(U.length===2){if(!Array.isArray(U[1]))throw M();for(let Je of U[1])if(typeof Je!="string"||!Je.startsWith("0x"))throw M()}let Z=x.params[0],le=x.params[1];if(!this.accounts.some(Je=>(0,c.h)(Je,Z)))throw ue("no active account found");let ye=this.storage.loadObject(_e);if(!ye)return{};if(!le||le.length===0)return ye;let Ie=new Set(le.map(Je=>(0,h.ME)(Je)));return Object.fromEntries(Object.entries(ye).filter(([Je])=>{try{let st=(0,h.ME)(Je);return Ie.has(st)}catch{return!1}}))}async sendEncryptedRequest(x){let U=await this.keyManager.getSharedSecret();if(!U)throw ue("No valid session found, try requestAccounts before other methods");let Z=await Qt({action:x,chainId:this.chain.id},U),le=await this.createRequestMessage({encrypted:Z});return this.communicator.postRequestAndWaitForResponse(le)}async createRequestMessage(x){let U=await Wa("public",await this.keyManager.getOwnPublicKey());return{id:crypto.randomUUID(),sender:U,content:x,timestamp:new Date}}async decryptResponseMessage(x){var U,Z;let le=x.content;if("failure"in le)throw le.failure;let ye=await this.keyManager.getSharedSecret();if(!ye)throw ue("Invalid session");let Ie=await Ne(le.encrypted,ye),Je=(U=Ie.data)==null?void 0:U.chains;if(Je){let Ft=Object.entries(Je).map(([Yt,Me])=>({id:Number(Yt),rpcUrl:Me}));this.storage.storeObject(Pe,Ft),this.updateChain(this.chain.id,Ft)}let st=(Z=Ie.data)==null?void 0:Z.capabilities;return st&&this.storage.storeObject(_e,st),Ie}updateChain(x,U){var Z;let le=U??this.storage.loadObject(Pe),ye=le?.find(Ie=>Ie.id===x);return!!ye&&(ye!==this.chain&&(this.chain=ye,this.storage.storeObject(ke,ye),(Z=this.callback)==null||Z.call(this,"chainChanged",bt(ye.id))),!0)}}var pt=i(7487);let na="Addresses";function Dt(H){return H.errorMessage!==void 0}class Sa{constructor(x){this.secret=x}async encrypt(x){let U=this.secret;if(U.length!==64)throw Error("secret must be 256 bits");let Z=crypto.getRandomValues(new Uint8Array(12)),le=await crypto.subtle.importKey("raw",Se(U),{name:"aes-gcm"},!1,["encrypt","decrypt"]),ye=new TextEncoder,Ie=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:Z},le,ye.encode(x)),Je=Ie.slice(Ie.byteLength-16),st=Ie.slice(0,Ie.byteLength-16),Ft=new Uint8Array(Je),Yt=new Uint8Array(st);return Ke(new Uint8Array([...Z,...Ft,...Yt]))}async decrypt(x){let U=this.secret;if(U.length!==64)throw Error("secret must be 256 bits");return new Promise((Z,le)=>{(async function(){let ye=await crypto.subtle.importKey("raw",Se(U),{name:"aes-gcm"},!1,["encrypt","decrypt"]),Ie=Se(x),Je=Ie.slice(0,12),st=Ie.slice(12,28),Ft=new Uint8Array([...Ie.slice(28),...st]),Yt={name:"AES-GCM",iv:new Uint8Array(Je)};try{let Me=await window.crypto.subtle.decrypt(Yt,ye,Ft),Qa=new TextDecoder;Z(Qa.decode(Me))}catch(Me){le(Me)}})()})}}class Va{constructor(x,U,Z){this.linkAPIUrl=x,this.sessionId=U;let le=`${U}:${Z}`;this.auth=`Basic ${btoa(le)}`}async markUnseenEventsAsSeen(x){return Promise.all(x.map(U=>fetch(`${this.linkAPIUrl}/events/${U.eventId}/seen`,{method:"POST",headers:{Authorization:this.auth}}))).catch(U=>console.error("Unabled to mark event as failed:",U))}async fetchUnseenEvents(){var x;let U=await fetch(`${this.linkAPIUrl}/events?unseen=true`,{headers:{Authorization:this.auth}});if(U.ok){let{events:Z,error:le}=await U.json();if(le)throw Error(`Check unseen events failed: ${le}`);let ye=(x=Z?.filter(Ie=>Ie.event==="Web3Response").map(Ie=>({type:"Event",sessionId:this.sessionId,eventId:Ie.id,event:Ie.event,data:Ie.data})))!=null?x:[];return this.markUnseenEventsAsSeen(ye),ye}throw Error(`Check unseen events failed: ${U.status}`)}}(qa=Ya||(Ya={}))[qa.DISCONNECTED=0]="DISCONNECTED",qa[qa.CONNECTING=1]="CONNECTING",qa[qa.CONNECTED=2]="CONNECTED";class ma{setConnectionStateListener(x){this.connectionStateListener=x}setIncomingDataListener(x){this.incomingDataListener=x}constructor(x,U=WebSocket){this.WebSocketClass=U,this.webSocket=null,this.isDisconnecting=!1,this.url=x.replace(/^http/,"ws"),this.instanceId=ma.instanceCounter++,ma.activeInstances.add(this.instanceId)}async connect(){if(this.webSocket)throw Error("webSocket object is not null");if(this.isDisconnecting)throw Error("WebSocket is disconnecting, cannot reconnect on same instance");return new Promise((x,U)=>{var Z;let le;try{this.webSocket=le=new this.WebSocketClass(this.url)}catch(ye){U(ye);return}(Z=this.connectionStateListener)==null||Z.call(this,Ya.CONNECTING),le.onclose=ye=>{var Ie;this.clearWebSocket(),le.readyState!==WebSocket.OPEN&&U(Error(`websocket error ${ye.code}: ${ye.reason}`)),(Ie=this.connectionStateListener)==null||Ie.call(this,Ya.DISCONNECTED)},le.onopen=ye=>{var Ie;x(),(Ie=this.connectionStateListener)==null||Ie.call(this,Ya.CONNECTED),ma.pendingData.length>0&&([...ma.pendingData].forEach(Je=>this.sendData(Je)),ma.pendingData=[])},le.onmessage=ye=>{var Ie,Je;if(ye.data==="h")(Ie=this.incomingDataListener)==null||Ie.call(this,{type:"Heartbeat"});else try{let st=JSON.parse(ye.data);(Je=this.incomingDataListener)==null||Je.call(this,st)}catch{}}})}disconnect(){var x;let{webSocket:U}=this;if(U){this.isDisconnecting=!0,this.clearWebSocket(),(x=this.connectionStateListener)==null||x.call(this,Ya.DISCONNECTED),this.connectionStateListener=void 0,this.incomingDataListener=void 0;try{U.close()}catch{}}}sendData(x){let{webSocket:U}=this;if(!U){ma.pendingData.push(x),this.isDisconnecting||this.connect();return}U.readyState!==WebSocket.OPEN?ma.pendingData.push(x):U.send(x)}clearWebSocket(){let{webSocket:x}=this;x&&(this.webSocket=null,x.onclose=null,x.onerror=null,x.onmessage=null,x.onopen=null)}cleanup(){ma.activeInstances.delete(this.instanceId)}}ma.instanceCounter=0,ma.activeInstances=new Set,ma.pendingData=[];class oe{constructor({session:x,linkAPIUrl:U,listener:Z}){this.destroyed=!1,this.lastHeartbeatResponse=0,this.nextReqId=ve(1),this.reconnectAttempts=0,this.isReconnecting=!1,this._connected=!1,this._linked=!1,this.requestResolutions=new Map,this.handleSessionMetadataUpdated=ye=>{ye&&new Map([["__destroyed",this.handleDestroyed],["EthereumAddress",this.handleAccountUpdated],["WalletUsername",this.handleWalletUsernameUpdated],["AppVersion",this.handleAppVersionUpdated],["ChainId",Ie=>ye.JsonRpcUrl&&this.handleChainUpdated(Ie,ye.JsonRpcUrl)]]).forEach((Ie,Je)=>{let st=ye[Je];st!==void 0&&Ie(st)})},this.handleDestroyed=ye=>{var Ie;ye==="1"&&((Ie=this.listener)==null||Ie.resetAndReload())},this.handleAccountUpdated=async ye=>{var Ie;try{let Je=await this.cipher.decrypt(ye);(Ie=this.listener)==null||Ie.accountUpdated(Je)}catch{}},this.handleMetadataUpdated=async(ye,Ie)=>{var Je;try{let st=await this.cipher.decrypt(Ie);(Je=this.listener)==null||Je.metadataUpdated(ye,st)}catch{}},this.handleWalletUsernameUpdated=async ye=>{this.handleMetadataUpdated("walletUsername",ye)},this.handleAppVersionUpdated=async ye=>{this.handleMetadataUpdated("AppVersion",ye)},this.handleChainUpdated=async(ye,Ie)=>{var Je;try{let st=await this.cipher.decrypt(ye),Ft=await this.cipher.decrypt(Ie);(Je=this.listener)==null||Je.chainUpdated(st,Ft)}catch{}},this.session=x,this.cipher=new Sa(x.secret),this.listener=Z,this.linkAPIUrl=U,this.WebSocketClass=WebSocket;let le=this.createWebSocket();this.ws=le,this.http=new Va(U,x.id,x.key),this.setupVisibilityChangeHandler()}createWebSocket(){let x=new ma(`${this.linkAPIUrl}/rpc`,this.WebSocketClass);return this.activeWsInstance=x,x.setConnectionStateListener(async U=>{if(x!==this.activeWsInstance)return;let Z=!1;switch(U){case Ya.DISCONNECTED:this.heartbeatIntervalId&&(clearInterval(this.heartbeatIntervalId),this.heartbeatIntervalId=void 0),this.lastHeartbeatResponse=0,Z=!1,this.destroyed||(async()=>{if(this.isReconnecting)return;this.isReconnecting=!0;let le=3e3*(this.reconnectAttempts!==0);await new Promise(ye=>setTimeout(ye,le)),this.destroyed||x!==this.activeWsInstance?this.isReconnecting=!1:(this.reconnectAttempts++,"cleanup"in this.ws&&typeof this.ws.cleanup=="function"&&this.ws.cleanup(),this.ws=this.createWebSocket(),this.ws.connect().catch(()=>{}).finally(()=>{this.isReconnecting=!1}))})();break;case Ya.CONNECTED:this.reconnectAttempts=0;try{Z=await this.handleConnected(),this.fetchUnseenEventsAPI().catch(()=>{})}catch{break}this.connected=Z,this.updateLastHeartbeat(),this.heartbeatIntervalId&&clearInterval(this.heartbeatIntervalId),this.heartbeatIntervalId=window.setInterval(()=>{this.heartbeat()},1e4),setTimeout(()=>{this.heartbeat()},100);case Ya.CONNECTING:}U!==Ya.CONNECTED&&(this.connected=Z)}),x.setIncomingDataListener(U=>{var Z;switch(U.type){case"Heartbeat":this.updateLastHeartbeat();return;case"IsLinkedOK":case"Linked":{let le=U.type==="IsLinkedOK"?U.linked:void 0;this.linked=le||U.onlineGuests>0;break}case"GetSessionConfigOK":case"SessionConfigUpdated":this.handleSessionMetadataUpdated(U.metadata);break;case"Event":this.handleIncomingEvent(U)}U.id!==void 0&&((Z=this.requestResolutions.get(U.id))==null||Z(U))}),x}setupVisibilityChangeHandler(){this.visibilityChangeHandler=()=>{document.hidden||this.destroyed||(this.connected?this.heartbeat():this.reconnectWithFreshWebSocket())},this.focusHandler=()=>{this.destroyed||this.connected||this.reconnectWithFreshWebSocket()},document.addEventListener("visibilitychange",this.visibilityChangeHandler),window.addEventListener("focus",this.focusHandler),window.addEventListener("pageshow",x=>{x.persisted&&this.focusHandler&&this.focusHandler()})}reconnectWithFreshWebSocket(){if(this.destroyed)return;let x=this.ws;this.activeWsInstance=void 0,x.disconnect(),"cleanup"in x&&typeof x.cleanup=="function"&&x.cleanup(),this.ws=this.createWebSocket(),this.ws.connect().catch(()=>{})}connect(){if(this.destroyed)throw Error("instance is destroyed");this.ws.connect()}async destroy(){this.destroyed||(await this.makeRequest({type:"SetSessionConfig",id:ve(this.nextReqId++),sessionId:this.session.id,metadata:{__destroyed:"1"}},{timeout:1e3}),this.destroyed=!0,this.activeWsInstance=void 0,this.heartbeatIntervalId&&(clearInterval(this.heartbeatIntervalId),this.heartbeatIntervalId=void 0),this.visibilityChangeHandler&&document.removeEventListener("visibilitychange",this.visibilityChangeHandler),this.focusHandler&&window.removeEventListener("focus",this.focusHandler),this.ws.disconnect(),"cleanup"in this.ws&&typeof this.ws.cleanup=="function"&&this.ws.cleanup(),this.listener=void 0)}get connected(){return this._connected}set connected(x){this._connected=x}get linked(){return this._linked}set linked(x){var U,Z;this._linked=x,x&&((U=this.onceLinked)==null||U.call(this)),(Z=this.listener)==null||Z.linkedUpdated(x)}setOnceLinked(x){return new Promise(U=>{this.linked?x().then(U):this.onceLinked=()=>{x().then(U),this.onceLinked=void 0}})}async handleIncomingEvent(x){var U;if(x.type==="Event"&&x.event==="Web3Response")try{let Z=await this.cipher.decrypt(x.data),le=JSON.parse(Z);if(le.type!=="WEB3_RESPONSE")return;(U=this.listener)==null||U.handleWeb3ResponseMessage(le.id,le.response)}catch{}}async checkUnseenEvents(){await new Promise(x=>setTimeout(x,250));try{await this.fetchUnseenEventsAPI()}catch(x){console.error("Unable to check for unseen events",x)}}async fetchUnseenEventsAPI(){try{(await this.http.fetchUnseenEvents()).forEach(x=>{this.handleIncomingEvent(x)})}catch{}}async publishEvent(x,U,Z=!1){let le=await this.cipher.encrypt(JSON.stringify(Object.assign(Object.assign({},U),{origin:location.origin,location:location.href,relaySource:"coinbaseWalletExtension"in window&&window.coinbaseWalletExtension?"injected_sdk":"sdk"}))),ye={type:"PublishEvent",id:ve(this.nextReqId++),sessionId:this.session.id,event:x,data:le,callWebhook:Z};return this.setOnceLinked(async()=>{let Ie=await this.makeRequest(ye);if(Ie.type==="Fail")throw Error(Ie.error||"failed to publish event");return Ie.eventId})}sendData(x){this.ws.sendData(JSON.stringify(x))}updateLastHeartbeat(){this.lastHeartbeatResponse=Date.now()}heartbeat(){if(Date.now()-this.lastHeartbeatResponse>2e4)return void this.ws.disconnect();if(this.connected)try{this.ws.sendData("h")}catch{}}async makeRequest(x,U={timeout:6e4}){let Z,le=x.id;return this.sendData(x),Promise.race([new Promise((ye,Ie)=>{Z=window.setTimeout(()=>{Ie(Error(`request ${le} timed out`))},U.timeout)}),new Promise(ye=>{this.requestResolutions.set(le,Ie=>{clearTimeout(Z),ye(Ie),this.requestResolutions.delete(le)})})])}async handleConnected(){return(await this.makeRequest({type:"HostSession",id:ve(this.nextReqId++),sessionId:this.session.id,sessionKey:this.session.key})).type!=="Fail"&&(this.sendData({type:"IsLinked",id:ve(this.nextReqId++),sessionId:this.session.id}),this.sendData({type:"GetSessionConfig",id:ve(this.nextReqId++),sessionId:this.session.id}),!0)}}class Te{constructor(){this._nextRequestId=0,this.callbacks=new Map}makeRequestId(){this._nextRequestId=(this._nextRequestId+1)%2147483647;let x=this._nextRequestId,U=St(x.toString(16));return this.callbacks.get(U)&&this.callbacks.delete(U),x}}var Ge=i(5013),Ye=i(1374);let Qe="session:id",Pt="session:secret",Zt="session:linked";class Ct{constructor(x,U,Z,le=!1){this.storage=x,this.id=U,this.secret=Z,this.key=(0,Ye.My)((0,Ge.sc)(`${U}, ${Z} WalletLink`)),this._linked=!!le}static create(x){return new Ct(x,Re(16),Re(32)).save()}static load(x){let U=x.getItem(Qe),Z=x.getItem(Zt),le=x.getItem(Pt);return U&&le?new Ct(x,U,le,Z==="1"):null}get linked(){return this._linked}set linked(x){this._linked=x,this.persistLinked()}save(){return this.storage.setItem(Qe,this.id),this.storage.setItem(Pt,this.secret),this.persistLinked(),this}persistLinked(){this.storage.setItem(Zt,this._linked?"1":"0")}}function vt(){var H,x;return(x=(H=window?.matchMedia)==null?void 0:H.call(window,"(prefers-color-scheme: dark)").matches)!=null&&x}function wa(){let H=document.createElement("style");H.type="text/css",H.appendChild(document.createTextNode('@namespace svg "http://www.w3.org/2000/svg";.-cbwsdk-css-reset,.-cbwsdk-css-reset *{animation:none;animation-delay:0;animation-direction:normal;animation-duration:0;animation-fill-mode:none;animation-iteration-count:1;animation-name:none;animation-play-state:running;animation-timing-function:ease;backface-visibility:visible;background:0;background-attachment:scroll;background-clip:border-box;background-color:rgba(0,0,0,0);background-image:none;background-origin:padding-box;background-position:0 0;background-position-x:0;background-position-y:0;background-repeat:repeat;background-size:auto auto;border:0;border-style:none;border-width:medium;border-color:inherit;border-bottom:0;border-bottom-color:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image:none;border-left:0;border-left-color:inherit;border-left-style:none;border-left-width:medium;border-radius:0;border-right:0;border-right-color:inherit;border-right-style:none;border-right-width:medium;border-spacing:0;border-top:0;border-top-color:inherit;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;box-shadow:none;box-sizing:border-box;caption-side:top;clear:none;clip:auto;color:inherit;columns:auto;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-rule-color:currentColor;column-rule-style:none;column-rule-width:none;column-span:1;column-width:auto;counter-increment:none;counter-reset:none;direction:ltr;empty-cells:show;float:none;font:normal;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;height:auto;hyphens:none;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;margin:0;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;opacity:1;orphans:0;outline:0;outline-color:invert;outline-style:none;outline-width:medium;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:"\\201C" "\\201D" "\\2018" "\\2019";tab-size:8;table-layout:auto;text-align:inherit;text-align-last:auto;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-shadow:none;text-transform:none;transform:none;transform-style:flat;transition:none;transition-delay:0s;transition-duration:0s;transition-property:none;transition-timing-function:ease;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:0;word-spacing:normal;z-index:auto}.-cbwsdk-css-reset strong{font-weight:bold}.-cbwsdk-css-reset *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1}.-cbwsdk-css-reset [class*=container]{margin:0;padding:0}.-cbwsdk-css-reset style{display:none}')),document.documentElement.appendChild(H)}var qa,Ya,wr,Xt,rr,zr,$a,er,Jr,Fr,Cr,pn,Ga,cn=i(4362),fa={},oa=[],Ut=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Ce=Array.isArray;function or(H,x){for(var U in x)H[U]=x[U];return H}function dr(H){H&&H.parentNode&&H.parentNode.removeChild(H)}function Ca(H,x,U){var Z,le,ye,Ie={};for(ye in x)ye=="key"?Z=x[ye]:ye=="ref"?le=x[ye]:Ie[ye]=x[ye];if(arguments.length>2&&(Ie.children=arguments.length>3?wr.call(arguments,2):U),typeof H=="function"&&H.defaultProps!=null)for(ye in H.defaultProps)Ie[ye]===void 0&&(Ie[ye]=H.defaultProps[ye]);return Ka(H,Ie,Z,le,null)}function Ka(H,x,U,Z,le){var ye={type:H,props:x,key:U,ref:Z,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:le??++rr,__i:-1,__u:0};return le==null&&Xt.vnode!=null&&Xt.vnode(ye),ye}function Er(H){return H.children}function Zr(H,x){this.props=H,this.context=x}function Yr(H,x){if(x==null)return H.__?Yr(H.__,H.__i+1):null;for(var U;xIe&&zr.sort(Jr),H=zr.shift(),Ie=zr.length,H.__d&&(x=void 0,U=void 0,Z=(U=H.__v).__e,le=[],ye=[],H.__P&&((x=or({},U)).__v=U.__v+1,Xt.vnode&&Xt.vnode(x),ur(H.__P,x,U,H.__n,H.__P.namespaceURI,32&U.__u?[Z]:null,le,Z??Yr(U),!!(32&U.__u),ye),x.__v=U.__v,x.__.__k[x.__i]=x,ia(le,x,ye),U.__e=U.__=null,x.__e!=Z&&function Je(st){var Ft,Yt;if((st=st.__)!=null&&st.__c!=null){for(st.__e=st.__c.base=null,Ft=0;Ft0?Ka(tr.type,tr.props,tr.key,tr.ref?tr.ref:null,tr.__v):tr).__=tn,tr.__b=tn.__b+1,Nr=null,(Hr=tr.__i=function(Vr,vn,dn,di){var pa,On,Rn,hi=Vr.key,an=Vr.type,wn=vn[dn],ni=wn!=null&&(2&wn.__u)==0;if(wn===null&&Vr.key==null||ni&&hi==wn.key&&an==wn.type)return dn;if(di>+!!ni){for(pa=dn-1,On=dn+1;pa>=0||On=0?pa--:On++])!=null&&!(2&wn.__u)&&hi==wn.key&&an==wn.type)return Rn}return-1}(tr,yr,Ja,Yi))!=-1&&(Yi--,(Nr=yr[Hr])&&(Nr.__u|=2)),Nr==null||Nr.__v==null?(Hr==-1&&(Rr>An?sn--:RrJa?sn--:sn++,tr.__u|=4))):tn.__k[Br]=null;if(Yi)for(Br=0;Br0?Hr:Ce(Hr)?Hr.map(Ja):or({},Hr)}(Yt.props.children)),Je=en(H,Ce(Br)?Br:[Br],x,U,Z,le,ye,Ie,Je,st,Ft),Me.base=x.__e,x.__u&=-161,Me.__h.length&&Ie.push(Me),Zn&&(Me.__E=Me.__=null)}catch(Ja){if(x.__v=null,st||ye!=null)if(Ja.then){for(x.__u|=st?160:128;Je&&Je.nodeType==8&&Je.nextSibling;)Je=Je.nextSibling;ye[ye.indexOf(Je)]=null,x.__e=Je}else{for(tr=ye.length;tr--;)dr(ye[tr]);rn(x)}else x.__e=U.__e,x.__k=U.__k,Ja.then||rn(x);Xt.__e(Ja,x,U)}else ye==null&&x.__v==U.__v?(x.__k=U.__k,x.__e=U.__e):Je=x.__e=function(Ja,Hr,An,Yi,sn,Vr,vn,dn,di){var pa,On,Rn,hi,an,wn,ni,In=An.props,qn=Hr.props,Nn=Hr.type;if(Nn=="svg"?sn="http://www.w3.org/2000/svg":Nn=="math"?sn="http://www.w3.org/1998/Math/MathML":sn||(sn="http://www.w3.org/1999/xhtml"),Vr!=null){for(pa=0;pa=U.__.length&&U.__.push({}),U.__[H]}function Ar(H,x,U){var Z=xr(ua++,2);if(Z.t=H,!Z.__c&&(Z.__=[Na(void 0,x),function(Je){var st=Z.__N?Z.__N[0]:Z.__[0],Ft=Z.t(st,Je);st!==Ft&&(Z.__N=[Ft,Z.__[1]],Z.__c.setState({}))}],Z.__c=ea,!ea.__f)){var le=function(Je,st,Ft){if(!Z.__c.__H)return!0;var Yt=Z.__c.__H.__.filter(function(Qa){return!!Qa.__c});if(Yt.every(function(Qa){return!Qa.__N}))return!ye||ye.call(this,Je,st,Ft);var Me=Z.__c.props!==Je;return Yt.forEach(function(Qa){if(Qa.__N){var nr=Qa.__[0];Qa.__=Qa.__N,Qa.__N=void 0,nr!==Qa.__[0]&&(Me=!0)}}),ye&&ye.call(this,Je,st,Ft)||Me};ea.__f=!0;var ye=ea.shouldComponentUpdate,Ie=ea.componentWillUpdate;ea.componentWillUpdate=function(Je,st,Ft){if(this.__e){var Yt=ye;ye=void 0,le(Je,st,Ft),ye=Yt}Ie&&Ie.call(this,Je,st,Ft)},ea.shouldComponentUpdate=le}return Z.__N||Z.__}function br(){for(var H;H=Ta.shift();)if(H.__P&&H.__H)try{H.__H.__h.forEach(us),H.__H.__h.forEach(ds),H.__H.__h=[]}catch(x){H.__H.__h=[],ta.__e(x,H.__v)}}ta.__b=function(H){ea=null,Ua&&Ua(H)},ta.__=function(H,x){H&&x.__k&&x.__k.__m&&(H.__m=x.__k.__m),Qr&&Qr(H,x)},ta.__r=function(H){kr&&kr(H),ua=0;var x=(ea=H.__c).__H;x&&(Ea===ea?(x.__h=[],ea.__h=[],x.__.forEach(function(U){U.__N&&(U.__=U.__N),U.u=U.__N=void 0})):(x.__h.forEach(us),x.__h.forEach(ds),x.__h=[],ua=0)),Ea=ea},ta.diffed=function(H){lr&&lr(H);var x=H.__c;x&&x.__H&&(x.__H.__h.length&&(Ta.push(x)!==1&&Da===ta.requestAnimationFrame||((Da=ta.requestAnimationFrame)||function(U){var Z,le=function(){clearTimeout(ye),Ai&&cancelAnimationFrame(Z),setTimeout(U)},ye=setTimeout(le,35);Ai&&(Z=requestAnimationFrame(le))})(br)),x.__H.__.forEach(function(U){U.u&&(U.__H=U.u),U.u=void 0})),Ea=ea=null},ta.__c=function(H,x){x.some(function(U){try{U.__h.forEach(us),U.__h=U.__h.filter(function(Z){return!Z.__||ds(Z)})}catch(Z){x.some(function(le){le.__h&&(le.__h=[])}),x=[],ta.__e(Z,U.__v)}}),nn&&nn(H,x)},ta.unmount=function(H){Lr&&Lr(H);var x,U=H.__c;U&&U.__H&&(U.__H.__.forEach(function(Z){try{us(Z)}catch(le){x=le}}),U.__H=void 0,x&&ta.__e(x,U.__v))};var Ai=typeof requestAnimationFrame=="function";function us(H){var x=ea,U=H.__c;typeof U=="function"&&(H.__c=void 0,U()),ea=x}function ds(H){var x=ea;H.__c=H.__(),ea=x}function Na(H,x){return typeof x=="function"?x(H):x}class hs{constructor(){this.items=new Map,this.nextItemKey=0,this.root=null,this.darkMode=vt()}attach(x){this.root=document.createElement("div"),this.root.className="-cbwsdk-snackbar-root",x.appendChild(this.root),this.render()}presentItem(x){let U=this.nextItemKey++;return this.items.set(U,x),this.render(),()=>{this.items.delete(U),this.render()}}clear(){this.items.clear(),this.render()}render(){this.root&&rt(Ca("div",null,Ca(ps,{darkMode:this.darkMode},Array.from(this.items.entries()).map(([x,U])=>Ca(hr,Object.assign({},U,{key:x}))))),this.root)}}let ps=H=>Ca("div",{class:(0,cn.$)("-cbwsdk-snackbar-container")},Ca("style",null,".-cbwsdk-css-reset .-gear-container{margin-left:16px !important;margin-right:9px !important;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:opacity .25s}.-cbwsdk-css-reset .-gear-container *{user-select:none}.-cbwsdk-css-reset .-gear-container svg{opacity:0;position:absolute}.-cbwsdk-css-reset .-gear-icon{height:12px;width:12px;z-index:10000}.-cbwsdk-css-reset .-cbwsdk-snackbar{align-items:flex-end;display:flex;flex-direction:column;position:fixed;right:0;top:0;z-index:2147483647}.-cbwsdk-css-reset .-cbwsdk-snackbar *{user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance{display:flex;flex-direction:column;margin:8px 16px 0 16px;overflow:visible;text-align:left;transform:translateX(0);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header:hover .-gear-container svg{opacity:1}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header{display:flex;align-items:center;background:#fff;overflow:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-cblogo{margin:8px 8px 8px 8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-message{color:#000;font-size:13px;line-height:1.5;user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu{background:#fff;transition:opacity .25s ease-in-out,transform .25s linear,visibility 0s;visibility:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;opacity:0;flex-direction:column;padding-left:8px;padding-right:8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:last-child{margin-bottom:8px !important}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover{background:#f5f7f8;border-radius:6px;transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover span{color:#050f19;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover svg path{fill:#000;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item{visibility:inherit;height:35px;margin-top:8px;margin-bottom:0;display:flex;flex-direction:row;align-items:center;padding:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item *{visibility:inherit;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover{background:rgba(223,95,103,.2);transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover svg path{fill:#df5f67;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover span{color:#df5f67;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-info{color:#aaa;font-size:13px;margin:0 8px 0 32px;position:absolute}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-hidden{opacity:0;text-align:left;transform:translateX(25%);transition:opacity .5s linear}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-expanded .-cbwsdk-snackbar-instance-menu{opacity:1;display:flex;transform:translateY(8px);visibility:visible}"),Ca("div",{class:"-cbwsdk-snackbar"},H.children)),hr=({autoExpand:H,message:x,menuItems:U})=>{var Z,le,ye,Ie;let[Je,st]=(ga=1,Ar(Na,!0)),[Ft,Yt]=(ga=1,Ar(Na,H!=null&&H));return Z=()=>{let Me=[window.setTimeout(()=>{st(!1)},1),window.setTimeout(()=>{Yt(!0)},1e4)];return()=>{Me.forEach(window.clearTimeout)}},le=xr(ua++,3),!ta.__s&&(ye=le.__H,Ie=void 0,!ye||ye.length!==Ie.length||Ie.some(function(Me,Qa){return Me!==ye[Qa]}))&&(le.__=Z,le.u=void 0,ea.__H.__h.push(le)),Ca("div",{class:(0,cn.$)("-cbwsdk-snackbar-instance",Je&&"-cbwsdk-snackbar-instance-hidden",Ft&&"-cbwsdk-snackbar-instance-expanded")},Ca("div",{class:"-cbwsdk-snackbar-instance-header",onClick:()=>{Yt(!Ft)}},Ca("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+",class:"-cbwsdk-snackbar-instance-header-cblogo"})," ",Ca("div",{class:"-cbwsdk-snackbar-instance-header-message"},x),Ca("div",{class:"-gear-container"},!Ft&&Ca("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ca("circle",{cx:"12",cy:"12",r:"12",fill:"#F5F7F8"})),Ca("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=",class:"-gear-icon",title:"Expand"}))),U&&U.length>0&&Ca("div",{class:"-cbwsdk-snackbar-instance-menu"},U.map((Me,Qa)=>Ca("div",{class:(0,cn.$)("-cbwsdk-snackbar-instance-menu-item",Me.isRed&&"-cbwsdk-snackbar-instance-menu-item-is-red"),onClick:Me.onClick,key:Qa},Ca("svg",{width:Me.svgWidth,height:Me.svgHeight,viewBox:"0 0 10 11",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ca("path",{"fill-rule":Me.defaultFillRule,"clip-rule":Me.defaultClipRule,d:Me.path,fill:"#AAAAAA"})),Ca("span",{class:(0,cn.$)("-cbwsdk-snackbar-instance-menu-item-info",Me.isRed&&"-cbwsdk-snackbar-instance-menu-item-info-is-red")},Me.info)))))},ri="M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z";class _r{constructor(){this.attached=!1,this.snackbar=new hs}attach(){if(this.attached)throw Error("Coinbase Wallet SDK UI is already attached");let x=document.documentElement,U=document.createElement("div");U.className="-cbwsdk-css-reset",x.appendChild(U),this.snackbar.attach(U),this.attached=!0,wa()}showConnecting(x){let U;return U=x.isUnlinkedErrorState?{autoExpand:!0,message:"Connection lost",menuItems:[{isRed:!1,info:"Reset connection",svgWidth:"10",svgHeight:"11",path:"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z",defaultFillRule:"evenodd",defaultClipRule:"evenodd",onClick:x.onResetConnection}]}:{message:"Confirm on phone",menuItems:[{isRed:!0,info:"Cancel transaction",svgWidth:"11",svgHeight:"11",path:"M10.3711 1.52346L9.21775 0.370117L5.37109 4.21022L1.52444 0.370117L0.371094 1.52346L4.2112 5.37012L0.371094 9.21677L1.52444 10.3701L5.37109 6.53001L9.21775 10.3701L10.3711 9.21677L6.53099 5.37012L10.3711 1.52346Z",defaultFillRule:"inherit",defaultClipRule:"inherit",onClick:x.onCancel},{isRed:!1,info:"Reset connection",svgWidth:"10",svgHeight:"11",path:ri,defaultFillRule:"evenodd",defaultClipRule:"evenodd",onClick:x.onResetConnection}]},this.snackbar.presentItem(U)}}class Zi{constructor(){this.root=null,this.darkMode=vt()}attach(){let x=document.documentElement;this.root=document.createElement("div"),this.root.className="-cbwsdk-css-reset",x.appendChild(this.root),wa()}present(x){this.render(x)}clear(){this.render(null)}render(x){!this.root||(rt(null,this.root),x&&rt(Ca(Ms,Object.assign({},x,{onDismiss:()=>{this.clear()},darkMode:this.darkMode})),this.root))}}let Ms=({title:H,buttonText:x,darkMode:U,onButtonClick:Z,onDismiss:le})=>Ca(ps,{darkMode:U},Ca("div",{class:"-cbwsdk-redirect-dialog"},Ca("style",null,".-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s;background-color:rgba(10,11,13,.5)}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);padding:20px;border-radius:8px;background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box p{display:block;font-weight:400;font-size:14px;line-height:20px;padding-bottom:12px;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box button{appearance:none;border:none;background:none;color:#0052ff;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark{background-color:#0a0b0d;color:#fff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark button{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light{background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light button{color:#0052ff}"),Ca("div",{class:"-cbwsdk-redirect-dialog-backdrop",onClick:le}),Ca("div",{class:(0,cn.$)("-cbwsdk-redirect-dialog-box",U?"dark":"light")},Ca("p",null,H),Ca("button",{onClick:Z},x)))),ms="https://www.walletlink.org";class _n{constructor(){this.attached=!1,this.redirectDialog=new Zi}attach(){if(this.attached)throw Error("Coinbase Wallet SDK UI is already attached");this.redirectDialog.attach(),this.attached=!0}redirectToCoinbaseWallet(x){let U=new URL("https://go.cb-w.com/walletlink");U.searchParams.append("redirect_url",function(){try{return function(){try{return window.frameElement!==null}catch{return!1}}()&&window.top?window.top.location:window.location}catch{return window.location}}().href),x&&U.searchParams.append("wl_url",x);let Z=document.createElement("a");Z.target="cbw-opener",Z.href=U.href,Z.rel="noreferrer noopener",Z.click()}openCoinbaseWalletDeeplink(x){this.redirectToCoinbaseWallet(x),setTimeout(()=>{this.redirectDialog.present({title:"Redirecting to Coinbase Wallet...",buttonText:"Open",onButtonClick:()=>{this.redirectToCoinbaseWallet(x)}})},99)}showConnecting(x){return()=>{this.redirectDialog.clear()}}}class bn{constructor(x){var U;this.chainCallbackParams={chainId:"",jsonRpcUrl:""},this.isMobileWeb=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test((U=window?.navigator)==null?void 0:U.userAgent),this.linkedUpdated=Ie=>{this.isLinked=Ie;let Je=this.storage.getItem(na);if(Ie&&(this._session.linked=Ie),this.isUnlinkedErrorState=!1,Je){let st=Je.split(" "),Ft=this.storage.getItem("IsStandaloneSigning")==="true";st[0]===""||Ie||!this._session.linked||Ft||(this.isUnlinkedErrorState=!0)}},this.metadataUpdated=(Ie,Je)=>{this.storage.setItem(Ie,Je)},this.chainUpdated=(Ie,Je)=>{(this.chainCallbackParams.chainId!==Ie||this.chainCallbackParams.jsonRpcUrl!==Je)&&(this.chainCallbackParams={chainId:Ie,jsonRpcUrl:Je},this.chainCallback&&this.chainCallback(Je,Number.parseInt(Ie,10)))},this.accountUpdated=Ie=>{this.accountsCallback&&this.accountsCallback([Ie]),bn.accountRequestCallbackIds.size>0&&(Array.from(bn.accountRequestCallbackIds.values()).forEach(Je=>{this.invokeCallback(Je,{method:"requestEthereumAccounts",result:[Ie]})}),bn.accountRequestCallbackIds.clear())},this.resetAndReload=this.resetAndReload.bind(this),this.linkAPIUrl=x.linkAPIUrl,this.storage=x.storage,this.metadata=x.metadata,this.accountsCallback=x.accountsCallback,this.chainCallback=x.chainCallback;let{session:Z,ui:le,connection:ye}=this.subscribe();this._session=Z,this.connection=ye,this.relayEventManager=new Te,this.ui=le,this.ui.attach()}subscribe(){let x=Ct.load(this.storage)||Ct.create(this.storage),{linkAPIUrl:U}=this,Z=new oe({session:x,linkAPIUrl:U,listener:this}),le=this.isMobileWeb?new _n:new _r;return Z.connect(),{session:x,ui:le,connection:Z}}resetAndReload(){this.connection.destroy().then(()=>{let x=Ct.load(this.storage);x?.id===this._session.id&&d.clearAll(),document.location.reload()}).catch(x=>{})}signEthereumTransaction(x){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:x.fromAddress,toAddress:x.toAddress,weiValue:xt(x.weiValue),data:Oe(x.data,!0),nonce:x.nonce,gasPriceInWei:x.gasPriceInWei?xt(x.gasPriceInWei):null,maxFeePerGas:x.gasPriceInWei?xt(x.gasPriceInWei):null,maxPriorityFeePerGas:x.gasPriceInWei?xt(x.gasPriceInWei):null,gasLimit:x.gasLimit?xt(x.gasLimit):null,chainId:x.chainId,shouldSubmit:!1}})}signAndSubmitEthereumTransaction(x){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:x.fromAddress,toAddress:x.toAddress,weiValue:xt(x.weiValue),data:Oe(x.data,!0),nonce:x.nonce,gasPriceInWei:x.gasPriceInWei?xt(x.gasPriceInWei):null,maxFeePerGas:x.maxFeePerGas?xt(x.maxFeePerGas):null,maxPriorityFeePerGas:x.maxPriorityFeePerGas?xt(x.maxPriorityFeePerGas):null,gasLimit:x.gasLimit?xt(x.gasLimit):null,chainId:x.chainId,shouldSubmit:!0}})}submitEthereumTransaction(x,U){return this.sendRequest({method:"submitEthereumTransaction",params:{signedTransaction:Oe(x,!0),chainId:U}})}getWalletLinkSession(){return this._session}sendRequest(x){let U=null,Z=Re(8),le=ye=>{this.publishWeb3RequestCanceledEvent(Z),this.handleErrorResponse(Z,x.method,ye),U?.()};return new Promise((ye,Ie)=>{U=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:le,onResetConnection:this.resetAndReload}),this.relayEventManager.callbacks.set(Z,Je=>{if(U?.(),Dt(Je))return Ie(Error(Je.errorMessage));ye(Je)}),this.publishWeb3RequestEvent(Z,x)})}publishWeb3RequestEvent(x,U){let Z={type:"WEB3_REQUEST",id:x,request:U};this.publishEvent("Web3Request",Z,!0).then(le=>{}).catch(le=>{this.handleWeb3ResponseMessage(Z.id,{method:U.method,errorMessage:le.message})}),this.isMobileWeb&&this.openCoinbaseWalletDeeplink(U.method)}openCoinbaseWalletDeeplink(x){if(this.ui instanceof _n)switch(x){case"requestEthereumAccounts":case"switchEthereumChain":return;default:window.addEventListener("blur",()=>{window.addEventListener("focus",()=>{this.connection.checkUnseenEvents()},{once:!0})},{once:!0}),this.ui.openCoinbaseWalletDeeplink()}}publishWeb3RequestCanceledEvent(x){this.publishEvent("Web3RequestCanceled",{type:"WEB3_REQUEST_CANCELED",id:x},!1).then()}publishEvent(x,U,Z){return this.connection.publishEvent(x,U,Z)}handleWeb3ResponseMessage(x,U){if(U.method==="requestEthereumAccounts"){bn.accountRequestCallbackIds.forEach(Z=>this.invokeCallback(Z,U)),bn.accountRequestCallbackIds.clear();return}this.invokeCallback(x,U)}handleErrorResponse(x,U,Z){var le;let ye=(le=Z?.message)!=null?le:"Unspecified error message.";this.handleWeb3ResponseMessage(x,{method:U,errorMessage:ye})}invokeCallback(x,U){let Z=this.relayEventManager.callbacks.get(x);Z&&(Z(U),this.relayEventManager.callbacks.delete(x))}requestEthereumAccounts(){let{appName:x,appLogoUrl:U}=this.metadata,Z={method:"requestEthereumAccounts",params:{appName:x,appLogoUrl:U}},le=Re(8);return new Promise((ye,Ie)=>{this.relayEventManager.callbacks.set(le,Je=>{if(Dt(Je))return Ie(Error(Je.errorMessage));ye(Je)}),bn.accountRequestCallbackIds.add(le),this.publishWeb3RequestEvent(le,Z)})}watchAsset(x,U,Z,le,ye,Ie){let Je={method:"watchAsset",params:{type:x,options:{address:U,symbol:Z,decimals:le,image:ye},chainId:Ie}},st=null,Ft=Re(8),Yt=Me=>{this.publishWeb3RequestCanceledEvent(Ft),this.handleErrorResponse(Ft,Je.method,Me),st?.()};return st=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:Yt,onResetConnection:this.resetAndReload}),new Promise((Me,Qa)=>{this.relayEventManager.callbacks.set(Ft,nr=>{if(st?.(),Dt(nr))return Qa(Error(nr.errorMessage));Me(nr)}),this.publishWeb3RequestEvent(Ft,Je)})}addEthereumChain(x,U,Z,le,ye,Ie){let Je={method:"addEthereumChain",params:{chainId:x,rpcUrls:U,blockExplorerUrls:le,chainName:ye,iconUrls:Z,nativeCurrency:Ie}},st=null,Ft=Re(8),Yt=Me=>{this.publishWeb3RequestCanceledEvent(Ft),this.handleErrorResponse(Ft,Je.method,Me),st?.()};return st=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:Yt,onResetConnection:this.resetAndReload}),new Promise((Me,Qa)=>{this.relayEventManager.callbacks.set(Ft,nr=>{if(st?.(),Dt(nr))return Qa(Error(nr.errorMessage));Me(nr)}),this.publishWeb3RequestEvent(Ft,Je)})}switchEthereumChain(x,U){let Z={method:"switchEthereumChain",params:Object.assign({chainId:x},{address:U})},le=null,ye=Re(8),Ie=Je=>{this.publishWeb3RequestCanceledEvent(ye),this.handleErrorResponse(ye,Z.method,Je),le?.()};return le=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:Ie,onResetConnection:this.resetAndReload}),new Promise((Je,st)=>{this.relayEventManager.callbacks.set(ye,Ft=>(le?.(),Dt(Ft)&&Ft.errorCode?st(W({code:Ft.errorCode,message:"Unrecognized chain ID. Try adding the chain using addEthereumChain first."})):Dt(Ft)?st(Error(Ft.errorMessage)):void Je(Ft))),this.publishWeb3RequestEvent(ye,Z)})}}bn.accountRequestCallbackIds=new Set;let ei="DefaultChainId",Ii="DefaultJsonRpcUrl";class Ht{constructor(x){this._relay=null,this._addresses=[],this.metadata=x.metadata,this._storage=new d("walletlink",ms),this.callback=x.callback||null;let U=this._storage.getItem(na);if(U){let Z=U.split(" ");Z[0]!==""&&(this._addresses=Z.map(le=>L(le)))}this.initializeRelay()}getSession(){let{id:x,secret:U}=this.initializeRelay().getWalletLinkSession();return{id:x,secret:U}}async handshake(){await this._eth_requestAccounts()}get selectedAddress(){return this._addresses[0]||void 0}get jsonRpcUrl(){var x;return(x=this._storage.getItem(Ii))!=null?x:void 0}set jsonRpcUrl(x){this._storage.setItem(Ii,x)}updateProviderInfo(x,U){var Z;this.jsonRpcUrl=x;let le=this.getChainId();this._storage.setItem(ei,U.toString(10)),Ae(U)!==le&&((Z=this.callback)==null||Z.call(this,"chainChanged",bt(U)))}async watchAsset(x){let U=Array.isArray(x)?x[0]:x;if(!U.type)throw M("Type is required");if(U?.type!=="ERC20")throw M(`Asset of type '${U.type}' is not supported`);if(!U?.options)throw M("Options are required");if(!U?.options.address)throw M("Address is required");let Z=this.getChainId(),{address:le,symbol:ye,image:Ie,decimals:Je}=U.options,st=this.initializeRelay(),Ft=await st.watchAsset(U.type,le,ye,Je,Ie,Z?.toString());return!Dt(Ft)&&!!Ft.result}async addEthereumChain(x){var U,Z;let le=x[0];if(((U=le.rpcUrls)==null?void 0:U.length)===0)throw M("please pass in at least 1 rpcUrl");if(!le.chainName||le.chainName.trim()==="")throw M("chainName is a required field");if(!le.nativeCurrency)throw M("nativeCurrency is a required field");let ye=Number.parseInt(le.chainId,16);if(ye===this.getChainId())return!1;let Ie=this.initializeRelay(),{rpcUrls:Je=[],blockExplorerUrls:st=[],chainName:Ft,iconUrls:Yt=[],nativeCurrency:Me}=le,Qa=await Ie.addEthereumChain(ye.toString(),Je,Yt,st,Ft,Me);if(Dt(Qa))return!1;if(((Z=Qa.result)==null?void 0:Z.isApproved)===!0)return this.updateProviderInfo(Je[0],ye),null;throw Y("unable to add ethereum chain")}async switchEthereumChain(x){let U=Number.parseInt(x[0].chainId,16),Z=this.initializeRelay(),le=await Z.switchEthereumChain(U.toString(10),this.selectedAddress||void 0);if(Dt(le))throw le;let ye=le.result;return ye.isApproved&&ye.rpcUrl.length>0&&this.updateProviderInfo(ye.rpcUrl,U),null}async cleanup(){this.callback=null,this._relay&&this._relay.resetAndReload(),this._storage.clear()}_setAddresses(x,U){var Z;if(!Array.isArray(x))throw Error("addresses is not an array");let le=x.map(ye=>L(ye));JSON.stringify(le)!==JSON.stringify(this._addresses)&&(this._addresses=le,(Z=this.callback)==null||Z.call(this,"accountsChanged",le),this._storage.setItem(na,le.join(" ")))}async request(x){let U=x.params||[];switch(x.method){case"eth_accounts":return[...this._addresses];case"eth_coinbase":return this.selectedAddress||null;case"net_version":return this.getChainId().toString(10);case"eth_chainId":return bt(this.getChainId());case"eth_requestAccounts":return this._eth_requestAccounts();case"eth_ecRecover":case"personal_ecRecover":return this.ecRecover(x);case"personal_sign":return this.personalSign(x);case"eth_signTransaction":return this._eth_signTransaction(U);case"eth_sendRawTransaction":return this._eth_sendRawTransaction(U);case"eth_sendTransaction":return this._eth_sendTransaction(U);case"eth_signTypedData_v1":case"eth_signTypedData_v3":case"eth_signTypedData_v4":case"eth_signTypedData":return this.signTypedData(x);case"wallet_addEthereumChain":return this.addEthereumChain(U);case"wallet_switchEthereumChain":return this.switchEthereumChain(U);case"wallet_watchAsset":return this.watchAsset(U);default:if(!this.jsonRpcUrl)throw Y("No RPC URL set for chain");return V(x,this.jsonRpcUrl)}}_ensureKnownAddress(x){let U=L(x);if(!this._addresses.map(Z=>L(Z)).includes(U))throw Error("Unknown Ethereum address")}_prepareTransactionParams(x){let U=x.from?L(x.from):this.selectedAddress;if(!U)throw Error("Ethereum address is unavailable");this._ensureKnownAddress(U);let Z=x.to?L(x.to):null,le=x.value!=null?He(x.value):BigInt(0),ye=x.data?te(x.data):Buffer.alloc(0),Ie=x.nonce!=null?Ae(x.nonce):null,Je=x.gasPrice!=null?He(x.gasPrice):null,st=x.maxFeePerGas!=null?He(x.maxFeePerGas):null,Ft=x.maxPriorityFeePerGas!=null?He(x.maxPriorityFeePerGas):null;return{fromAddress:U,toAddress:Z,weiValue:le,data:ye,nonce:Ie,gasPriceInWei:Je,maxFeePerGas:st,maxPriorityFeePerGas:Ft,gasLimit:x.gas!=null?He(x.gas):null,chainId:x.chainId?Ae(x.chainId):this.getChainId()}}async ecRecover(x){let{method:U,params:Z}=x;if(!Array.isArray(Z))throw M();let le=this.initializeRelay(),ye=await le.sendRequest({method:"ethereumAddressFromSignedMessage",params:{message:Fe(Z[0]),signature:Fe(Z[1]),addPrefix:U==="personal_ecRecover"}});if(Dt(ye))throw ye;return ye.result}getChainId(){var x;return Number.parseInt((x=this._storage.getItem(ei))!=null?x:"1",10)}async _eth_requestAccounts(){var x,U;if(this._addresses.length>0)return(x=this.callback)==null||x.call(this,"connect",{chainId:bt(this.getChainId())}),this._addresses;let Z=this.initializeRelay(),le=await Z.requestEthereumAccounts();if(Dt(le))throw le;if(!le.result)throw Error("accounts received is empty");return this._setAddresses(le.result),(U=this.callback)==null||U.call(this,"connect",{chainId:bt(this.getChainId())}),this._addresses}async personalSign({params:x}){if(!Array.isArray(x))throw M();let U=x[1],Z=x[0];this._ensureKnownAddress(U);let le=this.initializeRelay(),ye=await le.sendRequest({method:"signEthereumMessage",params:{address:L(U),message:Fe(Z),addPrefix:!0,typedDataJson:null}});if(Dt(ye))throw ye;return ye.result}async _eth_signTransaction(x){let U=this._prepareTransactionParams(x[0]||{}),Z=this.initializeRelay(),le=await Z.signEthereumTransaction(U);if(Dt(le))throw le;return le.result}async _eth_sendRawTransaction(x){let U=te(x[0]),Z=this.initializeRelay(),le=await Z.submitEthereumTransaction(U,this.getChainId());if(Dt(le))throw le;return le.result}async _eth_sendTransaction(x){let U=this._prepareTransactionParams(x[0]||{}),Z=this.initializeRelay(),le=await Z.signAndSubmitEthereumTransaction(U);if(Dt(le))throw le;return le.result}async signTypedData(x){let{method:U,params:Z}=x;if(!Array.isArray(Z))throw M();let le=Z[+(U==="eth_signTypedData_v1")],ye=Z[+(U!=="eth_signTypedData_v1")];this._ensureKnownAddress(le);let Ie=this.initializeRelay(),Je=await Ie.sendRequest({method:"signEthereumMessage",params:{address:L(le),message:Oe({eth_signTypedData_v1:pt.hashForSignTypedDataLegacy,eth_signTypedData_v3:pt.hashForSignTypedData_v3,eth_signTypedData_v4:pt.hashForSignTypedData_v4,eth_signTypedData:pt.hashForSignTypedData_v4}[U]({data:function(st){if(typeof st=="string")return JSON.parse(st);if(typeof st=="object")return st;throw M(`Not a JSON string or an object: ${String(st)}`)}(ye)}),!0),typedDataJson:JSON.stringify(ye,null,2),addPrefix:!1}});if(Dt(Je))throw Je;return Je.result}initializeRelay(){return this._relay||(this._relay=new bn({linkAPIUrl:ms,storage:this._storage,metadata:this.metadata,accountsCallback:this._setAddresses.bind(this),chainCallback:this.updateProviderInfo.bind(this)})),this._relay}}let Mn="SignerType",fs=new d("CBWSDK","SignerConfigurator");async function Rs(H){let{communicator:x,metadata:U,handshakeRequest:Z,callback:le}=H;jn(x,U,le).catch(()=>{});let ye={id:crypto.randomUUID(),event:"selectSignerType",data:Object.assign(Object.assign({},H.preference),{handshakeRequest:Z})},{data:Ie}=await x.postRequestAndWaitForResponse(ye);return Ie}async function jn(H,x,U){await H.onMessage(({event:le})=>le==="WalletLinkSessionRequest");let Z=new Ht({metadata:x,callback:U});H.postMessage({event:"WalletLinkUpdate",data:{session:Z.getSession()}}),await Z.handshake(),H.postMessage({event:"WalletLinkUpdate",data:{connected:!0}})}let $r=`Coinbase Wallet SDK requires the Cross-Origin-Opener-Policy header to not be set to 'same-origin'. This is to ensure that the SDK can communicate with the Coinbase Smart Wallet app. - -Please see https://www.smartwallet.dev/guides/tips/popup-tips#cross-origin-opener-policy for more information.`,{checkCrossOriginOpenerPolicy:Ur,getCrossOriginOpenerPolicy:zn}={getCrossOriginOpenerPolicy:()=>l===void 0?"undefined":l,checkCrossOriginOpenerPolicy:async()=>{if("u"{(await this.waitForPopupLoaded()).postMessage(le,this.url.origin)},this.postRequestAndWaitForResponse=async le=>{let ye=this.onMessage(({requestId:Ie})=>Ie===le.id);return this.postMessage(le),await ye},this.onMessage=async le=>new Promise((ye,Ie)=>{let Je=st=>{if(st.origin!==this.url.origin)return;let Ft=st.data;le(Ft)&&(ye(Ft),window.removeEventListener("message",Je),this.listeners.delete(Je))};window.addEventListener("message",Je),this.listeners.set(Je,{reject:Ie})}),this.disconnect=()=>{var le;(le=this.popup)&&!le.closed&&le.close(),this.popup=null,this.listeners.forEach(({reject:ye},Ie)=>{ye(ae("Request rejected")),window.removeEventListener("message",Ie)}),this.listeners.clear()},this.waitForPopupLoaded=async()=>this.popup&&!this.popup.closed?(this.popup.focus(),this.popup):(this.popup=await function(le){let ye=(window.innerWidth-420)/2+window.screenX,Ie=(window.innerHeight-540)/2+window.screenY;function Je(){let Yt=`wallet_${crypto.randomUUID()}`,Me=window.open(le,Yt,`width=420, height=540, left=${ye}, top=${Ie}`);return Me?.focus(),Me||null}var st=le;for(let[Yt,Me]of Object.entries({sdkName:Ve,sdkVersion:"4.3.7",origin:window.location.origin,coop:zn()}))st.searchParams.append(Yt,Me.toString());let Ft=Je();if(!Ft){let Yt=function(){if(!Le){let Me=document.createElement("div");Me.className="-cbwsdk-css-reset",document.body.appendChild(Me),(Le=new hs).attach(Me)}return Le}();return new Promise((Me,Qa)=>{Yt.presentItem({autoExpand:!0,message:"Popup was blocked. Try again.",menuItems:[Object.assign(Object.assign({},yi),{onClick:()=>{(Ft=Je())?Me(Ft):Qa(Y("Popup window was blocked")),Yt.clear()}})]})})}return Promise.resolve(Ft)}(this.url),this.onMessage(({event:le})=>le==="PopupUnload").then(this.disconnect).catch(()=>{}),this.onMessage(({event:le})=>le==="PopupLoaded").then(le=>{this.postMessage({requestId:le.id,data:{version:"4.3.7",metadata:this.metadata,preference:this.preference,location:window.location.toString()}})}).then(()=>{if(!this.popup)throw Y();return this.popup})),this.url=new URL(x),this.metadata=U,this.preference=Z}}var da=i(7215);class Kr extends da{}var $n=function(H,x){var U={};for(var Z in H)Object.prototype.hasOwnProperty.call(H,Z)&&0>x.indexOf(Z)&&(U[Z]=H[Z]);if(H!=null&&typeof Object.getOwnPropertySymbols=="function")for(var le=0,Z=Object.getOwnPropertySymbols(H);lex.indexOf(Z[le])&&Object.prototype.propertyIsEnumerable.call(H,Z[le])&&(U[Z[le]]=H[Z[le]]);return U};class yn extends Kr{constructor(x){var{metadata:U}=x,Z=x.preference,{keysUrl:le}=Z,ye=$n(Z,["keysUrl"]);super(),this.signer=null,this.isCoinbaseWallet=!0,this.metadata=U,this.preference=ye,this.communicator=new Gt({url:le,metadata:U,preference:ye});let Ie=fs.getItem(Mn);Ie&&(this.signer=this.initSigner(Ie))}async request(x){try{if(function(U){if(!U||typeof U!="object"||Array.isArray(U))throw M({message:"Expected a single, non-array, object argument.",data:U});let{method:Z,params:le}=U;if(typeof Z!="string"||Z.length===0)throw M({message:"'args.method' must be a non-empty string.",data:U});if(le!==void 0&&!Array.isArray(le)&&(typeof le!="object"||le===null))throw M({message:"'args.params' must be an object or array if provided.",data:U});switch(Z){case"eth_sign":case"eth_signTypedData_v2":case"eth_subscribe":case"eth_unsubscribe":throw se()}}(x),!this.signer)switch(x.method){case"eth_requestAccounts":{let U=await this.requestSignerSelection(x),Z=this.initSigner(U);await Z.handshake(x),this.signer=Z,fs.setItem(Mn,U);break}case"wallet_sendCalls":{let U=this.initSigner("scw");await U.handshake({method:"handshake"});let Z=await U.request(x);return await U.cleanup(),Z}case"wallet_getCallsStatus":return V(x,"https://rpc.wallet.coinbase.com");case"net_version":return 1;case"eth_chainId":return bt(1);default:throw ue("Must call 'eth_requestAccounts' before other methods")}return await this.signer.request(x)}catch(U){let Z,le,{code:ye}=U;return ye===v&&this.disconnect(),Promise.reject((Z=function(Ie,{shouldIncludeStack:Je=!1}={}){var st,Ft;let Yt={};return Ie&&typeof Ie=="object"&&!Array.isArray(Ie)&&I(Ie,"code")&&Number.isInteger(st=Ie.code)&&(S[st.toString()]||(Ft=st)>=-32099&&Ft<=-32e3)?(Yt.code=Ie.code,Ie.message&&typeof Ie.message=="string"?(Yt.message=Ie.message,I(Ie,"data")&&(Yt.data=Ie.data)):(Yt.message=R(Yt.code),Yt.data={originalError:D(Ie)})):(Yt.code=p,Yt.message=O(Ie,"message")?Ie.message:B,Yt.data={originalError:D(Ie)}),Je&&(Yt.stack=O(Ie,"stack")?Ie.stack:void 0),Yt}(function(Ie){var Je;if(typeof Ie=="string")return{message:Ie,code:p};if(Dt(Ie)){let st=Ie.errorMessage,Ft=(Je=Ie.errorCode)!=null?Je:st.match(/(denied|rejected)/i)?y:void 0;return Object.assign(Object.assign({},Ie),{message:st,code:Ft,data:{method:Ie.method}})}return Ie}(U),{shouldIncludeStack:!0}),(le=new URL("https://docs.cloud.coinbase.com/wallet-sdk/docs/errors")).searchParams.set("version","4.3.7"),le.searchParams.set("code",Z.code.toString()),le.searchParams.set("message",Z.message),Object.assign(Object.assign({},Z),{docUrl:le.href})))}}async enable(){return console.warn('.enable() has been deprecated. Please use .request({ method: "eth_requestAccounts" }) instead.'),await this.request({method:"eth_requestAccounts"})}async disconnect(){var x;await((x=this.signer)==null?void 0:x.cleanup()),this.signer=null,d.clearAll(),this.emit("disconnect",J("User initiated disconnection"))}requestSignerSelection(x){return Rs({communicator:this.communicator,preference:this.preference,metadata:this.metadata,handshakeRequest:x,callback:this.emit.bind(this)})}initSigner(x){return function(U){let{signerType:Z,metadata:le,communicator:ye,callback:Ie}=U;switch(Z){case"scw":return new at({metadata:le,callback:Ie,communicator:ye});case"walletlink":return new Ht({metadata:le,callback:Ie})}}({signerType:x,metadata:this.metadata,communicator:this.communicator,callback:this.emit.bind(this)})}}function Sn(H){if(H){if(!["all","smartWalletOnly","eoaOnly"].includes(H.options))throw Error(`Invalid options: ${H.options}`);if(H.attribution&&H.attribution.auto!==void 0&&H.attribution.dataSuffix!==void 0)throw Error("Attribution cannot contain both auto and dataSuffix properties")}}class Ci{constructor(x){this.metadata={appName:x.appName||"Dapp",appLogoUrl:x.appLogoUrl||function(){let U=document.querySelector('link[sizes="192x192"]')||document.querySelector('link[sizes="180x180"]')||document.querySelector('link[rel="icon"]')||document.querySelector('link[rel="shortcut icon"]'),{protocol:Z,host:le}=document.location,ye=U?U.getAttribute("href"):null;return!ye||ye.startsWith("javascript:")||ye.startsWith("vbscript:")?`${Z}//${le}/favicon.ico`:ye.startsWith("http://")||ye.startsWith("https://")||ye.startsWith("data:")?ye:ye.startsWith("//")?Z+ye:`${Z}//${le}${ye}`}(),appChainIds:x.appChainIds||[]},this.storeLatestVersion(),Ur()}makeWeb3Provider(x={options:"all"}){var U;Sn(x);let Z={metadata:this.metadata,preference:x};return(U=me(Z))!=null?U:new yn(Z)}getCoinbaseWalletLogo(x,U=240){let Z;switch(x){case"standard":default:return Z=U,`data:image/svg+xml,%3Csvg width='${U}' height='${Z}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;case"circle":return Z=U,`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${U}' height='${Z}' viewBox='0 0 999.81 999.81'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052fe;%7D.cls-2%7Bfill:%23fefefe;%7D.cls-3%7Bfill:%230152fe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M655-115.9h56c.83,1.59,2.36.88,3.56,1a478,478,0,0,1,75.06,10.42C891.4-81.76,978.33-32.58,1049.19,44q116.7,126,131.94,297.61c.38,4.14-.34,8.53,1.78,12.45v59c-1.58.84-.91,2.35-1,3.56a482.05,482.05,0,0,1-10.38,74.05c-24,106.72-76.64,196.76-158.83,268.93s-178.18,112.82-287.2,122.6c-4.83.43-9.86-.25-14.51,1.77H654c-1-1.68-2.69-.91-4.06-1a496.89,496.89,0,0,1-105.9-18.59c-93.54-27.42-172.78-77.59-236.91-150.94Q199.34,590.1,184.87,426.58c-.47-5.19.25-10.56-1.77-15.59V355c1.68-1,.91-2.7,1-4.06a498.12,498.12,0,0,1,18.58-105.9c26-88.75,72.64-164.9,140.6-227.57q126-116.27,297.21-131.61C645.32-114.57,650.35-113.88,655-115.9Zm377.92,500c0-192.44-156.31-349.49-347.56-350.15-194.13-.68-350.94,155.13-352.29,347.42-1.37,194.55,155.51,352.1,348.56,352.47C876.15,734.23,1032.93,577.84,1032.93,384.11Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-2' d='M1032.93,384.11c0,193.73-156.78,350.12-351.29,349.74-193-.37-349.93-157.92-348.56-352.47C334.43,189.09,491.24,33.28,685.37,34,876.62,34.62,1032.94,191.67,1032.93,384.11ZM683,496.81q43.74,0,87.48,0c15.55,0,25.32-9.72,25.33-25.21q0-87.48,0-175c0-15.83-9.68-25.46-25.59-25.46H595.77c-15.88,0-25.57,9.64-25.58,25.46q0,87.23,0,174.45c0,16.18,9.59,25.7,25.84,25.71Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-3' d='M683,496.81H596c-16.25,0-25.84-9.53-25.84-25.71q0-87.23,0-174.45c0-15.82,9.7-25.46,25.58-25.46H770.22c15.91,0,25.59,9.63,25.59,25.46q0,87.47,0,175c0,15.49-9.78,25.2-25.33,25.21Q726.74,496.84,683,496.81Z' transform='translate(-183.1 115.9)'/%3E%3C/svg%3E`;case"text":return Z=(.1*U).toFixed(2),`data:image/svg+xml,%3Csvg width='${U}' height='${Z}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case"textWithLogo":return Z=(.25*U).toFixed(2),`data:image/svg+xml,%3Csvg width='${U}' height='${Z}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;case"textLight":return Z=(.1*U).toFixed(2),`data:image/svg+xml,%3Csvg width='${U}' height='${Z}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case"textWithLogoLight":return Z=(.25*U).toFixed(2),`data:image/svg+xml,%3Csvg width='${U}' height='${Z}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`}}storeLatestVersion(){new d("CBWSDK").setItem("VERSION","4.3.7")}}let Ei={options:"all"};function Oi(H){var x;new d("CBWSDK").setItem("VERSION","4.3.7"),Ur();let U={metadata:{appName:H.appName||"Dapp",appLogoUrl:H.appLogoUrl||"",appChainIds:H.appChainIds||[]},preference:Object.assign(Ei,(x=H.preference)!=null?x:{})};Sn(U.preference);let Z=null;return{getProvider:()=>{var le;let ye;return Z||(Z=(le=me(ye={metadata:U.metadata,preference:U.preference}))!=null?le:new yn(ye)),Z}}}let qi=Ci},152(s,r,i){let l;i.d(r,{secp256k1:()=>ma});var c,h,d=i(5314),f=i(2733),p=i(1374);let y=BigInt(0),v=BigInt(1);function k(oe){return oe instanceof Uint8Array||ArrayBuffer.isView(oe)&&oe.constructor.name==="Uint8Array"}function z(oe){if(!k(oe))throw Error("Uint8Array expected")}function S(oe,Te){if(typeof Te!="boolean")throw Error(oe+" boolean expected, got "+Te)}function B(oe){let Te=oe.toString(16);return 1&Te.length?"0"+Te:Te}function R(oe){if(typeof oe!="string")throw Error("hex string expected, got "+typeof oe);return oe===""?y:BigInt("0x"+oe)}let D=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",I=Array.from({length:256},(oe,Te)=>Te.toString(16).padStart(2,"0"));function O(oe){if(z(oe),D)return oe.toHex();let Te="";for(let Ge=0;Ge=48&&oe<=57?oe-48:oe>=65&&oe<=70?oe-55:oe>=97&&oe<=102?oe-87:void 0}function Y(oe){if(typeof oe!="string")throw Error("hex string expected, got "+typeof oe);if(D)return Uint8Array.fromHex(oe);let Te=oe.length,Ge=Te/2;if(Te%2)throw Error("hex string expected, got unpadded hex of length "+Te);let Ye=new Uint8Array(Ge);for(let Qe=0,Pt=0;Qetypeof oe=="bigint"&&y<=oe;function X(oe,Te,Ge){return Q(oe)&&Q(Te)&&Q(Ge)&&Te<=oe&&oe(v<new Uint8Array(oe),je={bigint:oe=>typeof oe=="bigint",function:oe=>typeof oe=="function",boolean:oe=>typeof oe=="boolean",string:oe=>typeof oe=="string",stringOrUint8Array:oe=>typeof oe=="string"||k(oe),isSafeInteger:oe=>Number.isSafeInteger(oe),array:oe=>Array.isArray(oe),field:(oe,Te)=>Te.Fp.isValid(oe),hash:oe=>typeof oe=="function"&&Number.isSafeInteger(oe.outputLen)};function qe(oe,Te,Ge={}){let Ye=(Qe,Pt,Zt)=>{let Ct=je[Pt];if(typeof Ct!="function")throw Error("invalid validator function");let vt=oe[Qe];if((!Zt||vt!==void 0)&&!Ct(vt,oe))throw Error("param "+String(Qe)+" is invalid. Expected "+Pt+", got "+vt)};for(let[Qe,Pt]of Object.entries(Te))Ye(Qe,Pt,!1);for(let[Qe,Pt]of Object.entries(Ge))Ye(Qe,Pt,!0);return oe}function Re(oe){let Te=new WeakMap;return(Ge,...Ye)=>{let Qe=Te.get(Ge);if(Qe!==void 0)return Qe;let Pt=oe(Ge,...Ye);return Te.set(Ge,Pt),Pt}}let Ke=BigInt(0),Se=BigInt(1),Oe=BigInt(2),Fe=BigInt(3),xt=BigInt(4),bt=BigInt(5),Lt=BigInt(8);function At(oe,Te){let Ge=oe%Te;return Ge>=Ke?Ge:Te+Ge}function St(oe,Te,Ge){let Ye=oe;for(;Te-- >Ke;)Ye*=Ye,Ye%=Ge;return Ye}function ha(oe,Te){if(oe===Ke)throw Error("invert: expected non-zero number");if(Te<=Ke)throw Error("invert: expected positive modulus, got "+Te);let Ge=At(oe,Te),Ye=Te,Qe=Ke,Pt=Se;for(;Ge!==Ke;){let Zt=Ye/Ge,Ct=Ye%Ge,vt=Qe-Pt*Zt;Ye=Ge,Ge=Ct,Qe=Pt,Pt=vt}if(Ye!==Se)throw Error("invert: does not exist");return At(Qe,Te)}function Aa(oe,Te){let Ge=(oe.ORDER+Se)/xt,Ye=oe.pow(Te,Ge);if(!oe.eql(oe.sqr(Ye),Te))throw Error("Cannot find square root");return Ye}function L(oe,Te){let Ge=(oe.ORDER-bt)/Lt,Ye=oe.mul(Te,Oe),Qe=oe.pow(Ye,Ge),Pt=oe.mul(Te,Qe),Zt=oe.mul(oe.mul(Pt,Oe),Qe),Ct=oe.mul(Pt,oe.sub(Zt,oe.ONE));if(!oe.eql(oe.sqr(Ct),Te))throw Error("Cannot find square root");return Ct}let te=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ae(oe,Te,Ge=!1){let Ye=Array(Te.length).fill(Ge?oe.ZERO:void 0),Qe=Te.reduce((Zt,Ct,vt)=>oe.is0(Ct)?Zt:(Ye[vt]=Zt,oe.mul(Zt,Ct)),oe.ONE),Pt=oe.inv(Qe);return Te.reduceRight((Zt,Ct,vt)=>oe.is0(Ct)?Zt:(Ye[vt]=oe.mul(Zt,Ye[vt]),oe.mul(Zt,Ct)),Pt),Ye}function He(oe,Te){let Ge=(oe.ORDER-Se)/Oe,Ye=oe.pow(Te,Ge),Qe=oe.eql(Ye,oe.ONE),Pt=oe.eql(Ye,oe.ZERO),Zt=oe.eql(Ye,oe.neg(oe.ONE));if(!Qe&&!Pt&&!Zt)throw Error("invalid Legendre symbol result");return Qe?1:Pt?0:-1}function ct(oe,Te){Te!==void 0&&(0,p.Fe)(Te);let Ge=Te!==void 0?Te:oe.toString(2).length,Ye=Math.ceil(Ge/8);return{nBitLength:Ge,nByteLength:Ye}}function It(oe,Te,Ge=!1,Ye={}){let Qe;if(oe<=Ke)throw Error("invalid field: expected ORDER > 0, got "+oe);let{nBitLength:Pt,nByteLength:Zt}=ct(oe,Te);if(Zt>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let Ct=Object.freeze({ORDER:oe,isLE:Ge,BITS:Pt,BYTES:Zt,MASK:be(Pt),ZERO:Ke,ONE:Se,create:vt=>At(vt,oe),isValid:vt=>{if(typeof vt!="bigint")throw Error("invalid field element: expected bigint, got "+typeof vt);return Ke<=vt&&vtvt===Ke,isOdd:vt=>(vt&Se)===Se,neg:vt=>At(-vt,oe),eql:(vt,wa)=>vt===wa,sqr:vt=>At(vt*vt,oe),add:(vt,wa)=>At(vt+wa,oe),sub:(vt,wa)=>At(vt-wa,oe),mul:(vt,wa)=>At(vt*wa,oe),pow:(vt,wa)=>function(qa,Ya,wr){if(wrKe;)wr&Se&&(Xt=qa.mul(Xt,rr)),rr=qa.sqr(rr),wr>>=Se;return Xt}(Ct,vt,wa),div:(vt,wa)=>At(vt*ha(wa,oe),oe),sqrN:vt=>vt*vt,addN:(vt,wa)=>vt+wa,subN:(vt,wa)=>vt-wa,mulN:(vt,wa)=>vt*wa,inv:vt=>ha(vt,oe),sqrt:Ye.sqrt||(vt=>(Qe||(Qe=oe%xt===Fe?Aa:oe%Lt===bt?L:function(wa){if(wa1e3)throw Error("Cannot find square root: probably non-prime P");if(Ya===1)return Aa;let rr=Xt.pow(wr,qa),zr=(qa+Se)/Oe;return function($a,er){if($a.is0(er))return er;if(He($a,er)!==1)throw Error("Cannot find square root");let Jr=Ya,Fr=$a.mul($a.ONE,rr),Cr=$a.pow(er,qa),pn=$a.pow(er,zr);for(;!$a.eql(Cr,$a.ONE);){if($a.is0(Cr))return $a.ZERO;let Ga=1,cn=$a.sqr(Cr);for(;!$a.eql(cn,$a.ONE);)if(Ga++,cn=$a.sqr(cn),Ga===Jr)throw Error("Cannot find square root");let fa=Se<Ge?J(vt,Zt):se(vt,Zt),fromBytes:vt=>{if(vt.length!==Zt)throw Error("Field.fromBytes: expected "+Zt+" bytes, got "+vt.length);return Ge?ue(vt):ae(vt)},invertBatch:vt=>Ae(Ct,vt),cmov:(vt,wa,qa)=>qa?wa:vt});return Object.freeze(Ct)}function Jt(oe){if(typeof oe!="bigint")throw Error("field order must be bigint");return Math.ceil(oe.toString(2).length/8)}function Bt(oe){let Te=Jt(oe);return Te+Math.ceil(Te/2)}let sa=BigInt(0),Wa=BigInt(1);function La(oe,Te){let Ge=Te.negate();return oe?Ge:Te}function Qt(oe,Te){if(!Number.isSafeInteger(oe)||oe<=0||oe>Te)throw Error("invalid window size, expected [1.."+Te+"], got W="+oe)}function Ne(oe,Te){Qt(oe,Te);let Ge=Math.ceil(Te/oe)+1,Ye=2**(oe-1),Qe=2**oe;return{windows:Ge,windowSize:Ye,mask:be(oe),maxNumber:Qe,shiftBy:BigInt(oe)}}function jt(oe,Te,Ge){let{windowSize:Ye,mask:Qe,maxNumber:Pt,shiftBy:Zt}=Ge,Ct=Number(oe&Qe),vt=oe>>Zt;Ct>Ye&&(Ct-=Pt,vt+=Wa);let wa=Te*Ye,qa=wa+Math.abs(Ct)-1;return{nextN:vt,offset:qa,isZero:Ct===0,isNeg:Ct<0,isNegF:Te%2!=0,offsetF:wa}}let Ba=new WeakMap,Ia=new WeakMap;function Ha(oe){return Ia.get(oe)||1}function cr(oe){return qe(oe.Fp,te.reduce((Te,Ge)=>(Te[Ge]="function",Te),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),qe(oe,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ct(oe.n,oe.nBitLength),...oe,p:oe.Fp.ORDER})}function Ve(oe){oe.lowS!==void 0&&S("lowS",oe.lowS),oe.prehash!==void 0&&S("prehash",oe.prehash)}let V={Err:class extends Error{constructor(oe=""){super(oe)}},_tlv:{encode:(oe,Te)=>{let{Err:Ge}=V;if(oe<0||oe>256)throw new Ge("tlv.encode: wrong tag");if(1&Te.length)throw new Ge("tlv.encode: unpadded data");let Ye=Te.length/2,Qe=B(Ye);if(Qe.length/2&128)throw new Ge("tlv.encode: long form length too big");let Pt=Ye>127?B(Qe.length/2|128):"";return B(oe)+Pt+Qe+Te},decode(oe,Te){let{Err:Ge}=V,Ye=0;if(oe<0||oe>256)throw new Ge("tlv.encode: wrong tag");if(Te.length<2||Te[Ye++]!==oe)throw new Ge("tlv.decode: wrong tlv");let Qe=Te[Ye++],Pt=0;if(128&Qe){let Ct=127&Qe;if(!Ct)throw new Ge("tlv.decode(long): indefinite length not supported");if(Ct>4)throw new Ge("tlv.decode(long): byte length is too big");let vt=Te.subarray(Ye,Ye+Ct);if(vt.length!==Ct)throw new Ge("tlv.decode: length bytes not complete");if(vt[0]===0)throw new Ge("tlv.decode(long): zero leftmost byte");for(let wa of vt)Pt=Pt<<8|wa;if(Ye+=Ct,Pt<128)throw new Ge("tlv.decode(long): not minimal encoding")}else Pt=Qe;let Zt=Te.subarray(Ye,Ye+Pt);if(Zt.length!==Pt)throw new Ge("tlv.decode: wrong value length");return{v:Zt,l:Te.subarray(Ye+Pt)}}},_int:{encode(oe){let{Err:Te}=V;if(oe(oe+Te/Dt)/Te,Va=It(_e,void 0,void 0,{sqrt:function(oe){let Te=BigInt(3),Ge=BigInt(6),Ye=BigInt(11),Qe=BigInt(22),Pt=BigInt(23),Zt=BigInt(44),Ct=BigInt(88),vt=oe*oe*oe%_e,wa=vt*vt*oe%_e,qa=St(wa,Te,_e)*wa%_e,Ya=St(qa,Te,_e)*wa%_e,wr=St(Ya,Dt,_e)*vt%_e,Xt=St(wr,Ye,_e)*wr%_e,rr=St(Xt,Qe,_e)*Xt%_e,zr=St(rr,Zt,_e)*rr%_e,$a=St(zr,Ct,_e)*zr%_e,er=St($a,Zt,_e)*rr%_e,Jr=St(er,Te,_e)*wa%_e,Fr=St(Jr,Pt,_e)*Xt%_e,Cr=St(Fr,Ge,_e)*vt%_e,pn=St(Cr,Dt,_e);if(!Va.eql(Va.sqr(pn),oe))throw Error("Cannot find square root");return pn}}),ma=(c={a:pt,b:BigInt(7),Fp:Va,n:at,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:oe=>{let Te=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),Ge=-na*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),Ye=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),Qe=BigInt("0x100000000000000000000000000000000"),Pt=Sa(Te*oe,at),Zt=Sa(-Ge*oe,at),Ct=At(oe-Pt*Te-Zt*Ye,at),vt=At(-Pt*Ge-Zt*Te,at),wa=Ct>Qe,qa=vt>Qe;if(wa&&(Ct=at-Ct),qa&&(vt=at-vt),Ct>Qe||vt>Qe)throw Error("splitScalar: Endomorphism failed, k="+oe);return{k1neg:wa,k1:Ct,k2neg:qa,k2:vt}}}},h=d.sc,{...(l=oe=>function(Te){let Ge,Ye=(qe(Ge=cr(Te),{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...Ge})),{Fp:Qe,n:Pt,nByteLength:Zt,nBitLength:Ct}=Ye,vt=Qe.BYTES+1,wa=2*Qe.BYTES+1;function qa(fa){return At(fa,Pt)}let{ProjectivePoint:Ya,normPrivateKeyToScalar:wr,weierstrassEquation:Xt,isWithinCurveOrder:rr}=function(fa){var oa;let Ut=function(ia){let Xe=cr(ia);qe(Xe,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:Tt,Fp:rt,a:ua}=Xe;if(Tt){if(!rt.eql(ua,rt.ZERO))throw Error("invalid endo: CURVE.a must be 0");if(typeof Tt!="object"||typeof Tt.beta!="bigint"||typeof Tt.splitScalar!="function")throw Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...Xe})}(fa),{Fp:Ce}=Ut,or=It(Ut.n,Ut.nBitLength),dr=Ut.toBytes||((ia,Xe,Tt)=>{let rt=Xe.toAffine();return G(Uint8Array.from([4]),Ce.toBytes(rt.x),Ce.toBytes(rt.y))}),Ca=Ut.fromBytes||(ia=>{let Xe=ia.subarray(1);return{x:Ce.fromBytes(Xe.subarray(0,Ce.BYTES)),y:Ce.fromBytes(Xe.subarray(Ce.BYTES,2*Ce.BYTES))}});function Ka(ia){let{a:Xe,b:Tt}=Ut,rt=Ce.sqr(ia),ua=Ce.mul(rt,ia);return Ce.add(Ce.add(ua,Ce.mul(ia,Xe)),Tt)}function Er(ia,Xe){let Tt=Ce.sqr(Xe),rt=Ka(ia);return Ce.eql(Tt,rt)}if(!Er(Ut.Gx,Ut.Gy))throw Error("bad curve params: generator point");let Zr=Ce.mul(Ce.pow(Ut.a,ke),Pe),Yr=Ce.mul(Ce.sqr(Ut.b),BigInt(27));if(Ce.is0(Ce.add(Zr,Yr)))throw Error("bad curve params: a or b");function gn(ia){let Xe,{allowedPrivateKeyLengths:Tt,nByteLength:rt,wrapPrivateKey:ua,n:ea}=Ut;if(Tt&&typeof ia!="bigint"){if(k(ia)&&(ia=O(ia)),typeof ia!="string"||!Tt.includes(ia.length))throw Error("invalid private key");ia=ia.padStart(2*rt,"0")}try{Xe=typeof ia=="bigint"?ia:ae(W("private key",ia,rt))}catch{throw Error("invalid private key, expected hex or "+rt+" bytes, got "+typeof ia)}return ua&&(Xe=At(Xe,ea)),ee("private key",Xe,fe,ea),Xe}function ya(ia){if(!(ia instanceof la))throw Error("ProjectivePoint expected")}let en=Re((ia,Xe)=>{let{px:Tt,py:rt,pz:ua}=ia;if(Ce.eql(ua,Ce.ONE))return{x:Tt,y:rt};let ea=ia.is0();Xe==null&&(Xe=ea?Ce.ONE:Ce.inv(ua));let Ea=Ce.mul(Tt,Xe),Da=Ce.mul(rt,Xe),ga=Ce.mul(ua,Xe);if(ea)return{x:Ce.ZERO,y:Ce.ZERO};if(!Ce.eql(ga,Ce.ONE))throw Error("invZ was invalid");return{x:Ea,y:Da}}),Un=Re(ia=>{if(ia.is0()){if(Ut.allowInfinityPoint&&!Ce.is0(ia.py))return;throw Error("bad point: ZERO")}let{x:Xe,y:Tt}=ia.toAffine();if(!Ce.isValid(Xe)||!Ce.isValid(Tt))throw Error("bad point: x or y not FE");if(!Er(Xe,Tt))throw Error("bad point: equation left != right");if(!ia.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});class la{constructor(Xe,Tt,rt){if(Xe==null||!Ce.isValid(Xe))throw Error("x required");if(Tt==null||!Ce.isValid(Tt)||Ce.is0(Tt))throw Error("y required");if(rt==null||!Ce.isValid(rt))throw Error("z required");this.px=Xe,this.py=Tt,this.pz=rt,Object.freeze(this)}static fromAffine(Xe){let{x:Tt,y:rt}=Xe||{};if(!Xe||!Ce.isValid(Tt)||!Ce.isValid(rt))throw Error("invalid affine point");if(Xe instanceof la)throw Error("projective point not allowed");let ua=ea=>Ce.eql(ea,Ce.ZERO);return ua(Tt)&&ua(rt)?la.ZERO:new la(Tt,rt,Ce.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(Xe){let Tt=Ae(Ce,Xe.map(rt=>rt.pz));return Xe.map((rt,ua)=>rt.toAffine(Tt[ua])).map(la.fromAffine)}static fromHex(Xe){let Tt=la.fromAffine(Ca(W("pointHex",Xe)));return Tt.assertValidity(),Tt}static fromPrivateKey(Xe){return la.BASE.multiply(gn(Xe))}static msm(Xe,Tt){return function(rt,ua,ea,Ea){if(!Array.isArray(ea))throw Error("array expected");if(ea.forEach((Qr,xr)=>{if(!(Qr instanceof rt))throw Error("invalid point at index "+xr)}),!Array.isArray(Ea))throw Error("array of scalars expected");Ea.forEach((Qr,xr)=>{if(!ua.isValid(Qr))throw Error("invalid scalar at index "+xr)});let Da=ea.length,ga=Ea.length;if(Da!==ga)throw Error("arrays of points and scalars must have equal length");let Ta=rt.ZERO,ta=function(Qr){let xr;for(xr=0;Qr>y;Qr>>=v,xr+=1);return xr}(BigInt(Da)),Ua=1;ta>12?Ua=ta-3:ta>4?Ua=ta-2:ta>0&&(Ua=2);let kr=be(Ua),lr=Array(Number(kr)+1).fill(Ta),nn=Math.floor((ua.BITS-1)/Ua)*Ua,Lr=Ta;for(let Qr=nn;Qr>=0;Qr-=Ua){lr.fill(Ta);for(let Ar=0;Ar>BigInt(Qr)&kr);lr[br]=lr[br].add(ea[Ar])}let xr=Ta;for(let Ar=lr.length-1,br=Ta;Ar>0;Ar--)br=br.add(lr[Ar]),xr=xr.add(br);if(Lr=Lr.add(xr),Qr!==0)for(let Ar=0;Arme||ga>me;)Ea&fe&&(Ta=Ta.add(Ua)),ga&fe&&(ta=ta.add(Ua)),Ua=Ua.double(),Ea>>=fe,ga>>=fe;return ea&&(Ta=Ta.negate()),Da&&(ta=ta.negate()),ta=new la(Ce.mul(ta.px,Tt.beta),ta.py,ta.pz),Ta.add(ta)}multiply(Xe){let Tt,rt,{endo:ua,n:ea}=Ut;if(ee("scalar",Xe,fe,ea),ua){let{k1neg:Ea,k1:Da,k2neg:ga,k2:Ta}=ua.splitScalar(Xe),{p:ta,f:Ua}=this.wNAF(Da),{p:kr,f:lr}=this.wNAF(Ta);ta=rn.constTimeNegate(Ea,ta),kr=rn.constTimeNegate(ga,kr),kr=new la(Ce.mul(kr.px,ua.beta),kr.py,kr.pz),Tt=ta.add(kr),rt=Ua.add(lr)}else{let{p:Ea,f:Da}=this.wNAF(Xe);Tt=Ea,rt=Da}return la.normalizeZ([Tt,rt])[0]}multiplyAndAddUnsafe(Xe,Tt,rt){let ua=la.BASE,ea=(Da,ga)=>ga!==me&&ga!==fe&&Da.equals(ua)?Da.multiply(ga):Da.multiplyUnsafe(ga),Ea=ea(this,Tt).add(ea(Xe,rt));return Ea.is0()?void 0:Ea}toAffine(Xe){return en(this,Xe)}isTorsionFree(){let{h:Xe,isTorsionFree:Tt}=Ut;if(Xe===fe)return!0;if(Tt)return Tt(la,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:Xe,clearCofactor:Tt}=Ut;return Xe===fe?this:Tt?Tt(la,this):this.multiplyUnsafe(Ut.h)}toRawBytes(Xe=!0){return S("isCompressed",Xe),this.assertValidity(),dr(la,this,Xe)}toHex(Xe=!0){return S("isCompressed",Xe),O(this.toRawBytes(Xe))}}la.BASE=new la(Ut.Gx,Ut.Gy,Ce.ONE),la.ZERO=new la(Ce.ZERO,Ce.ONE,Ce.ZERO);let{endo:Wr,nBitLength:ur}=Ut,rn=(oa=Wr?Math.ceil(ur/2):ur,{constTimeNegate:La,hasPrecomputes:ia=>Ha(ia)!==1,unsafeLadder(ia,Xe,Tt=la.ZERO){let rt=ia;for(;Xe>sa;)Xe&Wa&&(Tt=Tt.add(rt)),rt=rt.double(),Xe>>=Wa;return Tt},precomputeWindow(ia,Xe){let{windows:Tt,windowSize:rt}=Ne(Xe,oa),ua=[],ea=ia,Ea=ea;for(let Da=0;Daae(fa.slice(oa,Ut));class $a{constructor(oa,Ut,Ce){ee("r",oa,fe,Pt),ee("s",Ut,fe,Pt),this.r=oa,this.s=Ut,Ce!=null&&(this.recovery=Ce),Object.freeze(this)}static fromCompact(oa){return new $a(zr(oa=W("compactSignature",oa,2*Zt),0,Zt),zr(oa,Zt,2*Zt))}static fromDER(oa){let{r:Ut,s:Ce}=V.toSig(W("DER",oa));return new $a(Ut,Ce)}assertValidity(){}addRecoveryBit(oa){return new $a(this.r,this.s,oa)}recoverPublicKey(oa){let{r:Ut,s:Ce,recovery:or}=this,dr=Fr(W("msgHash",oa));if(or==null||![0,1,2,3].includes(or))throw Error("recovery id invalid");let Ca=or===2||or===3?Ut+Ye.n:Ut;if(Ca>=Qe.ORDER)throw Error("recovery id 2 or 3 invalid");let Ka=1&or?"03":"02",Er=Ya.fromHex(Ka+O(se(Ca,Qe.BYTES))),Zr=ha(Ca,Pt),Yr=qa(-dr*Zr),gn=qa(Ce*Zr),ya=Ya.BASE.multiplyAndAddUnsafe(Er,Yr,gn);if(!ya)throw Error("point at infinify");return ya.assertValidity(),ya}hasHighS(){return this.s>Pt>>fe}normalizeS(){return this.hasHighS()?new $a(this.r,qa(-this.s),this.recovery):this}toDERRawBytes(){return Y(this.toDERHex())}toDERHex(){return V.hexFromSig(this)}toCompactRawBytes(){return Y(this.toCompactHex())}toCompactHex(){return O(se(this.r,Zt))+O(se(this.s,Zt))}}function er(fa){if(typeof fa=="bigint")return!1;if(fa instanceof Ya)return!0;let oa=W("key",fa).length,Ut=Qe.BYTES,Ce=Ut+1;if(!Ye.allowedPrivateKeyLengths&&Zt!==Ce)return oa===Ce||oa===2*Ut+1}let Jr=Ye.bits2int||function(fa){if(fa.length>8192)throw Error("input is too large");let oa=ae(fa),Ut=8*fa.length-Ct;return Ut>0?oa>>BigInt(Ut):oa},Fr=Ye.bits2int_modN||function(fa){return qa(Jr(fa))},Cr=be(Ct);function pn(fa){return ee("num < 2^"+Ct,fa,me,Cr),se(fa,Zt)}let Ga={lowS:Ye.lowS,prehash:!1},cn={lowS:Ye.lowS,prehash:!1};return Ya.BASE._setWindowSize(8),{CURVE:Ye,getPublicKey:function(fa,oa=!0){return Ya.fromPrivateKey(fa).toRawBytes(oa)},getSharedSecret:function(fa,oa,Ut=!0){if(er(fa)===!0)throw Error("first arg must be private key");if(er(oa)===!1)throw Error("second arg must be public key");return Ya.fromHex(oa).multiply(wr(fa)).toRawBytes(Ut)},sign:function(fa,oa,Ut=Ga){let{seed:Ce,k2sig:or}=function(dr,Ca,Ka=Ga){if(["recovered","canonical"].some(Wr=>Wr in Ka))throw Error("sign() legacy options not supported");let{hash:Er,randomBytes:Zr}=Ye,{lowS:Yr,prehash:gn,extraEntropy:ya}=Ka;Yr==null&&(Yr=!0),dr=W("msgHash",dr),Ve(Ka),gn&&(dr=W("prehashed msgHash",Er(dr)));let en=Fr(dr),Un=wr(Ca),la=[pn(Un),pn(en)];if(ya!=null&&ya!==!1){let Wr=ya===!0?Zr(Qe.BYTES):ya;la.push(W("extraEntropy",Wr))}return{seed:G(...la),k2sig:function(Wr){var ur;let rn=Jr(Wr);if(!rr(rn))return;let ia=ha(rn,Pt),Xe=Ya.BASE.multiply(rn).toAffine(),Tt=qa(Xe.x);if(Tt===me)return;let rt=qa(ia*qa(en+Tt*Un));if(rt===me)return;let ua=2*(Xe.x!==Tt)|Number(Xe.y&fe),ea=rt;return Yr&&rt>Pt>>fe&&(ea=(ur=rt)>Pt>>fe?qa(-ur):ur,ua^=1),new $a(Tt,ea,ua)}}}(fa,oa,Ut);return function(dr,Ca,Ka){if(typeof dr!="number"||dr<2)throw Error("hashLen must be a number");if(typeof Ca!="number"||Ca<2)throw Error("qByteLen must be a number");if(typeof Ka!="function")throw Error("hmacFn must be a function");let Er=ve(dr),Zr=ve(dr),Yr=0,gn=()=>{Er.fill(1),Zr.fill(0),Yr=0},ya=(...la)=>Ka(Zr,Er,...la),en=(la=ve(0))=>{let Wr;if(Zr=ya((Wr=[0],Uint8Array.from(Wr)),la),Er=ya(),la.length!==0){let ur;Zr=ya((ur=[1],Uint8Array.from(ur)),la),Er=ya()}},Un=()=>{if(Yr++>=1e3)throw Error("drbg: tried 1000 values");let la=0,Wr=[];for(;la{let ur;for(gn(),en(la);!(ur=Wr(Un()));)en();return gn(),ur}}(Ye.hash.outputLen,Ye.nByteLength,Ye.hmac)(Ce,or)},verify:function(fa,oa,Ut,Ce=cn){let or,dr;oa=W("msgHash",oa),Ut=W("publicKey",Ut);let{lowS:Ca,prehash:Ka,format:Er}=Ce;if(Ve(Ce),"strict"in Ce)throw Error("options.strict was renamed to lowS");if(Er!==void 0&&Er!=="compact"&&Er!=="der")throw Error("format must be compact or der");let Zr=typeof fa=="string"||k(fa),Yr=!Zr&&!Er&&typeof fa=="object"&&fa!==null&&typeof fa.r=="bigint"&&typeof fa.s=="bigint";if(!Zr&&!Yr)throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");try{if(Yr&&(dr=new $a(fa.r,fa.s)),Zr){try{Er!=="compact"&&(dr=$a.fromDER(fa))}catch(rn){if(!(rn instanceof V.Err))throw rn}dr||Er==="der"||(dr=$a.fromCompact(fa))}or=Ya.fromHex(Ut)}catch{return!1}if(!dr||Ca&&dr.hasHighS())return!1;Ka&&(oa=Ye.hash(oa));let{r:gn,s:ya}=dr,en=Fr(oa),Un=ha(ya,Pt),la=qa(en*Un),Wr=qa(gn*Un),ur=Ya.BASE.multiplyAndAddUnsafe(or,la,Wr)?.toAffine();return!!ur&&qa(ur.x)===gn},ProjectivePoint:Ya,Signature:$a,utils:{isValidPrivateKey(fa){try{return wr(fa),!0}catch{return!1}},normPrivateKeyToScalar:wr,randomPrivateKey:()=>{let fa=Bt(Ye.n);return function(oa,Ut,Ce=!1){let or=oa.length,dr=Jt(Ut),Ca=Bt(Ut);if(or<16||or1024)throw Error("expected "+Ca+"-1024 bytes of input, got "+or);let Ka=At(Ce?ue(oa):ae(oa),Ut-Se)+Se;return Ce?J(Ka,dr):se(Ka,dr)}(Ye.randomBytes(fa),Ye.n)},precompute:(fa=8,oa=Ya.BASE)=>(oa._setWindowSize(fa),oa.multiply(BigInt(3)),oa)}}}({...c,hash:oe,hmac:(Te,...Ge)=>(0,f.w)(oe,Te,(0,p.Id)(...Ge)),randomBytes:p.po}))(h),create:l})},2320(s,r,i){i.d(r,{B4:()=>S,CQ:()=>Y,CW:()=>M,Ei:()=>k,F8:()=>ae,P5:()=>z,TH:()=>ue,Vl:()=>I,Vr:()=>O,WM:()=>B,WQ:()=>D,im:()=>R,jm:()=>f,lD:()=>h,qh:()=>v,rE:()=>p,ry:()=>y,xn:()=>d});let l=BigInt(4294967296-1),c=BigInt(32);function h(se,J=!1){let W=se.length,G=new Uint32Array(W),Q=new Uint32Array(W);for(let X=0;X>c&l)}:{h:0|Number(ve>>c&l),l:0|Number(ve&l)}}(se[X],J);[G[X],Q[X]]=[ee,be]}return[G,Q]}let d=(se,J,W)=>se>>>W,f=(se,J,W)=>se<<32-W|J>>>W,p=(se,J,W)=>se>>>W|J<<32-W,y=(se,J,W)=>se<<32-W|J>>>W,v=(se,J,W)=>se<<64-W|J>>>W-32,k=(se,J,W)=>se>>>W-32|J<<64-W,z=(se,J,W)=>se<>>32-W,S=(se,J,W)=>J<>>32-W,B=(se,J,W)=>J<>>64-W,R=(se,J,W)=>se<>>64-W;function D(se,J,W,G){let Q=(J>>>0)+(G>>>0);return{h:se+W+(Q/4294967296|0)|0,l:0|Q}}let I=(se,J,W)=>(se>>>0)+(J>>>0)+(W>>>0),O=(se,J,W,G)=>J+W+G+(se/4294967296|0)|0,M=(se,J,W,G)=>(se>>>0)+(J>>>0)+(W>>>0)+(G>>>0),Y=(se,J,W,G,Q)=>J+W+G+Q+(se/4294967296|0)|0,ae=(se,J,W,G,Q)=>(se>>>0)+(J>>>0)+(W>>>0)+(G>>>0)+(Q>>>0),ue=(se,J,W,G,Q,X)=>J+W+G+Q+X+(se/4294967296|0)|0},2733(s,r,i){i.d(r,{w:()=>h});var l=i(1374);class c extends l.Vw{constructor(f,p){super(),this.finished=!1,this.destroyed=!1,(0,l.sd)(f);let y=(0,l.ZJ)(p);if(this.iHash=f.create(),typeof this.iHash.update!="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let v=this.blockLen,k=new Uint8Array(v);k.set(y.length>v?f.create().update(y).digest():y);for(let z=0;znew c(d,f).update(p).digest();h.create=(d,f)=>new c(d,f)},5314(s,r,i){i.d(r,{sc:()=>M,qt:()=>ae,Zf:()=>Y});var l=i(1374);class c extends l.Vw{constructor(se,J,W,G){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=se,this.outputLen=J,this.padOffset=W,this.isLE=G,this.buffer=new Uint8Array(se),this.view=(0,l.O8)(this.buffer)}update(se){(0,l.CC)(this),se=(0,l.ZJ)(se),(0,l.DO)(se);let{view:J,buffer:W,blockLen:G}=this,Q=se.length;for(let X=0;XG-X&&(this.process(W,0),X=0);for(let qe=X;qe>Oe&Fe),bt=Number(Ke&Fe),Lt=4*!!Se,At=4*!Se;qe.setUint32(Re+Lt,xt,Se),qe.setUint32(Re+At,bt,Se)})(W,G-8,BigInt(8*this.length),Q),this.process(W,0);let ee=(0,l.O8)(se),be=this.outputLen;if(be%4)throw Error("_sha2: outputLen should be aligned to 32bit");let ve=be/4,je=this.get();if(ve>je.length)throw Error("_sha2: outputLen bigger than state");for(let qe=0;qe>>3,Lt=(0,l.Ow)(xt,17)^(0,l.Ow)(xt,19)^xt>>>10;v[Oe]=Lt+v[Oe-7]+bt+v[Oe-16]|0}let{A:W,B:G,C:Q,D:X,E:ee,F:be,G:ve,H:je}=this;for(let Oe=0;Oe<64;Oe++){var qe,Re,Ke,Se;let Fe=je+((0,l.Ow)(ee,6)^(0,l.Ow)(ee,11)^(0,l.Ow)(ee,25))+((qe=ee)&be^~qe&ve)+y[Oe]+v[Oe]|0,xt=((0,l.Ow)(W,2)^(0,l.Ow)(W,13)^(0,l.Ow)(W,22))+((Re=W)&(Ke=G)^Re&(Se=Q)^Ke&Se)|0;je=ve,ve=be,be=ee,ee=X+Fe|0,X=Q,Q=G,G=W,W=Fe+xt|0}W=W+this.A|0,G=G+this.B|0,Q=Q+this.C|0,X=X+this.D|0,ee=ee+this.E|0,be=be+this.F|0,ve=ve+this.G|0,je=je+this.H|0,this.set(W,G,Q,X,ee,be,ve,je)}roundClean(){(0,l.uH)(v)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,l.uH)(this.buffer)}}let z=p.lD(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(ue=>BigInt(ue))),S=z[0],B=z[1],R=new Uint32Array(80),D=new Uint32Array(80);class I extends c{constructor(se=64){super(128,se,16,!1),this.Ah=0|f[0],this.Al=0|f[1],this.Bh=0|f[2],this.Bl=0|f[3],this.Ch=0|f[4],this.Cl=0|f[5],this.Dh=0|f[6],this.Dl=0|f[7],this.Eh=0|f[8],this.El=0|f[9],this.Fh=0|f[10],this.Fl=0|f[11],this.Gh=0|f[12],this.Gl=0|f[13],this.Hh=0|f[14],this.Hl=0|f[15]}get(){let{Ah:se,Al:J,Bh:W,Bl:G,Ch:Q,Cl:X,Dh:ee,Dl:be,Eh:ve,El:je,Fh:qe,Fl:Re,Gh:Ke,Gl:Se,Hh:Oe,Hl:Fe}=this;return[se,J,W,G,Q,X,ee,be,ve,je,qe,Re,Ke,Se,Oe,Fe]}set(se,J,W,G,Q,X,ee,be,ve,je,qe,Re,Ke,Se,Oe,Fe){this.Ah=0|se,this.Al=0|J,this.Bh=0|W,this.Bl=0|G,this.Ch=0|Q,this.Cl=0|X,this.Dh=0|ee,this.Dl=0|be,this.Eh=0|ve,this.El=0|je,this.Fh=0|qe,this.Fl=0|Re,this.Gh=0|Ke,this.Gl=0|Se,this.Hh=0|Oe,this.Hl=0|Fe}process(se,J){for(let Lt=0;Lt<16;Lt++,J+=4)R[Lt]=se.getUint32(J),D[Lt]=se.getUint32(J+=4);for(let Lt=16;Lt<80;Lt++){let At=0|R[Lt-15],St=0|D[Lt-15],ha=p.rE(At,St,1)^p.rE(At,St,8)^p.xn(At,St,7),Aa=p.ry(At,St,1)^p.ry(At,St,8)^p.jm(At,St,7),L=0|R[Lt-2],te=0|D[Lt-2],Ae=p.rE(L,te,19)^p.qh(L,te,61)^p.xn(L,te,6),He=p.ry(L,te,19)^p.Ei(L,te,61)^p.jm(L,te,6),ct=p.CW(Aa,He,D[Lt-7],D[Lt-16]),It=p.CQ(ct,ha,Ae,R[Lt-7],R[Lt-16]);R[Lt]=0|It,D[Lt]=0|ct}let{Ah:W,Al:G,Bh:Q,Bl:X,Ch:ee,Cl:be,Dh:ve,Dl:je,Eh:qe,El:Re,Fh:Ke,Fl:Se,Gh:Oe,Gl:Fe,Hh:xt,Hl:bt}=this;for(let Lt=0;Lt<80;Lt++){let At=p.rE(qe,Re,14)^p.rE(qe,Re,18)^p.qh(qe,Re,41),St=p.ry(qe,Re,14)^p.ry(qe,Re,18)^p.Ei(qe,Re,41),ha=qe&Ke^~qe&Oe,Aa=Re&Se^~Re&Fe,L=p.F8(bt,St,Aa,B[Lt],D[Lt]),te=p.TH(L,xt,At,ha,S[Lt],R[Lt]),Ae=0|L,He=p.rE(W,G,28)^p.qh(W,G,34)^p.qh(W,G,39),ct=p.ry(W,G,28)^p.Ei(W,G,34)^p.Ei(W,G,39),It=W&Q^W&ee^Q&ee,Jt=G&X^G&be^X&be;xt=0|Oe,bt=0|Fe,Oe=0|Ke,Fe=0|Se,Ke=0|qe,Se=0|Re,{h:qe,l:Re}=p.WQ(0|ve,0|je,0|te,0|Ae),ve=0|ee,je=0|be,ee=0|Q,be=0|X,Q=0|W,X=0|G;let Bt=p.Vl(Ae,ct,Jt);W=p.Vr(Bt,te,He,It),G=0|Bt}({h:W,l:G}=p.WQ(0|this.Ah,0|this.Al,0|W,0|G)),{h:Q,l:X}=p.WQ(0|this.Bh,0|this.Bl,0|Q,0|X),{h:ee,l:be}=p.WQ(0|this.Ch,0|this.Cl,0|ee,0|be),{h:ve,l:je}=p.WQ(0|this.Dh,0|this.Dl,0|ve,0|je),{h:qe,l:Re}=p.WQ(0|this.Eh,0|this.El,0|qe,0|Re),{h:Ke,l:Se}=p.WQ(0|this.Fh,0|this.Fl,0|Ke,0|Se),{h:Oe,l:Fe}=p.WQ(0|this.Gh,0|this.Gl,0|Oe,0|Fe),{h:xt,l:bt}=p.WQ(0|this.Hh,0|this.Hl,0|xt,0|bt),this.set(W,G,Q,X,ee,be,ve,je,qe,Re,Ke,Se,Oe,Fe,xt,bt)}roundClean(){(0,l.uH)(R,D)}destroy(){(0,l.uH)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class O extends I{constructor(){super(48),this.Ah=0|d[0],this.Al=0|d[1],this.Bh=0|d[2],this.Bl=0|d[3],this.Ch=0|d[4],this.Cl=0|d[5],this.Dh=0|d[6],this.Dl=0|d[7],this.Eh=0|d[8],this.El=0|d[9],this.Fh=0|d[10],this.Fl=0|d[11],this.Gh=0|d[12],this.Gl=0|d[13],this.Hh=0|d[14],this.Hl=0|d[15]}}let M=(0,l.qj)(()=>new k),Y=(0,l.qj)(()=>new I),ae=(0,l.qj)(()=>new O)},5013(s,r,i){i.d(r,{sc:()=>l});let l=i(5314).sc},2645(s,r,i){i.d(r,{lY:()=>Y});var l=i(2320),c=i(1374);let h=BigInt(0),d=BigInt(1),f=BigInt(2),p=BigInt(7),y=BigInt(256),v=BigInt(113),k=[],z=[],S=[];for(let ae=0,ue=d,se=1,J=0;ae<24;ae++){[se,J]=[J,(2*se+3*J)%5],k.push(2*(5*J+se)),z.push((ae+1)*(ae+2)/2%64);let W=h;for(let G=0;G<7;G++)(ue=(ue<>p)*v)%y)&f&&(W^=d<<(d<se>32?(0,l.WM)(ae,ue,se):(0,l.P5)(ae,ue,se),O=(ae,ue,se)=>se>32?(0,l.im)(ae,ue,se):(0,l.B4)(ae,ue,se);class M extends c.Vw{constructor(ue,se,J,W=!1,G=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=ue,this.suffix=se,this.outputLen=J,this.enableXOF=W,this.rounds=G,(0,c.Fe)(J),!(0=J&&this.keccak();let Q=Math.min(J-this.posOut,G-W);ue.set(se.subarray(this.posOut,this.posOut+Q),W),this.posOut+=Q,W+=Q}return ue}xofInto(ue){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(ue)}xof(ue){return(0,c.Fe)(ue),this.xofInto(new Uint8Array(ue))}digestInto(ue){if((0,c.Ht)(ue,this),this.finished)throw Error("digest() was already called");return this.writeInto(ue),this.destroy(),ue}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,c.uH)(this.state)}_cloneInto(ue){let{blockLen:se,suffix:J,outputLen:W,rounds:G,enableXOF:Q}=this;return ue||(ue=new M(se,J,W,Q,G)),ue.state32.set(this.state32),ue.pos=this.pos,ue.posOut=this.posOut,ue.finished=this.finished,ue.rounds=G,ue.suffix=J,ue.outputLen=W,ue.enableXOF=Q,ue.destroyed=this.destroyed,ue}}let Y=(0,c.qj)(()=>new M(136,1,32))},1374(s,r,i){i.d(r,{DH:()=>v,po:()=>J,sd:()=>f,Ht:()=>y,O8:()=>z,uH:()=>k,Vw:()=>ue,qj:()=>se,aT:()=>M,aY:()=>c,Ow:()=>S,DO:()=>d,My:()=>I,fd:()=>B,ZJ:()=>Y,Fe:()=>h,CC:()=>p,Id:()=>ae});let l=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function c(W){return W instanceof Uint8Array||ArrayBuffer.isView(W)&&W.constructor.name==="Uint8Array"}function h(W){if(!Number.isSafeInteger(W)||W<0)throw Error("positive integer expected, got "+W)}function d(W,...G){if(!c(W))throw Error("Uint8Array expected");if(G.length>0&&!G.includes(W.length))throw Error("Uint8Array expected of length "+G+", got length="+W.length)}function f(W){if(typeof W!="function"||typeof W.create!="function")throw Error("Hash should be wrapped by utils.createHasher");h(W.outputLen),h(W.blockLen)}function p(W,G=!0){if(W.destroyed)throw Error("Hash instance has been destroyed");if(G&&W.finished)throw Error("Hash#digest() has already been called")}function y(W,G){d(W);let Q=G.outputLen;if(W.length>>G}let B=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68?W=>W:function(W){for(let Q=0;Q>>8&65280|G>>>24&255}return W},R=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",D=Array.from({length:256},(W,G)=>G.toString(16).padStart(2,"0"));function I(W){if(d(W),R)return W.toHex();let G="";for(let Q=0;Q=48&&W<=57?W-48:W>=65&&W<=70?W-55:W>=97&&W<=102?W-87:void 0}function M(W){if(typeof W!="string")throw Error("hex string expected, got "+typeof W);if(R)return Uint8Array.fromHex(W);let G=W.length,Q=G/2;if(G%2)throw Error("hex string expected, got unpadded hex of length "+G);let X=new Uint8Array(Q);for(let ee=0,be=0;eeW().update(Y(X)).digest(),Q=W();return G.outputLen=Q.outputLen,G.blockLen=Q.blockLen,G.create=()=>W(),G}function J(W=32){if(l&&typeof l.getRandomValues=="function")return l.getRandomValues(new Uint8Array(W));if(l&&typeof l.randomBytes=="function")return Uint8Array.from(l.randomBytes(W));throw Error("crypto.getRandomValues must be defined")}},8755(s,r,i){i.r(r),i.d(r,{loadStripe:()=>R});var l,c="https://js.stripe.com/v3",h=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,d=function(){for(var D=document.querySelectorAll('script[src^="'.concat(c,'"]')),I=0;I element.");return M.appendChild(O),O},p=function(D,I){D&&D._registerWrapper&&D._registerWrapper({name:"stripe-js",version:"5.6.0",startTime:I})},y=null,v=null,k=null,z=function(D,I,O){if(D===null)return null;var M=D.apply(void 0,I);return p(M,O),M},S=!1,B=function(){return l||(l=(y!==null?y:(y=new Promise(function(D,I){if("u"Ke});var l=i(5092);let c=/^error (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)$/,h=/^event (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)$/,d=/^function (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)(?: (?external|public{1}))?(?: (?pure|view|nonpayable|payable{1}))?(?: returns\s?\((?.*?)\))?$/,f=/^struct (?[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?.*?)\}$/,p=/^constructor\((?.*?)\)(?:\s(?payable{1}))?$/,y=/^fallback\(\) external(?:\s(?payable{1}))?$/,v=/^receive\(\) external payable$/,k=new Set(["indexed"]),z=new Set(["calldata","memory","storage"]);class S extends Error{constructor(Oe,Fe={}){let xt=Fe.cause instanceof S?Fe.cause.details:Fe.cause?.message?Fe.cause.message:Fe.details,bt=Fe.cause instanceof S&&Fe.cause.docsPath||Fe.docsPath;super([Oe||"An error occurred.","",...Fe.metaMessages?[...Fe.metaMessages,""]:[],...bt?[`Docs: https://abitype.dev${bt}`]:[],...xt?[`Details: ${xt}`]:[],"Version: abitype@1.1.0"].join(` -`)),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),Fe.cause&&(this.cause=Fe.cause),this.details=xt,this.docsPath=bt,this.metaMessages=Fe.metaMessages,this.shortMessage=Oe}}class B extends S{constructor({type:Oe}){super("Unknown type.",{metaMessages:[`Type "${Oe}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}}class R extends S{constructor({type:Oe}){super("Unknown type.",{metaMessages:[`Type "${Oe}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}class D extends S{constructor({param:Oe}){super("Invalid ABI parameter.",{details:Oe}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class I extends S{constructor({param:Oe,name:Fe}){super("Invalid ABI parameter.",{details:Oe,metaMessages:[`"${Fe}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}}class O extends S{constructor({param:Oe,type:Fe,modifier:xt}){super("Invalid ABI parameter.",{details:Oe,metaMessages:[`Modifier "${xt}" not allowed${Fe?` in "${Fe}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class M extends S{constructor({param:Oe,type:Fe,modifier:xt}){super("Invalid ABI parameter.",{details:Oe,metaMessages:[`Modifier "${xt}" not allowed${Fe?` in "${Fe}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${xt}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class Y extends S{constructor({abiParameter:Oe}){super("Invalid ABI parameter.",{details:JSON.stringify(Oe,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class ae extends S{constructor({signature:Oe,type:Fe}){super(`Invalid ${Fe} signature.`,{details:Oe}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class ue extends S{constructor({signature:Oe}){super("Unknown signature.",{details:Oe}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class se extends S{constructor({signature:Oe}){super("Invalid struct signature.",{details:Oe,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class J extends S{constructor({type:Oe}){super("Circular reference detected.",{metaMessages:[`Struct "${Oe}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class W extends S{constructor({current:Oe,depth:Fe}){super("Unbalanced parentheses.",{metaMessages:[`"${Oe.trim()}" has too many ${Fe>0?"opening":"closing"} parentheses.`],details:`Depth "${Fe}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}let G=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]),Q=/^(?[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?(?:\[\d*?\])+?)?(?:\s(?calldata|indexed|memory|storage{1}))?(?:\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,X=/^\((?.+?)\)(?(?:\[\d*?\])+?)?(?:\s(?calldata|indexed|memory|storage{1}))?(?:\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,ee=/^u?int$/;function be(Se,Oe){var Fe,xt;let bt,Lt=function(He,ct,It){let Jt="";if(It)for(let Bt of Object.entries(It)){if(!Bt)continue;let sa="";for(let Wa of Bt[1])sa+=`[${Wa.type}${Wa.name?`:${Wa.name}`:""}]`;Jt+=`(${Bt[0]}{${sa}})`}return ct?`${ct}:${He}${Jt}`:He}(Se,Oe?.type,Oe?.structs);if(G.has(Lt))return G.get(Lt);let At=l.wj.test(Se),St=(0,l.Yv)(At?X:Q,Se);if(!St)throw new D({param:Se});if(St.name&&((Fe=St.name)==="address"||Fe==="bool"||Fe==="function"||Fe==="string"||Fe==="tuple"||l.BD.test(Fe)||l.Ge.test(Fe)||qe.test(Fe)))throw new I({param:Se,name:St.name});let ha=St.name?{name:St.name}:{},Aa=St.modifier==="indexed"?{indexed:!0}:{},L=Oe?.structs??{},te={};if(At){bt="tuple";let He=ve(St.type),ct=[],It=He.length;for(let Jt=0;Jt[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\[\d*?\])+?)?$/;function Ke(Se){let Oe=function(bt){let Lt={},At=bt.length;for(let L=0;Lc,Ge:()=>h,Yv:()=>l,wj:()=>d});let c=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,h=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,d=/^\(.+?\).*?$/},7065(s,r,i){i.d(r,{J:()=>h});var l=i(4825);function c(d){return{address:d.address,amount:l.oB(d.amount),index:l.oB(d.index),validatorIndex:l.oB(d.validatorIndex)}}function h(d){return{...typeof d.baseFeePerGas=="bigint"&&{baseFeePerGas:l.oB(d.baseFeePerGas)},...typeof d.blobBaseFee=="bigint"&&{blobBaseFee:l.oB(d.blobBaseFee)},...typeof d.feeRecipient=="string"&&{feeRecipient:d.feeRecipient},...typeof d.gasLimit=="bigint"&&{gasLimit:l.oB(d.gasLimit)},...typeof d.number=="bigint"&&{number:l.oB(d.number)},...typeof d.prevRandao=="bigint"&&{prevRandao:l.oB(d.prevRandao)},...typeof d.time=="bigint"&&{time:l.oB(d.time)},...d.withdrawals&&{withdrawals:d.withdrawals.map(c)}}}},919(s,r,i){i.d(r,{C:()=>l});class l extends Error{constructor(h,d={}){let f=(()=>{if(d.cause instanceof l){if(d.cause.details)return d.cause.details;if(d.cause.shortMessage)return d.cause.shortMessage}return d.cause&&"details"in d.cause&&typeof d.cause.details=="string"?d.cause.details:d.cause?.message?d.cause.message:d.details})(),p=d.cause instanceof l&&d.cause.docsPath||d.docsPath,y=`https://oxlib.sh${p??""}`;super([h||"An error occurred.",...d.metaMessages?["",...d.metaMessages]:[],...f||p?["",f?`Details: ${f}`:void 0,p?`See: ${y}`:void 0]:[]].filter(v=>typeof v=="string").join(` -`),d.cause?{cause:d.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:"ox@0.1.1"}),this.cause=d.cause,this.details=f,this.docs=y,this.docsPath=p,this.shortMessage=h}walk(h){return function d(f,p){return p?.(f)?f:f&&typeof f=="object"&&"cause"in f&&f.cause?d(f.cause,p):p?null:f}(this,h)}}},4825(s,r,i){i.d(r,{Dg:()=>O,Ej:()=>I,Fl:()=>G,HT:()=>y,Ho:()=>B,M7:()=>R,Ro:()=>M,Ty:()=>ae,di:()=>D,ii:()=>W,oB:()=>z,sH:()=>S,tf:()=>Y,u:()=>J,uK:()=>k,xW:()=>p,xb:()=>v});var l=i(919),c=i(3361),h=i(2660);let d=new TextEncoder,f=Array.from({length:256},(Q,X)=>X.toString(16).padStart(2,"0"));function p(...Q){return`0x${Q.reduce((X,ee)=>X+ee.replace("0x",""),"")}`}function y(Q){return Q instanceof Uint8Array?k(Q):Array.isArray(Q)?k(new Uint8Array(Q)):Q}function v(Q,X={}){let ee=`0x${Number(Q)}`;return typeof X.size=="number"?(c.Sl(ee,X.size),B(ee,X.size)):ee}function k(Q,X={}){let ee="";for(let ve=0;veee||je>1n?be:be-ve-1n}function M(Q,X={}){let{signed:ee,size:be}=X;return Number(ee||be?O(Q,X):Q)}function Y(Q,X={}){let{strict:ee=!1}=X;try{return function(be,ve={}){let{strict:je=!1}=ve;if(!be||typeof be!="string")throw new ue(be);if(je&&!/^0x[0-9a-fA-F]*$/.test(be)||!be.startsWith("0x"))throw new se(be)}(Q,{strict:ee}),!0}catch{return!1}}class ae extends l.C{constructor({max:X,min:ee,signed:be,size:ve,value:je}){super(`Number \`${je}\` is not in safe${ve?` ${8*ve}-bit`:""}${be?" signed":" unsigned"} integer range ${X?`(\`${ee}\` to \`${X}\`)`:`(above \`${ee}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}l.C;class ue extends l.C{constructor(X){super(`Value \`${typeof X=="object"?h.A(X):X}\` of type \`${typeof X}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class se extends l.C{constructor(X){super(`Value \`${X}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}l.C;class J extends l.C{constructor({givenSize:X,maxSize:ee}){super(`Size cannot exceed \`${ee}\` bytes. Given size: \`${X}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class W extends l.C{constructor({offset:X,position:ee,size:be}){super(`Slice ${ee==="start"?"starting":"ending"} at offset \`${X}\` is out-of-bounds (size: \`${be}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class G extends l.C{constructor({size:X,targetSize:ee,type:be}){super(`${be.charAt(0).toUpperCase()}${be.slice(1).toLowerCase()} size (\`${X}\`) exceeds padding size (\`${ee}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}},2660(s,r,i){i.d(r,{A:()=>l});function l(c,h,d){return JSON.stringify(c,(f,p)=>typeof h=="function"?h(f,p):typeof p=="bigint"?p.toString()+"#__bigint":p,d)}},3361(s,r,i){i.d(r,{Sl:()=>c,X:()=>d,eV:()=>f,kK:()=>h});var l=i(4825);function c(p,y){if(l.Ej(p)>y)throw new l.u({givenSize:l.Ej(p),maxSize:y})}function h(p,y){if(typeof y=="number"&&y>0&&y>l.Ej(p)-1)throw new l.ii({offset:y,position:"start",size:l.Ej(p)})}function d(p,y,v){if(typeof y=="number"&&typeof v=="number"&&l.Ej(p)!==v-y)throw new l.ii({offset:v,position:"end",size:l.Ej(p)})}function f(p,y={}){let{dir:v,size:k=32}=y;if(k===0)return p;let z=p.replace("0x","");if(z.length>2*k)throw new l.Fl({size:Math.ceil(z.length/2),targetSize:k,type:"Hex"});return`0x${z[v==="right"?"padEnd":"padStart"](2*k,"0")}`}},3599(s,r,i){i.d(r,{J:()=>l});function l(c){return typeof c=="string"?{address:c,type:"json-rpc"}:c}},18(s,r,i){i.d(r,{T:()=>ue});var l=i(1298),c=i(7065),h=i(3599),d=i(7717),f=i(2891),p=i(5103),y=i(2433),v=i(1236),k=i(9266),z=i(9476),S=i(1939),B=i(3575),R=i(4062),D=i(4074),I=i(2487),O=i(1781),M=i(6189),Y=i(2077),ae=i(2128);async function ue(W,G){let{account:Q=W.account,authorizationList:X,batch:ee=!!W.batch?.multicall,blockNumber:be,blockTag:ve=W.experimental_blockTag??"latest",accessList:je,blobs:qe,blockOverrides:Re,code:Ke,data:Se,factory:Oe,factoryData:Fe,gas:xt,gasPrice:bt,maxFeePerBlobGas:Lt,maxFeePerGas:At,maxPriorityFeePerGas:St,nonce:ha,to:Aa,value:L,stateOverride:te,...Ae}=G,He=Q?(0,h.J)(Q):void 0;if(Ke&&(Oe||Fe))throw new p.C("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(Ke&&Aa)throw new p.C("Cannot provide both `code` & `to` as parameters.");let ct=Ke&&Se,It=Oe&&Fe&&Aa&&Se,Jt=ct||It,Bt=ct?J({code:Ke,data:Se}):It?function(sa){let{data:Wa,factory:La,factoryData:Qt,to:Ne}=sa;return(0,z.m)({abi:(0,l.U)(["constructor(address, bytes, address, bytes)"]),bytecode:f.WN,args:[Ne,Wa,La,Qt]})}({data:Se,factory:Oe,factoryData:Fe,to:Aa}):Se;try{let sa;(0,ae.c)(G);let Wa=(typeof be=="bigint"?(0,R.cK)(be):void 0)||ve,La=Re?c.J(Re):void 0,Qt=(0,Y.yH)(te),Ne=W.chain?.formatters?.transactionRequest?.format,jt=(Ne||O.Bv)({...(0,I.o)(Ae,{format:Ne}),accessList:je,account:He,authorizationList:X,blobs:qe,data:Bt,gas:xt,gasPrice:bt,maxFeePerBlobGas:Lt,maxFeePerGas:At,maxPriorityFeePerGas:St,nonce:ha,to:Jt?void 0:Aa,value:L},"call");if(ee&&function({request:Ha}){let{data:cr,to:Ve,...V}=Ha;return!(!cr||cr.startsWith("0x82ad56cb"))&&!!Ve&&!(Object.values(V).filter(me=>me!==void 0).length>0)}({request:jt})&&!Qt&&!La)try{return await se(W,{...jt,blockNumber:be,blockTag:ve})}catch(Ha){if(!(Ha instanceof y.YE)&&!(Ha instanceof y.rj))throw Ha}let Ba=(sa=[jt,Wa],Qt&&La?[...sa,Qt,La]:Qt?[...sa,Qt]:La?[...sa,{},La]:sa),Ia=await W.request({method:"eth_call",params:Ba});return Ia==="0x"?{data:void 0}:{data:Ia}}catch(sa){let Wa=function(Ne){if(!(Ne instanceof p.C))return;let jt=Ne.walk();return typeof jt?.data=="object"?jt.data?.data:jt.data}(sa),{offchainLookup:La,offchainLookupSignature:Qt}=await Promise.resolve().then(i.bind(i,8369));if(W.ccipRead!==!1&&Wa?.slice(0,10)===Qt&&Aa)return{data:await La(W,{data:Wa,to:Aa})};throw Jt&&Wa?.slice(0,10)==="0x101bb98d"?new v.Po({factory:Oe}):(0,D.d)(sa,{...G,account:He,chain:W.chain})}}async function se(W,G){let{batchSize:Q=1024,deployless:X=!1,wait:ee=0}=typeof W.batch?.multicall=="object"?W.batch.multicall:{},{blockNumber:be,blockTag:ve=W.experimental_blockTag??"latest",data:je,to:qe}=G,Re=(()=>{if(X)return null;if(G.multicallAddress)return G.multicallAddress;if(W.chain)return(0,B.M)({blockNumber:be,chain:W.chain,contract:"multicall3"});throw new y.YE})(),Ke=(typeof be=="bigint"?(0,R.cK)(be):void 0)||ve,{schedule:Se}=(0,M.u)({id:`${W.uid}.${Ke}`,wait:ee,shouldSplitBatch:xt=>xt.reduce((bt,{data:Lt})=>bt+(Lt.length-2),0)>2*Q,fn:async xt=>{let bt=xt.map(St=>({allowFailure:!0,callData:St.data,target:St.to})),Lt=(0,S.p)({abi:d.v2,args:[bt],functionName:"aggregate3"}),At=await W.request({method:"eth_call",params:[{...Re===null?{data:J({code:f.Ez,data:Lt})}:{to:Re,data:Lt}},Ke]});return(0,k.e)({abi:d.v2,args:[bt],functionName:"aggregate3",data:At||"0x"})}}),[{returnData:Oe,success:Fe}]=await Se({data:je,to:qe});if(!Fe)throw new v.$S({data:Oe});return Oe==="0x"?{data:void 0}:{data:Oe}}function J(W){let{code:G,data:Q}=W;return(0,z.m)({abi:(0,l.U)(["constructor(bytes, bytes)"]),bytecode:f.LX,args:[G,Q]})}},7717(s,r,i){i.d(r,{Ag:()=>d,E5:()=>k,Rm:()=>y,SJ:()=>p,UW:()=>v,b2:()=>c,oX:()=>f,v2:()=>l,xw:()=>z});let l=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],c=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],h=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],d=[...h,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],f=[...h,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],p=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],y=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],v=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],k=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}],z=[{type:"event",name:"Approval",inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"event",name:"Transfer",inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"function",name:"allowance",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"balanceOf",stateMutability:"view",inputs:[{name:"account",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"decimals",stateMutability:"view",inputs:[],outputs:[{type:"uint8"}]},{type:"function",name:"name",stateMutability:"view",inputs:[],outputs:[{type:"string"}]},{type:"function",name:"symbol",stateMutability:"view",inputs:[],outputs:[{type:"string"}]},{type:"function",name:"totalSupply",stateMutability:"view",inputs:[],outputs:[{type:"uint256"}]},{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}]},2891(s,r,i){i.d(r,{Ez:()=>d,LX:()=>l,WN:()=>c,fT:()=>h});let l="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",c="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",h="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",d="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"},5547(s,r,i){i.d(r,{J9:()=>h,Mc:()=>c,fD:()=>l});let l={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},c={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},h={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}},7712(s,r,i){i.d(r,{eL:()=>l,sz:()=>c});let l={gwei:9,wei:18},c={ether:-9,wei:9}},4538(s,r,i){i.d(r,{BI:()=>se,EB:()=>ae,Iy:()=>p,Iz:()=>M,MR:()=>Y,M_:()=>O,Nc:()=>v,O:()=>y,Wl:()=>be,Wq:()=>R,YE:()=>z,YF:()=>f,YW:()=>d,ZP:()=>S,_z:()=>D,d_:()=>ee,dm:()=>X,fo:()=>J,gH:()=>k,j:()=>Q,kE:()=>I,l3:()=>W,nK:()=>G,nM:()=>ue,yy:()=>B});var l=i(4805),c=i(4888),h=i(5103);class d extends h.C{constructor({docsPath:je}){super(`A constructor was not found on the ABI. -Make sure you are using the correct ABI and that the constructor exists on it.`,{docsPath:je,name:"AbiConstructorNotFoundError"})}}class f extends h.C{constructor({docsPath:je}){super("Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.\nMake sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.",{docsPath:je,name:"AbiConstructorParamsNotFoundError"})}}h.C;class p extends h.C{constructor({data:je,params:qe,size:Re}){super(`Data size of ${Re} bytes is too small for given parameters.`,{metaMessages:[`Params: (${(0,l.A)(qe,{includeName:!0})})`,`Data: ${je} (${Re} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=je,this.params=qe,this.size=Re}}class y extends h.C{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}}class v extends h.C{constructor({expectedLength:je,givenLength:qe,type:Re}){super(`ABI encoding array length mismatch for type ${Re}. -Expected length: ${je} -Given length: ${qe}`,{name:"AbiEncodingArrayLengthMismatchError"})}}class k extends h.C{constructor({expectedSize:je,value:qe}){super(`Size of bytes "${qe}" (bytes${(0,c.E)(qe)}) does not match expected size (bytes${je}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class z extends h.C{constructor({expectedLength:je,givenLength:qe}){super(`ABI encoding params/values length mismatch. -Expected length (params): ${je} -Given length (values): ${qe}`,{name:"AbiEncodingLengthMismatchError"})}}class S extends h.C{constructor(je,{docsPath:qe}){super(`Arguments (\`args\`) were provided to "${je}", but "${je}" on the ABI does not contain any parameters (\`inputs\`). -Cannot encode error result without knowing what the parameter types are. -Make sure you are using the correct ABI and that the inputs exist on it.`,{docsPath:qe,name:"AbiErrorInputsNotFoundError"})}}class B extends h.C{constructor(je,{docsPath:qe}={}){super(`Error ${je?`"${je}" `:""}not found on ABI. -Make sure you are using the correct ABI and that the error exists on it.`,{docsPath:qe,name:"AbiErrorNotFoundError"})}}class R extends h.C{constructor(je,{docsPath:qe}){super(`Encoded error signature "${je}" not found on ABI. -Make sure you are using the correct ABI and that the error exists on it. -You can look up the decoded signature here: https://openchain.xyz/signatures?query=${je}.`,{docsPath:qe,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=je}}class D extends h.C{constructor({docsPath:je}){super("Cannot extract event signature from empty topics.",{docsPath:je,name:"AbiEventSignatureEmptyTopicsError"})}}class I extends h.C{constructor(je,{docsPath:qe}){super(`Encoded event signature "${je}" not found on ABI. -Make sure you are using the correct ABI and that the event exists on it. -You can look up the signature here: https://openchain.xyz/signatures?query=${je}.`,{docsPath:qe,name:"AbiEventSignatureNotFoundError"})}}class O extends h.C{constructor(je,{docsPath:qe}={}){super(`Event ${je?`"${je}" `:""}not found on ABI. -Make sure you are using the correct ABI and that the event exists on it.`,{docsPath:qe,name:"AbiEventNotFoundError"})}}class M extends h.C{constructor(je,{docsPath:qe}={}){super(`Function ${je?`"${je}" `:""}not found on ABI. -Make sure you are using the correct ABI and that the function exists on it.`,{docsPath:qe,name:"AbiFunctionNotFoundError"})}}class Y extends h.C{constructor(je,{docsPath:qe}){super(`Function "${je}" does not contain any \`outputs\` on ABI. -Cannot decode function result without knowing what the parameter types are. -Make sure you are using the correct ABI and that the function exists on it.`,{docsPath:qe,name:"AbiFunctionOutputsNotFoundError"})}}class ae extends h.C{constructor(je,{docsPath:qe}){super(`Encoded function signature "${je}" not found on ABI. -Make sure you are using the correct ABI and that the function exists on it. -You can look up the signature here: https://openchain.xyz/signatures?query=${je}.`,{docsPath:qe,name:"AbiFunctionSignatureNotFoundError"})}}class ue extends h.C{constructor(je,qe){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${je.type}\` in \`${(0,l.B)(je.abiItem)}\`, and`,`\`${qe.type}\` in \`${(0,l.B)(qe.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}class se extends h.C{constructor({expectedSize:je,givenSize:qe}){super(`Expected bytes${je}, got bytes${qe}.`,{name:"BytesSizeMismatchError"})}}class J extends h.C{constructor({abiItem:je,data:qe,params:Re,size:Ke}){super(`Data size of ${Ke} bytes is too small for non-indexed event parameters.`,{metaMessages:[`Params: (${(0,l.A)(Re,{includeName:!0})})`,`Data: ${qe} (${Ke} bytes)`],name:"DecodeLogDataMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=je,this.data=qe,this.params=Re,this.size=Ke}}class W extends h.C{constructor({abiItem:je,param:qe}){super(`Expected a topic for indexed event parameter${qe.name?` "${qe.name}"`:""} on event "${(0,l.B)(je,{includeName:!0})}".`,{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=je}}class G extends h.C{constructor(je,{docsPath:qe}){super(`Type "${je}" is not a valid encoding type. -Please provide a valid ABI type.`,{docsPath:qe,name:"InvalidAbiEncodingType"})}}class Q extends h.C{constructor(je,{docsPath:qe}){super(`Type "${je}" is not a valid decoding type. -Please provide a valid ABI type.`,{docsPath:qe,name:"InvalidAbiDecodingType"})}}class X extends h.C{constructor(je){super(`Value "${je}" is not a valid array.`,{name:"InvalidArrayError"})}}class ee extends h.C{constructor(je){super(`"${je}" is not a valid definition type. -Valid types: "function", "event", "error"`,{name:"InvalidDefinitionTypeError"})}}class be extends h.C{constructor(je){super(`Type "${je}" is not supported for packed encoding.`,{name:"UnsupportedPackedAbiType"})}}},7064(s,r,i){i.d(r,{M:()=>c});var l=i(5103);class c extends l.C{constructor({address:d}){super(`Address "${d}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}},5103(s,r,i){i.d(r,{C:()=>h});let l=({docsBaseUrl:d,docsPath:f="",docsSlug:p})=>f?`${d??"https://viem.sh"}${f}${p?`#${p}`:""}`:void 0,c="viem@2.38.6";class h extends Error{constructor(f,p={}){let y=p.cause instanceof h?p.cause.details:p.cause?.message?p.cause.message:p.details,v=p.cause instanceof h&&p.cause.docsPath||p.docsPath,k=l?.({...p,docsPath:v});super([f||"An error occurred.","",...p.metaMessages?[...p.metaMessages,""]:[],...k?[`Docs: ${k}`]:[],...y?[`Details: ${y}`]:[],`Version: ${c}`].join(` -`),p.cause?{cause:p.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=y,this.docsPath=v,this.metaMessages=p.metaMessages,this.name=p.name??this.name,this.shortMessage=f,this.version="2.38.6"}walk(f){return function p(y,v){return v?.(y)?y:y&&typeof y=="object"&&"cause"in y&&y.cause!==void 0?p(y.cause,v):v?null:y}(this,f)}}},2433(s,r,i){i.d(r,{YE:()=>h,rj:()=>c});var l=i(5103);class c extends l.C{constructor({blockNumber:f,chain:p,contract:y}){super(`Chain "${p.name}" does not support contract "${y.name}".`,{metaMessages:["This could be due to any of the following:",...f&&y.blockCreated&&y.blockCreated>f?[`- The contract "${y.name}" was not deployed until block ${y.blockCreated} (current block ${f}).`]:[`- The chain does not have the contract "${y.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}l.C,l.C;class h extends l.C{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}l.C},1236(s,r,i){i.d(r,{zX:()=>I,rR:()=>Y,$S:()=>ue,bG:()=>O,M:()=>M,Po:()=>ae});var l=i(3599),c=i(5547),h=i(8092),d=i(4805),f=i(385);function p({abiItem:se,args:J,includeFunctionName:W=!0,includeName:G=!1}){if("name"in se&&"inputs"in se&&se.inputs)return`${W?se.name:""}(${se.inputs.map((Q,X)=>`${G&&Q.name?`${Q.name}: `:""}${typeof J[X]=="object"?(0,f.A)(J[X]):J[X]}`).join(", ")})`}var y=i(7780),v=i(5510),k=i(2608),z=i(4538),S=i(5103),B=i(8681),R=i(8248),D=i(4441);class I extends S.C{constructor(J,{account:W,docsPath:G,chain:Q,data:X,gas:ee,gasPrice:be,maxFeePerGas:ve,maxPriorityFeePerGas:je,nonce:qe,to:Re,value:Ke,stateOverride:Se}){let Oe=W?(0,l.J)(W):void 0,Fe=(0,R.aO)({from:Oe?.address,to:Re,value:Ke!==void 0&&`${(0,v.c)(Ke)} ${Q?.nativeCurrency?.symbol||"ETH"}`,data:X,gas:ee,gasPrice:be!==void 0&&`${(0,k.Q)(be)} gwei`,maxFeePerGas:ve!==void 0&&`${(0,k.Q)(ve)} gwei`,maxPriorityFeePerGas:je!==void 0&&`${(0,k.Q)(je)} gwei`,nonce:qe});Se&&(Fe+=` -${(0,B.uj)(Se)}`),super(J.shortMessage,{cause:J,docsPath:G,metaMessages:[...J.metaMessages?[...J.metaMessages," "]:[],"Raw Call Arguments:",Fe].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=J}}class O extends S.C{constructor(J,{abi:W,args:G,contractAddress:Q,docsPath:X,functionName:ee,sender:be}){let ve=(0,y.iY)({abi:W,args:G,name:ee}),je=ve?p({abiItem:ve,args:G,includeFunctionName:!1,includeName:!1}):void 0,qe=ve?(0,d.B)(ve,{includeName:!0}):void 0,Re=(0,R.aO)({address:Q&&(0,D.R)(Q),function:qe,args:je&&je!=="()"&&`${[...Array(ee?.length??0).keys()].map(()=>" ").join("")}${je}`,sender:be});super(J.shortMessage||`An unknown error occurred while executing the contract function "${ee}".`,{cause:J,docsPath:X,metaMessages:[...J.metaMessages?[...J.metaMessages," "]:[],Re&&"Contract Call:",Re].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=W,this.args=G,this.cause=J,this.contractAddress=Q,this.functionName=ee,this.sender=be}}class M extends S.C{constructor({abi:J,data:W,functionName:G,message:Q}){let X,ee,be,ve,je;if(W&&W!=="0x")try{let{abiItem:qe,errorName:Re,args:Ke}=ee=(0,h.W)({abi:J,data:W});if(Re==="Error")ve=Ke[0];else if(Re==="Panic"){let[Se]=Ke;ve=c.fD[Se]}else{let Se=qe?(0,d.B)(qe,{includeName:!0}):void 0,Oe=qe&&Ke?p({abiItem:qe,args:Ke,includeFunctionName:!1,includeName:!1}):void 0;be=[Se?`Error: ${Se}`:"",Oe&&Oe!=="()"?` ${[...Array(Re?.length??0).keys()].map(()=>" ").join("")}${Oe}`:""]}}catch(qe){X=qe}else Q&&(ve=Q);X instanceof z.Wq&&(je=X.signature,be=[`Unable to decode signature "${je}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${je}.`]),super(ve&&ve!=="execution reverted"||je?[`The contract function "${G}" reverted with the following ${je?"signature":"reason"}:`,ve||je].join(` -`):`The contract function "${G}" reverted.`,{cause:X,metaMessages:be,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=ee,this.raw=W,this.reason=ve,this.signature=je}}class Y extends S.C{constructor({functionName:J}){super(`The contract function "${J}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${J}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}}class ae extends S.C{constructor({factory:J}){super(`Deployment for counterfactual contract call failed${J?` for factory "${J}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}}class ue extends S.C{constructor({data:J,message:W}){super(W||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=J}}},5340(s,r,i){i.d(r,{B4:()=>c,SK:()=>h,hX:()=>d});var l=i(5103);class c extends l.C{constructor({offset:p}){super(`Offset \`${p}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class h extends l.C{constructor({length:p,position:y}){super(`Position \`${y}\` is out of bounds (\`0 < position < ${p}\`).`,{name:"PositionOutOfBoundsError"})}}class d extends l.C{constructor({count:p,limit:y}){super(`Recursive read limit of \`${y}\` exceeded (recursive read count: \`${p}\`).`,{name:"RecursiveReadLimitExceededError"})}}},3350(s,r,i){i.d(r,{Fl:()=>h,NV:()=>d,ii:()=>c});var l=i(5103);class c extends l.C{constructor({offset:p,position:y,size:v}){super(`Slice ${y==="start"?"starting":"ending"} at offset "${p}" is out-of-bounds (size: ${v}).`,{name:"SliceOffsetOutOfBoundsError"})}}class h extends l.C{constructor({size:p,targetSize:y,type:v}){super(`${v.charAt(0).toUpperCase()}${v.slice(1).toLowerCase()} size (${p}) exceeds padding size (${y}).`,{name:"SizeExceedsPaddingSizeError"})}}class d extends l.C{constructor({size:p,targetSize:y,type:v}){super(`${v.charAt(0).toUpperCase()}${v.slice(1).toLowerCase()} is expected to be ${y} ${v} long, but is ${p} ${v} long.`,{name:"InvalidBytesLengthError"})}}},9679(s,r,i){i.d(r,{H2:()=>d,Ty:()=>c,u:()=>f,xO:()=>h});var l=i(5103);class c extends l.C{constructor({max:y,min:v,signed:k,size:z,value:S}){super(`Number "${S}" is not in safe ${z?`${8*z}-bit ${k?"signed":"unsigned"} `:""}integer range ${y?`(${v} to ${y})`:`(above ${v})`}`,{name:"IntegerOutOfRangeError"})}}class h extends l.C{constructor(y){super(`Bytes value "${y}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}}class d extends l.C{constructor(y){super(`Hex value "${y}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}}l.C;class f extends l.C{constructor({givenSize:y,maxSize:v}){super(`Size cannot exceed ${v} bytes. Given size: ${y} bytes.`,{name:"SizeOverflowError"})}}},8670(s,r,i){i.d(r,{A7:()=>h,BG:()=>d,Fo:()=>S,K0:()=>p,Oh:()=>y,RM:()=>D,jj:()=>f,k5:()=>k,lN:()=>R,lY:()=>z,uC:()=>B,vW:()=>v});var l=i(2608),c=i(5103);class h extends c.C{constructor({cause:O,message:M}={}){let Y=M?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${Y?`with reason: ${Y}`:"for an unknown reason"}.`,{cause:O,name:"ExecutionRevertedError"})}}Object.defineProperty(h,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(h,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class d extends c.C{constructor({cause:O,maxFeePerGas:M}={}){super(`The fee cap (\`maxFeePerGas\`${M?` = ${(0,l.Q)(M)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:O,name:"FeeCapTooHighError"})}}Object.defineProperty(d,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class f extends c.C{constructor({cause:O,maxFeePerGas:M}={}){super(`The fee cap (\`maxFeePerGas\`${M?` = ${(0,l.Q)(M)}`:""} gwei) cannot be lower than the block base fee.`,{cause:O,name:"FeeCapTooLowError"})}}Object.defineProperty(f,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class p extends c.C{constructor({cause:O,nonce:M}={}){super(`Nonce provided for the transaction ${M?`(${M}) `:""}is higher than the next one expected.`,{cause:O,name:"NonceTooHighError"})}}Object.defineProperty(p,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class y extends c.C{constructor({cause:O,nonce:M}={}){super(`Nonce provided for the transaction ${M?`(${M}) `:""}is lower than the current nonce of the account. -Try increasing the nonce or find the latest nonce with \`getTransactionCount\`.`,{cause:O,name:"NonceTooLowError"})}}Object.defineProperty(y,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class v extends c.C{constructor({cause:O,nonce:M}={}){super(`Nonce provided for the transaction ${M?`(${M}) `:""}exceeds the maximum allowed nonce.`,{cause:O,name:"NonceMaxValueError"})}}Object.defineProperty(v,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class k extends c.C{constructor({cause:O}={}){super("The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.",{cause:O,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(k,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class z extends c.C{constructor({cause:O,gas:M}={}){super(`The amount of gas ${M?`(${M}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:O,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(z,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class S extends c.C{constructor({cause:O,gas:M}={}){super(`The amount of gas ${M?`(${M}) `:""}provided for the transaction is too low.`,{cause:O,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(S,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class B extends c.C{constructor({cause:O}){super("The transaction type is not supported for this chain.",{cause:O,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(B,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class R extends c.C{constructor({cause:O,maxPriorityFeePerGas:M,maxFeePerGas:Y}={}){super(`The provided tip (\`maxPriorityFeePerGas\`${M?` = ${(0,l.Q)(M)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${Y?` = ${(0,l.Q)(Y)} gwei`:""}).`,{cause:O,name:"TipAboveFeeCapError"})}}Object.defineProperty(R,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class D extends c.C{constructor({cause:O}){super(`An error occurred while executing: ${O?.shortMessage}`,{cause:O,name:"UnknownNodeError"})}}},1181(s,r,i){i.d(r,{Ci:()=>d,J8:()=>f,MU:()=>p});var l=i(385),c=i(5103),h=i(4441);class d extends c.C{constructor({body:v,cause:k,details:z,headers:S,status:B,url:R}){super("HTTP request failed.",{cause:k,details:z,metaMessages:[B&&`Status: ${B}`,`URL: ${(0,h.I)(R)}`,v&&`Request body: ${(0,l.A)(v)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=v,this.headers=S,this.status=B,this.url=R}}c.C;class f extends c.C{constructor({body:v,error:k,url:z}){super("RPC Request failed.",{cause:k,details:k.message,metaMessages:[`URL: ${(0,h.I)(z)}`,`Request body: ${(0,l.A)(v)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=k.code,this.data=k.data}}c.C;class p extends c.C{constructor({body:v,url:k}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${(0,h.I)(k)}`,`Request body: ${(0,l.A)(v)}`],name:"TimeoutError"})}}},8681(s,r,i){i.d(r,{Hi:()=>c,ft:()=>h,uj:()=>f});var l=i(5103);class c extends l.C{constructor({address:y}){super(`State for account "${y}" is set multiple times.`,{name:"AccountStateConflictError"})}}class h extends l.C{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function d(p){return p.reduce((y,{slot:v,value:k})=>`${y} ${v}: ${k} -`,"")}function f(p){return p.reduce((y,{address:v,...k})=>{let z=`${y} ${v}: -`;return k.nonce&&(z+=` nonce: ${k.nonce} -`),k.balance&&(z+=` balance: ${k.balance} -`),k.code&&(z+=` code: ${k.code} -`),k.state&&(z+=` state: -`,z+=d(k.state)),k.stateDiff&&(z+=` stateDiff: -`,z+=d(k.stateDiff)),z},` State Override: -`).slice(0,-1)}},8248(s,r,i){i.d(r,{Kc:()=>p,Kz:()=>f,Sq:()=>y,Vg:()=>d,WA:()=>v,aO:()=>c,n3:()=>h}),i(5510),i(2608);var l=i(5103);function c(k){let z=Object.entries(k).map(([B,R])=>R===void 0||R===!1?null:[B,R]).filter(Boolean),S=z.reduce((B,[R])=>Math.max(B,R.length),0);return z.map(([B,R])=>` ${`${B}:`.padEnd(S+1)} ${R}`).join(` -`)}class h extends l.C{constructor(){super("Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.\nUse `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others.",{name:"FeeConflictError"})}}l.C;class d extends l.C{constructor({transaction:z}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",c(z),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}l.C,l.C,l.C,l.C;class f extends l.C{constructor({blockHash:z,blockNumber:S,blockTag:B,hash:R,index:D}){let I="Transaction";B&&D!==void 0&&(I=`Transaction at block time "${B}" at index "${D}"`),z&&D!==void 0&&(I=`Transaction at block hash "${z}" at index "${D}"`),S&&D!==void 0&&(I=`Transaction at block number "${S}" at index "${D}"`),R&&(I=`Transaction with hash "${R}"`),super(`${I} could not be found.`,{name:"TransactionNotFoundError"})}}class p extends l.C{constructor({hash:z}){super(`Transaction receipt with hash "${z}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}}class y extends l.C{constructor({receipt:z}){super(`Transaction with hash "${z.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"}),Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=z}}class v extends l.C{constructor({hash:z}){super(`Timed out while waiting for transaction with hash "${z}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}},4441(s,r,i){i.d(r,{I:()=>c,R:()=>l});let l=h=>h,c=h=>h},2770(s,r,i){i.d(r,{n:()=>R});var l=i(4538),c=i(3211),h=i(6808),d=i(4888),f=i(2863),p=i(5925),y=i(9679),v=i(3601),k=i(4062);function z(I,O={}){O.size!==void 0&&(0,v.Sl)(I,{size:O.size});let M=(0,k.My)(I,O);return(0,v.ME)(M,O)}var S=i(904),B=i(5581);function R(I,O){let M=typeof O=="string"?(0,S.aT)(O):O,Y=(0,h.l)(M);if((0,d.E)(M)===0&&I.length>0)throw new l.O;if((0,d.E)(O)&&32>(0,d.E)(O))throw new l.Iy({data:typeof O=="string"?O:(0,k.My)(O),params:I,size:(0,d.E)(O)});let ae=0,ue=[];for(let se=0;se!bt),Fe=Oe?[]:{},xt=0;if(D(Ke)){let bt=Se+z(Re.readBytes(32));for(let Lt=0;Lt1||Se[0]>1)throw new y.xO(Se);return!!Se[0]}(X.readBytes(32),{size:32}),32];if(ee.type.startsWith("bytes"))return function(Re,Ke,{staticPosition:Se}){let[Oe,Fe]=Ke.type.split("bytes");if(!Fe){let xt=z(Re.readBytes(32));Re.setPosition(Se+xt);let bt=z(Re.readBytes(32));if(bt===0)return Re.setPosition(Se+32),["0x",32];let Lt=Re.readBytes(bt);return Re.setPosition(Se+32),[(0,k.My)(Lt),32]}return[(0,k.My)(Re.readBytes(Number.parseInt(Fe,10),32)),32]}(X,ee,{staticPosition:be});if(ee.type.startsWith("uint")||ee.type.startsWith("int")){var je,qe;let Re,Ke,Se;return je=X,Re=(qe=ee).type.startsWith("int"),Ke=Number.parseInt(qe.type.split("int")[1]||"256",10),Se=je.readBytes(32),[Ke>48?function(Oe,Fe={}){Fe.size!==void 0&&(0,v.Sl)(Oe,{size:Fe.size});let xt=(0,k.My)(Oe,Fe);return(0,v.uU)(xt,Fe)}(Se,{signed:Re}):z(Se,{signed:Re}),32]}if(ee.type==="string")return function(Re,{staticPosition:Ke}){let Se=z(Re.readBytes(32));Re.setPosition(Ke+Se);let Oe=z(Re.readBytes(32));if(Oe===0)return Re.setPosition(Ke+32),["",32];let Fe=Re.readBytes(Oe,32),xt=function(bt,Lt={}){let At=bt;return Lt.size!==void 0&&((0,v.Sl)(At,{size:Lt.size}),At=(0,p.B)(At,{dir:"right"})),new TextDecoder().decode(At)}((0,p.B)(Fe));return Re.setPosition(Ke+32),[xt,32]}(X,{staticPosition:be});throw new l.j(ee.type,{docsPath:"/docs/contract/decodeAbiParameters"})}(Y,J,{staticPosition:0});ae+=G,ue.push(W)}return ue}function D(I){let{type:O}=I;if(O==="string"||O==="bytes"||O.endsWith("[]"))return!0;if(O==="tuple")return I.components?.some(D);let M=(0,B.k)(I.type);return!!(M&&D({...I,type:M[1]}))}},8092(s,r,i){i.d(r,{W:()=>y});var l=i(5547),c=i(4538),h=i(2863),d=i(1069),f=i(2770),p=i(4805);function y(v){let{abi:k,data:z}=v,S=(0,h.di)(z,0,4);if(S==="0x")throw new c.O;let B=[...k||[],l.Mc,l.J9].find(R=>R.type==="error"&&S===(0,d.V)((0,p.B)(R)));if(!B)throw new c.Wq(S,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:B,args:"inputs"in B&&B.inputs&&B.inputs.length>0?(0,f.n)(B.inputs,(0,h.di)(z,4)):void 0,errorName:B.name}}},519(s,r,i){i.d(r,{J:()=>p});var l=i(4538),c=i(2863),h=i(1069),d=i(2770),f=i(4805);function p(y){let{abi:v,data:k}=y,z=(0,c.di)(k,0,4),S=v.find(B=>B.type==="function"&&z===(0,h.V)((0,f.B)(B)));if(!S)throw new l.EB(z,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:S.name,args:"inputs"in S&&S.inputs&&S.inputs.length>0?(0,d.n)(S.inputs,(0,c.di)(k,4)):void 0}}},9266(s,r,i){i.d(r,{e:()=>f});var l=i(4538),c=i(2770),h=i(7780);let d="/docs/contract/decodeFunctionResult";function f(p){let{abi:y,args:v,functionName:k,data:z}=p,S=y[0];if(k){let R=(0,h.iY)({abi:y,args:v,name:k});if(!R)throw new l.Iz(k,{docsPath:d});S=R}if(S.type!=="function")throw new l.Iz(void 0,{docsPath:d});if(!S.outputs)throw new l.MR(S.name,{docsPath:d});let B=(0,c.n)(S.outputs,z);return B&&B.length>1?B:B&&B.length===1?B[0]:void 0}},5581(s,r,i){i.d(r,{h:()=>B,k:()=>D});var l=i(4538),c=i(7064),h=i(5103),d=i(9679),f=i(5407),p=i(2845),y=i(7816),v=i(4888),k=i(2863),z=i(4062),S=i(4691);function B(I,O){if(I.length!==O.length)throw new l.YE({expectedLength:I.length,givenLength:O.length});let M=R(function({params:Y,values:ae}){let ue=[];for(let se=0;se0?(0,p.xW)([bt,xt]):bt}}if(Oe)return{dynamic:!0,encoded:xt}}return{dynamic:!1,encoded:(0,p.xW)(Fe.map(({encoded:xt})=>xt))}}(G,{length:ve,param:{...W,type:je}})}if(W.type==="tuple")return function(ve,{param:je}){let qe=!1,Re=[];for(let Ke=0;KeKe))}}(G,{param:W});if(W.type==="address"){var X=G;if(!(0,f.P)(X))throw new c.M({address:X});return{dynamic:!1,encoded:(0,y.db)(X.toLowerCase())}}if(W.type==="bool"){var ee=G;if(typeof ee!="boolean")throw new h.C(`Invalid boolean value: "${ee}" (type: ${typeof ee}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:(0,y.db)((0,z.$P)(ee))}}if(W.type.startsWith("uint")||W.type.startsWith("int")){let ve=W.type.startsWith("int"),[,,je="256"]=S.Ge.exec(W.type)??[];return function(qe,{signed:Re,size:Ke=256}){if(typeof Ke=="number"){let Se=2n**(BigInt(Ke)-(Re?1n:0n))-1n,Oe=Re?-Se-1n:0n;if(qe>Se||qef});var l=i(4538),c=i(2845),h=i(5581);let d="/docs/contract/encodeDeployData";function f(p){let{abi:y,args:v,bytecode:k}=p;if(!v||v.length===0)return k;let z=y.find(B=>"type"in B&&B.type==="constructor");if(!z)throw new l.YW({docsPath:d});if(!("inputs"in z)||!z.inputs||z.inputs.length===0)throw new l.YF({docsPath:d});let S=(0,h.h)(z.inputs,v);return(0,c.aP)([k,S])}},1939(s,r,i){i.d(r,{p:()=>v});var l=i(2845),c=i(5581),h=i(4538),d=i(1069),f=i(4805),p=i(7780);let y="/docs/contract/encodeFunctionData";function v(k){let{args:z}=k,{abi:S,functionName:B}=k.abi.length===1&&k.functionName?.startsWith("0x")?k:function(I){let{abi:O,args:M,functionName:Y}=I,ae=O[0];if(Y){let ue=(0,p.iY)({abi:O,args:M,name:Y});if(!ue)throw new h.Iz(Y,{docsPath:y});ae=ue}if(ae.type!=="function")throw new h.Iz(void 0,{docsPath:y});return{abi:[ae],functionName:(0,d.V)((0,f.B)(ae))}}(k),R=S[0],D="inputs"in R&&R.inputs?(0,c.h)(R.inputs,z??[]):void 0;return(0,l.aP)([B,D??"0x"])}},4805(s,r,i){i.d(r,{A:()=>h,B:()=>c});var l=i(4538);function c(d,{includeName:f=!1}={}){if(d.type!=="function"&&d.type!=="event"&&d.type!=="error")throw new l.d_(d.type);return`${d.name}(${h(d.inputs,{includeName:f})})`}function h(d,{includeName:f=!1}={}){return d?d.map(p=>function(y,{includeName:v}){return y.type.startsWith("tuple")?`(${h(y.components,{includeName:v})})${y.type.slice(5)}`:y.type+(v&&y.name?` ${y.name}`:"")}(p,{includeName:f})).join(f?", ":","):""}},7780(s,r,i){i.d(r,{iY:()=>p});var l=i(4538),c=i(8828),h=i(5407),d=i(4615),f=i(1069);function p(y){let v,{abi:k,args:z=[],name:S}=y,B=(0,c.q)(S,{strict:!1}),R=k.filter(D=>B?D.type==="function"?(0,f.V)(D)===S:D.type==="event"&&(0,d.h)(D)===S:"name"in D&&D.name===S);if(R.length!==0){if(R.length===1)return R[0];for(let D of R)if("inputs"in D){if(!z||z.length===0){if(!D.inputs||D.inputs.length===0)return D;continue}if(D.inputs&&D.inputs.length!==0&&D.inputs.length===z.length&&z.every((I,O)=>{let M="inputs"in D&&D.inputs[O];return!!M&&function Y(ae,ue){let se=typeof ae,J=ue.type;switch(J){case"address":return(0,h.P)(ae,{strict:!1});case"bool":return se==="boolean";case"function":case"string":return se==="string";default:return J==="tuple"&&"components"in ue?Object.values(ue.components).every((W,G)=>Y(Object.values(ae)[G],W)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(J)?se==="number"||se==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(J)?se==="string"||ae instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(J)?Array.isArray(ae)&&ae.every(W=>Y(W,{...ue,type:J.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}(I,M)})){if(v&&"inputs"in v&&v.inputs){let I=function O(M,Y,ae){for(let ue in M){let se=M[ue],J=Y[ue];if(se.type==="tuple"&&J.type==="tuple"&&"components"in se&&"components"in J)return O(se.components,J.components,ae[ue]);let W=[se.type,J.type];if(W.includes("address")&&W.includes("bytes20")||(W.includes("address")&&W.includes("string")||W.includes("address")&&W.includes("bytes"))&&(0,h.P)(ae[ue],{strict:!1}))return W}}(D.inputs,v.inputs,z);if(I)throw new l.nM({abiItem:D,type:I[0]},{abiItem:v,type:I[1]})}v=D}}return v||R[0]}}},3211(s,r,i){i.d(r,{b:()=>v,o:()=>y});var l=i(7064),c=i(904),h=i(1746),d=i(9081),f=i(5407);let p=new d.A(8192);function y(k,z){if(p.has(`${k}.${z}`))return p.get(`${k}.${z}`);let S=z?`${z}${k.toLowerCase()}`:k.substring(2).toLowerCase(),B=(0,h.S)((0,c.Af)(S),"bytes"),R=(z?S.substring(`${z}0x`.length):S).split("");for(let I=0;I<40;I+=2)B[I>>1]>>4>=8&&R[I]&&(R[I]=R[I].toUpperCase()),(15&B[I>>1])>=8&&R[I+1]&&(R[I+1]=R[I+1].toUpperCase());let D=`0x${R.join("")}`;return p.set(`${k}.${z}`,D),D}function v(k,z){if(!(0,f.P)(k,{strict:!1}))throw new l.M({address:k});return y(k,z)}},5407(s,r,i){i.d(r,{P:()=>f});var l=i(9081),c=i(3211);let h=/^0x[a-fA-F0-9]{40}$/,d=new l.A(8192);function f(p,y){let{strict:v=!0}=y??{},k=`${p}.${v}`;if(d.has(k))return d.get(k);let z=!!h.test(p)&&(p.toLowerCase()===p||!v||(0,c.o)(p)===p);return d.set(k,z),z}},1591(s,r,i){i.d(r,{h:()=>h});var l=i(7064),c=i(5407);function h(d,f){if(!(0,c.P)(d,{strict:!1}))throw new l.M({address:d});if(!(0,c.P)(f,{strict:!1}))throw new l.M({address:f});return d.toLowerCase()===f.toLowerCase()}},8369(s,r,i){i.d(r,{offchainLookupSignature:()=>I,offchainLookup:()=>M});var l=i(18),c=i(385),h=i(5103),d=i(4441);class f extends h.C{constructor({callbackSelector:ue,cause:se,data:J,extraData:W,sender:G,urls:Q}){super(se.shortMessage||"An error occurred while fetching for an offchain result.",{cause:se,metaMessages:[...se.metaMessages||[],se.metaMessages?.length?"":[],"Offchain Gateway Call:",Q&&[" Gateway URL(s):",...Q.map(X=>` ${(0,d.I)(X)}`)],` Sender: ${G}`,` Data: ${J}`,` Callback selector: ${ue}`,` Extra data: ${W}`].flat(),name:"OffchainLookupError"})}}class p extends h.C{constructor({result:ue,url:se}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${(0,d.I)(se)}`,`Response: ${(0,c.A)(ue)}`],name:"OffchainLookupResponseMalformedError"})}}class y extends h.C{constructor({sender:ue,to:se}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${se}`,`OffchainLookup sender address: ${ue}`],name:"OffchainLookupSenderMismatchError"})}}var v=i(1181),k=i(8092),z=i(5581),S=i(1591),B=i(2845),R=i(8828),D=i(9398);let I="0x556f1830",O={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function M(ae,{blockNumber:ue,blockTag:se,data:J,to:W}){let{args:G}=(0,k.W)({data:J,abi:[O]}),[Q,X,ee,be,ve]=G,{ccipRead:je}=ae,qe=je&&typeof je?.request=="function"?je.request:Y;try{if(!(0,S.h)(W,Q))throw new y({sender:Q,to:W});let Re=X.includes(D.J)?await(0,D.X)({data:ee,ccipRequest:qe}):await qe({data:ee,sender:Q,urls:X}),{data:Ke}=await(0,l.T)(ae,{blockNumber:ue,blockTag:se,data:(0,B.xW)([be,(0,z.h)([{type:"bytes"},{type:"bytes"}],[Re,ve])]),to:W});return Ke}catch(Re){throw new f({callbackSelector:be,cause:Re,data:J,extraData:ve,sender:Q,urls:X})}}async function Y({data:ae,sender:ue,urls:se}){let J=Error("An unknown error occurred.");for(let W=0;Wc});var l=i(2433);function c({blockNumber:h,chain:d,contract:f}){let p=d?.contracts?.[f];if(!p)throw new l.rj({chain:d,contract:{name:f}});if(h&&p.blockCreated&&p.blockCreated>h)throw new l.rj({blockNumber:h,chain:d,contract:{name:f,blockCreated:p.blockCreated}});return p.address}},6808(s,r,i){i.d(r,{l:()=>h});var l=i(5340);let c={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new l.hX({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(d){if(d<0||d>this.bytes.length-1)throw new l.SK({length:this.bytes.length,position:d})},decrementPosition(d){if(d<0)throw new l.B4({offset:d});let f=this.position-d;this.assertPosition(f),this.position=f},getReadCount(d){return this.positionReadCount.get(d||this.position)||0},incrementPosition(d){if(d<0)throw new l.B4({offset:d});let f=this.position+d;this.assertPosition(f),this.position=f},inspectByte(d){let f=d??this.position;return this.assertPosition(f),this.bytes[f]},inspectBytes(d,f){let p=f??this.position;return this.assertPosition(p+d-1),this.bytes.subarray(p,p+d)},inspectUint8(d){let f=d??this.position;return this.assertPosition(f),this.bytes[f]},inspectUint16(d){let f=d??this.position;return this.assertPosition(f+1),this.dataView.getUint16(f)},inspectUint24(d){let f=d??this.position;return this.assertPosition(f+2),(this.dataView.getUint16(f)<<8)+this.dataView.getUint8(f+2)},inspectUint32(d){let f=d??this.position;return this.assertPosition(f+3),this.dataView.getUint32(f)},pushByte(d){this.assertPosition(this.position),this.bytes[this.position]=d,this.position++},pushBytes(d){this.assertPosition(this.position+d.length-1),this.bytes.set(d,this.position),this.position+=d.length},pushUint8(d){this.assertPosition(this.position),this.bytes[this.position]=d,this.position++},pushUint16(d){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,d),this.position+=2},pushUint24(d){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,d>>8),this.dataView.setUint8(this.position+2,255&d),this.position+=3},pushUint32(d){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,d),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let d=this.inspectByte();return this.position++,d},readBytes(d,f){this.assertReadLimit(),this._touch();let p=this.inspectBytes(d);return this.position+=f??d,p},readUint8(){this.assertReadLimit(),this._touch();let d=this.inspectUint8();return this.position+=1,d},readUint16(){this.assertReadLimit(),this._touch();let d=this.inspectUint16();return this.position+=2,d},readUint24(){this.assertReadLimit(),this._touch();let d=this.inspectUint24();return this.position+=3,d},readUint32(){this.assertReadLimit(),this._touch();let d=this.inspectUint32();return this.position+=4,d},get remaining(){return this.bytes.length-this.position},setPosition(d){let f=this.position;return this.assertPosition(d),this.position=d,()=>this.position=f},_touch(){if(this.recursiveReadLimit===1/0)return;let d=this.getReadCount();this.positionReadCount.set(this.position,d+1),d>0&&this.recursiveReadCount++}};function h(d,{recursiveReadLimit:f=8192}={}){let p=Object.create(c);return p.bytes=d,p.dataView=new DataView(d.buffer,d.byteOffset,d.byteLength),p.positionReadCount=new Map,p.recursiveReadLimit=f,p}},2845(s,r,i){function l(h){return typeof h[0]=="string"?c(h):function(d){let f=0;for(let v of d)f+=v.length;let p=new Uint8Array(f),y=0;for(let v of d)p.set(v,y),y+=v.length;return p}(h)}function c(h){return`0x${h.reduce((d,f)=>d+f.replace("0x",""),"")}`}i.d(r,{aP:()=>c,xW:()=>l})},8828(s,r,i){i.d(r,{q:()=>l});function l(c,{strict:h=!0}={}){return!!c&&typeof c=="string"&&(h?/^0x[0-9a-fA-F]*$/.test(c):c.startsWith("0x"))}},7816(s,r,i){i.d(r,{db:()=>h,eV:()=>c});var l=i(3350);function c(d,{dir:f,size:p=32}={}){return typeof d=="string"?h(d,{dir:f,size:p}):function(y,{dir:v,size:k=32}={}){if(k===null)return y;if(y.length>k)throw new l.Fl({size:y.length,targetSize:k,type:"bytes"});let z=new Uint8Array(k);for(let S=0;S2*p)throw new l.Fl({size:Math.ceil(y.length/2),targetSize:p,type:"hex"});return`0x${y[f==="right"?"padEnd":"padStart"](2*p,"0")}`}},4888(s,r,i){i.d(r,{E:()=>c});var l=i(8828);function c(h){return(0,l.q)(h,{strict:!1})?Math.ceil((h.length-2)/2):h.length}},2863(s,r,i){i.d(r,{A1:()=>y,di:()=>d,iN:()=>v});var l=i(3350),c=i(8828),h=i(4888);function d(k,z,S,{strict:B}={}){return(0,c.q)(k,{strict:!1})?v(k,z,S,{strict:B}):y(k,z,S,{strict:B})}function f(k,z){if(typeof z=="number"&&z>0&&z>(0,h.E)(k)-1)throw new l.ii({offset:z,position:"start",size:(0,h.E)(k)})}function p(k,z,S){if(typeof z=="number"&&typeof S=="number"&&(0,h.E)(k)!==S-z)throw new l.ii({offset:S,position:"end",size:(0,h.E)(k)})}function y(k,z,S,{strict:B}={}){f(k,z);let R=k.slice(z,S);return B&&p(R,z,S),R}function v(k,z,S,{strict:B}={}){f(k,z);let R=`0x${k.replace("0x","").slice((z??0)*2,(S??k.length)*2)}`;return B&&p(R,z,S),R}},5925(s,r,i){i.d(r,{B:()=>l});function l(c,{dir:h="left"}={}){let d=typeof c=="string"?c.replace("0x",""):c,f=0;for(let p=0;pk,ME:()=>v,Nx:()=>y,Sl:()=>f,uU:()=>p});var l=i(9679),c=i(4888),h=i(5925),d=i(904);function f(z,{size:S}){if((0,c.E)(z)>S)throw new l.u({givenSize:(0,c.E)(z),maxSize:S})}function p(z,S={}){let{signed:B}=S;S.size&&f(z,{size:S.size});let R=BigInt(z);if(!B)return R;let D=(z.length-2)/2;return R<=(1n<<8n*BigInt(D)-1n)-1n?R:R-BigInt(`0x${"f".padStart(2*D,"f")}`)-1n}function y(z,S={}){let B=z;if(S.size&&(f(B,{size:S.size}),B=(0,h.B)(B)),(0,h.B)(B)==="0x00")return!1;if((0,h.B)(B)==="0x01")return!0;throw new l.H2(B)}function v(z,S={}){return Number(p(z,S))}function k(z,S={}){let B=(0,d.aT)(z);return S.size&&(f(B,{size:S.size}),B=(0,h.B)(B,{dir:"right"})),new TextDecoder().decode(B)}},904(s,r,i){i.d(r,{Af:()=>z,ZJ:()=>y,aT:()=>k});var l=i(5103),c=i(8828),h=i(7816),d=i(3601),f=i(4062);let p=new TextEncoder;function y(S,B={}){var R,D;return typeof S=="number"||typeof S=="bigint"?(R=S,D=B,k((0,f.cK)(R,D))):typeof S=="boolean"?function(I,O={}){let M=new Uint8Array(1);return M[0]=Number(I),typeof O.size=="number"?((0,d.Sl)(M,{size:O.size}),(0,h.eV)(M,{size:O.size})):M}(S,B):(0,c.q)(S)?k(S,B):z(S,B)}function v(S){return S>=48&&S<=57?S-48:S>=65&&S<=70?S-55:S>=97&&S<=102?S-87:void 0}function k(S,B={}){let R=S;B.size&&((0,d.Sl)(R,{size:B.size}),R=(0,h.eV)(R,{dir:"right",size:B.size}));let D=R.slice(2);D.length%2&&(D=`0${D}`);let I=D.length/2,O=new Uint8Array(I);for(let M=0,Y=0;Mp,My:()=>y,cK:()=>v,i3:()=>z,nj:()=>f});var l=i(9679),c=i(7816),h=i(3601);let d=Array.from({length:256},(S,B)=>B.toString(16).padStart(2,"0"));function f(S,B={}){return typeof S=="number"||typeof S=="bigint"?v(S,B):typeof S=="string"?z(S,B):typeof S=="boolean"?p(S,B):y(S,B)}function p(S,B={}){let R=`0x${Number(S)}`;return typeof B.size=="number"?((0,h.Sl)(R,{size:B.size}),(0,c.eV)(R,{size:B.size})):R}function y(S,B={}){let R="";for(let I=0;IR||OD,J:()=>R});var l=i(7717),c=i(5547),h=i(519),d=i(4538),f=i(2845),p=i(1069),y=i(5581),v=i(4805),k=i(7780);let z="/docs/contract/encodeErrorResult";function S(I){let{abi:O,errorName:M,args:Y}=I,ae=O[0];if(M){let W=(0,k.iY)({abi:O,args:Y,name:M});if(!W)throw new d.yy(M,{docsPath:z});ae=W}if(ae.type!=="error")throw new d.yy(void 0,{docsPath:z});let ue=(0,v.B)(ae),se=(0,p.V)(ue),J="0x";if(Y&&Y.length>0){if(!ae.inputs)throw new d.ZP(ae.name,{docsPath:z});J=(0,y.h)(ae.inputs,Y)}return(0,f.aP)([se,J])}let B="/docs/contract/encodeFunctionResult",R="x-batch-gateway:true";async function D(I){let{data:O,ccipRequest:M}=I,{args:[Y]}=(0,h.J)({abi:l.b2,data:O}),ae=[],ue=[];return await Promise.all(Y.map(async(se,J)=>{try{ue[J]=se.urls.includes(R)?await D({data:se.data,ccipRequest:M}):await M(se),ae[J]=!1}catch(G){var W;ae[J]=!0,ue[J]=(W=G).name==="HttpRequestError"&&W.status?S({abi:l.b2,errorName:"HttpError",args:[W.status,W.shortMessage]}):S({abi:[c.Mc],errorName:"Error",args:["shortMessage"in W?W.shortMessage:W.message]})}})),function(se){let{abi:J,functionName:W,result:G}=se,Q=J[0];if(W){let ee=(0,k.iY)({abi:J,name:W});if(!ee)throw new d.Iz(W,{docsPath:B});Q=ee}if(Q.type!=="function")throw new d.Iz(void 0,{docsPath:B});if(!Q.outputs)throw new d.MR(Q.name,{docsPath:B});let X=(()=>{if(Q.outputs.length===0)return[];if(Q.outputs.length===1)return[G];if(Array.isArray(G))return G;throw new d.dm(G)})();return(0,y.h)(Q.outputs,X)}({abi:l.b2,functionName:"query",result:[ae,ue]})}},4074(s,r,i){i.d(r,{d:()=>d});var l=i(1236),c=i(8670),h=i(8606);function d(f,{docsPath:p,...y}){let v,k=(v=(0,h.l)(f,y))instanceof c.RM?f:v;return new l.zX(k,{docsPath:p,...y})}},8606(s,r,i){i.d(r,{l:()=>h});var l=i(5103),c=i(8670);function h(d,f){let p=(d.details||"").toLowerCase(),y=d instanceof l.C?d.walk(v=>v?.code===c.A7.code):d;return y instanceof l.C?new c.A7({cause:d,message:y.details}):c.A7.nodeMessage.test(p)?new c.A7({cause:d,message:d.details}):c.BG.nodeMessage.test(p)?new c.BG({cause:d,maxFeePerGas:f?.maxFeePerGas}):c.jj.nodeMessage.test(p)?new c.jj({cause:d,maxFeePerGas:f?.maxFeePerGas}):c.K0.nodeMessage.test(p)?new c.K0({cause:d,nonce:f?.nonce}):c.Oh.nodeMessage.test(p)?new c.Oh({cause:d,nonce:f?.nonce}):c.vW.nodeMessage.test(p)?new c.vW({cause:d,nonce:f?.nonce}):c.k5.nodeMessage.test(p)?new c.k5({cause:d}):c.lY.nodeMessage.test(p)?new c.lY({cause:d,gas:f?.gas}):c.Fo.nodeMessage.test(p)?new c.Fo({cause:d,gas:f?.gas}):c.uC.nodeMessage.test(p)?new c.uC({cause:d}):c.lN.nodeMessage.test(p)?new c.lN({cause:d,maxFeePerGas:f?.maxFeePerGas,maxPriorityFeePerGas:f?.maxPriorityFeePerGas}):new c.RM({cause:d})}},2487(s,r,i){i.d(r,{o:()=>l});function l(c,{format:h}){if(!h)return{};let d={};return function f(p){for(let y of Object.keys(p))y in c&&(d[y]=c[y]),p[y]&&typeof p[y]=="object"&&!Array.isArray(p[y])&&f(p[y])}(h(c||{})),d}},1781(s,r,i){i.d(r,{Bv:()=>h});var l=i(4062);let c={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function h(d,f){let p={};return d.authorizationList!==void 0&&(p.authorizationList=d.authorizationList.map(y=>({address:y.address,r:y.r?(0,l.cK)(BigInt(y.r)):y.r,s:y.s?(0,l.cK)(BigInt(y.s)):y.s,chainId:(0,l.cK)(y.chainId),nonce:(0,l.cK)(y.nonce),...y.yParity!==void 0?{yParity:(0,l.cK)(y.yParity)}:{},...y.v!==void 0&&y.yParity===void 0?{v:(0,l.cK)(y.v)}:{}}))),d.accessList!==void 0&&(p.accessList=d.accessList),d.blobVersionedHashes!==void 0&&(p.blobVersionedHashes=d.blobVersionedHashes),d.blobs!==void 0&&(typeof d.blobs[0]!="string"?p.blobs=d.blobs.map(y=>(0,l.My)(y)):p.blobs=d.blobs),d.data!==void 0&&(p.data=d.data),d.account&&(p.from=d.account.address),d.from!==void 0&&(p.from=d.from),d.gas!==void 0&&(p.gas=(0,l.cK)(d.gas)),d.gasPrice!==void 0&&(p.gasPrice=(0,l.cK)(d.gasPrice)),d.maxFeePerBlobGas!==void 0&&(p.maxFeePerBlobGas=(0,l.cK)(d.maxFeePerBlobGas)),d.maxFeePerGas!==void 0&&(p.maxFeePerGas=(0,l.cK)(d.maxFeePerGas)),d.maxPriorityFeePerGas!==void 0&&(p.maxPriorityFeePerGas=(0,l.cK)(d.maxPriorityFeePerGas)),d.nonce!==void 0&&(p.nonce=(0,l.cK)(d.nonce)),d.to!==void 0&&(p.to=d.to),d.type!==void 0&&(p.type=c[d.type]),d.value!==void 0&&(p.value=(0,l.cK)(d.value)),p}},1746(s,r,i){i.d(r,{S:()=>f});var l=i(2645),c=i(8828),h=i(904),d=i(4062);function f(p,y){let v=(0,l.lY)((0,c.q)(p,{strict:!1})?(0,h.ZJ)(p):p);return(y||"hex")==="bytes"?v:(0,d.nj)(v)}},4615(s,r,i){i.d(r,{h:()=>l});let l=i(7681).k},1069(s,r,i){i.d(r,{V:()=>h});var l=i(2863),c=i(7681);let h=d=>(0,l.di)((0,c.k)(d),0,4)},7681(s,r,i){i.d(r,{k:()=>y});var l=i(904),c=i(1746),h=i(5092);let d=/^tuple(?(\[(\d*)\])*)$/;function f(v){let k="",z=v.length;for(let S=0;Sl});class l extends Map{constructor(h){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=h}get(h){let d=super.get(h);return super.has(h)&&d!==void 0&&(this.delete(h),super.set(h,d)),d}set(h,d){if(super.set(h,d),this.maxSize&&this.size>this.maxSize){let f=this.keys().next().value;f&&this.delete(f)}return this}}},6189(s,r,i){i.d(r,{u:()=>h});var l=i(9693);let c=new Map;function h({fn:d,id:f,shouldSplitBatch:p,wait:y=0,sort:v}){let k=async()=>{let R=S();z();let D=R.map(({args:I})=>I);D.length!==0&&d(D).then(I=>{v&&Array.isArray(I)&&I.sort(v);for(let O=0;O{for(let O=0;Oc.delete(f),S=()=>c.get(f)||[],B=R=>c.set(f,[...S(),R]);return{flush:z,async schedule(R){let{promise:D,resolve:I,reject:O}=(0,l.Y)();return p?.([...S().map(({args:M})=>M),R])&&k(),S().length>0?B({args:R,resolve:I,reject:O}):(B({args:R,resolve:I,reject:O}),setTimeout(k,y)),D}}}},9693(s,r,i){i.d(r,{Y:()=>l});function l(){let c=()=>{},h=()=>{};return{promise:new Promise((d,f)=>{c=d,h=f}),resolve:c,reject:h}}},4691(s,r,i){i.d(r,{BD:()=>c,D5:()=>l,Ge:()=>h});let l=/^(.*)\[([0-9]*)\]$/,c=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,h=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/},2077(s,r,i){i.d(r,{yH:()=>y});var l=i(7064),c=i(3350),h=i(8681),d=i(5407),f=i(4062);function p(v){if(v&&v.length!==0)return v.reduce((k,{slot:z,value:S})=>{if(z.length!==66)throw new c.NV({size:z.length,targetSize:66,type:"hex"});if(S.length!==66)throw new c.NV({size:S.length,targetSize:66,type:"hex"});return k[z]=S,k},{})}function y(v){if(!v)return;let k={};for(let{address:z,...S}of v){if(!(0,d.P)(z,{strict:!1}))throw new l.M({address:z});if(k[z])throw new h.Hi({address:z});k[z]=function(B){let{balance:R,nonce:D,state:I,stateDiff:O,code:M}=B,Y={};if(M!==void 0&&(Y.code=M),R!==void 0&&(Y.balance=(0,f.cK)(R)),D!==void 0&&(Y.nonce=(0,f.cK)(D)),I!==void 0&&(Y.state=p(I)),O!==void 0){if(Y.state)throw new h.ft;Y.stateDiff=p(O)}return Y}(S)}return k}},385(s,r,i){i.d(r,{A:()=>l});let l=(c,h,d)=>JSON.stringify(c,(f,p)=>{let y=typeof p=="bigint"?p.toString():p;return typeof h=="function"?h(f,y):y},d)},2128(s,r,i){i.d(r,{c:()=>y});var l=i(3599);let c=2n**256n-1n;var h=i(7064),d=i(8670),f=i(8248),p=i(5407);function y(v){let{account:k,gasPrice:z,maxFeePerGas:S,maxPriorityFeePerGas:B,to:R}=v,D=k?(0,l.J)(k):void 0;if(D&&!(0,p.P)(D.address))throw new h.M({address:D.address});if(R&&!(0,p.P)(R))throw new h.M({address:R});if(z!==void 0&&(S!==void 0||B!==void 0))throw new f.n3;if(S&&S>c)throw new d.BG({maxFeePerGas:S});if(B&&S&&B>S)throw new d.lN({maxFeePerGas:S,maxPriorityFeePerGas:B})}},5510(s,r,i){i.d(r,{c:()=>h});var l=i(7712),c=i(1869);function h(d,f="wei"){return(0,c.J)(d,l.eL[f])}},2608(s,r,i){i.d(r,{Q:()=>h});var l=i(7712),c=i(1869);function h(d,f="wei"){return(0,c.J)(d,l.sz[f])}},1869(s,r,i){i.d(r,{J:()=>l});function l(c,h){let d=c.toString(),f=d.startsWith("-");f&&(d=d.slice(1));let[p,y]=[(d=d.padStart(h,"0")).slice(0,d.length-h),d.slice(d.length-h)];return y=y.replace(/(0+)$/,""),`${f?"-":""}${p||"0"}${y?`.${y}`:""}`}},7410(s,r,i){let l,c;i.d(r,{getWallets:()=>v});var h,d=function(D,I,O,M){if(typeof I=="function"?D!==I||!M:!I.has(D))throw TypeError("Cannot read private member from an object whose class did not declare it");return O==="m"?M:O==="a"?M.call(D):M?M.value:I.get(D)},f=function(D,I,O,M,Y){if(typeof I=="function"?D!==I||!0:!I.has(D))throw TypeError("Cannot write private member to an object whose class did not declare it");return I.set(D,O),O};let p=new Set,y={};function v(){if(c||(c=Object.freeze({register:k,get:z,on:S}),"u"I(D))}catch(I){console.error(`wallet-standard:register-wallet event listener could not be added -`,I)}try{window.dispatchEvent(new R(D))}catch(I){console.error(`wallet-standard:app-ready event could not be dispatched -`,I)}return c}function k(...D){return(D=D.filter(I=>!p.has(I))).length?(D.forEach(I=>{l=void 0,p.add(I)}),y.register?.forEach(I=>B(()=>I(...D))),function(){D.forEach(I=>{l=void 0,p.delete(I)}),y.unregister?.forEach(I=>B(()=>I(...D)))}):()=>{}}function z(){return l||(l=[...p]),l}function S(D,I){return y[D]?.push(I)||(y[D]=[I]),function(){y[D]=y[D]?.filter(O=>I!==O)}}function B(D){try{D()}catch(I){console.error(I)}}var R=class extends Event{get detail(){return d(this,h,"f")}get type(){return"wallet-standard:app-ready"}constructor(D){super("wallet-standard:app-ready",{bubbles:!1,cancelable:!1,composed:!1}),h.set(this,void 0),f(this,h,D)}preventDefault(){throw Error("preventDefault cannot be called")}stopImmediatePropagation(){throw Error("stopImmediatePropagation cannot be called")}stopPropagation(){throw Error("stopPropagation cannot be called")}};h=new WeakMap},1118(s,r,i){i.d(r,{t:()=>l});let l=(...c)=>{}},9536(s,r,i){function l(c){return Promise.all(Array.from(c).map(h=>h.then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))}i.d(r,{a:()=>l})},7009(s,r,i){function l(d,f,p){return typeof d=="function"?d(f):d!==void 0?d:p!==void 0?p:void 0}i.d(r,{vd:()=>h.a,VK:()=>l,lQ:()=>c.t});var c=i(1118),h=i(9536)}},fm={};function sr(s){var r=fm[s];if(r!==void 0)return r.exports;var i=fm[s]={exports:{}};return hy[s].call(i.exports,i,i.exports,sr),i.exports}sr.n=s=>{var r=s&&s.__esModule?()=>s.default:()=>s;return sr.d(r,{a:r}),r},Eo=Object.getPrototypeOf?s=>Object.getPrototypeOf(s):s=>s.__proto__,sr.t=function(s,r){if(1&r&&(s=this(s)),8&r||typeof s=="object"&&s&&(4&r&&s.__esModule||16&r&&typeof s.then=="function"))return s;var i=Object.create(null);sr.r(i);var l={};Bd=Bd||[null,Eo({}),Eo([]),Eo(Eo)];for(var c=2&r&&s;(typeof c=="object"||typeof c=="function")&&!~Bd.indexOf(c);c=Eo(c))Object.getOwnPropertyNames(c).forEach(h=>{l[h]=()=>s[h]});return l.default=()=>s,sr.d(i,l),i},sr.d=(s,r)=>{for(var i in r)sr.o(r,i)&&!sr.o(s,i)&&Object.defineProperty(s,i,{enumerable:!0,get:r[i]})},sr.g=(()=>{if(typeof globalThis=="object")return globalThis;try{return Function("return this")()}catch{if(typeof window=="object")return window}})(),sr.o=(s,r)=>Object.prototype.hasOwnProperty.call(s,r),sr.r=s=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})};var ui={};(()=>{let s,r,i,l,c;function h(){return"u">typeof window}sr.d(ui,{Ys:()=>be,hl:()=>xt,NZ:()=>ee,si:()=>Oe,LR:()=>se,ux:()=>Se,_d:()=>Fe,$R:()=>J,Cm:()=>ae,kl:()=>ve,c2:()=>Cn,cR:()=>Y});let d=RegExp("bot|spider|crawl|APIs-Google|AdsBot|Googlebot|mediapartners|Google Favicon|FeedFetcher|Google-Read-Aloud|DuplexWeb-Google|googleweblight|bing|yandex|baidu|duckduck|yahoo|ecosia|ia_archiver|facebook|instagram|pinterest|reddit|slack|twitter|whatsapp|youtube|semrush","i");function f(){var w;let e=h()?window?.navigator:null;return!!e&&!((w=e?.userAgent)&&d.test(w))&&!e?.webdriver}function p(){let w=h()?window?.navigator:null;return!!w&&(typeof w.onLine!="boolean"||!!w.onLine)}function y(){return p()&&f()}let v=(w,e,n,g,A)=>{let{notify:N}=A||{},K=w.get(n);K||(K=[],w.set(n,K)),K.push(g),N&&e.has(n)&&g(e.get(n))},k=(w,e,n)=>(w.get(e)||[]).map(g=>g(n)),z=(w,e,n)=>{let g=w.get(e);g&&(n?g.splice(g.indexOf(n)>>>0,1):w.set(e,[]))},S=()=>{let w=new Map,e=new Map,n=new Map;return{on:(...g)=>v(w,e,...g),prioritizedOn:(...g)=>v(n,e,...g),emit:(g,A)=>{e.set(g,A),k(n,g,A),k(w,g,A)},off:(...g)=>z(w,...g),prioritizedOff:(...g)=>z(n,...g),internal:{retrieveListeners:g=>w.get(g)||[]}}},B="status";function R(w){return function(e){let n=e??this;if(!n)throw TypeError(`${w.kind||w.name} type guard requires an error object`);return!!w.kind&&typeof n=="object"&&n!==null&&"constructor"in n&&n.constructor?.kind===w.kind||n instanceof w}}var D,I,O,M=class hf extends Error{static kind="ClerkError";clerkError=!0;code;longMessage;docsUrl;cause;get name(){return this.constructor.name}constructor(e){super(new.target.formatMessage(new.target.kind,e.message,e.code,e.docsUrl),{cause:e.cause}),Object.setPrototypeOf(this,hf.prototype),this.code=e.code,this.docsUrl=e.docsUrl,this.longMessage=e.longMessage,this.cause=e.cause}toString(){return`[${this.name}] -Message:${this.message}`}static formatMessage(e,n,g,A){let N="Clerk:",K=RegExp(N.replace(" ","\\s*"),"i");return n=n.replace(K,""),n=`${N} ${n.trim()} - -(code="${g}") - -`,A&&(n+=` - -Docs: ${A}`),n}},Y=class pf extends M{static kind="ClerkRuntimeError";clerkRuntimeError=!0;constructor(e,n){super({...n,message:e}),Object.setPrototypeOf(this,pf.prototype)}};let ae=R(Y);var ue=class{static kind="ClerkAPIError";code;message;longMessage;meta;constructor(w){let e={code:w.code,message:w.message,longMessage:w.long_message,meta:{paramName:w.meta?.param_name,sessionId:w.meta?.session_id,emailAddresses:w.meta?.email_addresses,identifiers:w.meta?.identifiers,zxcvbn:w.meta?.zxcvbn,plan:w.meta?.plan,isPlanUpgradePossible:w.meta?.is_plan_upgrade_possible}};this.code=e.code,this.message=e.message,this.longMessage=e.longMessage,this.meta=e.meta}},se=class mf extends M{static kind="ClerkAPIResponseError";status;clerkTraceId;retryAfter;errors;constructor(e,n){let{data:g,status:A,clerkTraceId:N,retryAfter:K}=n;super({...n,message:e,code:"api_response_error"}),Object.setPrototypeOf(this,mf.prototype),this.status=A,this.clerkTraceId=N,this.retryAfter=K,this.errors=(g||[]).map(ge=>new ue(ge))}toString(){let e=`[${this.name}] -Message:${this.message} -Status:${this.status} -Serialized errors: ${this.errors.map(n=>JSON.stringify(n))}`;return this.clerkTraceId&&(e+=` -Clerk Trace ID: ${this.clerkTraceId}`),e}static formatMessage(e,n,g,A){return n}};let J=R(se);var W=class th extends se{static kind="MissingExpiredTokenError";static ERROR_CODE="missing_expired_token";static STATUS=422;static is(e){return J(e)&&e.status===th.STATUS&&e.errors.length>0&&e.errors[0].code===th.ERROR_CODE}},G=class vl extends Y{static kind="ClerkOfflineError";static ERROR_CODE="clerk_offline";constructor(e){super(e,{code:vl.ERROR_CODE}),Object.setPrototypeOf(this,vl.prototype)}static is(e){return e!=null&&(e instanceof vl||ae(e)&&e.code===vl.ERROR_CODE)}};let Q=Object.freeze({InvalidProxyUrlErrorMessage:"The proxyUrl passed to Clerk is invalid. The expected value for proxyUrl is an absolute URL or a relative path with a leading '/'. (key={{url}})",InvalidPublishableKeyErrorMessage:"The publishableKey passed to Clerk is invalid. You can get your Publishable key at https://dashboard.clerk.com/last-active?path=api-keys. (key={{key}})",MissingPublishableKeyErrorMessage:"Missing publishableKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.",MissingSecretKeyErrorMessage:"Missing secretKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.",MissingClerkProvider:"{{source}} can only be used within the component. Learn more: https://clerk.com/docs/components/clerk-provider"});function X({packageName:w,customMessages:e}){let n=w;function g(N,K){if(!K)return`${n}: ${N}`;let ge=N;for(let de of N.matchAll(/{{([a-zA-Z0-9-_]+)}}/g)){let we=(K[de[1]]||"").toString();ge=ge.replace(`{{${de[1]}}}`,we)}return`${n}: ${ge}`}let A={...Q,...e};return{setPackageName({packageName:N}){return typeof N=="string"&&(n=N),this},setMessages({customMessages:N}){return Object.assign(A,N||{}),this},throwInvalidPublishableKeyError(N){throw Error(g(A.InvalidPublishableKeyErrorMessage,N))},throwInvalidProxyUrl(N){throw Error(g(A.InvalidProxyUrlErrorMessage,N))},throwMissingPublishableKeyError(){throw Error(g(A.MissingPublishableKeyErrorMessage))},throwMissingSecretKeyError(){throw Error(g(A.MissingSecretKeyErrorMessage))},throwMissingClerkProviderError(N){throw Error(g(A.MissingClerkProvider,N))},throw(N){throw Error(g(N))}}}var ee=class ff extends Error{code;constructor(e){super(e),this.code=e,this.name="EmailLinkError",Object.setPrototypeOf(this,ff.prototype)}};let be={Expired:"expired",Failed:"failed",ClientMismatch:"client_mismatch"},ve={Expired:"expired",Failed:"failed",ClientMismatch:"client_mismatch"};var je=class extends Y{code;constructor(w,e){super(w,e),this.code=e.code}};function qe(w){return["captcha_invalid","captcha_not_enabled","captcha_missing_token"].includes(w.errors[0].code)}function Re(w){let e=w?.status;return!!e&&e>=400&&e<500}function Ke(w){let e=w?.status;return e===401||e===422}function Se(w){return J(w)||Oe(w)||ae(w)}function Oe(w){return"code"in w&&[4001,32602,32603].includes(w.code)&&"message"in w}function Fe(w){return J(w)&&w.errors?.[0]?.code==="user_locked"}function xt(w){return w.name==="EmailLinkError"}function bt(w){for(let[e,n]of Object.entries({isClerkAPIResponseError:J,isClerkRuntimeError:ae}))Object.assign(w,{[e]:n});return w}let Lt=(w,e)=>!!(w.isSignedIn&&e?.authConfig.singleSessionMode),At=(w,e)=>!e?.commerceSettings.billing.user.enabled&&!e?.commerceSettings.billing.organization.enabled,St=(w,e)=>!e?.apiKeysSettings?.user_api_keys_enabled,ha=(w,e)=>!e?.apiKeysSettings?.orgs_api_keys_enabled,Aa="__clerk_synced",L="false",te="true",Ae="suffixed_cookies",He="__clerk_satellite_url",ct="clerk-captcha",It="clerk-invisible-captcha";var Jt=sr(547);let Bt=new Set,sa=w=>{Bt.has(w)||(Bt.add(w),console.warn(w))},Wa=(w,e)=>{let n={};for(let g in w)n[g]=e(w[g],g);return n},La=(w,e)=>{let n={};for(let g in w)w[g]&&e(w[g])&&(n[g]=w[g]);return n};function Qt(w){return w?w.replace(/([-_][a-z])/g,e=>e.toUpperCase().replace(/-|_/,"")):""}function Ne(w){return w?w.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`):""}let jt=w=>{let e=n=>{if(!n)return n;if(Array.isArray(n))return n.map(A=>typeof A=="object"||Array.isArray(A)?e(A):A);let g={...n};for(let A of Object.keys(g)){let N=w(A.toString());N!==A&&(g[N]=g[A],delete g[A]),typeof g[N]=="object"&&(g[N]=e(g[N]))}return g};return e},Ba=jt(Ne),Ia=jt(Qt);function Ha(w){if(typeof w=="boolean")return w;if(w==null)return!1;if(typeof w=="string"){if(w.toLowerCase()==="true")return!0;if(w.toLowerCase()==="false")return!1}let e=parseInt(w,10);return!isNaN(e)&&e>0}let cr=RegExp("/{1,}","g"),Ve=[".lcl.dev",".lclstage.dev",".lclclerk.com"],V=[".accounts.dev",".accountsstage.dev",".accounts.lclclerk.com"],me=[".lcl.dev",".stg.dev",".lclstage.dev",".stgstage.dev",".dev.lclclerk.com",".stg.lclclerk.com",".accounts.lclclerk.com","accountsstage.dev","accounts.dev"],fe=w=>"u">typeof atob&&typeof atob=="function"?atob(w):globalThis.Buffer!==void 0?globalThis.Buffer.from(w,"base64").toString():w,ke="pk_live_";function Pe(w){if(!w.endsWith("$"))return!1;let e=w.slice(0,-1);return!e.includes("$")&&e.includes(".")}function _e(w,e={}){let n;if(!(w=w||"")||!at(w)){if(e.fatal&&!w)throw Error("Publishable key is missing. Ensure that your publishable key is correctly configured. Double-check your environment configuration for your keys, or access them here: https://dashboard.clerk.com/last-active?path=api-keys");if(e.fatal&&!at(w))throw Error("Publishable key not valid.");return null}let g=w.startsWith(ke)?"production":"development";try{n=fe(w.split("_")[2])}catch{if(e.fatal)throw Error("Publishable key not valid: Failed to decode key.");return null}if(!Pe(n)){if(e.fatal)throw Error("Publishable key not valid: Decoded key has invalid format.");return null}let A=n.slice(0,-1);return e.proxyUrl?A=e.proxyUrl:g!=="development"&&e.domain&&e.isSatellite&&(A=`clerk.${e.domain}`),{instanceType:g,frontendApi:A}}function at(w=""){try{if(!(w.startsWith(ke)||w.startsWith("pk_test_")))return!1;let e=w.split("_");if(e.length!==3)return!1;let n=e[2];return n?Pe(fe(n)):!1}catch{return!1}}async function pt(w,e=globalThis.crypto.subtle){var n;let g=new TextEncoder().encode(w);return(n=String.fromCharCode(...new Uint8Array(await e.digest("sha-1",g))),"u">typeof btoa&&typeof btoa=="function"?btoa(n):globalThis.Buffer!==void 0?globalThis.Buffer.from(n).toString("base64"):n).replace(/\+/gi,"-").replace(/\//gi,"_").substring(0,8)}let na=(w,e)=>`${w}_${e}`;function Dt(w=""){return(w||"").replace(/^.+:\/\//,"")}let Sa=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,Va=(w,e={})=>{if(w==null||!w||typeof w!="object")return"";let n=new URLSearchParams;return Object.keys(w).forEach(g=>{let A=e.keyEncoder?e.keyEncoder(g):g,N=w[g];if(Array.isArray(N))N.forEach(K=>K!==void 0&&n.append(A,K||""));else{if(N===void 0)return;typeof N=="object"&&N!==null?n.append(A,JSON.stringify(N)):n.append(A,String(N??""))}}),n.toString()},ma="http://clerk-dummy",oe=["javascript:"],{isDevOrStagingUrl:Te}=(l=new Map,{isDevOrStagingUrl:w=>{if(!w)return!1;let e=typeof w=="string"?w:w.hostname,n=l.get(e);return n===void 0&&(n=me.some(g=>e.endsWith(g)),l.set(e,n)),n}}),Ge=new Map;function Ye(w){return w.replace("clerk.","")}function Qe(w,e={}){let{base:n,hashPath:g,hashSearch:A,searchParams:N,hashSearchParams:K,...ge}=w,de=new URL(n||"","u">typeof window&&window.location?window.location.href:"http://react-native-fake-base-url");if(N instanceof URLSearchParams&&N.forEach(($e,et)=>{$e!=null&&de.searchParams.set(Ne(et),$e)}),Object.assign(de,ge),g||A||K){var we;let $e,et=new URL(ma+de.hash.substring(1));for(let[ot,gt]of(we=et.pathname,et.pathname=[we,g||""].filter(Et=>Et).join("/").replace(cr,"/"),Object.entries(($e={},new URLSearchParams(A||"").forEach((Et,Kt)=>{if(Kt in $e){let va=$e[Kt];Array.isArray(va)?va.push(Et):$e[Kt]=[va,Et]}else $e[Kt]=Et}),$e))))et.searchParams.append(ot,gt);if(K)for(let ot of Array.isArray(K)?K:[K])(ot instanceof URLSearchParams||typeof ot=="object")&&new URLSearchParams(ot).forEach((gt,Et)=>{gt!=null&&et.searchParams.set(Ne(Et),gt)});let ft=et.href.replace(ma,"");ft!=="/"&&(de.hash=ft)}let{stringify:ze,skipOrigin:Ze}=e;return ze?Ze?de.href.replace(de.origin,""):de.href:de}function Pt(w){return window.location===void 0&&typeof w=="string"?w:(w=new URL(w.toString(),window.location.origin)).href.replace(w.origin,"")}let Zt=w=>(w||"").replace(/\/+$/,"");function Ct(w,e){try{return new URL(w)}catch{return new URL(w,e)}}let vt=[/\0/,/^\/\//,/[\x00-\x1F]/],wa=["/oauth/authorize"],qa=["/v1/verify","/v1/tickets/accept","/oauth/authorize-with-immediate-redirect","/oauth/end_session"];var Ya=class ru{static keys=["signInForceRedirectUrl","signInFallbackRedirectUrl","signUpForceRedirectUrl","signUpFallbackRedirectUrl","redirectUrl"];static preserved=["redirectUrl"];options;fromOptions;fromProps;fromSearchParams;mode;constructor(e,n={},g={},A){this.options=e,this.fromOptions=this.#i(e||{}),this.fromProps=this.#i(n||{}),this.fromSearchParams=this.#u(g||{}),this.mode=A}getAfterSignInUrl(){return this.#s("signIn")}getAfterSignUpUrl(){return this.#s("signUp")}getPreservedSearchParams(){return this.#t(this.#e())}toSearchParams(){return this.#t(this.#a())}#t(e){return new URLSearchParams(Object.entries(Object.fromEntries(Object.entries(e).map(([n,g])=>[Ne(n),g]))).reduce((n,[g,A])=>(A!=null&&(n[g]=A),n),{}))}#e(){return Object.fromEntries(Object.entries({...this.fromSearchParams}).filter(([e])=>ru.preserved.includes(e)))}#a(){let e=this.fromSearchParams.signUpForceRedirectUrl||this.fromProps.signUpForceRedirectUrl||this.fromOptions.signUpForceRedirectUrl,n=this.fromSearchParams.signUpFallbackRedirectUrl||this.fromProps.signUpFallbackRedirectUrl||this.fromOptions.signUpFallbackRedirectUrl,g=this.fromSearchParams.signInForceRedirectUrl||this.fromProps.signInForceRedirectUrl||this.fromOptions.signInForceRedirectUrl,A={signUpForceRedirectUrl:e,signUpFallbackRedirectUrl:n,signInFallbackRedirectUrl:this.fromSearchParams.signInFallbackRedirectUrl||this.fromProps.signInFallbackRedirectUrl||this.fromOptions.signInFallbackRedirectUrl,signInForceRedirectUrl:g,redirectUrl:this.fromSearchParams.redirectUrl||this.fromProps.redirectUrl};return e&&delete A.signUpFallbackRedirectUrl,g&&delete A.signInFallbackRedirectUrl,A}#s(e){let n,g=`${e}ForceRedirectUrl`,A=`${e}FallbackRedirectUrl`;return n=this.fromSearchParams[g]||this.fromProps[g]||this.fromOptions[g],n||=this.fromSearchParams.redirectUrl,(n||=this.fromSearchParams[A]||this.fromProps[A]||this.fromOptions[A])||this.mode!=="modal"?n||"/":window.location.href}#i(e){let n={};return ru.keys.forEach(g=>{n[g]=e[g]}),Wa(this.#c(this.#l(La(n,Boolean))),g=>g.toString())}#u(e){let n={};return ru.keys.forEach(g=>{e instanceof URLSearchParams?n[g]=e.get(Ne(g)):n[g]=e[Ne(g)]}),Wa(this.#c(this.#l(La(n,Boolean))),g=>g.toString())}#l(e){return Wa(e,n=>Ct(n,window.location.origin))}#c=e=>{let n,g;return La(e,(n=this.options?.allowedRedirectOrigins,g=window.location.origin,A=>{let N=A;if(typeof N=="string"&&(N=Ct(N,g)),!n)return!0;let K=g===N.origin,ge=!function(de){if(function(we){if(!function(Ze){if(!Ze)return!1;try{return new URL(Ze),!0}catch{return!1}}(we))return!1;let ze=new URL(we).protocol;return oe.some(Ze=>Ze===ze)}(de))return!0;for(let we of vt)if(we.test(de.pathname))return!0;return!1}(N)&&(K||n.map(de=>typeof de=="string"?(we=>{try{return Jt(we)}catch(ze){throw Error(`Invalid pattern: ${we}. -Consult the documentation of glob-to-regexp here: https://www.npmjs.com/package/glob-to-regexp. -${ze.message}`)}})(Zt(de)):de).some(de=>de.test(Zt(N.origin))));return ge||sa(`Clerk: Redirect URL ${N} is not on one of the allowedRedirectOrigins, falling back to the default redirect URL.`),ge}))}};let wr="__clerk_netlify_cache_bust",Xt=["__clerk_status","__clerk_created_session","__clerk_invitation_token","__clerk_ticket","__clerk_modal_state","__clerk_handshake","__clerk_handshake_nonce","__clerk_help",wr,Aa,He,Ae];function rr(w){return new URL(window.location.href).searchParams.get(w)||null}function zr(w){let e=new URL(window.location.href);e.searchParams.has(w)&&(e.searchParams.delete(w),window.history.replaceState(window.history.state,"",e))}function $a(w){let e=new URLSearchParams(window.location.search),n=new URLSearchParams;for(let g of Xt){let A=e.get(g);A&&n.set(g,A)}return n}let er={"choose-organization":"choose-organization","reset-password":"reset-password","setup-mfa":"setup-mfa"},Jr=w=>`/tasks/${er[w.key]}`;function Fr(w,{navigate:e,baseUrl:n}){let g=w.currentTask;if(g){var A;let N;return e((A={base:n},N=$a(),Qe({base:A.base,hashPath:Jr(g),searchParams:N},{stringify:!0})))}}let Cr=w=>`🔒 Clerk: -${w.trim()} -(This notice only appears in development)`,pn=w=>Cr(`${w} as a function is not supported in this environment. The value will be ignored. Provide an absolute URL instead.`),Ga={proxyUrlAsFunctionNotSupported:pn("proxyUrl"),domainAsFunctionNotSupported:pn("domain"),cannotRenderComponentWhenSessionExists:"The and components cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the Home URL instead.",cannotRenderSignUpComponentWhenSessionExists:"The component cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the value set in `afterSignUp` URL instead.",cannotRenderSignUpComponentWhenTaskExists:"The component cannot render when a user has a pending task, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the task instead.",cannotRenderComponentWhenTaskDoesNotExist:" cannot render unless a session task is pending. Clerk is redirecting to the value set in `redirectUrlComplete` instead.",cannotRenderSignInComponentWhenSessionExists:"The component cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the `afterSignIn` URL instead.",cannotRenderSignInComponentWhenTaskExists:"The component cannot render when a user has a pending task, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the task instead.",cannotRenderComponentWhenUserDoesNotExist:" cannot render unless a user is signed in. Since no user is signed in, this is no-op.",cannotRenderComponentWhenOrgDoesNotExist:" cannot render unless an organization is active. Since no organization is currently active, this is no-op.",cannotRenderAnyOrganizationComponent:w=>Cr(`The <${w}/> cannot be rendered when the feature is turned off. Visit 'dashboard.clerk.com' to enable the feature. Since the feature is turned off, this is no-op.`),cannotRenderAnyBillingComponent:w=>Cr(`The <${w}/> component cannot be rendered when billing is disabled. Visit 'https://dashboard.clerk.com/last-active?path=billing/settings' to follow the necessary steps to enable billing. Since billing is disabled, this is no-op.`),cannotOpenUserProfile:"The UserProfile modal cannot render unless a user is signed in. Since no user is signed in, this is no-op.",cannotOpenCheckout:"The Checkout drawer cannot render unless a user is signed in. Since no user is signed in, this is no-op.",cannotOpenSignInOrSignUp:"The SignIn or SignUp modals do not render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, this is no-op.",cannotRenderAPIKeysComponent:"The component cannot be rendered when API keys is disabled. Since API keys is disabled, this is no-op.",cannotRenderAPIKeysComponentForOrgWhenUnauthorized:"The component cannot be rendered for an organization unless a user has the required permissions. Since the user does not have the necessary permissions, this is no-op.",cannotRenderAPIKeysComponentForUserWhenDisabled:"The component cannot be rendered when user API keys are disabled. Since user API keys are disabled, this is no-op.",cannotRenderAPIKeysComponentForOrgWhenDisabled:"The component cannot be rendered when organization API keys are disabled. Since organization API keys are disabled, this is no-op.",cannotRenderOAuthConsentComponentWhenUserDoesNotExist:" cannot render unless a user is signed in. Since no user is signed in, this is no-op."};for(let w of Object.keys(Ga)){let e=Ga[w];typeof e!="function"&&(Ga[w]=Cr(e))}let cn="clerk:beforeunload",fa=["http:","https:","wails:","chrome-extension:"];function oa(w){let e=new URL(w,window.location.href);window.dispatchEvent(new CustomEvent(cn)),window.location.href=e.href}function Ut(w){return/^http(s)?:\/\//.test(w||"")}function Ce(w){return w.startsWith("/")}var or=class{#t;#e=864e5;constructor(w){this.#t=w}isEventThrottled(w){let e=Date.now(),n=this.#a(w),g=this.#t.getItem(n);return!!g&&!(e-g>this.#e)||(this.#t.setItem(n,e),!1)}#a(w){let{sk:e,pk:n,payload:g,...A}=w,N={...g,...A};return JSON.stringify(Object.keys({...g,...A}).sort().map(K=>N[K]))}},dr=class{#t="clerk_telemetry_throttler";getItem(w){return this.#e()[w]}setItem(w,e){try{let n=this.#e();n[w]=e,localStorage.setItem(this.#t,JSON.stringify(n))}catch(n){n instanceof DOMException&&(n.name==="QuotaExceededError"||n.name==="NS_ERROR_DOM_QUOTA_REACHED")&&localStorage.length>0&&localStorage.removeItem(this.#t)}}removeItem(w){try{let e=this.#e();delete e[w],localStorage.setItem(this.#t,JSON.stringify(e))}catch{}}#e(){try{let w=localStorage.getItem(this.#t);return w?JSON.parse(w):{}}catch{return{}}}static isSupported(){return"u">typeof window&&!!window.localStorage}},Ca=class{#t=new Map;#e=1e4;getItem(w){return this.#t.size>this.#e?void this.#t.clear():this.#t.get(w)}setItem(w,e){this.#t.set(w,e)}removeItem(w){this.#t.delete(w)}};let Ka=new Set(["error","warn","info","debug","trace"]);var Er=class{#t;#e;#a={};#s=[];#i=null;constructor(w){this.#t={maxBufferSize:w.maxBufferSize??5,samplingRate:w.samplingRate??1,perEventSampling:w.perEventSampling??!0,disabled:w.disabled??!1,debug:w.debug??!1,endpoint:"https://clerk-telemetry.com"},!w.clerkVersion&&"u"typeof process&&Jc&&Ha(Jc.CLERK_TELEMETRY_DISABLED)||"u">typeof window&&window?.navigator?.webdriver)}get isDebug(){return this.#t.debug||"u">typeof process&&Jc&&Ha(Jc.CLERK_TELEMETRY_DEBUG)}record(w){try{let e=this.#f(w.event,w.payload);if(this.#o(e.event,e),!this.#u(e,w.eventSamplingRate))return;this.#s.push({kind:"event",value:e}),this.#r()}catch(e){console.error("[clerk/telemetry] Error recording telemetry event",e)}}recordLog(w){try{if(!this.#l(w))return;let e=typeof w?.level=="string"&&Ka.has(w.level),n=typeof w?.message=="string"&&w.message.trim().length>0,g=null,A=w?.timestamp;if(typeof A=="number"||typeof A=="string"){let ge=new Date(A);Number.isNaN(ge.getTime())||(g=ge)}if(!e||!n||g===null){this.isDebug&&"u">typeof console&&console.warn("[clerk/telemetry] Dropping invalid telemetry log entry",{levelIsValid:e,messageIsValid:n,timestampIsValid:g!==null});return}let N=this.#p(),K={sdk:N.name,sdkv:N.version,cv:this.#a.clerkVersion??"",lvl:w.level,msg:w.message,ts:g.toISOString(),pk:this.#a.publishableKey||null,payload:this.#m(w.context)};this.#s.push({kind:"log",value:K}),this.#r()}catch(e){console.error("[clerk/telemetry] Error recording telemetry log entry",e)}}#u(w,e){return this.isEnabled&&!this.isDebug&&this.#c(w,e)}#l(w){return!0}#c(w,e){let n=Math.random();return n<=this.#t.samplingRate&&(this.#t.perEventSampling===!1||e===void 0||n<=e)&&!this.#e.isEventThrottled(w)}#r(){if("u"=this.#t.maxBufferSize){this.#i&&("u">typeof cancelIdleCallback?cancelIdleCallback(Number(this.#i)):clearTimeout(Number(this.#i))),this.#d();return}this.#i||("requestIdleCallback"in window?this.#i=requestIdleCallback(()=>{this.#d(),this.#i=null}):this.#i=setTimeout(()=>{this.#d(),this.#i=null},0))}#d(){let w=[...this.#s];if(this.#s=[],this.#i=null,w.length===0)return;let e=w.filter(g=>g.kind==="event").map(g=>g.value),n=w.filter(g=>g.kind==="log").map(g=>g.value);e.length>0&&fetch(new URL("/v1/event",this.#t.endpoint),{headers:{"Content-Type":"application/json"},keepalive:!0,method:"POST",body:JSON.stringify({events:e})}).catch(()=>{}),n.length>0&&fetch(new URL("/v1/logs",this.#t.endpoint),{headers:{"Content-Type":"application/json"},keepalive:!0,method:"POST",body:JSON.stringify({logs:n})}).catch(()=>{})}#o(w,e){this.isDebug&&(console.groupCollapsed!==void 0?(console.groupCollapsed("[clerk/telemetry]",w),console.log(e),console.groupEnd()):console.log("[clerk/telemetry]",w,e))}#p(){let w={name:this.#a.sdk,version:this.#a.sdkVersion};if("u">typeof window){let e=window;if(e.Clerk){let n=e.Clerk;if(typeof n=="object"&&n!==null&&"constructor"in n&&typeof n.constructor=="function"&&n.constructor.sdkMetadata){let{name:g,version:A}=n.constructor.sdkMetadata;g!==void 0&&(w.name=g),A!==void 0&&(w.version=A)}}}return w}#f(w,e){let n=this.#p();return{event:w,cv:this.#a.clerkVersion??"",it:this.#a.instanceType??"",sdk:n.name,sdkv:n.version,...this.#a.publishableKey?{pk:this.#a.publishableKey}:{},...this.#a.secretKey?{sk:this.#a.secretKey}:{},payload:e}}#m(w){if(w==null||typeof w!="object")return null;try{let e=JSON.parse(JSON.stringify(w));return e&&typeof e=="object"&&!Array.isArray(e)?e:null}catch{return null}}};let Zr="COMPONENT_MOUNTED",Yr=new Set(["SignIn","SignUp"]);function gn(w){return function(e,n,g){return{event:w,eventSamplingRate:w===Zr&&Yr.has(e)?1:.1,payload:{component:e,appearanceProp:!!n?.appearance,theme:!!n?.appearance?.theme,elements:!!n?.appearance?.elements,variables:!!n?.appearance?.variables,...g}}}}function ya(w,e,n){return gn(Zr)(w,e,n)}function en(w,e,n){return gn("COMPONENT_OPENED")(w,e,n)}function Un(w){return typeof w=="string"?w:typeof w=="object"&&w!==null&&"name"in w&&typeof w.name=="string"?w.name:void 0}var la=sr(7009);let Wr=!1,ur=null,rn=!1,ia=[];function Xe(w,e,n,g){Wr&&(ia.push({level:w,message:e,context:n,source:g,ts:Date.now()}),ia.length>200&&ia.shift())}async function Tt(w){try{if(!Wr||ur)return;let{getDebugLogger:e}=await Promise.resolve().then(sr.bind(sr,1521)),n=await e({logLevel:w?.logLevel,telemetryCollector:w?.telemetryCollector});if(n&&(ur=n)&&ia.length!==0){for(let g of ia){let A={...g.context||{},__preInit:!0,__preInitTs:g.ts};switch(g.level){case"error":ur.error(g.message,A,g.source);break;case"warn":ur.warn(g.message,A,g.source);break;case"info":ur.info(g.message,A,g.source);break;case"debug":ur.debug(g.message,A,g.source)}}ia.length=0}}catch(e){try{console.debug?.("Debug logger initialization failed",e)}catch{}return}}let rt={debug(w,e,n){ur?ur.debug(w,e,n):Xe("debug",w,e,n)},error(w,e,n){ur?ur.error(w,e,n):Xe("error",w,e,n)},info(w,e,n){ur?ur.info(w,e,n):Xe("info",w,e,n)},warn(w,e,n){ur?ur.warn(w,e,n):Xe("warn",w,e,n)}},ua={initialDelay:125,maxDelayBetweenRetries:0,factor:2,shouldRetry:(w,e)=>e<5,retryImmediately:!1,jitter:!0},ea=async w=>new Promise(e=>setTimeout(e,w)),Ea=(w,e)=>e?w*(1+Math.random()):w,Da=async(w,e={})=>{var n;let g,A=0,{shouldRetry:N,initialDelay:K,maxDelayBetweenRetries:ge,factor:de,retryImmediately:we,jitter:ze,onBeforeRetry:Ze}={...ua,...e},$e=(n={initialDelay:K,maxDelayBetweenRetries:ge,factor:de,jitter:ze},g=0,async()=>{let et;await ea((et=Ea(et=n.initialDelay*Math.pow(n.factor,g),n.jitter),Math.min(n.maxDelayBetweenRetries||et,et))),g++});for(;;)try{return await w()}catch(et){if(!N(et,++A))throw et;Ze&&await Ze(A),we&&A===1?await ea(Ea(100,ze)):await $e()}},ga=async w=>Da(w,{initialDelay:100,shouldRetry:(e,n)=>n<=3,retryImmediately:!0,factor:2});class Ta{#t={"@zxcvbn-ts/core":()=>ga(()=>Promise.resolve().then(sr.bind(sr,1835))),"@zxcvbn-ts/language-common":()=>ga(()=>Promise.resolve().then(sr.bind(sr,3618))),"@base-org/account":()=>ga(()=>Promise.resolve().then(sr.bind(sr,9018))),"@coinbase/wallet-sdk":()=>ga(()=>Promise.resolve().then(sr.bind(sr,1276))),"@stripe/stripe-js":()=>ga(()=>Promise.resolve().then(sr.bind(sr,8755)))};import(e){return this.#t[e]?this.#t[e]():Promise.resolve(void 0)}}let ta=(w=!1)=>{let e,n;if(!w)return{track:async A=>{await A()},isUnloading:()=>!1};let g=(e=!1,n=()=>e=!0,{startListening:()=>{window.addEventListener("beforeunload",n),window.addEventListener(cn,n)},stopListening:()=>{window.removeEventListener("beforeunload",n),window.removeEventListener(cn,n)},isUnloading:()=>e});return{track:async A=>{g.startListening(),await A(),g.stopListening()},isUnloading:g.isUnloading}},Ua=w=>({amount:w.amount,amountFormatted:w.amount_formatted,currency:w.currency,currencySymbol:w.currency_symbol}),kr=w=>({proration:w.proration?{amount:Ua(w.proration.amount),cycleDaysRemaining:w.proration.cycle_days_remaining,cycleDaysTotal:w.proration.cycle_days_total,cycleRemainingPercent:w.proration.cycle_remaining_percent}:null,payer:w.payer?{remainingBalance:Ua(w.payer.remaining_balance),appliedAmount:Ua(w.payer.applied_amount)}:null,total:Ua(w.total)}),lr=w=>{let e={grandTotal:Ua(w.grand_total),subtotal:Ua(w.subtotal),taxTotal:Ua(w.tax_total)};return"past_due"in w&&(e.pastDue=w.past_due?Ua(w.past_due):null),"credit"in w&&(e.credit=w.credit?Ua(w.credit):null),"per_unit_totals"in w&&(e.perUnitTotals=w.per_unit_totals?w.per_unit_totals.map(n=>({name:n.name,blockSize:n.block_size,tiers:n.tiers.map(g=>({quantity:g.quantity,feePerBlock:Ua(g.fee_per_block),total:Ua(g.total)}))})):void 0),"credits"in w&&(e.credits=w.credits?kr(w.credits):null),"total_due_now"in w&&(e.totalDueNow=Ua(w.total_due_now)),"total_due_after_free_trial"in w&&(e.totalDueAfterFreeTrial=w.total_due_after_free_trial?Ua(w.total_due_after_free_trial):null),e};function nn(w,e=""){return w.errors&&!!w.errors.find(n=>n.code===e)}let Lr=X({packageName:"@clerk/clerk-js"});function Qr(w){return decodeURIComponent(globalThis.atob(w.replace(/_/g,"/").replace(/-/g,"+")).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""))}function xr(w){let e=(w||"").split("."),[n,g,A]=e;if(e.length!==3||!n||!g||!A)throw Error("JWT could not be decoded");let N=JSON.parse(Qr(g)),K={__raw:w};return Object.keys(N).forEach(ge=>{K[ge]=N[ge]}),{encoded:{header:n,payload:g,signature:A},header:JSON.parse(Qr(n)),claims:K}}function Ar(){if(!h())return null;try{let w=navigator?.language;return!w||typeof w!="string"||w.trim()===""?null:w}catch{return null}}function br(){return globalThis.document!==void 0}function Ai(){if(!function(){if(!br())return!1;try{return window.self!==window.top}catch{return!0}}())return!1;try{return window.top?.location.href,!1}catch{return!0}}var us=class wl{#t=[];#e={metamask:"MetaMask",okx_wallet:"OKX Wallet"};static#a=null;constructor(){"u"{let n=this.#t.find(g=>g.info.name===this.#e[e])?.provider;return n!==void 0?n:window.ethereum};#s=e=>{this.#t.some(n=>n.info.uuid===e.detail.info.uuid)||this.#t.push(e.detail)}},ds=class kl{#t=void 0;#e=!1;static#a=null;async#s(){if(this.#e)return;this.#e=!0;let e=await Promise.resolve().then(sr.bind(sr,7410)).then(n=>n.getWallets());this.#t=e.get(),e.on("register",()=>{this.#t=e.get()}),e.on("unregister",()=>{this.#t=e.get()})}#i(e){return e.chains?.some(n=>n.startsWith("solana:"))??!1}#u(e){return"solana:signMessage"in e.features}static getInstance(){return kl.#a||(kl.#a=new kl),kl.#a}get=async e=>{await this.#s();let n=(this.#t||[]).find(A=>A.name===e&&this.#i(A)&&this.#u(A));if(n&&this.#i(n))return n;if("u"function(w){let e=X({packageName:"@clerk/shared"});async function n(ot){let{provider:gt,walletName:Et}=ot,Kt=await ft(gt,Et);if(!Kt)return"";if(gt==="solana"){let xa=await Kt.features["standard:connect"].connect();return xa&&xa.accounts[0].address||""}let va=await Kt.request({method:"eth_requestAccounts"});return va&&va[0]||""}let g=async ot=>{let{identifier:gt,nonce:Et,provider:Kt,walletName:va=""}=ot,xa=await ft(Kt,va);if(!xa)return"";if(Kt==="solana")try{let ja=xa.accounts.find(Za=>Za.address===gt);if(!ja)return console.warn(`Wallet account with address ${gt} not found`),"";let _a=await xa.features["solana:signMessage"]?.signMessage({account:ja,message:new TextEncoder().encode(Et)});return _a?.[0]?.signature?btoa(String.fromCharCode(..._a[0].signature)):""}catch(ja){throw ja instanceof Error&&ja.message.includes("User rejected the request.")?new Y("Web3 signature request was rejected by the user.",{code:"web3_signature_request_rejected"}):new Y("An error occurred while generating the Solana signature.",{code:"web3_solana_signature_generation_failed",cause:ja instanceof Error?ja:void 0})}return await xa.request({method:"personal_sign",params:[`0x${Et.split("").map(ja=>ja.charCodeAt(0).toString(16).padStart(2,"0")).join("")}`,gt]})};async function A(){return await n({provider:"metamask"})}async function N(){return await n({provider:"coinbase_wallet"})}async function K(){return await n({provider:"okx_wallet"})}async function ge(){return await n({provider:"base"})}async function de(ot){return await n({provider:"solana",walletName:ot})}async function we(ot){return await g({...ot,provider:"metamask"})}async function ze(ot){return await g({...ot,provider:"coinbase_wallet"})}async function Ze(ot){return await g({...ot,provider:"okx_wallet"})}async function $e(ot){return await g({...ot,provider:"base"})}async function et(ot){return await g({...ot,provider:"solana"})}async function ft(ot,gt){if(ot==="coinbase_wallet"){let Et=await w.import("@coinbase/wallet-sdk");return Et?Et.createCoinbaseWalletSDK({appName:"u">typeof window&&window.Clerk?.__internal_environment?.displayConfig?.applicationName||"u">typeof document&&document.title||"Web3 Application",preference:{options:"all"}}).getProvider():null}if(ot==="base")try{let Et=await w.import("@base-org/account");return Et?Et.createBaseAccountSDK({appName:"u">typeof window&&window.Clerk?.__internal_environment?.displayConfig?.applicationName||"u">typeof document&&document.title||"Web3 Application"}).getProvider():null}catch{return null}return ot==="solana"?gt&>.length!==0?await ds.getInstance().get(gt):void e.throw("Wallet name must be provided to get Solana wallet provider"):us.getInstance().get(ot)}return{getWeb3Identifier:n,generateWeb3Signature:g,getMetamaskIdentifier:A,getCoinbaseWalletIdentifier:N,getOKXWalletIdentifier:K,getBaseIdentifier:ge,getSolanaIdentifier:de,generateSignatureWithMetamask:we,generateSignatureWithCoinbaseWallet:ze,generateSignatureWithOKXWallet:Ze,generateSignatureWithBase:$e,generateSignatureWithSolana:et}}(new Ta),hs="environment",ps=JSON.stringify,hr=JSON.parse;class ri{static _key(e){return`__clerk_${e}`}static isExpired(e){return!!e.exp&&Date.now()>e.exp}static setItem(e,n,g){try{let A={value:n,...g&&{exp:Date.now()+g}};window.localStorage.setItem(this._key(e),ps(A))}catch{}}static getItem(e,n){try{let g=window.localStorage.getItem(this._key(e));if(!g)return n;let A=hr(g);return A?this.isExpired(A)?(this.removeItem(e),n):A?.value??n:n}catch{return n}}static removeItem(e){try{window.localStorage.removeItem(this._key(e))}catch{}}}let _r="ClerkJS:";function Zi(w=""){throw Error(`${_r} Something went wrong initializing Clerk in development mode.${w&&` ${w}`}`)}function Ms(w){throw Error(`${_r} Something went wrong initializing Clerk during the ${w} flow. Please contact support.`)}function ms(w){throw Error(`${_r} You need to start a ${w} flow by calling ${w}.create() first.`)}function _n(w,e){throw Error(`${_r} Strategy "${e}" is not a valid strategy for ${w}.`)}function bn(w){throw Error(`${_r} You need to start a ${w} flow by calling ${w}.create({ identifier: 'your web3 wallet address' }) first`)}function ei(w=""){throw Error(`${_r} Missing '${w}' option`)}function Ii(w,e){throw Error(`${_r} Response: ${w||0} not supported yet. -For more information contact us at ${e}`)}function Ht(w){throw Error(`${_r} Missing publicKey. When calling 'navigator.credentials.${w}()' it is required to pass a publicKey object.`)}async function Mn(w="",e){let{async:n,defer:g,beforeLoad:A,crossOrigin:N,nonce:K}=e||{};return Da(()=>new Promise((ge,de)=>{w||de(Error("loadScript cannot be called without a src")),document&&document.body||de(Error("loadScript cannot be called when document does not exist"));let we=document.createElement("script");N&&we.setAttribute("crossorigin",N),we.async=n||!1,we.defer=g||!1,we.addEventListener("load",()=>{we.remove(),ge(we)}),we.addEventListener("error",ze=>{we.remove(),de(ze.error??Error(`failed to load script: ${w}`))}),we.src=w,we.nonce=K,A?.(we),document.body.appendChild(we)}),{shouldRetry:(ge,de)=>de<=5})}async function fs(w){return window.turnstile||await Rs(w).catch(()=>{throw{captchaError:"captcha_script_failed_to_load"}}),window.turnstile}async function Rs(w){try{return await Mn("https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",{defer:!0,nonce:w})}catch(e){throw console.warn("Clerk: Failed to load the CAPTCHA script from Cloudflare. If you see a CSP error in your browser, please add the necessary CSP rules to your app. Visit https://clerk.com/docs/security/clerk-csp for more information."),e}}function jn(w){try{let e=w.getAttribute("data-cl-theme")||void 0,n=w.getAttribute("data-cl-language")||void 0,g=w.getAttribute("data-cl-size")||void 0;return{theme:e,language:n,size:g}}catch{return{theme:void 0,language:void 0,size:void 0}}}let $r=async w=>{let e,n,g,A,{siteKey:N,widgetType:K,invisibleSiteKey:ge,nonce:de}=w,{modalContainerQuerySelector:we,modalWrapperQuerySelector:ze,closeModal:Ze,openModal:$e}=w,et=await fs(de),ft=[],ot="",gt="",Et=N,Kt=0,va=null,xa="invisible";if(we&&ze){va=K,A=we,xa="modal";try{await $e?.()}catch{throw{captchaError:"modal_component_not_ready"}}let _a=await new Promise(Za=>{if(document.querySelector(we))return Za(document.querySelector(we));let ca=new MutationObserver(()=>{document.querySelector(we)&&(ca.disconnect(),Za(document.querySelector(we)))});ca.observe(document.body,{childList:!0,subtree:!0})});if(_a){let{theme:Za,language:ca,size:Ma}=jn(_a);e=Za,g=ca,n=Ma}}if(!A&&K==="smart"){let _a=document.getElementById(ct);if(_a){xa="smart",va="smart",A=`#${ct}`,_a.style.maxHeight="0";let{theme:Za,language:ca,size:Ma}=jn(_a);e=Za,g=ca,n=Ma}else console.error("Cannot initialize Smart CAPTCHA widget because the `clerk-captcha` DOM element was not found; falling back to Invisible CAPTCHA widget. If you are using a custom flow, visit https://clerk.com/docs/guides/development/custom-flows/authentication/bot-sign-up-protection for instructions")}if(!A){xa="invisible",Et=ge,va="invisible",A=`.${It}`;let _a=document.createElement("div");_a.classList.add(It),_a.style.display="none",document.body.appendChild(_a)}let ja=async()=>new Promise((_a,Za)=>{try{let ca=et.render(A,{sitekey:Et,appearance:"interaction-only",theme:e||"auto",size:n||"normal",language:g||"auto",action:w.action,retry:"never","refresh-expired":"auto",callback:function(Ma){Ze?.(),_a([Ma,ca])},"before-interactive-callback":()=>{if(ze){let Ma=document.querySelector(ze);Ma?.style.setProperty("visibility","visible"),Ma?.style.setProperty("pointer-events","all")}else{let Ma=document.getElementById(ct);Ma&&(Ma.style.maxHeight="unset",Ma.style.minHeight=n==="compact"?"140px":"68px",Ma.style.marginBottom="1.5rem")}},"error-callback":function(Ma){var Oa;ft.push(Ma),Kt<2&&(Oa=Ma.toString(),["crashed","undefined_error","102","103","104","106","110600","300","600"].find(Ir=>Oa.startsWith(Ir)))?setTimeout(()=>{A&&!document.querySelector(A)?Za([ft.join(","),ca]):(et.reset(ca),Kt++)},250):Za([ft.join(","),ca])},"unsupported-callback":function(){return Za(["This browser is not supported by the CAPTCHA.",ca]),!0}})}catch(ca){Za([ca,void 0])}});try{[ot,gt]=await ja(),et.remove(gt)}catch([_a,Za]){throw Za&&et.remove(Za),{captchaError:_a}}finally{if(xa==="modal"&&Ze?.(),xa==="invisible"){let _a=document.querySelector(`.${It}`);_a&&document.body.removeChild(_a)}if(xa==="smart"){let _a=document.getElementById(ct);_a&&(_a.style.maxHeight="0",_a.style.minHeight="unset",_a.style.marginBottom="unset")}}return{captchaToken:ot,captchaWidgetType:va}},Ur=w=>{let e=w.__internal_environment,n=e?e.displayConfig.captchaProvider:"turnstile",g=w.__internal_getOption?.("nonce");return{captchaSiteKey:e?e.displayConfig.captchaPublicKey:null,captchaWidgetType:e?e.displayConfig.captchaWidgetType:null,captchaProvider:n,captchaPublicKeyInvisible:e?e.displayConfig.captchaPublicKeyInvisible:null,canUseCaptcha:e?e.userSettings.signUp.captcha_enabled&&w.isStandardBrowser:null,nonce:g||void 0}};class zn{clerk;constructor(e){this.clerk=e}async invisible(e){let{captchaSiteKey:n,canUseCaptcha:g,captchaPublicKeyInvisible:A,nonce:N}=Ur(this.clerk);return g&&n&&A?{...await $r({action:e?.action,captchaProvider:"turnstile",invisibleSiteKey:A,nonce:e?.nonce||N||void 0,siteKey:A,widgetType:"invisible"}).catch(K=>K.captchaError?{captchaError:K.captchaError}:{captchaError:K?.message||K||"unexpected_captcha_error"}),captchaAction:e?.action}:{captchaError:"captcha_unavailable",captchaAction:e?.action}}async managedOrInvisible(e){let{captchaSiteKey:n,canUseCaptcha:g,captchaWidgetType:A,captchaProvider:N,captchaPublicKeyInvisible:K,nonce:ge}=Ur(this.clerk);if(g&&n&&K){let de=await $r({captchaProvider:N,invisibleSiteKey:K,nonce:ge||void 0,siteKey:n,widgetType:A,...e}).catch(we=>we.captchaError?{captchaError:we.captchaError}:e?.action==="verify"?{captchaError:we?.message||we||"unexpected_captcha_error"}:void 0);return e?.action==="verify"?{...de,captchaAction:"verify"}:de}return e?.action==="verify"?{captchaError:"captcha_unavailable",captchaAction:e?.action}:{}}async managedInModal(e){if("u"this.clerk.__internal_openBlankCaptchaModal(),closeModal:()=>this.clerk.__internal_closeBlankCaptchaModal(),action:e?.action})}}class yi{client;CaptchaChallengeImpl;static instance;inflightException=null;captchaRetryCount=0;MAX_RETRY_ATTEMPTS=3;static getInstance(){return yi.instance||(yi.instance=new yi(fn,zn)),yi.instance}constructor(e,n){this.client=e,this.CaptchaChallengeImpl=n}async execute(e,n){if(this.captchaAttemptsExceeded())throw new Y("Security verification failed. Please try again by refreshing the page, clearing your browser cookies, or using a different web browser.",{code:"captcha_client_attempts_exceeded"});try{return this.inflightException&&await this.inflightException,await n()}catch(g){let A;if(!J(g)||ae(g)&&g.code==="network_error"||g.errors[0]?.code!=="requires_captcha")throw g;if(this.inflightException)return await this.inflightException,await n();this.inflightException=new Promise(N=>A=N);try{let N=await this.managedChallenge(e);N?.captchaError!=="modal_component_not_ready"&&(await this.client.getOrCreateInstance().__internal_sendCaptchaToken(N),this.captchaRetryCount=0)}catch(N){throw this.captchaRetryCount++,N}finally{A(),this.inflightException=null}return await n()}}managedChallenge(e){return new this.CaptchaChallengeImpl(e).managedInModal({action:"verify"})}captchaAttemptsExceeded=()=>this.captchaRetryCount>=this.MAX_RETRY_ATTEMPTS}class Le{static clerk;id;pathRoot="";static get fapiClient(){return Le.clerk.getFapiClient()}async reload(e){let{rotatingTokenNonce:n}=e||{};return this._baseGet({forceUpdateClient:!0,rotatingTokenNonce:n})}isNew(){return!this.id}static async _fetch(e,n={}){return yi.getInstance().execute(this.clerk,()=>this._baseFetch(e,n))}static async _baseFetch(e,n={}){let g;Le.fapiClient||function(){throw Error(`${_r} Missing FAPI client in resources.`)}();let{fetchMaxTries:A}=n;try{g=await Le.fapiClient.request(e,{fetchMaxTries:A})}catch(we){if(this.shouldRethrowOfflineNetworkErrors())throw new Y(we?.message||we,{code:"network_error"});if(!y())return rt.warn("Network request failed while offline, returning null",{method:e.method,path:e.path},"baseResource"),null;throw we}let{payload:N,status:K,statusText:ge,headers:de}=g;if(de){let we=de.get("x-country");this.clerk.__internal_setCountry(we?we.toLowerCase():null)}if((e.method!=="GET"||n.forceUpdateClient)&&!n.skipUpdateClient&&this._updateClient(N),K>=200&&K<=299)return N;if(K>=400){let we=N?.errors,ze=we?.[0]?.long_message,Ze=we?.[0]?.code;K===401&&Ze==="dev_browser_unauthenticated"?await Le.clerk.__internal_handleUnauthenticatedDevBrowser():K===401&&Ze!=="requires_captcha"&&await Le.clerk.handleUnauthenticated(),function(et,ft){var ot;if(!ft||!ft[0])return;let gt=ft[0],Et=gt.long_message;if(gt.code==="origin_invalid"&&((ot=Le.clerk.publishableKey).startsWith("live_")||ot.startsWith("pk_live_"))){let Kt=Le.clerk.frontendApi.replace("clerk.","");throw new se(`Clerk: Production Keys are only allowed for domain "${Kt}". -API Error: ${Et}`,{data:ft,status:et})}}(K,we);let $e={data:we,status:K};if(K===429&&de){let et=de.get("retry-after");if(et){let ft=parseInt(et,10);isNaN(ft)||($e.retryAfter=ft)}}throw new se(ze||ge,$e)}return null}static _updateClient(e){let n=Wo(e);n&&Le.clerk&&Le.clerk.updateClient(n)}path(e){let n=this.pathRoot;if(this.isNew())return n;let g=n.replace(/[^/]$/,"$&/")+encodeURIComponent(this.id);return e?g.replace(/[^/]$/,"$&/")+encodeURIComponent(e):g}withDefault(e,n){return e??n}async _baseGet(e={}){let n=await Le._fetch({method:"GET",path:this.path(),rotatingTokenNonce:e.rotatingTokenNonce},e);return this.fromJSON(n?.response||n)}async _baseMutate(e){let{action:n,body:g,method:A,path:N}=e,K=await Le._fetch({method:A,path:N||this.path(n),body:g});return this.fromJSON(K?.response||K)}async _baseMutateBypass(e){let{action:n,body:g,method:A,path:N}=e,K=await Le._baseFetch({method:A,path:N||this.path(n),body:g});return this.fromJSON(K?.response||K)}async _basePost(e={}){return this._baseMutate({...e,method:"POST"})}async _basePostBypass(e={}){return this._baseMutateBypass({...e,method:"POST"})}async _basePut(e={}){return this._baseMutate({...e,method:"PUT"})}async _basePatch(e={}){return this._baseMutate({...e,method:"PATCH"})}async _baseDelete(e={}){await this._baseMutate({...e,method:"DELETE"})}static shouldRethrowOfflineNetworkErrors(){return Le.clerk?.__internal_getOption?.("experimental")?.rethrowOfflineNetworkErrors||!1}}function Gt(w){let e=new Date(w||new Date);return e instanceof Date&&!isNaN(e.getTime())?e:new Date}class da extends Le{pathRoot="/api_keys";id;type;name;subject;scopes;claims;revoked;revocationReason;expired;expiration;createdBy;description;secret;lastUsedAt;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.type=e.type,this.name=e.name,this.subject=e.subject,this.scopes=e.scopes,this.claims=e.claims,this.revoked=e.revoked,this.revocationReason=e.revocation_reason,this.expired=e.expired,this.expiration=e.expiration?Gt(e.expiration):null,this.createdBy=e.created_by,this.description=e.description,this.secret=e.secret,this.lastUsedAt=e.last_used_at?Gt(e.last_used_at):null,this.updatedAt=Gt(e.updated_at),this.createdAt=Gt(e.created_at)),this}__internal_toSnapshot(){return{object:"api_key",id:this.id,type:this.type,name:this.name,subject:this.subject,scopes:this.scopes,claims:this.claims,revoked:this.revoked,revocation_reason:this.revocationReason,expired:this.expired,expiration:this.expiration?this.expiration.getTime():null,created_by:this.createdBy,description:this.description,last_used_at:this.lastUsedAt?this.lastUsedAt.getTime():null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}class Kr extends Le{claimedAt=null;reverification=!1;singleSessionMode=!1;preferredChannels=null;sessionMinter=!1;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.claimedAt=this.withDefault(e.claimed_at?Gt(e.claimed_at):null,this.claimedAt),this.reverification=this.withDefault(e.reverification,this.reverification),this.singleSessionMode=this.withDefault(e.single_session_mode,this.singleSessionMode),this.preferredChannels=this.withDefault(e.preferred_channels,this.preferredChannels),this.sessionMinter=this.withDefault(e.session_minter,this.sessionMinter)),this}__internal_toSnapshot(){return{claimed_at:this.claimedAt?this.claimedAt.getTime():null,id:this.id??"",object:"auth_config",reverification:this.reverification,single_session_mode:this.singleSessionMode,session_minter:this.sessionMinter}}}(D=O||(O={}))[D.None=0]="None",D[D.Mutable=1]="Mutable",D[D.Watching=2]="Watching",D[D.RecursedCheck=4]="RecursedCheck",D[D.Recursed=8]="Recursed",D[D.Dirty=16]="Dirty",D[D.Pending=32]="Pending";let $n=[],{link:yn,unlink:Sn,propagate:Ci,checkDirty:Ei,endTracking:Oi,startTracking:qi,shallowPropagate:H}=function({update:w,notify:e,unwatched:n}){let g=0;return{link:function(K,ge){let de,we=ge.depsTail;if(we!==void 0&&we.dep===K)return;if(4&ge.flags&&(de=we!==void 0?we.nextDep:ge.deps)!==void 0&&de.dep===K){de.version=g,ge.depsTail=de;return}let ze=K.subsTail;if(ze!==void 0&&ze.version===g&&ze.sub===ge)return;let Ze=ge.depsTail=K.subsTail={version:g,dep:K,sub:ge,prevDep:we,nextDep:de,prevSub:ze,nextSub:void 0};de!==void 0&&(de.prevDep=Ze),we!==void 0?we.nextDep=Ze:ge.deps=Ze,ze!==void 0?ze.nextSub=Ze:K.subs=Ze},unlink:A,propagate:function(K){let ge,de=K.nextSub;e:for(;;){let we=K.sub,ze=we.flags;if(3&ze&&(60&ze?12&ze?4&ze?!(48&ze)&&function(Ze,$e){let et=$e.depsTail;if(et!==void 0){let ft=$e.deps;do{if(ft===Ze)return!0;if(ft===et)break;ft=ft.nextDep}while(ft!==void 0)}return!1}(K,we)?(we.flags=40|ze,ze&=1):ze=0:we.flags=-9&ze|32:ze=0:we.flags=32|ze,2&ze&&e(we),1&ze)){let Ze=we.subs;if(Ze!==void 0){K=Ze,Ze.nextSub!==void 0&&(ge={value:de,prev:ge},de=K.nextSub);continue}}if((K=de)!==void 0){de=K.nextSub;continue}for(;ge!==void 0;)if(K=ge.value,ge=ge.prev,K!==void 0){de=K.nextSub;continue e}break}},checkDirty:function(K,ge){let de,we=0;e:for(;;){let ze=K.dep,Ze=ze.flags,$e=!1;if(16&ge.flags)$e=!0;else if((17&Ze)==17){if(w(ze)){let et=ze.subs;et.nextSub!==void 0&&N(et),$e=!0}}else if((33&Ze)==33){(K.nextSub!==void 0||K.prevSub!==void 0)&&(de={value:K,prev:de}),K=ze.deps,ge=ze,++we;continue}if(!$e&&K.nextDep!==void 0){K=K.nextDep;continue}for(;we;){--we;let et=ge.subs,ft=et.nextSub!==void 0;if(ft?(K=de.value,de=de.prev):K=et,$e){if(w(ge)){ft&&N(et),ge=K.sub;continue}}else ge.flags&=-33;if(ge=K.sub,K.nextDep!==void 0){K=K.nextDep;continue e}$e=!1}return $e}},endTracking:function(K){let ge=K.depsTail,de=ge!==void 0?ge.nextDep:K.deps;for(;de!==void 0;)de=A(de,K);K.flags&=-5},startTracking:function(K){++g,K.depsTail=void 0,K.flags=-57&K.flags|4},shallowPropagate:N};function A(K,ge=K.sub){let de=K.dep,we=K.prevDep,ze=K.nextDep,Ze=K.nextSub,$e=K.prevSub;return ze!==void 0?ze.prevDep=we:ge.depsTail=we,we!==void 0?we.nextDep=ze:ge.deps=ze,Ze!==void 0?Ze.prevSub=$e:de.subsTail=$e,$e!==void 0?$e.nextSub=Ze:(de.subs=Ze)===void 0&&n(de),ze}function N(K){do{let ge=K.sub,de=K.nextSub,we=ge.flags;(48&we)==32&&(ge.flags=16|we,2&we&&e(ge)),K=de}while(K!==void 0)}}({update:w=>"getter"in w?st(w):Ft(w,w.value),notify:function w(e){let n=e.flags;if(!(64&n)){e.flags=64|n;let g=e.subs;g!==void 0?w(g.sub):$n[Z++]=e}},unwatched(w){if("getter"in w){let e=w.deps;if(e!==void 0){w.flags=17;do e=Sn(e,w);while(e!==void 0)}}else"previousValue"in w||nr.call(w)}}),x=0,U=0,Z=0;function le(w){let e=s;return s=w,e}function ye(w){return Qa.bind({previousValue:w,value:w,subs:void 0,subsTail:void 0,flags:1})}function Ie(w){return Me.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:17,getter:w})}function Je(w){let e={fn:w,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:2};s!==void 0&&yn(e,s);let n=le(e);try{e.fn()}finally{le(n)}return nr.bind(e)}function st(w){let e=le(w);qi(w);try{let n=w.value;return n!==(w.value=w.getter(n))}finally{le(e),Oi(w)}}function Ft(w,e){return w.flags=1,w.previousValue!==(w.previousValue=e)}function Yt(){for(;U(ge!==void 0&&(N[K]=ge),N),{}),limit:A+"",offset:((n??1)-1)*A+""})}class Or{static#t="/billing";static path(e,n){let{orgId:g}=n||{};return`${g?`/organizations/${g}`:"/me"}${Or.#t}${e}`}getPlans=async e=>{let{for:n,...g}=e||{},A={...g,payer_type:n==="organization"?"org":"user"};return await Le._fetch({path:`${Or.#t}/plans`,method:"GET",search:Mr(A)}).then(N=>{let{data:K,total_count:ge}=N;return{total_count:ge,data:K.map(de=>new Rn(de))}})};getPlan=async e=>new Rn(await Le._fetch({path:`${Or.#t}/plans/${e.id}`,method:"GET"}));getSubscription=async e=>await Le._fetch({path:Or.path("/subscription",{orgId:e.orgId}),method:"GET"}).then(n=>new wn(n?.response));getStatements=async e=>{let{orgId:n,...g}=e;return await Le._fetch({path:Or.path("/statements",{orgId:n}),method:"GET",search:Mr(g)}).then(A=>{let{data:N,total_count:K}=A?.response;return{total_count:K,data:N.map(ge=>new hi(ge))}})};getStatement=async e=>new hi((await Le._fetch({path:Or.path(`/statements/${e.id}`,{orgId:e.orgId}),method:"GET"}))?.response);getPaymentAttempts=async e=>{let{orgId:n,...g}=e;return await Le._fetch({path:Or.path("/payment_attempts",{orgId:n}),method:"GET",search:Mr(g)}).then(A=>{let{data:N,total_count:K}=A;return{total_count:K,data:N.map(ge=>new sn(ge))}})};getPaymentAttempt=async e=>new sn(await Le._fetch({path:Or.path(`/payment_attempts/${e.id}`,{orgId:e.orgId}),method:"GET"}));startCheckout=async e=>{let{orgId:n,...g}=e;return new An((await Le._fetch({path:Or.path("/checkouts",{orgId:n}),method:"POST",body:g}))?.response)}}let Zn=ye({resource:null}),un=ye({error:null}),mn=ye({status:"idle"}),Kn=Ie(()=>{let w=Zn().resource,e=un().error,n=mn().status;return{errors:Ja(e,{identifier:null,password:null,code:null}),fetchStatus:n,signIn:w?w.__internal_future:null}}),tn=ye({resource:null}),Pn=ye({error:null}),yr=ye({status:"idle"}),Hn=Ie(()=>{let w=tn().resource,e=Pn().error,n=yr().status;return{errors:Ja(e,{firstName:null,lastName:null,emailAddress:null,phoneNumber:null,password:null,username:null,code:null,captcha:null,legalAccepted:null}),fetchStatus:n,signUp:w?w.__internal_future:null}}),Rr=ye({resource:null}),Br=ye({error:null}),tr=ye({status:"idle"}),Nr=Ie(()=>{let w=Rr().resource,e=Br().error,n=tr().status;return{errors:Ja(e,{emailAddress:null}),fetchStatus:n,waitlist:w}});function Ja(w,e){let n={fields:{...e},raw:null,global:null};if(!w)return n;if(!J(w))return n.raw=[w],n.global=[bt(w)],n;function g(A){return"meta"in A&&A.meta&&"paramName"in A.meta&&A.meta.paramName!==void 0}return w.errors.some(g)?w.errors.forEach(A=>{if(n.raw?n.raw.push(A):n.raw=[A],g(A)){let N=Qt(A.meta.paramName);N in n.fields&&(n.fields[N]=A)}}):(n.raw=[w],n.global=[bt(w)]),n}class Hr extends Le{id;createdAt;updatedAt;imageUrl;userId=null;email;firstName;lastName;organizationId=null;organizationName;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,e.created_at&&(this.createdAt=Gt(e.created_at)),e.updated_at&&(this.updatedAt=Gt(e.updated_at)),this.imageUrl=e.image_url,this.userId=e.user_id,this.email=e.email,this.firstName=e.first_name,this.lastName=e.last_name,this.organizationId=e.organization_id,this.organizationName=e.organization_name),this}}class An extends Le{id;externalClientSecret;externalGatewayId;paymentMethod;plan;planPeriod;planPeriodStart;status;totals;isImmediatePlanChange;freeTrialEndsAt;payer;needsPaymentMethod;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.externalClientSecret=e.external_client_secret,this.externalGatewayId=e.external_gateway_id,this.paymentMethod=e.payment_method?new pa(e.payment_method):void 0,this.plan=new Rn(e.plan),this.planPeriod=e.plan_period,this.planPeriodStart=e.plan_period_start,this.status=e.status,this.totals=lr(e.totals),this.isImmediatePlanChange=e.is_immediate_plan_change,e.free_trial_ends_at&&(this.freeTrialEndsAt=Gt(e.free_trial_ends_at)),this.payer=new Hr(e.payer),this.needsPaymentMethod=e.needs_payment_method),this}confirm=e=>Da(()=>this._basePatch({path:Or.path(`/checkouts/${this.id}/confirm`,{orgId:this.payer.organizationId}),body:e}),{factor:1.1,maxDelayBetweenRetries:2e3,initialDelay:2e3,jitter:!1,shouldRetry(n,g){if(!J(n)||g>=4)return!1;let A=n?.status,N=A===409&&n.errors?.[0]?.code==="checkout_already_in_progress";return A>=500||N}})}class Yi{resource=new An(null);config;signals;pendingOperations=new Map;constructor(e,n){this.config=n,this.signals=e,this.signals.resourceSignal({resource:this})}get status(){return this.resource.status??"needs_initialization"}get externalClientSecret(){return this.resource.externalClientSecret}get externalGatewayId(){return this.resource.externalGatewayId}get plan(){return this.resource.plan}get planPeriod(){return this.resource.planPeriod}get totals(){return this.resource.totals}get isImmediatePlanChange(){return this.resource.isImmediatePlanChange}get freeTrialEndsAt(){return this.resource.freeTrialEndsAt}get payer(){return this.resource.payer}get paymentMethod(){return this.resource.paymentMethod??null}get planPeriodStart(){return this.resource.planPeriodStart}get needsPaymentMethod(){return this.resource.needsPaymentMethod}async start(){return this.runAsyncCheckoutTask("start",async()=>{let e=await An.clerk.billing?.startCheckout(this.config);this.resource=e},()=>{this.resource=new An(null),this.signals.resourceSignal({resource:this})})}async confirm(e){if(!this.resource.id)throw Error("Clerk: `start()` must be called before `confirm()`");return this.runAsyncCheckoutTask("confirm",async()=>{await this.resource.confirm(e)})}async finalize(e){let{navigate:n}=e||{};return this.runAsyncCheckoutTask("finalize",async()=>{if(this.resource.status!=="completed")throw Error("Clerk: `confirm()` must be called before `finalize()`");await An.clerk.setActive({session:An.clerk.session?.id,navigate:n})})}runAsyncCheckoutTask(e,n,g){var A,N,K;return An.clerk.user===void 0?(console.warn("Clerk: Checkout operations cannot be performed during transitive state"),{error:null}):(A=this,N=this.signals,K=this.pendingOperations,async(ge,de,we)=>{if(K.get(ge))return K.get(ge);let ze=(async()=>{++x,N.errorSignal({error:null}),N.fetchSignal({status:"fetching"}),we?.(),--x||Yt(),++x;try{return await de(),N.resourceSignal({resource:A}),{error:null}}catch(Ze){return N.errorSignal({error:Ze}),{error:Ze}}finally{K.delete(ge),N.fetchSignal({status:"idle"}),--x||Yt()}})();return K.set(ge,ze),ze})(e,n,g)}}class sn extends Le{id;amount;failedAt=null;paidAt=null;updatedAt;paymentMethod=null;subscriptionItem;chargeType;status;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.amount=Ua(e.amount),this.paidAt=e.paid_at?Gt(e.paid_at):null,this.failedAt=e.failed_at?Gt(e.failed_at):null,this.updatedAt=Gt(e.updated_at),this.paymentMethod=e.payment_method?new pa(e.payment_method):null,this.subscriptionItem=new ni(e.subscription_item),this.chargeType=e.charge_type,this.status=e.status),this}}let Vr="/payment_methods",vn=async w=>{let{orgId:e,...n}=w;return new On((await Le._fetch({path:Or.path(`${Vr}/initialize`,{orgId:e}),method:"POST",body:n}))?.response)},dn=async w=>{let{orgId:e,...n}=w;return new pa((await Le._fetch({path:Or.path(Vr,{orgId:e}),method:"POST",body:n}))?.response)},di=async w=>{let{orgId:e,...n}=w??{};return await Le._fetch({path:Or.path(Vr,{orgId:e}),method:"GET",search:Mr(n)}).then(g=>{let{data:A,total_count:N}=g?.response;return{total_count:N,data:A.map(K=>new pa(K))}})};class pa extends Le{id;last4=null;paymentType;cardType=null;isDefault;isRemovable;status;walletType;expiryYear;expiryMonth;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.last4=e.last4,this.paymentType=e.payment_type,this.cardType=e.card_type,this.isDefault=e.is_default,this.isRemovable=e.is_removable,this.status=e.status,this.walletType=e.wallet_type,this.expiryYear=e.expiry_year,this.expiryMonth=e.expiry_month,this.createdAt=e.created_at==null?e.created_at:Gt(e.created_at),this.updatedAt=e.updated_at==null?e.updated_at:Gt(e.updated_at)),this}async remove(e){let{orgId:n}=e??{};return new wi((await Le._fetch({path:Or.path(`/payment_methods/${this.id}`,{orgId:n}),method:"DELETE"}))?.response)}async makeDefault(e){let{orgId:n}=e??{};return await Le._fetch({path:Or.path("/payers/default_payment_method",{orgId:n}),method:"PUT",body:{payment_method_id:this.id}}),null}}class On extends Le{externalClientSecret;externalGatewayId;paymentMethodOrder;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.externalClientSecret=e.external_client_secret,this.externalGatewayId=e.external_gateway_id,this.paymentMethodOrder=e.payment_method_order??["card"]),this}}class Rn extends Le{id;name;fee=null;annualFee=null;annualMonthlyFee=null;description=null;isDefault;isRecurring;hasBaseFee;forPayerType;publiclyVisible;slug;avatarUrl=null;features;unitPrices;freeTrialDays;freeTrialEnabled;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.fee=e.fee?Ua(e.fee):null,this.annualFee=e.annual_fee?Ua(e.annual_fee):null,this.annualMonthlyFee=e.annual_monthly_fee?Ua(e.annual_monthly_fee):null,this.description=e.description,this.isDefault=e.is_default,this.isRecurring=e.is_recurring,this.hasBaseFee=e.has_base_fee,this.forPayerType=e.for_payer_type,this.publiclyVisible=e.publicly_visible,this.slug=e.slug,this.avatarUrl=e.avatar_url,this.freeTrialDays=this.withDefault(e.free_trial_days,null),this.freeTrialEnabled=this.withDefault(e.free_trial_enabled,!1),this.features=(e.features||[]).map(n=>new $l(n)),this.unitPrices=e.unit_prices?.map(n=>({name:n.name,blockSize:n.block_size,tiers:n.tiers.map(g=>({id:g.id,startsAtBlock:g.starts_at_block,endsAfterBlock:g.ends_after_block,feePerBlock:Ua(g.fee_per_block)}))}))),this}}class hi extends Le{id;status;timestamp;totals;groups;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.timestamp=Gt(e.timestamp),this.totals=lr(e.totals),this.groups=e.groups.map(n=>new an(n))),this}}class an{id;timestamp;items;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.timestamp=Gt(e.timestamp),this.items=e.items.map(n=>new sn(n))),this}}class wn extends Le{id;status;activeAt;createdAt;pastDueAt;updatedAt;nextPayment;subscriptionItems;eligibleForFreeTrial;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.createdAt=Gt(e.created_at),this.updatedAt=e.updated_at?Gt(e.updated_at):null,this.activeAt=Gt(e.active_at),this.pastDueAt=e.past_due_at?Gt(e.past_due_at):null,e.next_payment&&(this.nextPayment={amount:Ua(e.next_payment.amount),date:Gt(e.next_payment.date)}),this.subscriptionItems=(e.subscription_items||[]).map(n=>new ni(n)),this.eligibleForFreeTrial=this.withDefault(e.eligible_for_free_trial,!1)),this}}class ni extends Le{id;plan;planPeriod;status;createdAt;periodStart;periodEnd;canceledAt;pastDueAt;amount;credit;seats;credits;isFreeTrial;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.plan=new Rn(e.plan),this.planPeriod=e.plan_period,this.status=e.status,this.createdAt=Gt(e.created_at),this.pastDueAt=e.past_due_at?Gt(e.past_due_at):null,this.periodStart=Gt(e.period_start),this.periodEnd=e.period_end?Gt(e.period_end):null,this.canceledAt=e.canceled_at?Gt(e.canceled_at):null,this.amount=e.amount?Ua(e.amount):void 0,this.credit=e.credit&&e.credit.amount?{amount:Ua(e.credit.amount)}:void 0,this.seats=e.seats?{quantity:e.seats.quantity}:void 0,this.credits=e.credits?kr(e.credits):void 0,this.isFreeTrial=this.withDefault(e.is_free_trial,!1)),this}async cancel(e){let{orgId:n}=e;return new wi((await Le._fetch({path:Or.path(`/subscription_items/${this.id}`,{orgId:n}),method:"DELETE"}))?.response)}}let In="token:update",qn="user:signOut",Nn="environment:update",Tl="session:tokenResolved",qr=S(),Qi={build:(w,e,n)=>[w,e,n].filter(Boolean).join("-"),parse:(w,e,n)=>{let g=Qi.extractTemplate(w,e,n);return{organizationId:n,sessionId:e,template:g}},extractTemplate:(w,e,n)=>{if(w===e||n&&w===`${e}-${n}`)return;let g=w.slice(e.length+1);return n&&g.endsWith(`-${n}`)&&(g=g.slice(0,-(n.length+1))),g||void 0}};var gs=sr(1118),Lo=`const respond=r=>{self.postMessage(r)},workerToTabIds={};self.addEventListener("message",r=>{const e=r.data;switch(e.type){case"setTimeout":workerToTabIds[e.id]=setTimeout(()=>{respond({id:e.id}),delete workerToTabIds[e.id]},e.ms);break;case"clearTimeout":workerToTabIds[e.id]&&(clearTimeout(workerToTabIds[e.id]),delete workerToTabIds[e.id]);break;case"setInterval":workerToTabIds[e.id]=setInterval(()=>{respond({id:e.id})},e.ms);break;case"clearInterval":workerToTabIds[e.id]&&(clearInterval(workerToTabIds[e.id]),delete workerToTabIds[e.id]);break}}); -`;let Ns=(w,e={})=>{if("u"{let w=0,e=()=>w++,n=new Map,g=(ge,de)=>ge?.postMessage(de),A=ge=>{n.get(ge.data.id)?.()},N=Ns(Lo,{name:"clerk-timers"});if(N?.addEventListener("message",A),!N)return{setTimeout:globalThis.setTimeout.bind(globalThis),setInterval:globalThis.setInterval.bind(globalThis),clearTimeout:globalThis.clearTimeout.bind(globalThis),clearInterval:globalThis.clearInterval.bind(globalThis),cleanup:gs.t};let K=()=>{N||(N=Ns(Lo,{name:"clerk-timers"}),N?.addEventListener("message",A))};return{setTimeout:(ge,de)=>{K();let we=e();return n.set(we,()=>{ge(),n.delete(we)}),g(N,{type:"setTimeout",id:we,ms:de}),we},setInterval:(ge,de)=>{K();let we=e();return n.set(we,ge),g(N,{type:"setInterval",id:we,ms:de}),we},clearTimeout:ge=>{K(),n.delete(ge),g(N,{type:"clearTimeout",id:ge})},clearInterval:ge=>{K(),n.delete(ge),g(N,{type:"clearInterval",id:ge})},cleanup:()=>{N&&(N.terminate(),N=null,n.clear())}}};var vu=sr(8388),Do=sr.n(vu);class vi{lock=(I="clerk.lock.refreshSessionToken",c=new(Do()),{acquireLockAndRun:async e=>{if("locks"in navigator&&isSecureContext){let n=new AbortController,g=setTimeout(()=>n.abort(),4999);return await navigator.locks.request(I,{signal:n.signal},async()=>(clearTimeout(g),await e())).catch(()=>!1)}if(await c.acquireLock(I,5e3))try{return await e()}finally{await c.releaseLock(I)}}});workerTimers=Bo();timerId=null;initiated=!1;startPollingForSessionToken(e){if(this.timerId||this.initiated)return;let n=async()=>{this.initiated=!0,await this.lock.acquireLockAndRun(e),this.timerId=this.workerTimers.setTimeout(n,5e3)};n()}stopPollingForSessionToken(){this.timerId!=null&&(this.workerTimers.clearTimeout(this.timerId),this.timerId=null),this.initiated=!1}}let Ul="clerk",Fo={broadcast:!0},Ml={broadcast:!1};class Ti{prefix;data;static fromKey(e){let[n,g,A=""]=e.split("::");return new Ti(n,{audience:A,tokenId:g})}constructor(e,n){this.prefix=e,this.data=n,this.prefix=e,this.data=n}toKey(){let{tokenId:e,audience:n}=this.data;return[this.prefix,e,n||""].join("::")}}let pi=((w=Ul)=>{let e=new Map,n=Math.random().toString(36).slice(2),g=null,A=()=>g||("u"{K(de)}),g));A();let N=de=>{A();let we=new Ti(w,de),ze=e.get(we.toKey());if(!ze)return;let Ze=Math.floor(Date.now()/1e3)-ze.createdAt;if((ze.expiresIn??1/0)-Ze<=5){ze.timeoutId!==void 0&&clearTimeout(ze.timeoutId),ze.refreshTimeoutId!==void 0&&clearTimeout(ze.refreshTimeoutId),e.delete(we.toKey());return}return{entry:ze.entry}},K=async({data:de})=>{let we,ze=Qi.build(de.sessionId,de.template,de.organizationId);if(de.tokenId!==ze)return void rt.warn("Ignoring token broadcast with mismatched tokenId",{expectedTokenId:ze,organizationId:de.organizationId,receivedTokenId:de.tokenId,tabId:n,template:de.template,traceId:de.traceId},"tokenCache");try{we=new Di({id:de.tokenId,jwt:de.tokenRaw,object:"token"})}catch(et){rt.warn("Failed to parse token from broadcast, skipping cache update",{error:et,tabId:n,tokenId:de.tokenId,traceId:de.traceId},"tokenCache");return}let Ze=we.jwt?.claims?.iat,$e=we.jwt?.claims?.exp;if(!Ze||!$e)return void rt.warn("Token missing iat/exp claim, skipping cache update",{tabId:n,tokenId:de.tokenId,traceId:de.traceId},"tokenCache");try{let et=N({tokenId:de.tokenId});if(et){let ft=await et.entry.tokenResolver,ot=ft.jwt?.claims?.iat;if(ot&&ot>=Ze)return void rt.debug("Ignoring older token broadcast",{existingIat:ot,incomingIat:Ze,tabId:n,tokenId:de.tokenId,traceId:de.traceId},"tokenCache")}}catch(et){rt.warn("Existing entry compare failed; proceeding with broadcast update",{error:et,tabId:n,tokenId:de.tokenId,traceId:de.traceId},"tokenCache")}rt.info("Updating token cache from broadcast",{iat:Ze,organizationId:de.organizationId,tabId:n,template:de.template,tokenId:de.tokenId,traceId:de.traceId},"tokenCache"),ge({createdAt:Ze,tokenId:de.tokenId,tokenResolver:Promise.resolve(we)},Ml)},ge=(de,we=Fo)=>{let ze=new Ti(w,{audience:de.audience,tokenId:de.tokenId}).toKey(),Ze=e.get(ze);clearTimeout(Ze?.timeoutId),clearTimeout(Ze?.refreshTimeoutId);let $e=Math.floor(Date.now()/1e3),et={createdAt:de.createdAt??$e,entry:de,expiresIn:void 0},ft=()=>{let ot=e.get(ze);ot===et&&(ot.timeoutId!==void 0&&clearTimeout(ot.timeoutId),ot.refreshTimeoutId!==void 0&&clearTimeout(ot.refreshTimeoutId),e.delete(ze))};e.set(ze,et),de.tokenResolver.then(ot=>{if(e.get(ze)!==et)return;de.resolvedToken=ot;let gt=ot.jwt?.claims;if(!gt||typeof gt.exp!="number"||typeof gt.iat!="number")return ft();let Et=gt.exp,Kt=gt.iat,va=Et-Kt;et.createdAt=Kt,et.expiresIn=va;let xa=setTimeout(ft,1e3*va);et.timeoutId=xa,typeof xa.unref=="function"&&xa.unref();let ja=va-15-2;if(ja>0&&de.onRefresh){let Za=setTimeout(()=>{de.onRefresh?.()},1e3*ja);et.refreshTimeoutId=Za,typeof Za.unref=="function"&&Za.unref()}let _a=g;if(_a&&we.broadcast){let Za=ot.getRawString();if(Za&>.sid){let ca=gt.sid,Ma=gt.org_id||gt.o?.id,Oa=Qi.extractTemplate(de.tokenId,ca,Ma),Ir=Qi.build(ca,Oa,Ma);if(de.tokenId===Ir){let En=`bc_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;rt.info("Broadcasting token update to other tabs",{organizationId:Ma,sessionId:ca,tabId:n,template:Oa,tokenId:de.tokenId,traceId:En},"tokenCache");let fi={organizationId:Ma,sessionId:ca,template:Oa,tokenId:de.tokenId,tokenRaw:Za,traceId:En};_a.postMessage(fi)}}}}).catch(()=>{ft()})};return{clear:()=>{e.forEach(de=>{de.timeoutId!==void 0&&clearTimeout(de.timeoutId),de.refreshTimeoutId!==void 0&&clearTimeout(de.refreshTimeoutId)}),e.clear()},close:()=>{g&&(g.close(),g=null)},get:N,set:de=>{A(),ge(de,Fo)},size:()=>e.size}})();function Wo(w){if(!w)return;let e=w.client||w.meta?.client;return e?fn.getOrCreateInstance().fromJSON(e):void 0}class fn extends Le{static instance;pathRoot="/client";sessions=[];signUp=new Sr;signIn=new Xa;lastActiveSessionId=null;captchaBypass=!1;cookieExpiresAt=null;lastAuthenticationStrategy=null;createdAt=null;updatedAt=null;static getOrCreateInstance(e=null){return fn.instance||(fn.instance=new fn(e)),fn.instance}static clearInstance(){fn.instance=null}static isClientResource(e){return!!e&&e instanceof fn}constructor(e=null){super(),this.fromJSON(e)}get signUpAttempt(){return this.signUp}get signInAttempt(){return this.signIn}get signedInSessions(){return this.sessions.filter(e=>e.status==="active"||e.status==="pending")}create(){return this._basePut()}fetch({fetchMaxTries:e}={}){return this._baseGet({fetchMaxTries:e})}async destroy(){return this._baseDelete({path:"/client"}).then(()=>{pi.clear(),this.id="",this.sessions=[],this.signUp=new Sr(null),this.signIn=new Xa(null),this.lastActiveSessionId=null,this.lastAuthenticationStrategy=null,this.cookieExpiresAt=null,this.createdAt=null,this.updatedAt=null})}removeSessions(){return this._baseDelete({path:this.path()+"/sessions"}).then(e=>(pi.clear(),e))}resetSignIn(){this.signIn=new Xa(null),qr.emit("resource:error",{resource:this.signIn,error:null})}resetSignUp(){this.signUp=new Sr(null),qr.emit("resource:error",{resource:this.signUp,error:null})}clearCache(){return this.sessions.forEach(e=>e.clearCache())}isEligibleForTouch(){return!!this.cookieExpiresAt&&this.cookieExpiresAt.getTime()-Date.now()<=6912e5}buildTouchUrl({redirectUrl:e}){return Le.fapiClient.buildUrl({method:"GET",path:"/client/touch",pathPrefix:"v1",search:{redirect_url:e.toString()}}).toString()}__internal_sendCaptchaToken(e){return this._basePostBypass({body:e,path:this.path()+"/verify"})}fromJSON(e){return e&&(this.id=e.id,this.sessions=(e.sessions||[]).map(n=>new on(n)),e.sign_up&&this.signUp instanceof Sr&&this.signUp.id===e.sign_up.id?this.signUp.__internal_updateFromJSON(e.sign_up):this.signUp=new Sr(e.sign_up),e.sign_in&&this.signIn instanceof Xa&&this.signIn.id===e.sign_in.id?this.signIn.__internal_updateFromJSON(e.sign_in):this.signIn=new Xa(e.sign_in),this.lastActiveSessionId=e.last_active_session_id,this.captchaBypass=e.captcha_bypass||!1,this.cookieExpiresAt=e.cookie_expires_at?Gt(e.cookie_expires_at):null,this.lastAuthenticationStrategy=e.last_authentication_strategy||null,this.createdAt=Gt(e.created_at||void 0),this.updatedAt=Gt(e.updated_at||void 0)),this}__internal_toSnapshot(){return{object:"client",id:this.id||"",sessions:this.sessions.map(e=>e.__internal_toSnapshot()),sign_up:this.signUp.__internal_toSnapshot(),sign_in:this.signIn.__internal_toSnapshot(),last_active_session_id:this.lastActiveSessionId,captcha_bypass:this.captchaBypass,cookie_expires_at:this.cookieExpiresAt?this.cookieExpiresAt.getTime():null,last_authentication_strategy:this.lastAuthenticationStrategy??null,created_at:this.createdAt?.getTime()??null,updated_at:this.updatedAt?.getTime()??null}}path(){return this.pathRoot}}class $o extends Le{billing={stripePublishableKey:null,organization:{enabled:!1,hasPaidPlans:!1},user:{enabled:!1,hasPaidPlans:!1}};constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.billing.stripePublishableKey=e.billing.stripe_publishable_key,this.billing.organization.enabled=e.billing.organization.enabled,this.billing.organization.hasPaidPlans=e.billing.organization.has_paid_plans,this.billing.user.enabled=e.billing.user.enabled,this.billing.user.hasPaidPlans=e.billing.user.has_paid_plans),this}__internal_toSnapshot(){return{billing:{stripe_publishable_key:this.billing.stripePublishableKey,organization:{enabled:this.billing.organization.enabled,has_paid_plans:this.billing.organization.hasPaidPlans},user:{enabled:this.billing.user.enabled,has_paid_plans:this.billing.user.hasPaidPlans}}}}}class wi{object="";id;slug;deleted=!1;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.object=e.object,this.id=e.id,this.slug=e.slug,this.deleted=e.deleted),this}}class Ui extends Le{afterCreateOrganizationUrl="";afterJoinWaitlistUrl="";afterLeaveOrganizationUrl="";afterSignInUrl="";afterSignOutAllUrl="";afterSignOutOneUrl="";afterSignOutUrl="";afterSignUpUrl="";afterSwitchSessionUrl="";applicationName="";backendHost="";branded=!1;captchaHeartbeat=!1;captchaHeartbeatIntervalMs;captchaOauthBypass=["oauth_google","oauth_microsoft","oauth_apple"];captchaProvider="turnstile";captchaPublicKey=null;captchaPublicKeyInvisible=null;captchaWidgetType=null;clerkJSVersion;createOrganizationUrl="";faviconImageUrl="";googleOneTapClientId;homeUrl="";id="";instanceEnvironmentType="";logoImageUrl="";organizationProfileUrl="";preferredSignInStrategy="password";privacyPolicyUrl="";showDevModeWarning=!1;signInUrl="";signUpUrl="";supportEmail="";termsUrl="";theme={};userProfileUrl="";waitlistUrl="";constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.afterCreateOrganizationUrl=this.withDefault(e.after_create_organization_url,this.afterCreateOrganizationUrl),this.afterJoinWaitlistUrl=this.withDefault(e.after_join_waitlist_url,this.afterJoinWaitlistUrl),this.afterLeaveOrganizationUrl=this.withDefault(e.after_leave_organization_url,this.afterLeaveOrganizationUrl),this.afterSignInUrl=this.withDefault(e.after_sign_in_url,this.afterSignInUrl),this.afterSignOutAllUrl=this.withDefault(e.after_sign_out_all_url,this.afterSignOutAllUrl),this.afterSignOutOneUrl=this.withDefault(e.after_sign_out_one_url,this.afterSignOutOneUrl),this.afterSignUpUrl=this.withDefault(e.after_sign_up_url,this.afterSignUpUrl),this.afterSwitchSessionUrl=this.withDefault(e.after_switch_session_url,this.afterSwitchSessionUrl),this.applicationName=this.withDefault(e.application_name,this.applicationName),this.branded=this.withDefault(e.branded,this.branded),this.captchaHeartbeat=this.withDefault(e.captcha_heartbeat,this.captchaHeartbeat),this.captchaHeartbeatIntervalMs=this.withDefault(e.captcha_heartbeat_interval_ms,this.captchaHeartbeatIntervalMs),this.captchaOauthBypass=this.withDefault(e.captcha_oauth_bypass,this.captchaOauthBypass),this.captchaProvider=this.withDefault(e.captcha_provider,this.captchaProvider),this.captchaPublicKey=this.withDefault(e.captcha_public_key,this.captchaPublicKey),this.captchaPublicKeyInvisible=this.withDefault(e.captcha_public_key_invisible,this.captchaPublicKeyInvisible),this.captchaWidgetType=this.withDefault(e.captcha_widget_type,this.captchaWidgetType),this.clerkJSVersion=this.withDefault(e.clerk_js_version,this.clerkJSVersion),this.createOrganizationUrl=this.withDefault(e.create_organization_url,this.createOrganizationUrl),this.faviconImageUrl=this.withDefault(e.favicon_image_url,this.faviconImageUrl),this.googleOneTapClientId=this.withDefault(e.google_one_tap_client_id,this.googleOneTapClientId),this.homeUrl=this.withDefault(e.home_url,this.homeUrl),this.id=this.withDefault(e.id,this.id),this.instanceEnvironmentType=this.withDefault(e.instance_environment_type,this.instanceEnvironmentType),this.logoImageUrl=this.withDefault(e.logo_image_url,this.logoImageUrl),this.organizationProfileUrl=this.withDefault(e.organization_profile_url,this.organizationProfileUrl),this.preferredSignInStrategy=this.withDefault(e.preferred_sign_in_strategy,this.preferredSignInStrategy),this.privacyPolicyUrl=this.withDefault(e.privacy_policy_url,this.privacyPolicyUrl),this.showDevModeWarning=this.withDefault(e.show_devmode_warning,this.showDevModeWarning),this.signInUrl=this.withDefault(e.sign_in_url,this.signInUrl),this.signUpUrl=this.withDefault(e.sign_up_url,this.signUpUrl),this.supportEmail=this.withDefault(e.support_email,this.supportEmail),this.termsUrl=this.withDefault(e.terms_url,this.termsUrl),this.theme=this.withDefault(e.theme,this.theme),this.userProfileUrl=this.withDefault(e.user_profile_url,this.userProfileUrl),this.waitlistUrl=this.withDefault(e.waitlist_url,this.waitlistUrl)),this}__internal_toSnapshot(){return{object:"display_config",after_create_organization_url:this.afterCreateOrganizationUrl,after_join_waitlist_url:this.afterJoinWaitlistUrl,after_leave_organization_url:this.afterLeaveOrganizationUrl,after_sign_in_url:this.afterSignInUrl,after_sign_out_all_url:this.afterSignOutAllUrl,after_sign_out_one_url:this.afterSignOutOneUrl,after_sign_up_url:this.afterSignUpUrl,after_switch_session_url:this.afterSwitchSessionUrl,application_name:this.applicationName,branded:this.branded,captcha_heartbeat_interval_ms:this.captchaHeartbeatIntervalMs,captcha_heartbeat:this.captchaHeartbeat,captcha_oauth_bypass:this.captchaOauthBypass,captcha_provider:this.captchaProvider,captcha_public_key_invisible:this.captchaPublicKeyInvisible,captcha_public_key:this.captchaPublicKey,captcha_widget_type:this.captchaWidgetType,clerk_js_version:this.clerkJSVersion,create_organization_url:this.createOrganizationUrl,favicon_image_url:this.faviconImageUrl,google_one_tap_client_id:this.googleOneTapClientId,home_url:this.homeUrl,id:this.id,instance_environment_type:this.instanceEnvironmentType,logo_image_url:this.logoImageUrl,organization_profile_url:this.organizationProfileUrl,preferred_sign_in_strategy:this.preferredSignInStrategy,privacy_policy_url:this.privacyPolicyUrl,show_devmode_warning:this.showDevModeWarning,sign_in_url:this.signInUrl,sign_up_url:this.signUpUrl,support_email:this.supportEmail,terms_url:this.termsUrl,theme:this.theme,user_profile_url:this.userProfileUrl,waitlist_url:this.waitlistUrl}}}function bs({delayInMs:w}={delayInMs:1e3}){let e,n=Bo(),g=!1,A=()=>{e&&(n.clearTimeout(e),n.cleanup()),g=!0},N=async K=>{g=!1,await K(A),g||(e=n.setTimeout(()=>{N(K)},w))};return{run:N,stop:A}}class co extends Le{id;emailAddress="";matchesSsoConnection=!1;linkedTo=[];verification;constructor(e,n){super(),this.pathRoot=n,this.fromJSON(e)}create(){return this._basePost({body:{email_address:this.emailAddress}})}prepareVerification=e=>this._basePost({action:"prepare_verification",body:{...e}});attemptVerification=e=>{let{code:n}=e||{};return this._basePost({action:"attempt_verification",body:{code:n}})};createEmailLinkFlow=()=>{let{run:e,stop:n}=bs();return{startEmailLinkFlow:async({redirectUrl:g})=>(await this.prepareVerification({strategy:"email_link",redirectUrl:g}),new Promise((A,N)=>{e(()=>this.reload().then(K=>{K.verification.status==="verified"&&(n(),A(K))}).catch(K=>{n(),N(K)}))})),cancelEmailLinkFlow:n}};createEnterpriseSSOLinkFlow=()=>{let{run:e,stop:n}=bs();return{startEnterpriseSSOLinkFlow:async({redirectUrl:g})=>{if(!(await this.prepareVerification({strategy:"enterprise_sso",redirectUrl:g})).verification.externalVerificationRedirectURL)throw Error("Unexpected: External verification redirect URL is missing");return new Promise((A,N)=>{e(()=>this.reload().then(K=>{K.verification.status==="verified"&&(n(),A(K))}).catch(K=>{n(),N(K)}))})},cancelEnterpriseSSOLinkFlow:n}};destroy=()=>this._baseDelete();toString=()=>this.emailAddress;fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.verification=new kn(e.verification),this.matchesSsoConnection=e.matches_sso_connection,this.linkedTo=(e.linked_to||[]).map(n=>new Vo(n))),this}__internal_toSnapshot(){return{object:"email_address",id:this.id,email_address:this.emailAddress,verification:this.verification.__internal_toSnapshot(),linked_to:this.linkedTo.map(e=>e.__internal_toSnapshot()),matches_sso_connection:this.matchesSsoConnection}}}var Ls=class{static encode(w){return btoa(String.fromCharCode(...new Uint8Array(w))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}static decode(w){let e=atob(w.replace(/-/g,"+").replace(/_/g,"/")),n=e.length,g=new Uint8Array(n);for(let A=0;A({...g,id:ys(g.id)}));return{...w,allowCredentials:n,challenge:e}}function mi(w){return{type:w.type,id:w.id,rawId:Ri(w.rawId),authenticatorAttachment:w.authenticatorAttachment}}function Ko(w){let e=w.response;return{...mi(w),response:{clientDataJSON:Ri(e.clientDataJSON),authenticatorData:Ri(e.authenticatorData),signature:Ri(e.signature),userHandle:e.userHandle?Ri(e.userHandle):null}}}let Ri=Ls.encode.bind(Ls),ys=Ls.decode.bind(Ls);class kn extends Le{pathRoot="";status=null;strategy=null;nonce=null;message=null;externalVerificationRedirectURL=null;attempts=null;expireAt=null;error=null;verifiedAtClient=null;channel;constructor(e){super(),this.fromJSON(e)}verifiedFromTheSameClient=()=>this.verifiedAtClient===Le.clerk?.client?.id;fromJSON(e){return e&&(this.status=e.status,this.verifiedAtClient=e.verified_at_client,this.strategy=e.strategy,this.nonce=e.nonce||null,this.message=e.message||null,e.external_verification_redirect_url?this.externalVerificationRedirectURL=new URL(e.external_verification_redirect_url):this.externalVerificationRedirectURL=null,this.attempts=e.attempts,this.expireAt=Gt(e.expire_at||void 0),this.error=e.error?new ue(e.error):null,this.channel=e.channel||void 0),this}__internal_toSnapshot(){var e;return{object:"verification",id:this.id||"",status:this.status,strategy:this.strategy,nonce:this.nonce,message:this.message,external_verification_redirect_url:this.externalVerificationRedirectURL?.toString()||null,attempts:this.attempts,expire_at:this.expireAt?.getTime()||null,error:(e=this.error,{code:e?.code||"",message:e?.message||"",long_message:e?.longMessage,meta:{param_name:e?.meta?.paramName,session_id:e?.meta?.sessionId,email_addresses:e?.meta?.emailAddresses,identifiers:e?.meta?.identifiers,zxcvbn:e?.meta?.zxcvbn,plan:e?.meta?.plan,is_plan_upgrade_possible:e?.meta?.isPlanUpgradePossible}}),verified_at_client:this.verifiedAtClient}}}class wu extends kn{publicKey=null;constructor(e){super(e),this.fromJSON(e)}fromJSON(e){var n;let g,A,N;return super.fromJSON(e),e?.nonce&&(this.publicKey=(g=ys((n=JSON.parse(e.nonce)).user.id),A=ys(n.challenge),N=(n.excludeCredentials||[]).map(K=>({...K,id:ys(K.id)})),{...n,excludeCredentials:N,challenge:A,user:{...n.user,id:g}})),this}}class ho{emailAddress;phoneNumber;web3Wallet;externalAccount;constructor(e){e?(this.emailAddress=new vs(e.email_address),this.phoneNumber=new vs(e.phone_number),this.web3Wallet=new vs(e.web3_wallet),this.externalAccount=new kn(e.external_account)):(this.emailAddress=new vs(null),this.phoneNumber=new vs(null),this.web3Wallet=new vs(null),this.externalAccount=new kn(null))}__internal_toSnapshot(){return{email_address:this.emailAddress.__internal_toSnapshot(),phone_number:this.phoneNumber.__internal_toSnapshot(),web3_wallet:this.web3Wallet.__internal_toSnapshot(),external_account:this.externalAccount.__internal_toSnapshot()}}}class vs extends kn{nextAction;supportedStrategies;constructor(e){super(e),e?(this.nextAction=e.next_action,this.supportedStrategies=e.supported_strategies):(this.nextAction="",this.supportedStrategies=[])}__internal_toSnapshot(){return{...super.__internal_toSnapshot(),next_action:this.nextAction,supported_strategies:this.supportedStrategies}}}class Bl extends Le{id;protocol;provider;providerUserId=null;active;emailAddress="";firstName="";lastName="";publicMetadata={};verification=null;enterpriseConnection=null;lastAuthenticatedAt=null;enterpriseConnectionId=null;constructor(e,n){super(),this.pathRoot=n,this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.provider=e.provider,this.protocol=e.protocol,this.providerUserId=e.provider_user_id,this.active=e.active,this.emailAddress=e.email_address,this.firstName=e.first_name,this.lastName=e.last_name,this.publicMetadata=e.public_metadata,this.lastAuthenticatedAt=e.last_authenticated_at?Gt(e.last_authenticated_at):null,this.enterpriseConnectionId=e.enterprise_connection_id,e.verification&&(this.verification=new kn(e.verification)),e.enterprise_connection&&(this.enterpriseConnection=new Dl(e.enterprise_connection))),this}destroy=()=>this._baseDelete();__internal_toSnapshot(){return{object:"enterprise_account",id:this.id,provider:this.provider,protocol:this.protocol,provider_user_id:this.providerUserId,active:this.active,email_address:this.emailAddress,first_name:this.firstName,last_name:this.lastName,public_metadata:this.publicMetadata,verification:this.verification?.__internal_toSnapshot()||null,enterprise_connection:this.enterpriseConnection?.__internal_toSnapshot()||null,last_authenticated_at:this.lastAuthenticatedAt?this.lastAuthenticatedAt.getTime():null,enterprise_connection_id:this.enterpriseConnectionId}}}class Dl extends Le{id;active;allowIdpInitiated;allowSubdomains;disableAdditionalIdentifications;domain;logoPublicUrl="";name;protocol;provider;syncUserAttributes;allowOrganizationAccountLinking;createdAt;updatedAt;enterpriseConnectionId="";constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.domain=e.domain,this.active=e.active,this.provider=e.provider,this.logoPublicUrl=e.logo_public_url,this.syncUserAttributes=e.sync_user_attributes,this.allowSubdomains=e.allow_subdomains,this.allowIdpInitiated=e.allow_idp_initiated,this.disableAdditionalIdentifications=e.disable_additional_identifications,this.allowOrganizationAccountLinking=e.allow_organization_account_linking,this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at),this.enterpriseConnectionId=e.enterprise_connection_id),this}__internal_toSnapshot(){return{object:"enterprise_account_connection",id:this.id,name:this.name,domain:this.domain,active:this.active,protocol:this.protocol,provider:this.provider,logo_public_url:this.logoPublicUrl,sync_user_attributes:this.syncUserAttributes,allow_subdomains:this.allowSubdomains,allow_idp_initiated:this.allowIdpInitiated,disable_additional_identifications:this.disableAdditionalIdentifications,allow_organization_account_linking:this.allowOrganizationAccountLinking,enterprise_connection_id:this.enterpriseConnectionId,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}class Fl extends Le{id;name;active;provider;logoPublicUrl=null;domains=[];organizationId=null;syncUserAttributes;disableAdditionalIdentifications;allowOrganizationAccountLinking;customAttributes=[];oauthConfig=null;samlConnection=null;createdAt=null;updatedAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){var n,g;return e?(this.id=e.id,this.name=e.name,this.active=e.active,this.provider=e.provider,this.logoPublicUrl=e.logo_public_url??null,this.domains=e.domains??[],this.organizationId=e.organization_id??null,this.syncUserAttributes=e.sync_user_attributes,this.disableAdditionalIdentifications=e.disable_additional_identifications,this.allowOrganizationAccountLinking=e.allow_organization_account_linking??!1,this.customAttributes=e.custom_attributes??[],this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at),this.samlConnection=e.saml_connection?{id:(n=e.saml_connection).id,name:n.name,active:n.active,idpEntityId:n.idp_entity_id,idpSsoUrl:n.idp_sso_url,idpCertificate:n.idp_certificate,idpMetadataUrl:n.idp_metadata_url,idpMetadata:n.idp_metadata,acsUrl:n.acs_url,spEntityId:n.sp_entity_id,spMetadataUrl:n.sp_metadata_url,allowSubdomains:n.allow_subdomains,allowIdpInitiated:n.allow_idp_initiated,forceAuthn:n.force_authn}:null,this.oauthConfig=e.oauth_config?{id:(g=e.oauth_config).id,name:g.name,clientId:g.client_id,providerKey:g.provider_key,discoveryUrl:g.discovery_url,logoPublicUrl:g.logo_public_url,requiresPkce:g.requires_pkce,createdAt:Gt(g.created_at),updatedAt:Gt(g.updated_at)}:null,this):this}__internal_toSnapshot(){var e,n;return{object:"enterprise_connection",id:this.id,name:this.name,active:this.active,provider:this.provider,logo_public_url:this.logoPublicUrl,domains:this.domains,organization_id:this.organizationId,sync_user_attributes:this.syncUserAttributes,disable_additional_identifications:this.disableAdditionalIdentifications,allow_organization_account_linking:this.allowOrganizationAccountLinking,custom_attributes:this.customAttributes,saml_connection:this.samlConnection?{id:(e=this.samlConnection).id,name:e.name,active:e.active,idp_entity_id:e.idpEntityId,idp_sso_url:e.idpSsoUrl,idp_certificate:e.idpCertificate,idp_metadata_url:e.idpMetadataUrl,idp_metadata:e.idpMetadata,acs_url:e.acsUrl,sp_entity_id:e.spEntityId,sp_metadata_url:e.spMetadataUrl,allow_subdomains:e.allowSubdomains,allow_idp_initiated:e.allowIdpInitiated,force_authn:e.forceAuthn}:void 0,oauth_config:this.oauthConfig?{id:(n=this.oauthConfig).id,name:n.name,client_id:n.clientId,provider_key:n.providerKey,discovery_url:n.discoveryUrl,logo_public_url:n.logoPublicUrl,requires_pkce:n.requiresPkce,created_at:n.createdAt?.getTime()??0,updated_at:n.updatedAt?.getTime()??0}:void 0,created_at:this.createdAt?.getTime()??0,updated_at:this.updatedAt?.getTime()??0}}}class Ho extends Le{user_api_keys_enabled=!1;orgs_api_keys_enabled=!1;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.user_api_keys_enabled=e.user_api_keys_enabled,this.orgs_api_keys_enabled=e.orgs_api_keys_enabled),this}__internal_toSnapshot(){return{user_api_keys_enabled:this.user_api_keys_enabled,orgs_api_keys_enabled:this.orgs_api_keys_enabled}}}class ii extends Le{actions={adminDelete:!1};domains={enabled:!1,enrollmentModes:[],defaultRole:null};slug={disabled:!1};organizationCreationDefaults={enabled:!1};enabled=!1;maxAllowedMemberships=1;forceOrganizationSelection;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(e.actions&&(this.actions.adminDelete=this.withDefault(e.actions.admin_delete,this.actions.adminDelete)),e.domains&&(this.domains.enabled=this.withDefault(e.domains.enabled,this.domains.enabled),this.domains.enrollmentModes=this.withDefault(e.domains.enrollment_modes,this.domains.enrollmentModes),this.domains.defaultRole=this.withDefault(e.domains.default_role,this.domains.defaultRole)),e.slug&&(this.slug.disabled=this.withDefault(e.slug.disabled,this.slug.disabled)),e.organization_creation_defaults&&(this.organizationCreationDefaults.enabled=this.withDefault(e.organization_creation_defaults.enabled,this.organizationCreationDefaults.enabled)),this.enabled=this.withDefault(e.enabled,this.enabled),this.maxAllowedMemberships=this.withDefault(e.max_allowed_memberships,this.maxAllowedMemberships),this.forceOrganizationSelection=this.withDefault(e.force_organization_selection,this.forceOrganizationSelection)),this}__internal_toSnapshot(){return{actions:{admin_delete:this.actions.adminDelete},domains:{enabled:this.domains.enabled,enrollment_modes:this.domains.enrollmentModes,default_role:this.domains.defaultRole},enabled:this.enabled,max_allowed_memberships:this.maxAllowedMemberships}}}class Dn extends Le{static instance;authConfig=new Kr;displayConfig=new Ui;maintenanceMode=!1;clientDebugMode=!1;partitionedCookies=!1;pathRoot="/environment";userSettings=new rl;organizationSettings=new ii;commerceSettings=new $o;apiKeysSettings=new Ho;protectConfig=new Gl;static getInstance(){return Dn.instance||(Dn.instance=new Dn),Dn.instance}constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.authConfig=new Kr(e.auth_config),this.displayConfig=new Ui(e.display_config),this.maintenanceMode=this.withDefault(e.maintenance_mode,this.maintenanceMode),this.clientDebugMode=this.withDefault(e.client_debug_mode,this.clientDebugMode),this.partitionedCookies=this.withDefault(e.partitioned_cookies,this.partitionedCookies),this.organizationSettings=new ii(e.organization_settings),this.userSettings=new rl(e.user_settings),this.commerceSettings=new $o(e.commerce_settings),this.apiKeysSettings=new Ho(e.api_keys_settings),this.protectConfig=new Gl(e.protect_config)),this}fetch({touch:e,fetchMaxTries:n}={touch:!1}){return(e?this._basePatch({}):this._baseGet({fetchMaxTries:n})).then(g=>(qr.emit(Nn,null),g))}isDevelopmentOrStaging=()=>!this.isProduction();isProduction=()=>this.displayConfig.instanceEnvironmentType==="production";isSingleSession=()=>this.authConfig.singleSessionMode;onWindowLocationHost=()=>this.displayConfig.backendHost===window.location.host;__internal_toSnapshot(){return{object:"environment",auth_config:this.authConfig.__internal_toSnapshot(),display_config:this.displayConfig.__internal_toSnapshot(),id:this.id??"",maintenance_mode:this.maintenanceMode,client_debug_mode:this.clientDebugMode,partitioned_cookies:this.partitionedCookies,organization_settings:this.organizationSettings.__internal_toSnapshot(),user_settings:this.userSettings.__internal_toSnapshot(),commerce_settings:this.commerceSettings.__internal_toSnapshot(),api_keys_settings:this.apiKeysSettings.__internal_toSnapshot(),protect_config:this.protectConfig.__internal_toSnapshot()}}async __internal_enableEnvironmentSetting(e){await this._basePatch({path:"/dev_tools/enable_environment_setting",body:e})}}class Wl extends Le{id;identificationId;provider;providerUserId="";emailAddress="";approvedScopes="";firstName="";lastName="";imageUrl="";username="";phoneNumber="";publicMetadata={};label="";verification=null;constructor(e,n){super(),this.pathRoot=n,this.fromJSON(e)}reauthorize=e=>{let{additionalScopes:n,redirectUrl:g}=e||{};return this._basePatch({action:"reauthorize",body:{additional_scope:n,redirect_url:g}})};destroy=()=>this._baseDelete();fromJSON(e){return e&&(this.id=e.id,this.identificationId=e.identification_id,this.providerUserId=e.provider_user_id,this.approvedScopes=e.approved_scopes,this.imageUrl=e.image_url,this.emailAddress=e.email_address,this.firstName=e.first_name,this.lastName=e.last_name,this.provider=(e.provider||"").replace("oauth_",""),this.username=e.username,this.phoneNumber=e.phone_number,this.publicMetadata=e.public_metadata,this.label=e.label,e.verification&&(this.verification=new kn(e.verification))),this}__internal_toSnapshot(){return{object:"external_account",id:this.id,identification_id:this.identificationId,provider:this.provider,provider_user_id:this.providerUserId,email_address:this.emailAddress,approved_scopes:this.approvedScopes,first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl,username:this.username,phone_number:this.phoneNumber,public_metadata:this.publicMetadata,label:this.label,verification:this.verification?.__internal_toSnapshot()||null}}providerSlug(){return this.provider}providerTitle(){let e;return[(e=this.providerSlug()||"").charAt(0).toUpperCase()+e.slice(1),"Account"].join(" ")}accountIdentifier(){return this.username||this.emailAddress||this.label}}class $l extends Le{id;name;description=null;slug;avatarUrl=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.description=e.description,this.slug=e.slug,this.avatarUrl=e.avatar_url),this}}class Vo extends Le{id;type;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.type=e.type),this}__internal_toSnapshot(){return{object:"identification_link",id:this.id,type:this.type}}}class Xi extends Le{id;name=null;publicUrl=null;static async create(e,n={}){let g,A=n;return typeof n.file=="string"?(A=n.file,g=new Headers({"Content-Type":"application/octet-stream"})):n.file&&(A=new FormData).append("file",n.file),new Xi((await Le._fetch({path:e,method:"POST",body:A,headers:g}))?.response)}static async delete(e){return new Xi((await Le._fetch({path:e,method:"DELETE"}))?.response)}constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.publicUrl=e.public_url),this}}class es extends Le{id;name;organizationId;enrollmentMode;verification;affiliationEmailAddress;createdAt;updatedAt;totalPendingInvitations;totalPendingSuggestions;constructor(e){super(),this.fromJSON(e)}static async create(e,{name:n}){return new es((await Le._fetch({path:`/organizations/${e}/domains`,method:"POST",body:{name:n}}))?.response)}prepareAffiliationVerification=async e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/prepare_affiliation_verification`,method:"POST",body:e});attemptAffiliationVerification=async e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/attempt_affiliation_verification`,method:"POST",body:e});updateEnrollmentMode=e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/update_enrollment_mode`,body:e});delete=()=>this._baseDelete({path:`/organizations/${this.organizationId}/domains/${this.id}`});fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.organizationId=e.organization_id,this.enrollmentMode=e.enrollment_mode,this.affiliationEmailAddress=e.affiliation_email_address,this.totalPendingSuggestions=e.total_pending_suggestions,this.totalPendingInvitations=e.total_pending_invitations,e.verification?this.verification={status:e.verification.status,strategy:e.verification.strategy,attempts:e.verification.attempts,expiresAt:Gt(e.verification.expires_at)}:this.verification=null),this}}class Kl extends Le{id;organizationId;status;publicUserData;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}accept=async()=>await this._basePost({path:`/organizations/${this.organizationId}/membership_requests/${this.id}/accept`});reject=async()=>await this._basePost({path:`/organizations/${this.organizationId}/membership_requests/${this.id}/reject`});fromJSON(e){return e&&(this.id=e.id,this.organizationId=e.organization_id,this.status=e.status,this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at),e.public_user_data&&(this.publicUserData=new Qo(e.public_user_data))),this}}class Hl extends Le{id;key;name;description;type;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.key=e.key,this.name=e.name,this.description=e.description,this.type=e.type,this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at)),this}}class Vl extends Le{id;key;name;description;permissions=[];createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.key=e.key,this.name=e.name,this.description=e.description,this.permissions=e.permissions.map(n=>new Hl(n)),this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at)),this}}class Ni extends Le{pathRoot="/organizations";id;name;slug;imageUrl;hasImage;publicMetadata={};adminDeleteEnabled;createdAt;updatedAt;membersCount=0;pendingInvitationsCount=0;maxAllowedMemberships;constructor(e){super(),this.fromJSON(e)}static async create(e){return new Ni((await Le._fetch({path:"/organizations",method:"POST",body:e}))?.response)}static async get(e){return new Ni((await Le._fetch({path:`/organizations/${e}`,method:"GET"}))?.response)}update=async e=>this._basePatch({body:e});getRoles=async e=>await Le._fetch({path:`/organizations/${this.id}/roles`,method:"GET",search:Mr(e)},{forceUpdateClient:!0}).then(n=>{let{data:g,total_count:A,has_role_set_migration:N}=n?.response;return{data:g.map(K=>new Vl(K)),total_count:A,has_role_set_migration:N}});getDomains=async e=>await Le._fetch({path:`/organizations/${this.id}/domains`,method:"GET",search:Mr(e)},{forceUpdateClient:!0}).then(n=>{let{data:g,total_count:A}=n?.response;return{total_count:A,data:g.map(N=>new es(N))}});getDomain=async({domainId:e})=>new es((await Le._fetch({path:`/organizations/${this.id}/domains/${e}`,method:"GET"}))?.response);getMembershipRequests=async e=>await Le._fetch({path:`/organizations/${this.id}/membership_requests`,method:"GET",search:Mr(e)}).then(n=>{let{data:g,total_count:A}=n?.response;return{total_count:A,data:g.map(N=>new Kl(N))}});createDomain=async e=>es.create(this.id,{name:e});getMemberships=async e=>await Le._fetch({path:`/organizations/${this.id}/memberships`,method:"GET",search:Mr({...e,paginated:!0})}).then(n=>{let{data:g,total_count:A}=n?.response;return{total_count:A,data:g.map(N=>new ti(N))}});getInvitations=async e=>await Le._fetch({path:`/organizations/${this.id}/invitations`,method:"GET",search:Mr(e)},{forceUpdateClient:!0}).then(n=>{let{data:g,total_count:A}=n?.response;return{total_count:A,data:g.map(N=>new ws(N))}});addMember=async({userId:e,role:n})=>await Le._fetch({method:"POST",path:`/organizations/${this.id}/memberships`,body:{userId:e,role:n}}).then(g=>new ti(g?.response));inviteMember=async e=>ws.create(this.id,e);inviteMembers=async e=>ws.createBulk(this.id,e);updateMember=async({userId:e,role:n})=>await Le._fetch({method:"PATCH",path:`/organizations/${this.id}/memberships/${e}`,body:{role:n}}).then(g=>new ti(g?.response));removeMember=async e=>await Le._fetch({method:"DELETE",path:`/organizations/${this.id}/memberships/${e}`}).then(n=>new ti(n?.response));destroy=async()=>this._baseDelete();setLogo=async({file:e})=>{let n,g;return e===null?await Le._fetch({path:`/organizations/${this.id}/logo`,method:"DELETE"}).then(A=>new Ni(A?.response)):(typeof e=="string"?(n=e,g=new Headers({"Content-Type":"application/octet-stream"})):(n=new FormData).append("file",e),await Le._fetch({path:`/organizations/${this.id}/logo`,method:"PUT",body:n,headers:g}).then(A=>new Ni(A?.response)))};initializePaymentMethod=e=>vn({...e,orgId:this.id});addPaymentMethod=e=>dn({...e,orgId:this.id});getPaymentMethods=e=>di({...e,orgId:this.id});fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.slug=e.slug,this.imageUrl=e.image_url||"",this.hasImage=e.has_image||!1,this.publicMetadata=e.public_metadata||{},this.membersCount=e.members_count||0,this.pendingInvitationsCount=e.pending_invitations_count||0,this.maxAllowedMemberships=e.max_allowed_memberships||0,this.adminDeleteEnabled=e.admin_delete_enabled||!1,this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at)),this}__internal_toSnapshot(){return{object:"organization",id:this.id,name:this.name,slug:this.slug,image_url:this.imageUrl,has_image:this.hasImage,public_metadata:this.publicMetadata,members_count:this.membersCount,pending_invitations_count:this.pendingInvitationsCount,max_allowed_memberships:this.maxAllowedMemberships,admin_delete_enabled:this.adminDeleteEnabled,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}async reload(e){let{rotatingTokenNonce:n}=e||{},g=(await Le._fetch({path:`/organizations/${this.id}`,method:"GET",rotatingTokenNonce:n},{forceUpdateClient:!0}))?.response;return this.fromJSON(g)}}class ws extends Le{id;emailAddress;organizationId;publicMetadata={};status;role;roleName;createdAt;updatedAt;static async create(e,{emailAddress:n,role:g}){return new ws((await Le._fetch({path:`/organizations/${e}/invitations`,method:"POST",body:{email_address:n,role:g}}))?.response)}static async createBulk(e,n){let{emailAddresses:g,role:A}=n;return((await Le._fetch({path:`/organizations/${e}/invitations/bulk`,method:"POST",body:{email_address:g,role:A}}))?.response).map(N=>new ws(N))}constructor(e){super(),this.fromJSON(e)}revoke=async()=>await this._basePost({path:`/organizations/${this.organizationId}/invitations/${this.id}/revoke`});fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.organizationId=e.organization_id,this.publicMetadata=e.public_metadata,this.role=e.role,this.roleName=e.role_name,this.status=e.status,this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at)),this}}class ti extends Le{id;publicMetadata={};publicUserData;organization;permissions=[];role;roleName;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static retrieve=async e=>await Le._fetch({path:"/me/organization_memberships",method:"GET",search:Mr({...e,paginated:!0})}).then(n=>{let{data:g,total_count:A}=n?.response;return{total_count:A,data:g.map(N=>new ti(N))}});destroy=async()=>await this._baseDelete({path:`/organizations/${this.organization.id}/memberships/${this.publicUserData?.userId}`});update=async({role:e})=>await this._basePatch({path:`/organizations/${this.organization.id}/memberships/${this.publicUserData?.userId}`,body:{role:e}});fromJSON(e){return e&&(this.id=e.id,this.organization=new Ni(e.organization),this.publicMetadata=e.public_metadata||{},e.public_user_data&&(this.publicUserData=new Qo(e.public_user_data)),this.permissions=Array.isArray(e.permissions)?[...e.permissions]:[],this.role=e.role,this.roleName=e.role_name,this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at)),this}__internal_toSnapshot(){return{object:"organization_membership",id:this.id,organization:this.organization.__internal_toSnapshot(),public_metadata:this.publicMetadata,public_user_data:this.publicUserData?.__internal_toSnapshot(),permissions:this.permissions,role:this.role,role_name:this.roleName,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}reload(e){throw Error(`${_r} Calling OrganizationMembership.reload is not currently supported. Please contact support.`)}}class Go extends Le{id;publicOrganizationData;status;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static async retrieve(e){return await Le._fetch({path:"/me/organization_suggestions",method:"GET",search:Mr(e)}).then(n=>{let{data:g,total_count:A}=n?.response;return{total_count:A,data:g.map(N=>new Go(N))}})}accept=async()=>await this._basePost({path:`/me/organization_suggestions/${this.id}/accept`});fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.publicOrganizationData={hasImage:e.public_organization_data.has_image,imageUrl:e.public_organization_data.image_url,name:e.public_organization_data.name,id:e.public_organization_data.id,slug:e.public_organization_data.slug},this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at)),this}}function ks(){return f()&&typeof window.PublicKeyCredential=="function"}async function Jo(){try{return ks()&&await window.PublicKeyCredential.isConditionalMediationAvailable()}catch{return!1}}async function Zo(){try{return"u">typeof window&&await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()}catch{return!1}}class Li extends Le{id;pathRoot="/me/passkeys";verification=null;name=null;lastUsedAt=null;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static async create(){return Le._fetch({path:"/me/passkeys",method:"POST"}).then(e=>new Li(e?.response))}static async attemptVerification(e,n){let g,A=(g=n.response,{...mi(n),response:{clientDataJSON:Ri(g.clientDataJSON),attestationObject:Ri(g.attestationObject),transports:g.getTransports()}});return Le._fetch({path:`/me/passkeys/${e}/attempt_verification`,method:"POST",body:{strategy:"passkey",publicKeyCredential:JSON.stringify(A)}}).then(N=>new Li(N?.response))}static async registerPasskey(){let e=Li.clerk.__internal_isWebAuthnSupported||ks,n=Li.clerk.__internal_createPublicCredentials||Rl,g=Li.clerk.__internal_isWebAuthnPlatformAuthenticatorSupported||Zo;if(!e())throw new je("Passkeys are not supported on this device.",{code:"passkey_not_supported"});let A=await this.create(),{verification:N}=A,K=N?.publicKey;if(K||Ht("create"),K.authenticatorSelection?.authenticatorAttachment==="platform"&&!await g())throw new je("Registration requires a platform authenticator but the device does not support it.",{code:"passkey_pa_not_supported"});let{publicKeyCredential:ge,error:de}=await n(K);if(!ge)throw de;return this.attemptVerification(A.id,ge)}update=e=>this._basePatch({body:e});delete=async()=>new wi((await Le._fetch({path:this.path(),method:"DELETE"}))?.response);fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.lastUsedAt=e.last_used_at?Gt(e.last_used_at):null,this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at),e.verification&&(this.verification=new wu(e.verification))),this}__internal_toSnapshot(){return{object:"passkey",id:this.id,name:this.name,verification:this.verification?.__internal_toSnapshot()||null,last_used_at:this.lastUsedAt?.getTime()||null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}class Yo extends Le{id;phoneNumber="";reservedForSecondFactor=!1;defaultSecondFactor=!1;linkedTo=[];verification;backupCodes;constructor(e,n){super(),this.pathRoot=n,this.fromJSON(e)}create=()=>this._basePost({body:{phone_number:this.phoneNumber}});prepareVerification=()=>this._basePost({action:"prepare_verification",body:{strategy:"phone_code"}});attemptVerification=e=>{let{code:n}=e||{};return this._basePost({action:"attempt_verification",body:{code:n}})};setReservedForSecondFactor=e=>{let{reserved:n}=e||{};return this._basePatch({body:{reserved_for_second_factor:n}})};makeDefaultSecondFactor=()=>this._basePatch({body:{default_second_factor:!0}});destroy=()=>this._baseDelete();toString=()=>{let e=this.phoneNumber.match(/^(\d{3})(\d{3})(\d{4})$/);return e?"("+e[1]+") "+e[2]+"-"+e[3]:this.phoneNumber};fromJSON(e){return e&&(this.id=e.id,this.phoneNumber=e.phone_number,this.reservedForSecondFactor=e.reserved_for_second_factor,this.defaultSecondFactor=e.default_second_factor,this.verification=new kn(e.verification),this.linkedTo=(e.linked_to||[]).map(n=>new Vo(n)),this.backupCodes=e.backup_codes),this}__internal_toSnapshot(){return{object:"phone_number",id:this.id||"",phone_number:this.phoneNumber,reserved_for_second_factor:this.reservedForSecondFactor,default_second_factor:this.defaultSecondFactor,verification:this.verification.__internal_toSnapshot(),linked_to:this.linkedTo.map(e=>e.__internal_toSnapshot()),backup_codes:this.backupCodes}}}class Gl extends Le{id="";loaders;rollout;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=this.withDefault(e.id,this.id),this.loaders=this.withDefault(e.loaders,this.loaders)),this}__internal_toSnapshot(){return{object:"protect_config",id:this.id,loaders:this.loaders}}}class Qo{firstName;lastName;imageUrl;hasImage;identifier;userId;username;banned;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.firstName=e.first_name||null,this.lastName=e.last_name||null,this.imageUrl=e.image_url||"",this.hasImage=e.has_image||!1,this.identifier=e.identifier||"",this.userId=e.user_id,this.username=e.username,this.banned=e.banned??void 0),this}__internal_toSnapshot(){return{first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl,has_image:this.hasImage,identifier:this.identifier,user_id:this.userId,username:this.username,banned:this.banned}}}let ku={strict_mfa:{afterMinutes:10,level:"multi_factor"},strict:{afterMinutes:10,level:"second_factor"},moderate:{afterMinutes:60,level:"second_factor"},lax:{afterMinutes:1440,level:"second_factor"}},xu=new Set(["first_factor","second_factor","multi_factor"]),Bs=new Set(["strict_mfa","strict","moderate","lax"]),Jl=new Set(["o","org","organization"]),xs=new Set(["u","user"]),Zl=w=>typeof w=="number"&&Number.isFinite(w)&&(w===-1||w>=0),Xo=(w,e)=>{let{org:n,user:g}=Ds(w),[A,N]=e.split(":"),K=N!==void 0,ge=N||A;if(K&&!Jl.has(A)&&!xs.has(A))throw Error(`Invalid scope: ${A}`);if(K){if(Jl.has(A))return n.includes(ge);if(xs.has(A))return g.includes(ge)}return[...n,...g].includes(ge)},Ds=w=>{let e=[],n=[];if(!w)return{org:e,user:n};let g=w.split(",");for(let A=0;A(pi.clear(),this._basePost({action:"end"}));remove=()=>(pi.clear(),this._basePost({action:"remove"}));_touchPost=async({intent:e,skipUpdateClient:n}={skipUpdateClient:!1})=>{let g=await Le._fetch({method:"POST",path:this.path("touch"),body:{active_organization_id:this.lastActiveOrganizationId,intent:e}},{skipUpdateClient:n});return this.fromJSON(g?.response||g),g};touch=async({intent:e}={})=>(await this._touchPost({intent:e,skipUpdateClient:!1}),this.lastActiveToken&&qr.emit(In,{token:this.lastActiveToken}),this);__internal_touch=async({intent:e}={})=>Wo(await this._touchPost({intent:e,skipUpdateClient:!0}));clearCache=()=>pi.clear();getToken=async e=>{try{let n=await Da(()=>this._getToken(e),{factor:1.55,initialDelay:3e3,maxDelayBetweenRetries:5e4,jitter:!1,shouldRetry:(g,A)=>(!Re(g)||g?.status===429)&&(y()?A<=8:A<=3)});if(!n&&!y())throw new G("Network request failed while offline. The browser appears to be disconnected.");return n}catch(n){throw y()?n:new G("Network request failed while offline. The browser appears to be disconnected.")}};checkAuthorization=e=>{let n,g=(this.user?.organizationMemberships||[]).find(A=>A.organization.id===this.lastActiveOrganizationId);return(n={userId:this.user?.id,factorVerificationAge:this.factorVerificationAge,orgId:g?.organization?.id,orgRole:g?.role,orgPermissions:g?.permissions,features:this.lastActiveToken?.jwt?.claims.fea||"",plans:this.lastActiveToken?.jwt?.claims.pla||""},A=>{let N;return!!n.userId&&(N=[((K,ge)=>{let{orgId:de,orgRole:we,orgPermissions:ze}=ge,Ze=K.role!==void 0,$e=K.permission!==void 0;return Ze||$e?Ze&&typeof K.role!="string"||$e&&typeof K.permission!="string"||!de||Ze&&(typeof we!="string"||!we||we.replace(/^(org:)*/,"org:")!==K.role.replace(/^(org:)*/,"org:"))||$e&&(!Array.isArray(ze)||!ze.includes(K.permission.replace(/^(org:)*/,"org:")))?"fail":"pass":"skip"})(A,n),((K,ge)=>{let{features:de,plans:we}=ge,ze=K.feature!==void 0,Ze=K.plan!==void 0;if(!ze&&!Ze)return"skip";if(ze&&typeof K.feature!="string"||Ze&&typeof K.plan!="string")return"fail";if(ze){if(typeof de!="string"||!de)return"fail";try{if(!Xo(de,K.feature))return"fail"}catch{return"fail"}}if(Ze){if(typeof we!="string"||!we)return"fail";try{if(!Xo(we,K.plan))return"fail"}catch{return"fail"}}return"pass"})(A,n),((K,{factorVerificationAge:ge})=>{if(K.reverification===void 0)return"skip";if(!ge||!Array.isArray(ge)||ge.length!==2||!Zl(ge[0])||!Zl(ge[1]))return"fail";let de=(ot=>{let gt,Et;if(!ot)return!1;let Kt=typeof ot=="string"&&Bs.has(ot),va=typeof ot=="object"&&(gt=ot.level,xu.has(gt))&&typeof(Et=ot.afterMinutes)=="number"&&Et>0;return(!!Kt||!!va)&&(xa=>typeof xa=="string"?ku[xa]:xa).bind(null,ot)})(K.reverification);if(!de)return"fail";let{level:we,afterMinutes:ze}=de(),[Ze,$e]=ge;if(Ze===-1&&$e===-1)return"fail";let et=Ze!==-1&&ze>Ze,ft=$e!==-1&&ze>$e;switch(we){case"first_factor":return et?"pass":"fail";case"second_factor":return $e===-1?et?"pass":"fail":ft?"pass":"fail";case"multi_factor":return $e===-1?et?"pass":"fail":Ze===-1?"fail":et&&ft?"pass":"fail"}})(A,n)]).some(K=>K==="pass")&&N.every(K=>K==="pass"||K==="skip")})(e)};#e=e=>{if(e){let n=this.#a();pi.set({tokenId:n,tokenResolver:Promise.resolve(e),onRefresh:()=>this.#l(void 0,this.lastActiveOrganizationId,n,!0)})}};#a(e,n){let g=n===void 0?this.lastActiveOrganizationId:n;return Qi.build(this.id,e,g)}startVerification=async({level:e})=>new ts((await Le._fetch({method:"POST",path:`/client/sessions/${this.id}/verify`,body:{level:e}}))?.response);prepareFirstFactorVerification=async e=>{let n;switch(e.strategy){case"email_code":n={emailAddressId:e.emailAddressId};break;case"phone_code":n={phoneNumberId:e.phoneNumberId,default:e.default};break;case"passkey":n={};break;case"enterprise_sso":n={emailAddressId:e.emailAddressId,enterpriseConnectionId:e.enterpriseConnectionId,redirectUrl:e.redirectUrl};break;default:_n("Session.prepareFirstFactorVerification",e.strategy)}return new ts((await Le._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/prepare_first_factor`,body:{...n,strategy:e.strategy}}))?.response)};attemptFirstFactorVerification=async e=>{let n;return n=e.strategy==="passkey"?{publicKeyCredential:JSON.stringify(Ko(e.publicKeyCredential))}:{...e},new ts((await Le._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/attempt_first_factor`,body:{...n,strategy:e.strategy}}))?.response)};verifyWithPasskey=async()=>{let{nonce:e=null}=(await this.prepareFirstFactorVerification({strategy:"passkey"})).firstFactorVerification,n=on.clerk.__internal_isWebAuthnSupported||ks,g=on.clerk.__internal_getPublicCredentials||uo;if(!n())throw new je("Passkeys are not supported",{code:"passkey_not_supported"});let A=e?Mi(JSON.parse(e)):null;A||Ht("get");let{publicKeyCredential:N,error:K}=await g({publicKeyOptions:A,conditionalUI:!1});if(!N)throw K;return this.attemptFirstFactorVerification({strategy:"passkey",publicKeyCredential:N})};prepareSecondFactorVerification=async e=>new ts((await Le._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/prepare_second_factor`,body:e}))?.response);attemptSecondFactorVerification=async e=>new ts((await Le._fetch({method:"POST",path:`/client/sessions/${this.id}/verify/attempt_second_factor`,body:e}))?.response);fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.expireAt=Gt(e.expire_at),this.abandonAt=Gt(e.abandon_at),this.factorVerificationAge=e.factor_verification_age,this.lastActiveAt=Gt(e.last_active_at||void 0),this.lastActiveOrganizationId=e.last_active_organization_id,this.actor=e.actor||null,this.agent=e.actor?.type==="agent"?e.actor:null,this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at),this.user=new bo(e.user),this.tasks=e.tasks||null,e.public_user_data&&(this.publicUserData=new Qo(e.public_user_data)),this.lastActiveToken=e.last_active_token?new Di(e.last_active_token):null),this}__internal_toSnapshot(){return{object:"session",id:this.id,status:this.status,expire_at:this.expireAt.getTime(),abandon_at:this.abandonAt.getTime(),factor_verification_age:this.factorVerificationAge,last_active_at:this.lastActiveAt.getTime(),last_active_organization_id:this.lastActiveOrganizationId,actor:this.actor,tasks:this.tasks,user:this.user?.__internal_toSnapshot()||null,public_user_data:this.publicUserData.__internal_toSnapshot(),last_active_token:this.lastActiveToken?.__internal_toSnapshot()||null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}async _getToken(e){let n;if(!this.user)return null;let{skipCache:g=!1,template:A}=e||{},N=e?.organizationId===void 0?this.lastActiveOrganizationId:e?.organizationId,K=this.#a(A,N),ge=g?void 0:pi.get({tokenId:K}),de=!A&&N===this.lastActiveOrganizationId;if(ge){let we=ge.entry.resolvedToken??await ge.entry.tokenResolver;de&&we.getRawString()&&qr.emit(In,{token:we}),n=we.getRawString()||null}else if(p())n=await this.#u(A,N,K,de,g);else throw new Y("Browser is offline, skipping token fetch",{code:"network_error"});if(n===null&&!y())throw new Y("Network request failed while offline",{code:"network_error"});return n}#s(e,n,g){let A=e?`${this.path()}/tokens/${e}`:`${this.path()}/tokens`,N=on.clerk?.__internal_environment?.authConfig?.sessionMinter,K=e?{}:{organizationId:n??null,...N&&this.lastActiveToken?{token:this.lastActiveToken.getRawString()}:{},...N&&g?{forceOrigin:"true"}:{}};if(N)return Di.create(A,K,g?{debug:"skip_cache"}:void 0);let ge=this.lastActiveToken?.getRawString();return Di.create(A,K,g?{debug:"skip_cache"}:void 0).catch(de=>{if(W.is(de)&&ge)return Di.create(A,{...K},{expired_token:ge});throw de})}#i(e,n){!n||e.getRawString()&&(qr.emit(In,{token:e}),e.jwt&&(this.lastActiveToken=e,qr.emit(Tl,null)))}#u(e,n,g,A,N){rt.info("Fetching new token from API",{organizationId:n,template:e,tokenId:g},"session");let K=this.#s(e,n,N);return pi.set({tokenId:g,tokenResolver:K,onRefresh:()=>this.#l(e,n,g,A)}),K.then(ge=>{let de=ge.getRawString();if(!de)throw new Y("Token fetch returned empty response",{code:"network_error"});return this.#i(ge,A),de})}#l(e,n,g,A){if(on.#t.has(g))return;on.#t.add(g);let N=on.clerk?.__internal_getOption?.("experimental"),K=N?.runtimeEnvironment==="headless",ge=this.lastActiveToken?.jwt?.claims?.exp;K&&ge&&Date.now()/1e3>ge?on.#t.delete(g):this.#s(e,n,!1).then(de=>{de.getRawString()&&(pi.set({tokenId:g,tokenResolver:Promise.resolve(de),onRefresh:()=>this.#l(e,n,g,A)}),this.#i(de,A))}).catch(de=>{rt.warn("Background token refresh failed",{error:de,tokenId:g},"session")}).finally(()=>{on.#t.delete(g)})}get currentTask(){let[e]=this.tasks??[];return e}}class Fs extends Le{pathRoot="";id;status;abandonAt;expireAt;lastActiveAt;latestActivity;actor;constructor(e,n){super(),this.pathRoot=n,this.fromJSON(e)}static retrieve(){let e=Le.clerk.session?.id;return this.clerk.getFapiClient().request({method:"GET",path:"/me/sessions/active",sessionId:e}).then(n=>n.payload.map(g=>new Fs(g,"/me/sessions"))).catch(()=>[])}revoke(){return this._basePost({action:"revoke",body:{}})}fromJSON(e){let n;return e?(this.id=e.id,this.status=e.status,this.expireAt=Gt(e.expire_at),this.abandonAt=Gt(e.abandon_at),this.lastActiveAt=Gt(e.last_active_at||void 0),this.latestActivity={id:(n=e.latest_activity??{}).id,deviceType:n.device_type,browserName:n.browser_name,browserVersion:n.browser_version,country:n.country,city:n.city,isMobile:n.is_mobile,ipAddress:n.ip_address},this.actor=e.actor,this):this}}sr(9536);let el=(w,e,n)=>{let{onValidation:g=gs.t,onValidationComplexity:A=gs.t}={},{show_zxcvbn:N,validatePassword:K}=e,ge=ze=>((Ze,$e)=>{let{max_length:et,min_length:ft,require_special_char:ot,require_lowercase:gt,require_numbers:Et,require_uppercase:Kt}=$e,va=(_a=>{let Za;if(_a.allowed_special_characters){let ca=_a.allowed_special_characters.replace("[","\\[");ca=ca.replace("]","\\]"),Za=RegExp(`[${ca}]`)}else Za=/[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]/;return(ca,{minLength:Ma,maxLength:Oa})=>({max_length:ca.length=Ma,require_numbers:/\d/.test(ca),require_lowercase:/[a-z]/.test(ca),require_uppercase:/[A-Z]/.test(ca),require_special_char:Za.test(ca)})})($e)(Ze,{maxLength:$e.max_length,minLength:$e.min_length}),xa={max_length:et,min_length:ft,require_special_char:ot,require_lowercase:gt,require_numbers:Et,require_uppercase:Kt},ja=new Map;for(let _a in xa)xa[_a]&&!va[_a]&&ja.set(_a,!0);return Object.freeze(Object.fromEntries(ja))})(ze,e),de=(({min_zxcvbn_strength:ze,onResult:Ze})=>$e=>et=>{let ft=$e(et);return Ze?.(ft),ft.score>=ze&&ft.score<3?{state:"pass",keys:["unstable__errors.zxcvbn.couldBeStronger"],result:ft}:ft.score>=ze?{state:"excellent",result:ft}:{state:"fail",keys:["unstable__errors.zxcvbn.notEnough",...ft.feedback.suggestions.map(ot=>`unstable__errors.zxcvbn.suggestions.${ot}`)],result:ft}})(e),we={};return(ze,Ze)=>{let{onValidation:$e=g,onValidationComplexity:et=A}=Ze||{};if(!K)return;let ft=ge(ze);et(Object.keys(ft).length===0),we={...we,complexity:ft},N&&w().then(ot=>{let gt=de(ot)(ze);$e({...we={...we,strength:gt},strength:gt})}),we.complexity&&Object.keys(we.complexity).length===0&&N||$e(we)}};function tl(w){return w?`https://${w.replace(/clerk\.accountsstage\./,"accountsstage.").replace(/clerk\.accounts\.|clerk\./,"accounts.")}`:""}async function Yl(w,e,n,g,A){if(!w.client||!g.popup)return;let N=tl(w.frontendApi),{redirectUrl:K}=g,ge=new URL(K);ge.searchParams.set("sign_in_force_redirect_url",g.redirectUrlComplete),ge.searchParams.set("sign_up_force_redirect_url",g.redirectUrlComplete),ge.searchParams.set("intent",e);let de=w.buildUrlWithAuth(ge.toString()),we=w.buildUrlWithAuth(`${N}/popup-callback`),ze=w.buildUrlWithAuth(`${N}/popup-callback?return_url=${encodeURIComponent(de)}`),Ze=async $e=>{if($e.origin!==N)return;let et=!1;if($e.data.session){if(!w.client?.sessions.find(ft=>ft.id===$e.data.session))try{await w.client?.reload()}catch(ft){console.error(ft)}await w.setActive({session:$e.data.session,redirectUrl:g.redirectUrlComplete}),et=!0}else $e.data.return_url&&(w.navigate($e.data.return_url),et=!0);et&&window.removeEventListener("message",Ze)};window.addEventListener("message",Ze),await n({...g,redirectUrlComplete:we,redirectUrl:ze},A)}function Ql(w,{redirectCallbackUrl:e,redirectUrl:n}){let g=tl(w.frontendApi),A=new URL(e);A.searchParams.set("sign_in_force_redirect_url",n),A.searchParams.set("sign_up_force_redirect_url",n);let N=w.buildUrlWithAuth(A.toString()),K=w.buildUrlWithAuth(`${g}/popup-callback`);return{redirectCallbackUrl:w.buildUrlWithAuth(`${g}/popup-callback?return_url=${encodeURIComponent(N)}`),redirectUrl:K}}function Xl(w,e){return new Promise((n,g)=>{if(!w.client||!e.popup)return void g();let A=async N=>{N.origin===tl(w.frontendApi)&&(N.data.session||N.data.return_url?(window.removeEventListener("message",A),n()):g())};window.addEventListener("message",A),e.popup.location.href=e.externalVerificationRedirectURL.toString()})}async function ir(w,e){qr.emit("resource:error",{resource:w,error:null}),qr.emit("resource:fetch",{resource:w,status:"fetching"});try{return{result:await e(),error:null}}catch(n){return qr.emit("resource:error",{resource:w,error:n}),{error:n}}finally{qr.emit("resource:fetch",{resource:w,status:"idle"})}}let ec=()=>{var w;return(w=new Ta,{loadZxcvbn:()=>Promise.all([w.import("@zxcvbn-ts/core"),w.import("@zxcvbn-ts/language-common")]).then(([e,n])=>{if(!e||!n)throw Error("Failed to load zxcvbn modules");let{zxcvbnOptions:g,zxcvbn:A}=e,{dictionary:N,adjacencyGraphs:K}=n;return g.setOptions({dictionary:{...N},graphs:K}),A})}).loadZxcvbn};class Xa extends Le{pathRoot="/client/sign_ins";id;_status=null;supportedIdentifiers=[];supportedFirstFactors=[];supportedSecondFactors=null;firstFactorVerification=new kn(null);secondFactorVerification=new kn(null);identifier=null;createdSessionId=null;userData=new ac(null);clientTrustState;get status(){return this._status}set status(e){let n=this._status;this._status=e,e&&n!==e&&rt.debug("SignIn.status",{id:this.id,from:n,to:e})}__internal_future=new _u(this);__internal_basePost=this._basePost.bind(this);__internal_baseGet=this._baseGet.bind(this);constructor(e=null){super(),this.fromJSON(e)}create=async e=>{rt.debug("SignIn.create",{id:this.id,strategy:"strategy"in e?e.strategy:void 0});let n={...e},g=Ar();if(g&&(n.locale=g),this.shouldRequireCaptcha(e)&&!this.clientBypass()&&!this.shouldBypassCaptchaForAttempt(e)){let A=new zn(Xa.clerk),N=await A.managedOrInvisible({action:"signin"});if(!N)throw new Y("",{code:"captcha_unavailable"});n={...n,...N}}return this._basePost({path:this.pathRoot,body:n})};resetPassword=e=>this._basePost({body:e,action:"reset_password"});prepareFirstFactor=e=>{let n;switch(rt.debug("SignIn.prepareFirstFactor",{id:this.id,strategy:e.strategy}),e.strategy){case"passkey":n={};break;case"email_link":n={emailAddressId:e.emailAddressId,redirectUrl:e.redirectUrl};break;case"email_code":case"reset_password_email_code":n={emailAddressId:e.emailAddressId};break;case"phone_code":n={phoneNumberId:e.phoneNumberId,default:e.default,channel:e.channel};break;case"web3_metamask_signature":case"web3_base_signature":case"web3_coinbase_wallet_signature":case"web3_okx_wallet_signature":case"web3_solana_signature":n={web3WalletId:e.web3WalletId};break;case"reset_password_phone_code":n={phoneNumberId:e.phoneNumberId};break;case"enterprise_sso":n={redirectUrl:e.redirectUrl,actionCompleteRedirectUrl:e.actionCompleteRedirectUrl,oidcPrompt:e.oidcPrompt,enterpriseConnectionId:e.enterpriseConnectionId};break;default:_n("SignIn.prepareFirstFactor",e.strategy)}return this._basePost({body:{...n,strategy:e.strategy},action:"prepare_first_factor"})};attemptFirstFactor=e=>{let n;return rt.debug("SignIn.attemptFirstFactor",{id:this.id,strategy:e.strategy}),n=e.strategy==="passkey"?{publicKeyCredential:JSON.stringify(Ko(e.publicKeyCredential))}:{...e},this._basePost({body:{...n,strategy:e.strategy},action:"attempt_first_factor"})};createEmailLinkFlow=()=>{let{run:e,stop:n}=bs();return{startEmailLinkFlow:async({emailAddressId:g,redirectUrl:A})=>{this.id||ms("SignIn");let N={strategy:"email_link",emailAddressId:g,redirectUrl:A},K=this.status==="needs_second_factor"||this.status==="needs_client_trust",ge=K?"secondFactorVerification":"firstFactorVerification";return K?await this.prepareSecondFactor(N):await this.prepareFirstFactor(N),new Promise((de,we)=>{e(()=>this.reload().then(ze=>{let Ze=ze[ge].status;(Ze==="verified"||Ze==="expired")&&(n(),de(ze))}).catch(ze=>{n(),we(ze)}))})},cancelEmailLinkFlow:n}};prepareSecondFactor=e=>(rt.debug("SignIn.prepareSecondFactor",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"prepare_second_factor"}));attemptSecondFactor=e=>(rt.debug("SignIn.attemptSecondFactor",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"attempt_second_factor"}));authenticateWithRedirectOrPopup=async(e,n)=>{let{strategy:g,redirectUrlComplete:A,identifier:N,oidcPrompt:K,continueSignIn:ge,enterpriseConnectionId:de}=e||{},we=Xa.clerk.buildUrlWithAuth(e.redirectUrl);this.id&&ge||await this.create({strategy:g,identifier:N,redirectUrl:we,actionCompleteRedirectUrl:A}),g==="enterprise_sso"&&await this.prepareFirstFactor({strategy:g,redirectUrl:we,actionCompleteRedirectUrl:A,oidcPrompt:K,enterpriseConnectionId:de});let{status:ze,externalVerificationRedirectURL:Ze}=this.firstFactorVerification;ze==="unverified"&&Ze?n(Ze):Ii(ze,Xa.fapiClient.buildEmailAddress("support"))};authenticateWithRedirect=async e=>this.authenticateWithRedirectOrPopup(e,oa);authenticateWithPopup=async e=>{let{popup:n}=e||{};return n||ei("popup"),Yl(Xa.clerk,"signIn",this.authenticateWithRedirectOrPopup,e,g=>{n.location.href=g.toString()})};authenticateWithWeb3=async e=>{let n,{identifier:g,generateSignature:A,strategy:N="web3_metamask_signature",walletName:K}=e||{},ge=N.replace("web3_","").replace("_signature","");typeof A!="function"&&ei("generateSignature"),ge!=="solana"||K||ei("walletName"),await this.create({identifier:g});let de=this.supportedFirstFactors?.find(ze=>ze.strategy===N);de||bn("SignIn"),await this.prepareFirstFactor(de);let{message:we}=this.firstFactorVerification;we||bn("SignIn");try{n=await A({identifier:g,nonce:we,walletName:K,provider:ge})}catch(ze){if(ge==="coinbase_wallet"&&ze.code===4001)n=await A({identifier:g,nonce:we,provider:ge,walletName:K});else throw ze}return this.attemptFirstFactor({signature:n,strategy:N})};authenticateWithMetamask=async()=>{let e=await Na().getMetamaskIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:Na().generateSignatureWithMetamask,strategy:"web3_metamask_signature"})};authenticateWithCoinbaseWallet=async()=>{let e=await Na().getCoinbaseWalletIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:Na().generateSignatureWithCoinbaseWallet,strategy:"web3_coinbase_wallet_signature"})};authenticateWithBase=async()=>{let e=await Na().getBaseIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:Na().generateSignatureWithBase,strategy:"web3_base_signature"})};authenticateWithOKXWallet=async()=>{let e=await Na().getOKXWalletIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:Na().generateSignatureWithOKXWallet,strategy:"web3_okx_wallet_signature"})};authenticateWithSolana=async({walletName:e})=>{let n=await Na().getSolanaIdentifier(e);return this.authenticateWithWeb3({identifier:n,generateSignature:g=>Na().generateSignatureWithSolana({...g,walletName:e}),strategy:"web3_solana_signature",walletName:e})};authenticateWithPasskey=async e=>{let{flow:n}=e||{},g=Xa.clerk.__internal_isWebAuthnSupported||ks,A=Xa.clerk.__internal_getPublicCredentials||uo,N=Xa.clerk.__internal_isWebAuthnAutofillSupported||Jo;if(!g())throw new je("Passkeys are not supported",{code:"passkey_not_supported"});if(n==="autofill"||n==="discoverable")await this.create({strategy:"passkey"});else{let Ze=this.supportedFirstFactors.find($e=>$e.strategy==="passkey");Ze||function(){throw Error(`${_r} You need to start a SignIn flow by calling SignIn.create({ strategy: 'passkey' }) first`)}(),await this.prepareFirstFactor(Ze)}let{nonce:K}=this.firstFactorVerification,ge=K?Mi(JSON.parse(K)):null;ge||Ht("get");let de=!1;n==="autofill"&&(de=await N());let{publicKeyCredential:we,error:ze}=await A({publicKeyOptions:ge,conditionalUI:de});if(!we)throw ze;return this.attemptFirstFactor({publicKeyCredential:we,strategy:"passkey"})};validatePassword=(e,n)=>{if(Xa.clerk.__internal_environment?.userSettings.passwordSettings)return el(ec(),{...Xa.clerk.__internal_environment?.userSettings.passwordSettings,validatePassword:!0})(e,n)};fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.supportedIdentifiers=e.supported_identifiers,this.identifier=e.identifier,this.supportedFirstFactors=Ia(e.supported_first_factors),this.supportedSecondFactors=Ia(e.supported_second_factors),this.firstFactorVerification=new kn(e.first_factor_verification),this.secondFactorVerification=new kn(e.second_factor_verification),this.createdSessionId=e.created_session_id,this.userData=new ac(e.user_data),this.clientTrustState=e.client_trust_state??void 0),qr.emit("resource:update",{resource:this}),this}clientBypass(){return Xa.clerk.client?.captchaBypass}shouldRequireCaptcha(e){return"signUpIfMissing"in e&&!!e.signUpIfMissing}shouldBypassCaptchaForAttempt(e){let n=Xa.clerk.__internal_environment.displayConfig.captchaOauthBypass;if(e.transfer&&Xa.clerk.client?.signUp?.verifications?.externalAccount?.status==="transferable"){let g=Xa.clerk.client.signUp.verifications.externalAccount.strategy;return!!g&&n.some(A=>A===g)}return"strategy"in e&&!!e.strategy&&n.some(g=>g===e.strategy)}__internal_updateFromJSON(e){return this.fromJSON(e)}__internal_toSnapshot(){return{object:"sign_in",id:this.id||"",status:this.status||null,supported_identifiers:this.supportedIdentifiers,supported_first_factors:Ba(this.supportedFirstFactors),supported_second_factors:Ba(this.supportedSecondFactors),first_factor_verification:this.firstFactorVerification.__internal_toSnapshot(),second_factor_verification:this.secondFactorVerification.__internal_toSnapshot(),identifier:this.identifier,created_session_id:this.createdSessionId,user_data:this.userData.__internal_toSnapshot()}}}class _u{emailCode={sendCode:this.sendEmailCode.bind(this),verifyCode:this.verifyEmailCode.bind(this)};emailLink={sendLink:this.sendEmailLink.bind(this),waitForVerification:this.waitForEmailLinkVerification.bind(this),get verification(){if(!h())return null;let e=rr("__clerk_status"),n=rr("__clerk_created_session");if(!e||!n)return null;let g=e==="verified"&&Xa.clerk.client!==void 0&&Xa.clerk.client.sessions.some(A=>A.id===n);return{status:e,createdSessionId:n,verifiedFromTheSameClient:g}}};resetPasswordEmailCode={sendCode:this.sendResetPasswordEmailCode.bind(this),verifyCode:this.verifyResetPasswordEmailCode.bind(this),submitPassword:this.submitResetPassword.bind(this)};resetPasswordPhoneCode={sendCode:this.sendResetPasswordPhoneCode.bind(this),verifyCode:this.verifyResetPasswordPhoneCode.bind(this),submitPassword:this.submitResetPassword.bind(this)};phoneCode={sendCode:this.sendPhoneCode.bind(this),verifyCode:this.verifyPhoneCode.bind(this)};mfa={sendPhoneCode:this.sendMFAPhoneCode.bind(this),verifyPhoneCode:this.verifyMFAPhoneCode.bind(this),sendEmailCode:this.sendMFAEmailCode.bind(this),verifyEmailCode:this.verifyMFAEmailCode.bind(this),verifyTOTP:this.verifyTOTP.bind(this),verifyBackupCode:this.verifyBackupCode.bind(this)};#t=!1;#e;constructor(e){this.#e=e}get id(){return this.#e.id}get identifier(){return this.#e.identifier}get createdSessionId(){return this.#e.createdSessionId}get userData(){return this.#e.userData}get status(){return this.#e.status||"needs_identifier"}get supportedFirstFactors(){return this.#e.supportedFirstFactors??[]}get supportedSecondFactors(){return this.#e.supportedSecondFactors??[]}get isTransferable(){return this.#e.firstFactorVerification.status==="transferable"}get existingSession(){if(this.#e.firstFactorVerification.status==="failed"&&this.#e.firstFactorVerification.error?.code==="identifier_already_signed_in"&&this.#e.firstFactorVerification.error?.meta?.sessionId)return{sessionId:this.#e.firstFactorVerification.error?.meta?.sessionId}}get firstFactorVerification(){return this.#e.firstFactorVerification}get secondFactorVerification(){return this.#e.secondFactorVerification}get canBeDiscarded(){return this.#t}async sendResetPasswordEmailCode(){if(!this.#e.id)throw Error("Cannot reset password without a sign in.");return ir(this.#e,async()=>{let e=this.#e.supportedFirstFactors?.find(g=>g.strategy==="reset_password_email_code");if(!e)throw new Y("Reset password email code factor not found",{code:"factor_not_found"});let{emailAddressId:n}=e;await this.#e.__internal_basePost({body:{emailAddressId:n,strategy:"reset_password_email_code"},action:"prepare_first_factor"})})}async verifyResetPasswordEmailCode(e){let{code:n}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{code:n,strategy:"reset_password_email_code"},action:"attempt_first_factor"})})}async sendResetPasswordPhoneCode(e={}){let{phoneNumber:n}=e;if(!this.#e.id&&!n)throw Error("signIn.resetPasswordPhoneCode.sendCode() cannot be called without a phoneNumber if an existing signIn does not exist.");return ir(this.#e,async()=>{n&&await this._create({identifier:n});let g=this.#e.supportedFirstFactors?.find(N=>N.strategy==="reset_password_phone_code");if(!g)throw new Y("Reset password phone code factor not found",{code:"factor_not_found"});let{phoneNumberId:A}=g;await this.#e.__internal_basePost({body:{phoneNumberId:A,strategy:"reset_password_phone_code"},action:"prepare_first_factor"})})}async verifyResetPasswordPhoneCode(e){let{code:n}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{code:n,strategy:"reset_password_phone_code"},action:"attempt_first_factor"})})}async submitResetPassword(e){let{password:n,signOutOfOtherSessions:g=!0}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{password:n,signOutOfOtherSessions:g},action:"reset_password"})})}shouldRequireCaptcha(e){return!!e.signUpIfMissing}shouldBypassCaptchaForAttempt(e){let n=Xa.clerk.__internal_environment.displayConfig.captchaOauthBypass;if(e.transfer&&Xa.clerk.client?.signUp?.verifications?.externalAccount?.status==="transferable"){let g=Xa.clerk.client.signUp.verifications.externalAccount.strategy;return!!g&&n.some(A=>A===g)}return!!e.strategy&&n.some(g=>g===e.strategy)}async getCaptchaToken(e={}){if(!this.shouldRequireCaptcha(e)||Xa.clerk.client?.captchaBypass||this.shouldBypassCaptchaForAttempt(e))return{captchaToken:void 0,captchaWidgetType:void 0,captchaError:void 0};let n=new zn(Xa.clerk),g=await n.managedOrInvisible({action:"signin"});if(!g)throw Error("Captcha challenge failed");let{captchaError:A,captchaToken:N,captchaWidgetType:K}=g;return{captchaToken:N,captchaWidgetType:K,captchaError:A}}async _create(e){let{captchaToken:n,captchaWidgetType:g,captchaError:A}=await this.getCaptchaToken(e),N={...e,captchaToken:n,captchaWidgetType:g,captchaError:A,locale:Ar()||void 0};await this.#e.__internal_basePost({path:this.#e.pathRoot,body:N})}async create(e){return ir(this.#e,async()=>{await this._create(e)})}async password(e){if([e.identifier,e.emailAddress,e.phoneNumber].filter(Boolean).length>1)throw Error("Only one of identifier, emailAddress, or phoneNumber can be provided");return ir(this.#e,async()=>{let n=e.identifier||e.emailAddress||e.phoneNumber,g=this.#e.identifier,A=Ar();await this.#e.__internal_basePost({path:this.#e.pathRoot,body:{identifier:n||g,password:e.password,...A?{locale:A}:{}}})})}async sendEmailCode(e={}){let{emailAddress:n,emailAddressId:g}=e;if(!this.#e.id&&g)throw Error("signIn.emailCode.sendCode() cannot be called with an emailAddressId if an existing signIn does not exist.");if(!this.#e.id&&!n)throw Error("signIn.emailCode.sendCode() cannot be called without an emailAddress if an existing signIn does not exist.");return ir(this.#e,async()=>{n&&await this._create({identifier:n});let A=this.selectFirstFactor({strategy:"email_code",emailAddressId:g});if(!A)throw new Y("Email code factor not found",{code:"factor_not_found"});await this.#e.__internal_basePost({body:{emailAddressId:A.emailAddressId,strategy:"email_code"},action:"prepare_first_factor"})})}async verifyEmailCode(e){let{code:n}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{code:n,strategy:"email_code"},action:"attempt_first_factor"})})}async sendEmailLink(e){let{emailAddress:n,verificationUrl:g,emailAddressId:A}=e;if(!this.#e.id&&A)throw Error("signIn.emailLink.sendLink() cannot be called with an emailAddressId if an existing signIn does not exist.");if(!this.#e.id&&!n)throw Error("signIn.emailLink.sendLink() cannot be called without an emailAddress if an existing signIn does not exist.");return ir(this.#e,async()=>{n&&await this._create({identifier:n});let N=this.selectFirstFactor({strategy:"email_link",emailAddressId:A});if(!N)throw new Y("Email link factor not found",{code:"factor_not_found"});let K=g;try{new URL(g)}catch{K=window.location.origin+g}await this.#e.__internal_basePost({body:{emailAddressId:N.emailAddressId,redirectUrl:K,strategy:"email_link"},action:"prepare_first_factor"})})}async waitForEmailLinkVerification(){return ir(this.#e,async()=>{let{run:e,stop:n}=bs();await new Promise((g,A)=>{e(async()=>{try{let N=await this.#e.__internal_baseGet(),K=N.firstFactorVerification.status;(K==="verified"||K==="expired")&&(n(),g(N))}catch(N){n(),A(N)}})})})}async sendPhoneCode(e={}){let{phoneNumber:n,phoneNumberId:g,channel:A="sms"}=e;if(!this.#e.id&&g)throw Error("signIn.phoneCode.sendCode() cannot be called with an phoneNumberId if an existing signIn does not exist.");if(!this.#e.id&&!n)throw Error("signIn.phoneCode.sendCode() cannot be called without an phoneNumber if an existing signIn does not exist.");return ir(this.#e,async()=>{n&&await this._create({identifier:n});let N=this.selectFirstFactor({strategy:"phone_code",phoneNumberId:g});if(!N)throw new Y("Phone code factor not found",{code:"factor_not_found"});await this.#e.__internal_basePost({body:{phoneNumberId:N.phoneNumberId,strategy:"phone_code",channel:A},action:"prepare_first_factor"})})}async verifyPhoneCode(e){let{code:n}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{code:n,strategy:"phone_code"},action:"attempt_first_factor"})})}async sso(e){let{strategy:n,redirectUrl:g,redirectCallbackUrl:A,popup:N,oidcPrompt:K,enterpriseConnectionId:ge,identifier:de}=e;return ir(this.#e,async()=>{let we=g;try{new URL(g)}catch{we=window.location.origin+g}let ze={redirectUrl:Xa.clerk.buildUrlWithAuth(A),actionCompleteRedirectUrl:we};if(N){let et=Ql(Xa.clerk,{redirectCallbackUrl:ze.redirectUrl,redirectUrl:we});ze.redirectUrl=et.redirectCallbackUrl,ze.actionCompleteRedirectUrl=et.redirectUrl}this.#e.id||await this._create({strategy:n,...ze,identifier:de}),n==="enterprise_sso"&&await this.#e.__internal_basePost({body:{...ze,oidcPrompt:K,enterpriseConnectionId:ge,strategy:"enterprise_sso"},action:"prepare_first_factor"});let{status:Ze,externalVerificationRedirectURL:$e}=this.#e.firstFactorVerification;Ze==="unverified"&&$e&&(N?(await Xl(Xa.clerk,{popup:N,externalVerificationRedirectURL:$e}),await this.#e.reload()):oa($e))})}async web3(e){let{strategy:n}=e,g=n.replace("web3_","").replace("_signature","");return ir(this.#e,async()=>{let A,N,K;switch(g){case"metamask":A=await Na().getMetamaskIdentifier(),N=Na().generateSignatureWithMetamask;break;case"coinbase_wallet":A=await Na().getCoinbaseWalletIdentifier(),N=Na().generateSignatureWithCoinbaseWallet;break;case"base":A=await Na().getBaseIdentifier(),N=Na().generateSignatureWithBase;break;case"okx_wallet":A=await Na().getOKXWalletIdentifier(),N=Na().generateSignatureWithOKXWallet;break;case"solana":if(!e.walletName)throw new Y("Wallet name is required for Solana authentication.",{code:"web3_solana_wallet_name_required"});A=await Na().getSolanaIdentifier(e.walletName),N=we=>Na().generateSignatureWithSolana({...we,walletName:e.walletName});break;default:throw Error(`Unsupported Web3 provider: ${g}`)}await this._create({identifier:A});let ge=this.#e.supportedFirstFactors?.find(we=>we.strategy===n);if(!ge)throw new Y("Web3 first factor not found",{code:"factor_not_found"});await this.#e.__internal_basePost({body:{web3WalletId:ge.web3WalletId,strategy:n},action:"prepare_first_factor"});let{message:de}=this.firstFactorVerification;if(!de)throw new Y("Web3 nonce not found",{code:"web3_nonce_not_found"});try{K=await N({identifier:A,nonce:de,walletName:e?.walletName,provider:g})}catch(we){if(g==="coinbase_wallet"&&we.code===4001)K=await N({identifier:A,nonce:de,provider:g});else throw we}await this.#e.__internal_basePost({body:{signature:K,strategy:n},action:"attempt_first_factor"})})}async passkey(e){let{flow:n}=e||{},g=Xa.clerk.__internal_isWebAuthnSupported||ks,A=Xa.clerk.__internal_getPublicCredentials||uo,N=Xa.clerk.__internal_isWebAuthnAutofillSupported||Jo;if(!g())throw new je("Passkeys are not supported",{code:"passkey_not_supported"});return ir(this.#e,async()=>{if(n==="autofill"||n==="discoverable")await this._create({strategy:"passkey"});else{if(!this.supportedFirstFactors.find(Ze=>Ze.strategy==="passkey"))throw new Y("Passkey factor not found",{code:"factor_not_found"});await this.#e.__internal_basePost({body:{strategy:"passkey"},action:"prepare_first_factor"})}let{nonce:K}=this.firstFactorVerification,ge=K?Mi(JSON.parse(K)):null;if(!ge)throw new Y("Missing public key options",{code:"missing_public_key_options"});let de=!1;n==="autofill"&&(de=await N());let{publicKeyCredential:we,error:ze}=await A({publicKeyOptions:ge,conditionalUI:de});if(!we)throw new je(ze.message,{code:"passkey_retrieval_failed"});await this.#e.__internal_basePost({body:{publicKeyCredential:JSON.stringify(Ko(we)),strategy:"passkey"},action:"attempt_first_factor"})})}async sendMFAPhoneCode(){return ir(this.#e,async()=>{let e=this.#e.supportedSecondFactors?.find(g=>g.strategy==="phone_code");if(!e)throw new Y("Phone code factor not found",{code:"factor_not_found"});let{phoneNumberId:n}=e;await this.#e.__internal_basePost({body:{phoneNumberId:n,strategy:"phone_code"},action:"prepare_second_factor"})})}async verifyMFAPhoneCode(e){let{code:n}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{code:n,strategy:"phone_code"},action:"attempt_second_factor"})})}async sendMFAEmailCode(){return ir(this.#e,async()=>{let e=this.#e.supportedSecondFactors?.find(g=>g.strategy==="email_code");if(!e)throw new Y("Email code factor not found",{code:"factor_not_found"});let{emailAddressId:n}=e;await this.#e.__internal_basePost({body:{emailAddressId:n,strategy:"email_code"},action:"prepare_second_factor"})})}async verifyMFAEmailCode(e){let{code:n}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{code:n,strategy:"email_code"},action:"attempt_second_factor"})})}async verifyTOTP(e){let{code:n}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{code:n,strategy:"totp"},action:"attempt_second_factor"})})}async verifyBackupCode(e){let{code:n}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{code:n,strategy:"backup_code"},action:"attempt_second_factor"})})}async ticket(e){let n=e?.ticket??rr("__clerk_ticket");return this.create({ticket:n??void 0})}async finalize(e){let{navigate:n}=e||{};if(!this.#e.createdSessionId)throw Error("Cannot finalize sign-in without a created session.");return ir(this.#e,async()=>{Xa.clerk.client&&!Xa.clerk.client.sessions.some(g=>g.id===this.#e.createdSessionId)&&await Xa.clerk.client.reload(),this.#t=!0,await Xa.clerk.setActive({session:this.#e.createdSessionId,navigate:n})})}reset(){if(!Xa.clerk.client)throw Error("Cannot reset sign-in without a client.");return this.#t=!0,Xa.clerk.client.resetSignIn(),Promise.resolve({error:null})}selectFirstFactor({strategy:e,emailAddressId:n,phoneNumberId:g}){if(!this.#e.supportedFirstFactors)return null;if(n){let K=this.#e.supportedFirstFactors.find(ge=>ge.strategy===e&&ge.emailAddressId===n);if(K)return K}if(g){let K=this.#e.supportedFirstFactors.find(ge=>ge.strategy===e&&ge.phoneNumberId===g);if(K)return K}let A=this.#e.supportedFirstFactors.find(K=>K.strategy===e&&K.safeIdentifier===this.#e.identifier);return A||this.#e.supportedFirstFactors.find(K=>K.strategy===e)||null}}function Bi(w){let{unsafeMetadata:e}={...w},n=e?typeof e=="object"?JSON.stringify(e):e:"";return{...w,...e?{unsafeMetadata:n}:{}}}class Sr extends Le{pathRoot="/client/sign_ups";id;_status=null;requiredFields=[];missingFields=[];optionalFields=[];unverifiedFields=[];verifications=new ho(null);username=null;firstName=null;lastName=null;emailAddress=null;phoneNumber=null;web3wallet=null;externalAccount;hasPassword=!1;unsafeMetadata={};createdSessionId=null;createdUserId=null;abandonAt=null;legalAcceptedAt=null;locale=null;get status(){return this._status}set status(e){let n=this._status;this._status=e,e&&n!==e&&rt.debug("SignUp.status",{id:this.id,from:n,to:e})}__internal_future=new fo(this);__internal_basePost=this._basePost.bind(this);__internal_basePatch=this._basePatch.bind(this);constructor(e=null){super(),this.fromJSON(e)}create=async e=>{rt.debug("SignUp.create",{id:this.id,strategy:e.strategy});let n={...e};if(!n.locale){let g=Ar();g&&(n.locale=g)}if(!this.clientBypass()&&!this.shouldBypassCaptchaForAttempt(e)){let g=new zn(Sr.clerk),A=await g.managedOrInvisible({action:"signup"});if(!A)throw new Y("",{code:"captcha_unavailable"});n={...n,...A}}return this._basePost({path:this.pathRoot,body:Bi(n)})};prepareVerification=e=>(rt.debug("SignUp.prepareVerification",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"prepare_verification"}));attemptVerification=e=>(rt.debug("SignUp.attemptVerification",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:"attempt_verification"}));prepareEmailAddressVerification=e=>this.prepareVerification(e||{strategy:"email_code"});attemptEmailAddressVerification=e=>this.attemptVerification({...e,strategy:"email_code"});createEmailLinkFlow=()=>{let{run:e,stop:n}=bs();return{startEmailLinkFlow:async({redirectUrl:g})=>(this.id||ms("SignUp"),await this.prepareEmailAddressVerification({strategy:"email_link",redirectUrl:g}),new Promise((A,N)=>{e(()=>this.reload().then(K=>{let ge=K.verifications.emailAddress.status;(ge==="verified"||ge==="expired")&&(n(),A(K))}).catch(K=>{n(),N(K)}))})),cancelEmailLinkFlow:n}};preparePhoneNumberVerification=e=>this.prepareVerification(e||{strategy:"phone_code"});attemptPhoneNumberVerification=e=>this.attemptVerification({...e,strategy:"phone_code"});prepareWeb3WalletVerification=e=>this.prepareVerification({strategy:"web3_metamask_signature",...e});attemptWeb3WalletVerification=async e=>{let{signature:n,strategy:g="web3_metamask_signature"}=e;return this.attemptVerification({signature:n,strategy:g})};authenticateWithWeb3=async e=>{let n,{generateSignature:g,identifier:A,unsafeMetadata:N,strategy:K="web3_metamask_signature",legalAccepted:ge,walletName:de}=e||{},we=K.replace("web3_","").replace("_signature","");typeof g!="function"&&ei("generateSignature");let ze=A||this.web3wallet;await this.create({web3Wallet:ze,unsafeMetadata:N,legalAccepted:ge}),await this.prepareWeb3WalletVerification({strategy:K});let{message:Ze}=this.verifications.web3Wallet;Ze||bn("SignUp");try{n=await g({identifier:A,nonce:Ze,provider:we,walletName:de})}catch($e){if(we==="coinbase_wallet"&&$e.code===4001)n=await g({identifier:A,nonce:Ze,provider:we});else throw $e}return this.attemptWeb3WalletVerification({signature:n,strategy:K})};authenticateWithMetamask=async e=>{let n=await Na().getMetamaskIdentifier();return this.authenticateWithWeb3({identifier:n,generateSignature:Na().generateSignatureWithMetamask,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_metamask_signature",legalAccepted:e?.legalAccepted})};authenticateWithCoinbaseWallet=async e=>{let n=await Na().getCoinbaseWalletIdentifier();return this.authenticateWithWeb3({identifier:n,generateSignature:Na().generateSignatureWithCoinbaseWallet,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_coinbase_wallet_signature",legalAccepted:e?.legalAccepted})};authenticateWithBase=async e=>{let n=await Na().getBaseIdentifier();return this.authenticateWithWeb3({identifier:n,generateSignature:Na().generateSignatureWithBase,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_base_signature",legalAccepted:e?.legalAccepted})};authenticateWithOKXWallet=async e=>{let n=await Na().getOKXWalletIdentifier();return this.authenticateWithWeb3({identifier:n,generateSignature:Na().generateSignatureWithOKXWallet,unsafeMetadata:e?.unsafeMetadata,strategy:"web3_okx_wallet_signature",legalAccepted:e?.legalAccepted})};authenticateWithSolana=async({walletName:e,unsafeMetadata:n,legalAccepted:g})=>{let A=await Na().getSolanaIdentifier(e);return this.authenticateWithWeb3({identifier:A,generateSignature:N=>Na().generateSignatureWithSolana({...N,walletName:e}),unsafeMetadata:n,strategy:"web3_solana_signature",legalAccepted:g,walletName:e})};authenticateWithRedirectOrPopup=async(e,n)=>{let{redirectUrl:g,redirectUrlComplete:A,strategy:N,continueSignUp:K=!1,unsafeMetadata:ge,emailAddress:de,legalAccepted:we,oidcPrompt:ze,enterpriseConnectionId:Ze}=e,$e=Sr.clerk.buildUrlWithAuth(g),et=()=>{let Kt={strategy:N,redirectUrl:$e,actionCompleteRedirectUrl:A,unsafeMetadata:ge,emailAddress:de,legalAccepted:we,oidcPrompt:ze,enterpriseConnectionId:Ze};return K&&this.id?this.update(Kt):this.create(Kt)},{verifications:ft}=await et().catch(async Kt=>{if(J(Kt)&&qe(Kt))return await Sr.clerk.__internal_environment.reload(),et();throw Kt}),{externalAccount:ot}=ft,{status:gt,externalVerificationRedirectURL:Et}=ot;gt==="unverified"&&Et?n(Et):Ii(gt,Sr.fapiClient.buildEmailAddress("support"))};authenticateWithRedirect=async e=>this.authenticateWithRedirectOrPopup(e,oa);authenticateWithPopup=async e=>{let{popup:n}=e||{};return n||ei("popup"),Yl(Sr.clerk,"signUp",this.authenticateWithRedirectOrPopup,e,g=>{n.location.href=g instanceof URL?g.toString():g})};update=e=>this._basePatch({body:Bi(e)});upsert=e=>this.id?this.update(e):this.create(e);validatePassword=(e,n)=>{if(Sr.clerk.__internal_environment?.userSettings.passwordSettings)return el(ec(),{...Sr.clerk.__internal_environment?.userSettings.passwordSettings,validatePassword:!0})(e,n)};fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.requiredFields=e.required_fields,this.optionalFields=e.optional_fields,this.missingFields=e.missing_fields,this.unverifiedFields=e.unverified_fields,this.verifications=new ho(e.verifications),this.username=e.username,this.firstName=e.first_name,this.lastName=e.last_name,this.emailAddress=e.email_address,this.phoneNumber=e.phone_number,this.hasPassword=e.has_password,this.unsafeMetadata=e.unsafe_metadata,this.createdSessionId=e.created_session_id,this.createdUserId=e.created_user_id,this.abandonAt=e.abandon_at,this.web3wallet=e.web3_wallet,this.legalAcceptedAt=e.legal_accepted_at,this.locale=e.locale),qr.emit("resource:update",{resource:this}),this}__internal_updateFromJSON(e){return this.fromJSON(e)}__internal_toSnapshot(){return{object:"sign_up",id:this.id||"",status:this.status||null,required_fields:this.requiredFields,optional_fields:this.optionalFields,missing_fields:this.missingFields,unverified_fields:this.unverifiedFields,verifications:this.verifications.__internal_toSnapshot(),username:this.username,first_name:this.firstName,last_name:this.lastName,email_address:this.emailAddress,phone_number:this.phoneNumber,has_password:this.hasPassword,unsafe_metadata:this.unsafeMetadata,created_session_id:this.createdSessionId,created_user_id:this.createdUserId,abandon_at:this.abandonAt,web3_wallet:this.web3wallet,legal_accepted_at:this.legalAcceptedAt,locale:this.locale,external_account:this.externalAccount,external_account_strategy:this.externalAccount?.strategy}}clientBypass(){return Sr.clerk.client?.captchaBypass}shouldBypassCaptchaForAttempt(e){let n=Sr.clerk.__internal_environment.displayConfig.captchaOauthBypass;if(e.transfer){let g=Sr.clerk.client.signIn.firstFactorVerification.strategy;if(n.some(A=>A===g)||po(g))return!0}return!!(e.strategy&&n.some(g=>g===e.strategy))}__experimental_getEnterpriseConnections=()=>Le._fetch({path:`/client/sign_ups/${this.id}/enterprise_connections`,method:"GET"}).then(e=>(e?.response).map(n=>new ju(n)))}let tc=new Set(["email_link","email_code","phone_code"]);function po(w){return!!w&&(tc.has(w)||w.startsWith("web3_"))}class mo{#t;sendEmailCode;verifyEmailCode;sendEmailLink;waitForEmailLinkVerification;sendPhoneCode;verifyPhoneCode;constructor(e,n){this.#t=e,this.sendEmailCode=n.sendEmailCode,this.verifyEmailCode=n.verifyEmailCode,this.sendEmailLink=n.sendEmailLink,this.waitForEmailLinkVerification=n.waitForEmailLinkVerification,this.sendPhoneCode=n.sendPhoneCode,this.verifyPhoneCode=n.verifyPhoneCode}get emailAddress(){return this.#t.verifications.emailAddress}get phoneNumber(){return this.#t.verifications.phoneNumber}get web3Wallet(){return this.#t.verifications.web3Wallet}get externalAccount(){return this.#t.verifications.externalAccount}get emailLinkVerification(){if(!h())return null;let e=rr("__clerk_status"),n=rr("__clerk_created_session");if(!e||!n)return null;let g=e==="verified"&&Sr.clerk.client!==void 0&&Sr.clerk.client.sessions.some(A=>A.id===n);return{status:e,createdSessionId:n,verifiedFromTheSameClient:g}}}class fo{verifications;#t=!1;#e;constructor(e){this.#e=e,this.verifications=new mo(this.#e,{sendEmailCode:this.sendEmailCode.bind(this),verifyEmailCode:this.verifyEmailCode.bind(this),sendEmailLink:this.sendEmailLink.bind(this),waitForEmailLinkVerification:this.waitForEmailLinkVerification.bind(this),sendPhoneCode:this.sendPhoneCode.bind(this),verifyPhoneCode:this.verifyPhoneCode.bind(this)})}get id(){return this.#e.id}get requiredFields(){return this.#e.requiredFields}get optionalFields(){return this.#e.optionalFields}get missingFields(){return this.#e.missingFields}get status(){return this.#e.status||"missing_requirements"}get username(){return this.#e.username}get firstName(){return this.#e.firstName}get lastName(){return this.#e.lastName}get emailAddress(){return this.#e.emailAddress}get phoneNumber(){return this.#e.phoneNumber}get web3Wallet(){return this.#e.web3wallet}get hasPassword(){return this.#e.hasPassword}get unsafeMetadata(){return this.#e.unsafeMetadata}get createdSessionId(){return this.#e.createdSessionId}get createdUserId(){return this.#e.createdUserId}get abandonAt(){return this.#e.abandonAt}get legalAcceptedAt(){return this.#e.legalAcceptedAt}get locale(){return this.#e.locale}get unverifiedFields(){return this.#e.unverifiedFields}get isTransferable(){return this.#e.verifications.externalAccount.status==="transferable"&&this.#e.verifications.externalAccount.error?.code==="external_account_exists"}get existingSession(){if((this.#e.verifications.externalAccount.status==="failed"||this.#e.verifications.externalAccount.status==="unverified")&&this.#e.verifications.externalAccount.error?.code==="identifier_already_signed_in"&&this.#e.verifications.externalAccount.error?.meta?.sessionId)return{sessionId:this.#e.verifications.externalAccount.error?.meta?.sessionId}}get canBeDiscarded(){return this.#t}shouldBypassCaptchaForAttempt(e){let n=Sr.clerk.__internal_environment.displayConfig.captchaOauthBypass;if(e.transfer){let g=Sr.clerk.client.signIn.firstFactorVerification.strategy;if(n.some(A=>A===g)||po(g))return!0}return!!(e.strategy&&n.some(g=>g===e.strategy))}async getCaptchaToken(e={}){if(Sr.clerk.client?.captchaBypass||this.shouldBypassCaptchaForAttempt(e))return{captchaToken:void 0,captchaWidgetType:void 0,captchaError:void 0};let n=new zn(Sr.clerk),g=await n.managedOrInvisible({action:"signup"});if(!g)throw Error("Captcha challenge failed");let{captchaError:A,captchaToken:N,captchaWidgetType:K}=g;return{captchaToken:N,captchaWidgetType:K,captchaError:A}}async _create(e){let{captchaToken:n,captchaWidgetType:g,captchaError:A}=await this.getCaptchaToken(e),N={transfer:e.transfer,captchaToken:n,captchaWidgetType:g,captchaError:A,...e,unsafeMetadata:e.unsafeMetadata?Bi(e.unsafeMetadata):void 0,locale:e.locale??Ar()};await this.#e.__internal_basePost({path:this.#e.pathRoot,body:N})}async create(e){return ir(this.#e,async()=>{await this._create(e)})}async update(e){return ir(this.#e,async()=>{let n={...e,unsafeMetadata:e.unsafeMetadata?Bi(e.unsafeMetadata):void 0};await this.#e.__internal_basePatch({path:this.#e.pathRoot,body:n})})}async password(e){return ir(this.#e,async()=>{let{captchaToken:n,captchaWidgetType:g,captchaError:A}=await this.getCaptchaToken(),N={strategy:"password",captchaToken:n,captchaWidgetType:g,captchaError:A,...e,unsafeMetadata:e.unsafeMetadata?Bi(e.unsafeMetadata):void 0};this.#e.id?await this.#e.__internal_basePatch({body:N}):await this.#e.__internal_basePost({path:this.#e.pathRoot,body:N})})}async sendEmailCode(){return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{strategy:"email_code"},action:"prepare_verification"})})}async verifyEmailCode(e){let{code:n}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{strategy:"email_code",code:n},action:"attempt_verification"})})}async sendPhoneCode(e){let{channel:n="sms"}=e||{};return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{strategy:"phone_code",channel:n},action:"prepare_verification"})})}async verifyPhoneCode(e){let{code:n}=e;return ir(this.#e,async()=>{await this.#e.__internal_basePost({body:{strategy:"phone_code",code:n},action:"attempt_verification"})})}async sendEmailLink(e){let{verificationUrl:n}=e;return ir(this.#e,async()=>{let g=n;try{new URL(n)}catch{g=window.location.origin+n}await this.#e.__internal_basePost({body:{strategy:"email_link",redirectUrl:g},action:"prepare_verification"})})}async waitForEmailLinkVerification(){return ir(this.#e,async()=>{let{run:e,stop:n}=bs();await new Promise((g,A)=>{e(()=>this.#e.reload().then(N=>{let K=N.verifications.emailAddress.status;(K==="verified"||K==="expired")&&(n(),g(N))}).catch(N=>{n(),A(N)}))})})}async sso(e){let{strategy:n,redirectUrl:g,redirectCallbackUrl:A,unsafeMetadata:N,legalAccepted:K,oidcPrompt:ge,enterpriseConnectionId:de,emailAddress:we,popup:ze}=e;return ir(this.#e,async()=>{let{captchaToken:Ze,captchaWidgetType:$e,captchaError:et}=await this.getCaptchaToken({strategy:n}),ft=g;try{new URL(g)}catch{ft=window.location.origin+g}let ot={redirectUrl:Sr.clerk.buildUrlWithAuth(A),actionCompleteRedirectUrl:ft};if(ze){let va=Ql(Sr.clerk,{redirectCallbackUrl:ot.redirectUrl,redirectUrl:ft});ot.redirectUrl=va.redirectCallbackUrl,ot.actionCompleteRedirectUrl=va.redirectUrl}let gt=()=>{let va={strategy:n,...ot,unsafeMetadata:N,legalAccepted:K,oidcPrompt:ge,enterpriseConnectionId:de,emailAddress:we,captchaToken:Ze,captchaWidgetType:$e,captchaError:et};return this.#e.id?this.#e.__internal_basePatch({path:this.#e.pathRoot,body:va}):this.#e.__internal_basePost({path:this.#e.pathRoot,body:va})};await gt().catch(async va=>{if(J(va)&&qe(va))return await Sr.clerk.__internal_environment.reload(),gt();throw va});let{status:Et,externalVerificationRedirectURL:Kt}=this.#e.verifications.externalAccount;Et==="unverified"&&Kt&&(ze?(await Xl(Sr.clerk,{popup:ze,externalVerificationRedirectURL:Kt}),await this.#e.reload()):oa(Kt))})}async web3(e){let{strategy:n,unsafeMetadata:g,legalAccepted:A}=e,N=n.replace("web3_","").replace("_signature","");return ir(this.#e,async()=>{let K,ge,de;switch(N){case"metamask":K=await Na().getMetamaskIdentifier(),ge=Na().generateSignatureWithMetamask;break;case"coinbase_wallet":K=await Na().getCoinbaseWalletIdentifier(),ge=Na().generateSignatureWithCoinbaseWallet;break;case"base":K=await Na().getBaseIdentifier(),ge=Na().generateSignatureWithBase;break;case"okx_wallet":K=await Na().getOKXWalletIdentifier(),ge=Na().generateSignatureWithOKXWallet;break;default:throw Error(`Unsupported Web3 provider: ${N}`)}let we=K||this.#e.web3wallet;await this._create({web3Wallet:we,unsafeMetadata:g,legalAccepted:A}),await this.#e.__internal_basePost({body:{strategy:n},action:"prepare_verification"});let{message:ze}=this.#e.verifications.web3Wallet;ze||bn("SignUp");try{de=await ge({identifier:K,nonce:ze})}catch(Ze){if(N==="coinbase_wallet"&&Ze.code===4001)de=await ge({identifier:K,nonce:ze});else throw Ze}await this.#e.__internal_basePost({body:{signature:de,strategy:n},action:"attempt_verification"})})}async ticket(e){let n=e?.ticket??rr("__clerk_ticket");return this.create({...e,ticket:n??void 0})}async finalize(e){let{navigate:n}=e||{};return ir(this.#e,async()=>{if(!this.#e.createdSessionId)throw Error("Cannot finalize sign-up without a created session.");this.#t=!0,await Sr.clerk.setActive({session:this.#e.createdSessionId,navigate:n})})}reset(){if(!Sr.clerk.client)throw Error("Cannot reset sign-up without a client.");return this.#t=!0,Sr.clerk.client.resetSignUp(),Promise.resolve({error:null})}}class ju extends Le{id;name;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name),this}}class Di extends Le{pathRoot="tokens";jwt;static async create(e,n={},g={}){return new Di(await Le._fetch({method:"POST",path:e,body:n,search:g}),e)}constructor(e,n){super(),n&&(this.pathRoot=n),e?.jwt&&(this.jwt=xr(e.jwt))}getRawString=()=>this.jwt?.claims.__raw||"";fromJSON(e){return e&&(this.jwt=xr(e.jwt)),this}__internal_toSnapshot(){return{object:"token",id:this.id||"",jwt:this.getRawString()}}}class go extends Le{pathRoot="/me";id="";secret;uri;verified=!1;backupCodes;updatedAt=null;createdAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.secret=e.secret,this.uri=e.uri,this.verified=e.verified,this.backupCodes=e.backup_codes,this.updatedAt=Gt(e.updated_at),this.createdAt=Gt(e.created_at)),this}}class Tn extends Le{pathRoot="/me";id;codes=[];updatedAt=null;createdAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.codes=e.codes,this.updatedAt=Gt(e.updated_at),this.createdAt=Gt(e.created_at)),this}}class al extends Le{advisory=null;form={name:"",slug:"",logo:null,blurHash:null};constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(e.advisory&&(this.advisory=this.withDefault(e.advisory,this.advisory??null)),e.form&&(this.form.name=this.withDefault(e.form.name,this.form.name),this.form.slug=this.withDefault(e.form.slug,this.form.slug),this.form.logo=this.withDefault(e.form.logo,this.form.logo),this.form.blurHash=this.withDefault(e.form.blur_hash,this.form.blurHash))),this}static async retrieve(){return await Le._fetch({path:"/me/organization_creation_defaults",method:"GET"}).then(e=>new al(e?.response))}__internal_toSnapshot(){return{advisory:this.advisory?{code:this.advisory.code,meta:this.advisory.meta,severity:this.advisory.severity}:null,form:{name:this.form.name,slug:this.form.slug,logo:this.form.logo,blur_hash:this.form.blurHash}}}}class bo extends Le{pathRoot="/me";id="";externalId=null;username=null;emailAddresses=[];phoneNumbers=[];web3Wallets=[];externalAccounts=[];enterpriseAccounts=[];passkeys=[];organizationMemberships=[];passwordEnabled=!1;firstName=null;lastName=null;fullName=null;primaryEmailAddressId=null;primaryEmailAddress=null;primaryPhoneNumberId=null;primaryPhoneNumber=null;primaryWeb3WalletId=null;primaryWeb3Wallet=null;imageUrl="";hasImage=!1;twoFactorEnabled=!1;totpEnabled=!1;backupCodeEnabled=!1;publicMetadata={};unsafeMetadata={};createOrganizationEnabled=!1;createOrganizationsLimit=null;deleteSelfEnabled=!1;lastSignInAt=null;legalAcceptedAt=null;updatedAt=null;createdAt=null;cachedSessionsWithActivities=null;static isUserResource(e){return!!e&&e instanceof bo}constructor(e){super(),this.fromJSON(e)}path(){return this.pathRoot}isPrimaryIdentification=e=>{switch(e.constructor){case co:return this.primaryEmailAddressId===e.id;case Yo:return this.primaryPhoneNumberId===e.id;case yo:return this.primaryWeb3WalletId===e.id;default:return!1}};createEmailAddress=e=>{let{email:n}=e||{};return new co({email_address:n},this.path()+"/email_addresses/").create()};createPasskey=()=>Li.registerPasskey();createPhoneNumber=e=>{let{phoneNumber:n}=e||{};return new Yo({phone_number:n},this.path()+"/phone_numbers/").create()};createWeb3Wallet=e=>{let{web3Wallet:n}=e||{};return new yo({web3_wallet:n},this.path()+"/web3_wallets/").create()};createExternalAccount=async e=>{let{strategy:n,redirectUrl:g,additionalScopes:A,enterpriseConnectionId:N}=e||{};return new Wl((await Le._fetch({path:"/me/external_accounts",method:"POST",body:{strategy:n,redirect_url:g,additional_scope:A,enterprise_connection_id:N}}))?.response,this.path()+"/external_accounts")};createTOTP=async()=>new go((await Le._fetch({path:"/me/totp",method:"POST"}))?.response);verifyTOTP=async({code:e})=>new go((await Le._fetch({path:"/me/totp/attempt_verification",method:"POST",body:{code:e}}))?.response);disableTOTP=async()=>new wi((await Le._fetch({path:"/me/totp",method:"DELETE"}))?.response);createBackupCode=async()=>new Tn((await Le._fetch({path:this.path()+"/backup_codes/",method:"POST"}))?.response);update=e=>this._basePatch({body:Bi(e)});updatePassword=e=>this._basePost({body:e,path:`${this.path()}/change_password`});removePassword=e=>this._basePost({body:e,path:`${this.path()}/remove_password`});delete=()=>this._baseDelete({path:"/me"}).then(e=>(qr.emit(qn,null),e));getSessions=async()=>{if(this.cachedSessionsWithActivities)return this.cachedSessionsWithActivities;let e=await Fs.retrieve();return this.cachedSessionsWithActivities=e,e};setProfileImage=e=>{let{file:n}=e||{};return n===null?Xi.delete(`${this.path()}/profile_image`):Xi.create(`${this.path()}/profile_image`,{file:n})};getOrganizationInvitations=e=>si.retrieve(e);getOrganizationSuggestions=e=>Go.retrieve(e);getOrganizationMemberships=e=>ti.retrieve(e);getOrganizationCreationDefaults=()=>al.retrieve();leaveOrganization=async e=>new wi((await Le._fetch({path:`${this.path()}/organization_memberships/${e}`,method:"DELETE"}))?.response);getEnterpriseConnections=async e=>{let{withOrganizationAccountLinking:n}=e||{};return((await Le._fetch({path:"/me/enterprise_connections",method:"GET",...n!==void 0?{search:{with_organization_account_linking:String(n)}}:{}}))?.response||[]).map(g=>new Fl(g))};initializePaymentMethod=e=>vn(e);addPaymentMethod=e=>dn(e);getPaymentMethods=e=>di(e);get verifiedExternalAccounts(){return this.externalAccounts.filter(e=>e.verification?.status=="verified")}get unverifiedExternalAccounts(){return this.externalAccounts.filter(e=>e.verification?.status!="verified")}get verifiedWeb3Wallets(){return this.web3Wallets.filter(e=>e.verification?.status=="verified")}get hasVerifiedEmailAddress(){return this.emailAddresses.filter(e=>e.verification.status==="verified").length>0}get hasVerifiedPhoneNumber(){return this.phoneNumbers.filter(e=>e.verification.status==="verified").length>0}fromJSON(e){return e&&(this.id=e.id,this.externalId=e.external_id||null,this.firstName=e.first_name||null,this.lastName=e.last_name||null,(this.firstName||this.lastName)&&(this.fullName=(({firstName:n,lastName:g,name:A})=>A||[n,g].join(" ").trim()||"")({firstName:this.firstName,lastName:this.lastName})),this.imageUrl=e.image_url||"",this.hasImage=e.has_image||!1,this.username=e.username||null,this.passwordEnabled=e.password_enabled||!1,this.emailAddresses=(e.email_addresses||[]).map(n=>new co(n,this.path()+"/email_addresses")),this.primaryEmailAddressId=e.primary_email_address_id||null,this.primaryEmailAddress=this.emailAddresses.find(({id:n})=>n===this.primaryEmailAddressId)||null,this.phoneNumbers=(e.phone_numbers||[]).map(n=>new Yo(n,this.path()+"/phone_numbers")),this.primaryPhoneNumberId=e.primary_phone_number_id||null,this.primaryPhoneNumber=this.phoneNumbers.find(({id:n})=>n===this.primaryPhoneNumberId)||null,this.web3Wallets=(e.web3_wallets||[]).map(n=>new yo(n,this.path()+"/web3_wallets")),this.primaryWeb3WalletId=e.primary_web3_wallet_id||null,this.primaryWeb3Wallet=this.web3Wallets.find(({id:n})=>n===this.primaryWeb3WalletId)||null,this.externalAccounts=(e.external_accounts||[]).map(n=>new Wl(n,this.path()+"/external_accounts")),this.passkeys=(e.passkeys||[]).map(n=>new Li(n)),this.organizationMemberships=(e.organization_memberships||[]).map(n=>new ti(n)),this.enterpriseAccounts=(e.enterprise_accounts||[]).map(n=>new Bl(n,this.path()+"/enterprise_accounts")),this.publicMetadata=e.public_metadata||{},this.unsafeMetadata=e.unsafe_metadata||{},this.totpEnabled=e.totp_enabled||!1,this.backupCodeEnabled=e.backup_code_enabled||!1,this.twoFactorEnabled=e.two_factor_enabled||!1,this.createOrganizationEnabled=e.create_organization_enabled||!1,this.createOrganizationsLimit=e.create_organizations_limit||null,this.deleteSelfEnabled=e.delete_self_enabled||!1,e.last_sign_in_at&&(this.lastSignInAt=Gt(e.last_sign_in_at)),e.legal_accepted_at&&(this.legalAcceptedAt=Gt(e.legal_accepted_at)),this.updatedAt=Gt(e.updated_at||void 0),this.createdAt=Gt(e.created_at||void 0)),this}__internal_toSnapshot(){return{object:"user",id:this.id,external_id:this.externalId,first_name:this.firstName,last_name:this.lastName,username:this.username,public_metadata:this.publicMetadata,unsafe_metadata:this.unsafeMetadata,image_url:this.imageUrl,has_image:this.hasImage,email_addresses:this.emailAddresses.map(e=>e.__internal_toSnapshot()),phone_numbers:this.phoneNumbers.map(e=>e.__internal_toSnapshot()),web3_wallets:this.web3Wallets.map(e=>e.__internal_toSnapshot()),external_accounts:this.externalAccounts.map(e=>e.__internal_toSnapshot()),passkeys:this.passkeys.map(e=>e.__internal_toSnapshot()),organization_memberships:this.organizationMemberships.map(e=>e.__internal_toSnapshot()),enterprise_accounts:this.enterpriseAccounts.map(e=>e.__internal_toSnapshot()),totp_enabled:this.totpEnabled,backup_code_enabled:this.backupCodeEnabled,two_factor_enabled:this.twoFactorEnabled,create_organization_enabled:this.createOrganizationEnabled,create_organizations_limit:this.createOrganizationsLimit,delete_self_enabled:this.deleteSelfEnabled,primary_email_address_id:this.primaryEmailAddressId,primary_phone_number_id:this.primaryPhoneNumberId,primary_web3_wallet_id:this.primaryWeb3WalletId,password_enabled:this.passwordEnabled,profile_image_id:this.imageUrl,last_sign_in_at:this.lastSignInAt?.getTime()||null,legal_accepted_at:this.legalAcceptedAt?.getTime()||null,updated_at:this.updatedAt?.getTime()||null,created_at:this.createdAt?.getTime()||null}}}class ac{firstName;lastName;imageUrl;hasImage;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.firstName=e.first_name,this.lastName=e.last_name,this.imageUrl=e.image_url??void 0,this.hasImage=e.has_image??void 0),this}__internal_toSnapshot(){return{first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl||null,has_image:this.hasImage||null}}}class si extends Le{id;emailAddress;publicOrganizationData;publicMetadata={};status;role;createdAt;updatedAt;static async retrieve(e){return await Le._fetch({path:"/me/organization_invitations",method:"GET",search:Mr(e)}).then(n=>{let{data:g,total_count:A}=n?.response;return{total_count:A,data:g.map(N=>new si(N))}})}constructor(e){super(),this.fromJSON(e)}accept=async()=>await this._basePost({path:`/me/organization_invitations/${this.id}/accept`});fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.publicOrganizationData={hasImage:e.public_organization_data.has_image,imageUrl:e.public_organization_data.image_url,name:e.public_organization_data.name,id:e.public_organization_data.id,slug:e.public_organization_data.slug},this.publicMetadata=e.public_metadata,this.role=e.role,this.status=e.status,this.createdAt=Gt(e.created_at),this.updatedAt=Gt(e.updated_at)),this}}let ki={enabled:!1,first_factors:[],name:"phone_number",required:!1,second_factors:[],used_for_first_factor:!1,used_for_second_factor:!1,verifications:[],verify_at_sign_up:!1};class rl extends Le{id=void 0;actions={create_organization:!1,delete_self:!1};attributes={email_address:{enabled:!0,first_factors:["email_code"],name:"email_address",required:!0,second_factors:[],used_for_first_factor:!0,used_for_second_factor:!1,verifications:["email_code"],verify_at_sign_up:!0},phone_number:{...ki,name:"phone_number"},username:{...ki,name:"username"},web3_wallet:{...ki,name:"web3_wallet"},first_name:{...ki,name:"first_name"},last_name:{...ki,name:"last_name"},password:{enabled:!0,first_factors:[],name:"password",required:!0,second_factors:[],used_for_first_factor:!1,used_for_second_factor:!1,verifications:[],verify_at_sign_up:!1},authenticator_app:{...ki,name:"authenticator_app"},backup_code:{...ki,name:"backup_code"},passkey:{...ki,name:"passkey"}};enterpriseSSO={enabled:!1};passkeySettings={allow_autofill:!1,show_sign_in_button:!1};passwordSettings={};signIn={second_factor:{required:!1,enabled:!1}};signUp={allowlist_only:!1,captcha_enabled:!1,legal_consent_enabled:!1,mode:"public",progressive:!0,mfa:{required:!1}};social={};usernameSettings={};get authenticatableSocialStrategies(){return this.social?Object.entries(this.social).filter(([,e])=>e.enabled&&e.authenticatable).map(([,e])=>e.strategy).sort():[]}get enabledFirstFactorIdentifiers(){return this.attributes?Object.entries(this.attributes).filter(([e,n])=>n.used_for_first_factor&&!e.startsWith("web3")).map(([e])=>e):[]}get socialProviderStrategies(){return this.social?Object.entries(this.social).filter(([,e])=>e.enabled).map(([,e])=>e.strategy).sort():[]}get web3FirstFactors(){return this.attributes?Object.entries(this.attributes).filter(([e,n])=>n.used_for_first_factor&&e.startsWith("web3")).map(([,e])=>e.first_factors).flat():[]}get alternativePhoneCodeChannels(){return this.attributes?Object.entries(this.attributes).filter(([e,n])=>n.used_for_first_factor&&e==="phone_number").map(([,e])=>e?.channels?.filter(n=>n!=="sms")||[]).flat():[]}constructor(e=null){super(),this.fromJSON(e)}get instanceIsPasswordBased(){return!!this.attributes?.password?.enabled}get hasValidAuthFactor(){return!!(this.attributes?.email_address?.enabled||this.attributes?.phone_number?.enabled||this.attributes.password?.required&&this.attributes.username?.required)}fromJSON(e){return e&&(this.attributes=this.withDefault(e.attributes?Object.fromEntries(Object.entries(e.attributes).map(n=>[n[0],{...n[1],name:n[0]}])):null,this.attributes),this.actions=this.withDefault(e.actions,this.actions),this.enterpriseSSO=this.withDefault(e.enterprise_sso,this.enterpriseSSO),this.passkeySettings=this.withDefault(e.passkey_settings,this.passkeySettings),this.passwordSettings=e.password_settings?{...e.password_settings,min_length:Math.max(e.password_settings?.min_length??8,8),max_length:e.password_settings?.max_length===0?72:Math.min(e.password_settings?.max_length??72,72)}:this.passwordSettings,this.signIn=this.withDefault(e.sign_in,this.signIn),this.signUp=this.withDefault(e.sign_up,this.signUp),this.social=this.withDefault(e.social,this.social),this.usernameSettings=e.username_settings?{...e.username_settings,min_length:Math.max(e.username_settings?.min_length??4,4),max_length:Math.min(e.username_settings?.max_length??64,64)}:this.usernameSettings),this}__internal_toSnapshot(){return{actions:this.actions,attributes:this.attributes,passkey_settings:this.passkeySettings,password_settings:this.passwordSettings,sign_in:this.signIn,sign_up:this.signUp,social:this.social}}}class yo extends Le{id;web3Wallet="";verification;constructor(e,n){super(),this.pathRoot=n,this.fromJSON(e)}create(){return this._basePost({body:{web3_wallet:this.web3Wallet}})}prepareVerification=e=>this._basePost({action:"prepare_verification",body:{...e}});attemptVerification=e=>{let{signature:n}=e;return this._basePost({action:"attempt_verification",body:{signature:n}})};destroy(){return this._baseDelete()}toString(){return this.web3Wallet}fromJSON(e){return e&&(this.id=e.id,this.web3Wallet=e.web3_wallet,this.verification=new kn(e.verification)),this}__internal_toSnapshot(){return{object:"web3_wallet",id:this.id,web3_wallet:this.web3Wallet,verification:this.verification.__internal_toSnapshot()}}}class xi extends Le{pathRoot="/waitlist";id="";updatedAt=null;createdAt=null;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.updatedAt=Gt(e.updated_at),this.createdAt=Gt(e.created_at),qr.emit("resource:update",{resource:this})),this}async join(e){return ir(this,async()=>{await xi.join(e)})}static async join(e){return new xi(await Le._fetch({path:"/waitlist",method:"POST",body:e}))}}function nl(w,e){var n,g;return w.id!==e.id||w.updatedAt.getTime()ze.organization.id===K.lastActiveOrganizationId),we=ge.user?.organizationMemberships?.find(ze=>ze.organization.id===K.lastActiveOrganizationId);return de?.permissions?.length!==we?.permissions?.length}(n,g)||(A=n,N=g,!!A.user!=!!N.user||!!A.user&&!!N.user&&nl(A.user,N.user))}if(bo.isUserResource(n))return nl(n,g)}catch{}return!0}(w,e)?e:w}let Fi="__clerk_db_jwt";function vo(w,e){let n=new URL(w),g=n.searchParams.get(Fi);n.searchParams.delete(Fi);let A=g||e;return A&&n.searchParams.set(Fi,A),n}let rc=w=>{let e=new URL(w);return e.searchParams.delete(Fi),e},nc=w=>{let e=new URL(w);return e.searchParams.delete("__dev_session"),e.hash=decodeURI(e.hash).replace(/__clerk_db_jwt\[(.*)\]/,""),e.href.endsWith("#")&&(e.hash=""),e};function wo(w){for(var e=1;etypeof document){typeof(K=wo({},n,K)).expires=="number"&&(K.expires=new Date(Date.now()+864e5*K.expires)),K.expires&&(K.expires=K.expires.toUTCString()),A=encodeURIComponent(A).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var ge="";for(var de in K)K[de]&&(ge+="; "+de,K[de]!==!0&&(ge+="="+K[de].split(";")[0]));return document.cookie=A+"="+e.write(N,A)+ge}}return Object.create({set:g,get:function(A){if("u">typeof document&&(!arguments.length||A)){for(var N=document.cookie?document.cookie.split("; "):[],K={},ge=0;geko.get(w),set(e,n={}){ko.set(w,e,n)},remove(e){ko.remove(w,e)}}}let _s=w=>window.location.protocol==="https:"||w==="None"&&window.safari===void 0&&(window.isSecureContext!==void 0?window.isSecureContext:window.location.hostname==="localhost");function il(w,e){let n=function(g){try{return new Date(g||new Date)}catch{return new Date}}(w);return n.setFullYear(n.getFullYear()+e),n}let zu=Wi("__clerk_test_etld"),Su=[".lovable.app",".lovableproject.com",".webcontainer-api.io",".vusercontent.net",".v0.dev",".v0.app",".lp.dev",".replit.dev"];function sl(){try{return Su.some(w=>window.location.hostname.endsWith(w))}catch{return!1}}let ic="__client_uat",sc="__session",as=w=>{let e=w.usePartitionedCookies(),n=e||Ai()||sl()?"None":"Lax",g=_s(n);return{sameSite:n,secure:g,partitioned:e&&g}};async function Pu(w){let e;try{e=await pt(w)}catch(g){var n;n=`Suffixed cookie failed due to ${g.message} (secure-context: ${window.isSecureContext}, url: ${window.location.href})`,Bt.has(n)||(console.log(n),Bt.add(n));let{default:A}=await Promise.resolve().then(sr.t.bind(sr,3515,23)),{default:N}=await Promise.resolve().then(sr.t.bind(sr,5662,23)),K=A(w);e=N.stringify(K).replace(/\+/gi,"-").replace(/\//gi,"_").substring(0,8)}return e}let oc=w=>{let e=w.usePartitionedCookies(),n=e||Ai()||sl()?"None":"Lax",g=_s(n);return{sameSite:n,secure:g,partitioned:e&&g}};class ol{clerk;instanceType;clerkEventBus;poller=null;clientUat;sessionCookie;activeCookie;devBrowser;static async create(e,n,g,A){let N=await Pu(e.publishableKey),K=new ol(e,n,N,g,A);return await K.setup(),K}constructor(e,n,g,A,N){let K,ge,de,we,ze,Ze;this.clerk=e,this.instanceType=A,this.clerkEventBus=N,qr.on(In,({token:et})=>{this.updateSessionCookie(et&&et.getRawString()),this.setClientUatCookieForDevelopmentInstances()}),qr.on(qn,()=>this.handleSignOut()),qr.on(Nn,()=>{this.devBrowser.refreshCookies()}),this.refreshTokenOnFocus(),this.startPollingForToken();let $e={usePartitionedCookies:()=>Dn.getInstance().partitionedCookies};this.clientUat=(K=Wi(ic),ge=Wi(na(ic,g)),{set:et=>{let ft=il(Date.now(),1),ot=$e.usePartitionedCookies(),gt=ot||Ai()||sl()?"None":"Strict",Et=_s(gt),Kt=ot&&Et,va=function(ja=window.location.hostname,_a=zu,Za){if(i)return i;if(["localhost","127.0.0.1","0.0.0.0"].includes(ja))return ja;let ca=ja.split(".");if(ca.length===1)return ja;for(let Ma=ca.length-2;Ma>=0;Ma--){let Oa=ca.slice(Ma).join(".");if(_a.set("1",{...Za,domain:Oa}),_a.get()==="1")return _a.remove({...Za,domain:Oa}),i=Oa,Oa;_a.remove({...Za,domain:Oa})}return i=ja,ja}(void 0,void 0,{sameSite:gt,secure:Et}),xa="0";et&&et.updatedAt&&et.signedInSessions.length>0&&(xa=Math.floor(et.updatedAt.getTime()/1e3).toString()),ge.remove(),K.remove(),ge.set(xa,{domain:va,expires:ft,partitioned:Kt,sameSite:gt,secure:Et}),K.set(xa,{domain:va,expires:ft,partitioned:Kt,sameSite:gt,secure:Et})},get:()=>parseInt(ge.get()||K.get()||"0",10)}),this.sessionCookie=(de=Wi(sc),we=Wi(na(sc,g)),{set:et=>{let ft=il(Date.now(),1),{sameSite:ot,secure:gt,partitioned:Et}=as($e);Et&&(de.remove(),we.remove()),de.set(et,{expires:ft,sameSite:ot,secure:gt,partitioned:Et}),we.set(et,{expires:ft,sameSite:ot,secure:gt,partitioned:Et})},remove:()=>{let et=as($e);de.remove(et),we.remove(et),et.partitioned&&(de.remove(),we.remove())},get:()=>we.get()||de.get()}),this.activeCookie=(ze=Wi("clerk_active_context"),Ze={secure:_s("None")},{set:et=>{ze.set(et,Ze)},get:()=>ze.get(),remove:()=>ze.remove(Ze)}),this.devBrowser=function({cookieSuffix:et,frontendApi:ft,fapiClient:ot,cookieOptions:gt}){let Et,Kt,va,xa=(Kt=Wi(Fi),va=Wi(na(Fi,et)),{get:()=>va.get()||Kt.get(),set:ca=>{let Ma=il(Date.now(),1),{sameSite:Oa,secure:Ir,partitioned:En}=oc(gt);En&&(va.remove(),Kt.remove()),va.set(ca,{expires:Ma,sameSite:Oa,secure:Ir,partitioned:En}),Kt.set(ca,{expires:Ma,sameSite:Oa,secure:Ir,partitioned:En})},remove:()=>{let ca=oc(gt);va.remove(ca),Kt.remove(ca),ca.partitioned&&(va.remove(),Kt.remove())}});function ja(){return Et||xa.get()}function _a(ca){Et=ca,xa.set(ca)}function Za(){Et=void 0,xa.remove()}return{clear:function(){Za()},setup:async function(){var Ma;let Oa,Ir;if(!Te(ft))return;ot.onBeforeRequest(Ln=>{let hn=ja();hn&&Ln?.url&&(Ln.url=vo(Ln.url,hn))}),ot.onAfterResponse((Ln,hn)=>{let Gn=hn?.headers?.get("Clerk-Db-Jwt");Gn&&_a(Gn)});let En=(Oa=(Ma=new URL(window.location.href)).searchParams.get(Fi)||"",(Ir=rc(nc(Ma))).href!==Ma.href&&globalThis.history!==void 0&&globalThis.history.replaceState(null,"",Ir),Oa);if(En)return void _a(En);let fi=xa.get();if(fi){Et=fi;return}let ji=ot.buildUrl({path:"/dev_browser"}),Fn=await fetch(ji.toString(),{method:"POST"});if(!Fn.ok){let Ln=function(hn=[]){return hn.length>0?hn.map(Gn=>new ue(Gn)):[]}((await Fn.json()).errors);Ln[0]?Zi(Ln[0].longMessage):Zi()}let Wn=await Fn.json();_a(Wn?.id)},getDevBrowser:ja,setDevBrowser:_a,removeDevBrowser:Za,refreshCookies:function(){let ca=ja();ca&&_a(ca)}}}({frontendApi:e.frontendApi,fapiClient:n,cookieSuffix:g,cookieOptions:$e})}async setup(){return this.instanceType==="production"?this.setupProduction():this.setupDevelopment()}isSignedOut(){return this.clerk.loaded?!this.clerk.user:0>=this.clientUat.get()}async handleUnauthenticatedDevBrowser(){this.devBrowser.clear(),await this.devBrowser.setup()}decorateUrlWithDevBrowserToken(e){let n=this.devBrowser.getDevBrowser();if(!n)throw Error(`${_r} Missing dev browser. Please contact support.`);return vo(e,n)}async setupDevelopment(){await this.devBrowser.setup()}setupProduction(){this.devBrowser.clear()}startPollingForToken(){this.poller||(this.poller=new vi,this.poller.startPollingForSessionToken(()=>this.refreshSessionToken()))}stopPollingForToken(){this.poller&&(this.poller.stopPollingForSessionToken(),this.poller=null)}refreshTokenOnFocus(){window.addEventListener("focus",()=>{document.visibilityState==="visible"&&this.refreshSessionToken({updateCookieImmediately:!0})})}async refreshSessionToken({updateCookieImmediately:e=!1}={}){if(this.clerk.session)try{let n=await this.clerk.session.getToken();e&&this.updateSessionCookie(n)}catch(n){return this.handleGetTokenError(n)}}updateSessionCookie(e){if(document.hasFocus()||this.isCurrentContextActive())return e||y()||rt.warn("Removing session cookie (offline)",{sessionId:this.clerk.session?.id},"authCookieService"),this.setActiveContextInStorage(),e?this.sessionCookie.set(e):this.sessionCookie.remove()}setClientUatCookieForDevelopmentInstances(){this.instanceType!=="production"&&this.inCustomDevelopmentDomain()&&this.clientUat.set(this.clerk.client)}inCustomDevelopmentDomain(){let e=this.clerk.frontendApi.replace("clerk.","");return!window.location.host.endsWith(e)}handleGetTokenError(e){if(J(e)||ae(e)||(`${e.message}${e.name}`||"").toLowerCase().replace(/\s+/g,"").includes("networkerror")){if(Ke(e))return void this.clerk.handleUnauthenticated().catch(la.lQ);this.clerkEventBus.emit(B,"degraded")}}handleSignOut(){this.activeCookie.remove(),this.sessionCookie.remove(),this.setClientUatCookieForDevelopmentInstances()}setActiveContextInStorage(){let e=this.clerk.session?.id||"",n=this.clerk.organization?.id||"",g=`${e}:${n}`;g!==":"?this.activeCookie.set(g):this.activeCookie.remove()}isCurrentContextActive(){let e=this.activeCookie.get();if(!e)return!0;let[n,g]=e.split(":"),A=this.clerk.session?.id||"",N=this.clerk.organization?.id||"";return n===A&&g===N}getSessionCookie(){return this.sessionCookie.get()}}class Au{clerk;captchaChallenge;timers;constructor(e,n=new zn(e),g=Bo()){this.clerk=e,this.captchaChallenge=n,this.timers=g}async start(){this.isEnabled()&&(await this.challengeAndSend(),this.timers.setInterval(()=>{this.challengeAndSend()},this.intervalInMs()))}async challengeAndSend(){if(!(!this.clerk.client||this.clientBypass()))try{let e=await this.captchaChallenge.invisible({action:"heartbeat"});await this.clerk.client.__internal_sendCaptchaToken(e)}catch{}}isEnabled(){return!!this.clerk.__internal_environment?.displayConfig?.captchaHeartbeat}clientBypass(){return this.clerk.client?.captchaBypass}intervalInMs(){return this.clerk.__internal_environment?.displayConfig?.captchaHeartbeatIntervalMs??6e5}}let ll=["/client","/waitlist"];class js{static#t="/api_keys";async#e(){let e=await Le.clerk.session?.getToken();if(!e)throw new Y("No valid session token available",{code:"no_session_token"});return{pathPrefix:"",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},credentials:"same-origin"}}async getAll(e){return Le._fetch({...await this.#e(),method:"GET",path:js.#t,search:Mr({...e,subject:e?.subject??Le.clerk.organization?.id??Le.clerk.user?.id??"",query:e?.query??""})}).then(n=>{let{data:g,total_count:A}=n;return{total_count:A,data:g.map(N=>new da(N))}})}async create(e){return new da(await Le._fetch({...await this.#e(),path:js.#t,method:"POST",body:JSON.stringify({type:"api_key",name:e.name,subject:e.subject??Le.clerk.organization?.id??Le.clerk.user?.id??"",description:e.description,seconds_until_expiration:e.secondsUntilExpiration})}))}async revoke(e){return new da(await Le._fetch({...await this.#e(),method:"POST",path:`${js.#t}/${e.apiKeyID}/revoke`,body:JSON.stringify({revocation_reason:e.revocationReason})}))}}let lc=new Map;class Iu{async getConsentInfo(e){let{oauthClientId:n,scope:g}=e,A=await Le._fetch({method:"GET",path:`/me/oauth/consent/${encodeURIComponent(n)}`,search:g!==void 0?{scope:g}:void 0},{skipUpdateClient:!0});if(!A)throw new Y("Network request failed while offline",{code:"network_error"});let N=A.response??A;return{oauthApplicationName:N.oauth_application_name,oauthApplicationLogoUrl:N.oauth_application_logo_url,oauthApplicationUrl:N.oauth_application_url,clientId:N.client_id,state:N.state,scopes:N.scopes?.map(K=>({scope:K.scope,description:K.description,requiresConsent:K.requires_consent}))??[]}}buildConsentActionUrl({clientId:e}){let n=Le.fapiClient.buildUrl({path:`/me/oauth/consent/${encodeURIComponent(e)}`,sessionId:Le.clerk.session?.id});return Le.clerk.buildUrlWithAuth(n.toString())}}class Cu{#t=!1;load(e){let n=e?.protectConfig;if(n?.loaders&&Array.isArray(n.loaders)&&n.loaders.length!==0&&!this.#t&&h())for(let g of(this.#t=!0,n.loaders))try{this.applyLoader(g)}catch(A){sa(`[protect] failed to apply loader: ${A}`)}}applyLoader(e){if(e.rollout!==void 0){let N=e.rollout;if(typeof N!="number"||N<0)return void sa(`[protect] loader rollout value is invalid: ${N}`);if(N===0||Math.random()>N)return}let n=e.type||"script",g=e.target||"body",A=document.createElement(n);if(e.attributes)for(let[N,K]of Object.entries(e.attributes))switch(typeof K){case"string":case"number":case"boolean":A.setAttribute(N,String(K));break;default:sa(`[protect] loader attribute is invalid type: ${N}=${K}`)}switch(e.textContent&&typeof e.textContent=="string"&&(A.textContent=e.textContent),g){case"head":document.head.appendChild(A);break;case"body":document.body.appendChild(A);break;default:if(g?.startsWith("#")){let N=document.getElementById(g.substring(1));if(!N)return void sa(`[protect] loader target element not found: ${g}`);N.appendChild(A);return}sa(`[protect] loader target is invalid: ${g}`)}}}class _i{signInResourceSignal=Zn;signInErrorSignal=un;signInFetchSignal=mn;signInSignal=Kn;signUpResourceSignal=tn;signUpErrorSignal=Pn;signUpFetchSignal=yr;signUpSignal=Hn;waitlistResourceSignal=Rr;waitlistErrorSignal=Br;waitlistFetchSignal=tr;waitlistSignal=Nr;_waitlistInstance;__internal_effect=Je;__internal_computed=Ie;constructor(){qr.on("resource:update",this.onResourceUpdated),qr.on("resource:error",this.onResourceError),qr.on("resource:fetch",this.onResourceFetch),this._waitlistInstance=new xi(null),this.waitlistResourceSignal({resource:this._waitlistInstance})}get __internal_waitlist(){return this._waitlistInstance}onResourceError=e=>{e.resource instanceof Xa&&this.signInErrorSignal({error:e.error}),e.resource instanceof Sr&&this.signUpErrorSignal({error:e.error}),e.resource instanceof xi&&this.waitlistErrorSignal({error:e.error})};onResourceUpdated=e=>{if(e.resource instanceof Xa){if(Vn(this.signInResourceSignal().resource,e.resource))return;this.signInResourceSignal({resource:e.resource})}if(e.resource instanceof Sr){if(Vn(this.signUpResourceSignal().resource,e.resource))return;this.signUpResourceSignal({resource:e.resource})}e.resource instanceof xi&&(this._waitlistInstance=e.resource,this.waitlistResourceSignal({resource:e.resource}))};onResourceFetch=e=>{e.resource instanceof Xa&&this.signInFetchSignal({status:e.status}),e.resource instanceof Sr&&this.signUpFetchSignal({status:e.status}),e.resource instanceof xi&&this.waitlistFetchSignal({status:e.status})}}function Vn(w,e){return!e?.id&&w&&w.__internal_future?.canBeDiscarded===!1}let xo="cannot_render_billing_disabled",$s="cannot_render_user_missing",$i="cannot_render_organizations_disabled",cc="cannot_render_organization_missing",cl="cannot_render_single_session_enabled",zs={polling:!0,standardBrowser:!0,touchSession:!0,isSatellite:!1,signInUrl:void 0,signUpUrl:void 0,afterSignOutUrl:void 0,signInFallbackRedirectUrl:void 0,signUpFallbackRedirectUrl:void 0,signInForceRedirectUrl:void 0,signUpForceRedirectUrl:void 0,newSubscriptionRedirectUrl:void 0};class Cn{static version="6.7.5";static sdkMetadata={name:"@clerk/clerk-js",version:"6.7.5"};static _billing;static _apiKeys;static _oauthApplication;_checkout;client;session;organization;user;__internal_country;telemetry;__internal_state=new _i;internal_last_error=null;environment;#t;#e="";#a;#s;#i;#u;#l;#c=null;#r;#d;#o;#p="loading";#f=[];#m=[];#n={};#b=null;#v=0;#h=S();get __internal_queryClient(){return this.#t||Promise.resolve().then(sr.bind(sr,8123)).then(e=>e.QueryClient).then(e=>{this.#t||(this.#t=new e,this.#h.emit("queryClientStatus","ready"))}),this.#t?{__tag:"clerk-rq-client",client:this.#t}:void 0}__internal_getCachedResources;__internal_createPublicCredentials;__internal_getPublicCredentials;__internal_isWebAuthnSupported;__internal_isWebAuthnAutofillSupported;__internal_isWebAuthnPlatformAuthenticatorSupported;__internal_setActiveInProgress=!1;get publishableKey(){return this.#e}get version(){return Cn.version}set sdkMetadata(e){Cn.sdkMetadata=e}get sdkMetadata(){return Cn.sdkMetadata}get loaded(){return this.status==="degraded"||this.status==="ready"}get status(){return this.#p}get isSatellite(){return!!br()&&(0,la.VK)(this.#n.isSatellite,new URL(window.location.href),!1)}get domain(){if(br()){let e=Dt((0,la.VK)(this.#a,new URL(window.location.href)));if(this.#o==="production"){let n;if(!e)return"";if(e.match(/^(clerk\.)+\w*$/))n=/(clerk\.)*(?=clerk\.)/;else{if(e.match(/\.clerk.accounts/))return e;n=/^(clerk\.)*/gi}return`clerk.${e.replace(n,"")}`}return e}return typeof this.#a=="function"?(sa(Ga.domainAsFunctionNotSupported),""):Dt(this.#a||"")}get proxyUrl(){if(br()){let e=(0,la.VK)(this.#s,new URL(window.location.href));return!e||Ut(e)||Ce(e)||Lr.throwInvalidProxyUrl({url:e}),e?Ce(e)?new URL(e,window.location.origin).toString():e:""}return typeof this.#s=="function"?(sa(Ga.proxyUrlAsFunctionNotSupported),""):this.#s||""}get frontendApi(){let e=_e(this.publishableKey);return e?e.frontendApi:Lr.throwInvalidPublishableKeyError({key:this.publishableKey})}get instanceType(){return this.#o}get isStandardBrowser(){return this.#n.standardBrowser||!1}get billing(){return Cn._billing||(Cn._billing=new Or),Cn._billing}get apiKeys(){return Cn._apiKeys||(Cn._apiKeys=new js),Cn._apiKeys}get oauthApplication(){return Cn._oauthApplication||(Cn._oauthApplication=new Iu),Cn._oauthApplication}__experimental_checkout(e){return this._checkout||(this._checkout=n=>function(g,A){let N,K,ge,de,{for:we,planId:ze,planPeriod:Ze}=A;if(g.user===null)throw Error("Clerk: User is not authenticated");if(we==="organization"&&g.organization===null)throw Error("Clerk: The current session does not have an active organization. Use `setActive` to set the organization");let $e=function(gt){let{userId:Et,orgId:Kt,planId:va,planPeriod:xa}=gt;return`${Et}-${Kt||"user"}-${va}-${xa}`}({userId:g.user?.id||"",orgId:we==="organization"?g.organization?.id:void 0,planId:ze,planPeriod:Ze}),et=lc.get($e);if(et)return et.signals.computedSignal();let ft=(N=ye({resource:null}),K=ye({error:null}),ge=ye({status:"idle"}),de=Ie(()=>{let gt=N().resource,Et=K().error,Kt=ge().status;return{errors:Ja(Et,{}),fetchStatus:Kt,checkout:gt}}),{resourceSignal:N,errorSignal:K,fetchSignal:ge,computedSignal:de}),ot=new Yi(ft,{...we==="organization"?{orgId:g.organization?.id}:{},planId:ze,planPeriod:Ze});return lc.set($e,{resource:ot,signals:ft}),ft.computedSignal()}(this,n)),this._checkout(e)}__internal_getOption(e){return this.#n[e]}get isSignedIn(){return this?.session?.status!=="pending"&&!!this.session}constructor(e,n){if(!(e=(e||"").trim()))return Lr.throwMissingPublishableKeyError();let g=_e(e);if(!g)return Lr.throwInvalidPublishableKeyError({key:e});this.#a=n?.domain,this.#s=n?.proxyUrl,this.environment=Dn.getInstance(),this.#o=g.instanceType,this.#e=e,this.#d=function(A){let N=[],K=[];async function ge($e){for await(let et of["u">typeof window&&window.__internal_onBeforeRequest,...N].filter(ft=>ft))if(await et($e)===!1)return!1;return!0}async function de($e,et){for await(let ft of["u">typeof window&&window.__internal_onAfterResponse,...K].filter(ot=>ot))if(await ft($e,et)===!1)return!1;return!0}function we({method:$e,path:et,sessionId:ft,search:ot,rotatingTokenNonce:gt}){let Et=new URLSearchParams(ot);return Et.append("__clerk_api_version","2025-11-10"),Et.append("_clerk_js_version","6.7.5"),gt&&Et.append("rotating_token_nonce",gt),A.domain&&A.instanceType==="development"&&A.isSatellite&&Et.append("__domain",A.domain),$e&&$e!=="GET"&&$e!=="POST"&&Et.append("_method",$e),et&&!ll.some(Kt=>et.startsWith(Kt))&&ft&&Et.append("_clerk_session_id",ft),Va([...Et.entries()].reduce((Kt,[va,xa])=>(Kt[va]=xa.includes(",")?xa.split(","):xa,Kt),{}))}function ze($e){let{path:et,pathPrefix:ft="v1"}=$e;if(A.proxyUrl){let gt=new URL(A.proxyUrl),Et=gt.pathname.slice(1);return Et.endsWith("/")&&(Et=Et.slice(0,-1)),Qe({base:gt.origin,pathname:`${Et}/${ft}${et}`,search:we($e)},{stringify:!1})}let ot=A.instanceType==="production"?A.domain:"";return Qe({base:`https://${ot||A.frontendApi}`,pathname:`${ft}${et}`,search:we($e)},{stringify:!1})}async function Ze($e,et){let ft,ot={...$e},{method:gt="GET",body:Et}=ot;!Et||typeof Et!="object"||Et instanceof FormData||(ot.body=function(ca){if(!ca||typeof ca!="object"||Object.getPrototypeOf(ca)!==Object.prototype)return ca;let Ma={};for(let[Oa,Ir]of Object.entries(ca))Ir!==void 0&&(Ma[Oa]=Ir);return Ma}(Et)),ot.url=ze({...ot,sessionId:A.getSessionId()}),ot.headers=new Headers(ot.headers),gt==="GET"||Et instanceof FormData||ot.headers.has("content-type")||ot.headers.set("content-type","application/x-www-form-urlencoded"),ot.headers.get("content-type")==="application/x-www-form-urlencoded"&&(ot.body=Et&&Va(Et,{keyEncoder:Ne}));let Kt=await ge(ot),va=gt==="GET"?"GET":"POST",xa=ot.url,ja={...ot,method:va,credentials:ot.credentials||"include"};try{if(Kt){let ca=et?.fetchMaxTries??(p()?4:11);ft=await Da(()=>fetch(xa,ja),{retryImmediately:!0,initialDelay:700,maxDelayBetweenRetries:5e3,shouldRetry:(Ma,Oa)=>va==="GET"&&Oa{xa.searchParams.set("_clerk_retry_attempt",Ma.toString())}})}else ft=new Response("{}",ot)}catch(ca){let Ma=xa.toString();throw rt.error("network error",{error:ca,url:Ma,method:gt},"fapiClient"),Error(`${_r} Network error at "${Ma}" - ${ca}. Please try again.`)}let _a=ft.status!==204?await ft.json():null,Za=Object.assign(ft,{payload:_a});return ft.ok||rt.error("request failed",{method:gt,path:ot.path,status:ft.status},"fapiClient"),await de(ot,Za),Za}return{buildEmailAddress:function($e){return function({localPart:et,frontendApi:ft}){return`${et}@${ft?ft.replace("clerk.",""):"clerk.com"}`}({localPart:$e,frontendApi:A.frontendApi})},buildUrl:ze,onAfterResponse:function($e){K.push($e)},onBeforeRequest:function($e){N.push($e)},request:Ze}}({domain:this.domain,frontendApi:this.frontendApi,instanceType:this.instanceType,isSatellite:this.isSatellite,getSessionId:()=>this.session?.id,proxyUrl:this.proxyUrl}),this.#h.emit(B,"loading"),this.#h.prioritizedOn(B,A=>this.#p=A),this.#h.on(B,A=>{br()&&(A==="ready"||A==="degraded"?window.__clerk_internal_ready?.__resolve&&this.#E()&&window.__clerk_internal_ready.__resolve(this):A==="error"&&window.__clerk_internal_ready?.__reject&&window.__clerk_internal_ready.__reject(new Y("Clerk failed to initialize.",{code:"clerk_init_failed"})))}),br()&&(this.#p==="ready"||this.#p==="degraded")&&this.#E()&&window.__clerk_internal_ready?.__resolve&&window.__clerk_internal_ready.__resolve(this),Le.clerk=this,this.#u=new Cu}getFapiClient=()=>this.#d;load=async e=>{if(rt.info("load() start",{},"clerk"),!this.loaded){if(this.#o!=="development"||e?.unsafe_disableDevelopmentModeConsoleWarning||sa("Clerk: Clerk has been loaded with development keys. Development instances have strict usage limits and should not be used when deploying your application to production. Learn more: https://clerk.com/docs/deployments/overview"),this.#n=this.#C(e),this.#n.ui?.ClerkUI&&(this.#r=Promise.resolve(this.#n.ui.ClerkUI).then(n=>new n(()=>this,()=>this.environment,this.#n,new Ta))),this.#o==="development"&&(this.#n.routerPush||this.#n.routerReplace)&&(!this.#n.routerPush||!this.#n.routerReplace)){let n=this.#n.routerPush?"routerReplace":"routerPush";sa(`Clerk: Both \`routerPush\` and \`routerReplace\` need to be defined, but \`${n}\` is not defined. This may cause issues with navigation in your application.`)}qr.on(Tl,()=>{this.#k(this.session)}),this.#n.sdkMetadata&&(Cn.sdkMetadata=this.#n.sdkMetadata),this.#n.telemetry!==!1&&(this.telemetry=new Er({clerkVersion:Cn.version,samplingRate:1,perEventSampling:!this.#n.__internal_keyless_claimKeylessApplicationUrl&&void 0,publishableKey:this.publishableKey,...this.#n.telemetry}),this.#n.appearance&&this.telemetry.record({event:"THEME_USAGE",eventSamplingRate:1,payload:function(n){let g;if(!n||typeof n!="object")return{};let A=n.theme;if(!A)return{};if(Array.isArray(A))for(let N of A){let K=Un(N);if(K){g=K;break}}else g=Un(A);return{themeName:g}}(this.#n.appearance)}));try{this.#n.standardBrowser?await this.#R():await this.#N();let n=this.#n.telemetry,g=n!==!1&&!n?.disabled,A=!!this.#n.__internal_keyless_claimKeylessApplicationUrl,N=!!this.environment?.clientDebugMode,K=this.environment?.isProduction?.()??!1,ge=N||A&&!K,de=A&&!N?"error":void 0;ge&&function(we={}){if(rn)return;let{enabled:ze=!1,...Ze}=we;ze&&(Wr=!0,rn=!0,Tt(Ze))}({enabled:!0,...de?{logLevel:de}:{},...g&&this.telemetry?{telemetryCollector:this.telemetry}:{}}),this.#u?.load(this.environment),rt.info("load() complete",{},"clerk")}catch(n){throw this.#h.emit(B,"error"),rt.error("load() failed",{error:n},"clerk"),n}}};#y(){let e;return!!(!this.#n.signUpUrl&&this.#n.signInUrl&&(e=this.#n.signInUrl,!Sa.test(e)))}signOut=async(e,n)=>{if(!this.client||this.client.sessions.length===0)return;let g="u">typeof window&&typeof window.__internal_onBeforeSetActive=="function"?window.__internal_onBeforeSetActive:la.lQ,A="u">typeof window&&typeof window.__internal_onAfterSetActive=="function"?window.__internal_onAfterSetActive:la.lQ,N=e&&typeof e=="object"?e:n||{},K=N?.redirectUrl||this.buildAfterSignOutUrl();rt.debug("signOut() start",{hasClient:!!this.client,multiSessionCount:this.client?.signedInSessions.length??0,redirectUrl:K,sessionTarget:N?.sessionId??null},"clerk");let ge=typeof e=="function"?e:void 0,de=async()=>{let ze=ta(this.#n.standardBrowser);qr.emit(qn,null),await ze.track(async()=>{ge?await ge():await this.navigate(K)}),ze.isUnloading()||(this.#k(),await A())};if(await g(),!N.sessionId||this.client.signedInSessions.length===1){this.#S(),this.#n.experimental?.persistClient??!0?await this.client.removeSessions():await this.client.destroy(),await de(),rt.info("signOut() complete",{redirectUrl:Pt(K)},"clerk");return}let we=this.client.signedInSessions.find(ze=>ze.id===N.sessionId);we?.id&&this.session?.id===we.id?(this.#S(),await we?.remove(),await de(),rt.info("signOut() complete",{redirectUrl:Pt(K)},"clerk")):await we?.remove()};openGoogleOneTap=e=>{this.assertComponentsReady(this.#r),this.#r.then(n=>n.ensureMounted()).then(n=>n.openModal("googleOneTap",e||{})),this.telemetry?.record(en("GoogleOneTap",e))};closeGoogleOneTap=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeModal("googleOneTap"))};openSignIn=e=>{if(Lt(this,this.environment)){if(this.#o==="development")throw new Y(Ga.cannotOpenSignInOrSignUp,{code:cl});return}this.assertComponentsReady(this.#r);let n="SignIn";this.#r.then(A=>A.ensureMounted({preloadHint:n})).then(A=>A.openModal("signIn",e||{}));let g={withSignUp:e?.withSignUp??this.#y()};this.telemetry?.record(en(n,e,g))};closeSignIn=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeModal("signIn"))};__internal_openCheckout=e=>{if(At(this,this.environment)){if(this.#o==="development")throw new Y(Ga.cannotRenderAnyBillingComponent("Checkout"),{code:xo});return}if(!this.user){if(this.#o==="development")throw new Y(Ga.cannotOpenCheckout,{code:$s});return}this.assertComponentsReady(this.#r),this.#r.then(n=>n.ensureMounted()).then(n=>n.openDrawer("checkout",e||{}))};__internal_closeCheckout=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer("checkout"))};__internal_openPlanDetails=e=>{if(At(this,this.environment)){if(this.#o==="development")throw new Y(Ga.cannotRenderAnyBillingComponent("PlanDetails"),{code:xo});return}this.assertComponentsReady(this.#r),this.#r.then(n=>n.ensureMounted()).then(n=>n.openDrawer("planDetails",e||{})),this.telemetry?.record(en("PlanDetails",e))};__internal_closePlanDetails=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer("planDetails"))};__internal_openSubscriptionDetails=e=>{this.assertComponentsReady(this.#r),this.#r.then(n=>n.ensureMounted()).then(n=>n.openDrawer("subscriptionDetails",e||{}))};__internal_closeSubscriptionDetails=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer("subscriptionDetails"))};__internal_openReverification=e=>{if(!this.user){if(this.#o==="development")throw new Y(Ga.cannotOpenUserProfile,{code:$s});return}this.assertComponentsReady(this.#r),this.#r.then(n=>n.ensureMounted()).then(n=>n.openModal("userVerification",e||{})),this.telemetry?.record(en("UserVerification",e))};__internal_closeReverification=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeModal("userVerification"))};__internal_attemptToEnableEnvironmentSetting=e=>{let{for:n,caller:g}=e;if(this.user||this.#o!=="development"||sa(`Clerk: "${g}" requires an active user session. Ensure a user is signed in before executing ${g}.`),n==="organizations"){let A;return A=this.environment,A?.organizationSettings.enabled||this.session?.currentTask?.key==="choose-organization"?{isEnabled:!0}:(this.#o==="development"&&this.__internal_openEnableOrganizationsPrompt({caller:g,onSuccess:()=>window.location.reload(),onClose:e.onClose}),{isEnabled:!1})}throw Error(`Attempted to enable an unknown or unsupported setting "${n}".`)};__internal_openEnableOrganizationsPrompt=e=>{this.assertComponentsReady(this.#r),this.#r.then(n=>n.ensureMounted({preloadHint:"EnableOrganizationsPrompt"})).then(n=>n.openModal("enableOrganizationsPrompt",e||{})),this.telemetry?.record(ya("EnableOrganizationsPrompt",e))};__internal_closeEnableOrganizationsPrompt=()=>{this.assertComponentsReady(this.#r),this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeModal("enableOrganizationsPrompt"))};__internal_openBlankCaptchaModal=()=>(this.assertComponentsReady(this.#r),this.#r.then(e=>e.ensureMounted()).then(e=>e.openModal("blankCaptcha",{})));__internal_closeBlankCaptchaModal=()=>(this.assertComponentsReady(this.#r),this.#r.then(e=>e.ensureMounted()).then(e=>e.closeModal("blankCaptcha")));__internal_loadStripeJs=async()=>{let{loadStripe:e}=await Promise.resolve().then(sr.bind(sr,8755));return e};openSignUp=e=>{if(Lt(this,this.environment)){if(this.#o==="development")throw new Y(Ga.cannotOpenSignInOrSignUp,{code:cl});return}this.assertComponentsReady(this.#r),this.#r.then(n=>n.ensureMounted({preloadHint:"SignUp"})).then(n=>n.openModal("signUp",e||{})),this.telemetry?.record(en("SignUp",e))};closeSignUp=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeModal("signUp"))};openUserProfile=e=>{if(!this.user){if(this.#o==="development")throw new Y(Ga.cannotOpenUserProfile,{code:$s});return}this.assertComponentsReady(this.#r),this.#r.then(g=>g.ensureMounted({preloadHint:"UserProfile"})).then(g=>g.openModal("userProfile",e||{}));let n=(e?.customPages?.length||0)>0?{customPages:!0}:void 0;this.telemetry?.record(en("UserProfile",e,n))};closeUserProfile=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeModal("userProfile"))};openOrganizationProfile=e=>{let{isEnabled:n}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationProfile",onClose:()=>{throw new Y(Ga.cannotRenderAnyOrganizationComponent("OrganizationProfile"),{code:$i})}});if(n){if(!this.organization){if(this.#o==="development")throw new Y(Ga.cannotRenderComponentWhenOrgDoesNotExist,{code:cc});return}this.assertComponentsReady(this.#r),this.#r.then(g=>g.ensureMounted({preloadHint:"OrganizationProfile"})).then(g=>g.openModal("organizationProfile",e||{})),this.telemetry?.record(en("OrganizationProfile",e))}};closeOrganizationProfile=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeModal("organizationProfile"))};openCreateOrganization=e=>{let{isEnabled:n}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"CreateOrganization",onClose:()=>{throw new Y(Ga.cannotRenderAnyOrganizationComponent("CreateOrganization"),{code:$i})}});n&&(this.assertComponentsReady(this.#r),this.#r.then(g=>g.ensureMounted({preloadHint:"CreateOrganization"})).then(g=>g.openModal("createOrganization",e||{})),this.telemetry?.record(en("CreateOrganization",e)))};closeCreateOrganization=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeModal("createOrganization"))};openWaitlist=e=>{this.assertComponentsReady(this.#r),this.#r.then(n=>n.ensureMounted({preloadHint:"Waitlist"})).then(n=>n.openModal("waitlist",e||{})),this.telemetry?.record(en("Waitlist",e))};closeWaitlist=()=>{this.#r?.then(e=>e.ensureMounted()).then(e=>e.closeModal("waitlist"))};mountSignIn=(e,n)=>{this.assertComponentsReady(this.#r);let g="SignIn";this.#r.then(N=>N.ensureMounted({preloadHint:g})).then(N=>N.mountComponent({name:g,appearanceKey:"signIn",node:e,props:n}));let A={withSignUp:n?.withSignUp??this.#y()};this.telemetry?.record(ya(g,n,A))};unmountSignIn=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountUserAvatar=(e,n)=>{this.assertComponentsReady(this.#r);let g="UserAvatar";this.#r.then(A=>A.ensureMounted({preloadHint:g})).then(A=>A.mountComponent({name:g,appearanceKey:"userAvatar",node:e,props:n})),this.telemetry?.record(ya(g,n))};unmountUserAvatar=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountSignUp=(e,n)=>{this.assertComponentsReady(this.#r);let g="SignUp";this.#r.then(A=>A.ensureMounted({preloadHint:g})).then(A=>A.mountComponent({name:g,appearanceKey:"signUp",node:e,props:n})),this.telemetry?.record(ya(g,n))};unmountSignUp=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountUserProfile=(e,n)=>{if(!this.user){if(this.#o==="development")throw new Y(Ga.cannotRenderComponentWhenUserDoesNotExist,{code:$s});return}this.assertComponentsReady(this.#r);let g="UserProfile";this.#r.then(N=>N.ensureMounted({preloadHint:g})).then(N=>N.mountComponent({name:g,appearanceKey:"userProfile",node:e,props:n}));let A=(n?.customPages?.length||0)>0?{customPages:!0}:void 0;this.telemetry?.record(ya(g,n,A))};unmountUserProfile=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountOrganizationProfile=(e,n)=>{let{isEnabled:g}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationProfile",onClose:()=>{throw new Y(Ga.cannotRenderAnyOrganizationComponent("OrganizationProfile"),{code:$i})}});if(!g)return;let A=!!this.user;if(!this.organization&&A){if(this.#o==="development")throw new Y(Ga.cannotRenderComponentWhenOrgDoesNotExist,{code:cc});return}this.assertComponentsReady(this.#r);let N="OrganizationProfile";this.#r.then(K=>K.ensureMounted({preloadHint:N})).then(K=>K.mountComponent({name:N,appearanceKey:"userProfile",node:e,props:n})),this.telemetry?.record(ya(N,n))};unmountOrganizationProfile=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountCreateOrganization=(e,n)=>{let{isEnabled:g}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"CreateOrganization",onClose:()=>{throw new Y(Ga.cannotRenderAnyOrganizationComponent("CreateOrganization"),{code:$i})}});if(!g)return;this.assertComponentsReady(this.#r);let A="CreateOrganization";this.#r.then(N=>N.ensureMounted({preloadHint:A})).then(N=>N.mountComponent({name:A,appearanceKey:"createOrganization",node:e,props:n})),this.telemetry?.record(ya(A,n))};unmountCreateOrganization=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountOrganizationSwitcher=(e,n)=>{let{isEnabled:g}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationSwitcher",onClose:()=>{throw new Y(Ga.cannotRenderAnyOrganizationComponent("OrganizationSwitcher"),{code:$i})}});if(!g)return;this.assertComponentsReady(this.#r);let A="OrganizationSwitcher";this.#r.then(N=>N.ensureMounted({preloadHint:A})).then(N=>N.mountComponent({name:A,appearanceKey:"organizationSwitcher",node:e,props:n})),this.telemetry?.record(ya(A,{...n,forceOrganizationSelection:this.environment?.organizationSettings.forceOrganizationSelection}))};unmountOrganizationSwitcher=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};__experimental_prefetchOrganizationSwitcher=()=>{this.assertComponentsReady(this.#r),this.#r.then(e=>e.ensureMounted()).then(e=>e.prefetch("organizationSwitcher"))};mountOrganizationList=(e,n)=>{let{isEnabled:g}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"OrganizationList",onClose:()=>{throw new Y(Ga.cannotRenderAnyOrganizationComponent("OrganizationList"),{code:$i})}});if(!g)return;this.assertComponentsReady(this.#r);let A="OrganizationList";this.#r.then(N=>N.ensureMounted({preloadHint:A})).then(N=>N.mountComponent({name:A,appearanceKey:"organizationList",node:e,props:n})),this.telemetry?.record(ya(A,{...n,forceOrganizationSelection:this.environment?.organizationSettings.forceOrganizationSelection}))};unmountOrganizationList=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountUserButton=(e,n)=>{this.assertComponentsReady(this.#r);let g="UserButton";this.#r.then(N=>N.ensureMounted({preloadHint:g})).then(N=>N.mountComponent({name:g,appearanceKey:"userButton",node:e,props:n}));let A={...n?.customMenuItems?.length?{customItems:!0}:void 0,...n?.__experimental_asStandalone?{standalone:!0}:void 0};this.telemetry?.record(ya(g,n,A))};unmountUserButton=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountWaitlist=(e,n)=>{this.assertComponentsReady(this.#r);let g="Waitlist";this.#r.then(A=>A.ensureMounted({preloadHint:g})).then(A=>A.mountComponent({name:g,appearanceKey:"waitlist",node:e,props:n})),this.telemetry?.record(ya(g,n))};unmountWaitlist=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountPricingTable=(e,n)=>{if(At(this,this.environment)){if(this.#o==="development")throw new Y(Ga.cannotRenderAnyBillingComponent("PricingTable"),{code:xo});return}this.assertComponentsReady(this.#r);let g="PricingTable";this.#r.then(A=>A.ensureMounted({preloadHint:g})).then(A=>A.mountComponent({name:g,appearanceKey:"pricingTable",node:e,props:n})),this.telemetry?.record(ya(g,n))};unmountPricingTable=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};__internal_mountOAuthConsent=(e,n)=>{if(!this.user){if(this.#o==="development")throw new Y(Ga.cannotRenderOAuthConsentComponentWhenUserDoesNotExist,{code:$s});return}this.assertComponentsReady(this.#r);let g="OAuthConsent";this.#r.then(A=>A.ensureMounted({preloadHint:g})).then(A=>A.mountComponent({name:g,appearanceKey:"__internal_oauthConsent",node:e,props:n}))};__internal_unmountOAuthConsent=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountAPIKeys=(e,n)=>{let g;if(St(this,g=this.environment)&&ha(this,g)){if(this.#o==="development")throw new Y(Ga.cannotRenderAPIKeysComponent,{code:"cannot_render_api_keys_disabled"});return}if(this.organization&&ha(this,this.environment)){if(this.#o==="development")throw new Y(Ga.cannotRenderAPIKeysComponentForOrgWhenDisabled,{code:"cannot_render_api_keys_org_disabled"});return}if(St(this,this.environment)){if(this.#o==="development")throw new Y(Ga.cannotRenderAPIKeysComponentForUserWhenDisabled,{code:"cannot_render_api_keys_user_disabled"});return}this.assertComponentsReady(this.#r);let A="APIKeys";this.#r.then(N=>N.ensureMounted({preloadHint:A})).then(N=>N.mountComponent({name:A,appearanceKey:"apiKeys",node:e,props:n})),this.telemetry?.record(ya(A,n))};unmountAPIKeys=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountTaskChooseOrganization=(e,n)=>{let{isEnabled:g}=this.__internal_attemptToEnableEnvironmentSetting({for:"organizations",caller:"TaskChooseOrganization",onClose:()=>{throw new Y(Ga.cannotRenderAnyOrganizationComponent("TaskChooseOrganization"),{code:$i})}});if(!g)return;this.assertComponentsReady(this.#r);let A="TaskChooseOrganization";this.#r.then(N=>N.ensureMounted({preloadHint:A})).then(N=>N.mountComponent({name:A,appearanceKey:"taskChooseOrganization",node:e,props:n})),this.telemetry?.record(ya(A,n))};unmountTaskChooseOrganization=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountTaskResetPassword=(e,n)=>{this.assertComponentsReady(this.#r);let g="TaskResetPassword";this.#r.then(A=>A.ensureMounted({preloadHint:g})).then(A=>A.mountComponent({name:g,appearanceKey:"taskResetPassword",node:e,props:n})),this.telemetry?.record(ya("TaskResetPassword",n))};unmountTaskResetPassword=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};mountTaskSetupMFA=(e,n)=>{this.assertComponentsReady(this.#r);let g="TaskSetupMFA";this.#r.then(A=>A.ensureMounted({preloadHint:g})).then(A=>A.mountComponent({name:g,appearanceKey:"taskSetupMfa",node:e,props:n})),this.telemetry?.record(ya("TaskSetupMFA",n))};unmountTaskSetupMFA=e=>{this.#r?.then(n=>n.ensureMounted()).then(n=>n.unmountComponent({node:e}))};setActive=async e=>{let{organization:n,redirectUrl:g,navigate:A}=e,{session:N}=e;this.__internal_setActiveInProgress=!0,rt.debug("setActive() start",{hasClient:!!this.client,sessionTarget:typeof N=="string"?N:N?.id??N??null,organizationTarget:typeof n=="string"?n:n?.id??n??null,redirectUrl:g??null},"clerk");try{var K;let ge;if(!this.client)throw rt.warn("Clerk setActive called before client is loaded",{},"clerk"),Error("setActive is being called before the client is loaded. Wait for init.");if(N===void 0&&!this.session)throw rt.warn("Clerk setActive precondition not met: no target session and no active session",{},"clerk"),Error("setActive should either be called with a session param or there should be already an active session.");typeof N=="string"&&(N=this.client.sessions.find(gt=>gt.id===N)||null);let de="u">typeof window&&typeof window.__internal_onBeforeSetActive=="function"?window.__internal_onBeforeSetActive:la.lQ,we="u">typeof window&&typeof window.__internal_onAfterSetActive=="function"?window.__internal_onAfterSetActive:la.lQ,ze=N===void 0?this.session:N;ze?.status==="pending"&&(K={...this.#n,...e},ge=["taskUrls","navigate"],Object.keys(K).some(gt=>ge.includes(gt))||sa('Clerk: Session has pending tasks but no handling is configured. To handle pending tasks, provide either "taskUrls" for navigation to custom URLs or "navigate" for programmatic navigation. Without these options, users may get stuck on incomplete flows.'));let Ze=n!==void 0;if(ze&&Ze){let gt=typeof n=="string"?n:n?.id;if(typeof gt=="string"&>.startsWith("org_"))ze.lastActiveOrganizationId=gt||null;else{let Et=ze.user.organizationMemberships.find(xa=>xa.organization.slug===gt),Kt=Et?.organization.id||null,va=Kt===null;if(this.environment?.organizationSettings?.forceOrganizationSelection&&va)return;ze.lastActiveOrganizationId=Kt}}ze?.status!=="pending"&&await de(ze===null?"sign-out":void 0);let $e=ze?.status==="pending"&&ze?.currentTask&&this.#n.taskUrls?.[ze?.currentTask.key],et=!!(g||$e||A),ft=Ze?"select_org":"select_session";if(br()&&globalThis.document.hasFocus()||!this.#n.standardBrowser){let gt;if(et&&ze)try{(gt=await ze.__internal_touch({intent:ft}))&&this.updateClient(gt,{__internal_dangerouslySkipEmit:!0})}catch(Et){if(Ke(Et))this.handleUnauthenticated();else throw Et}else await this.#P(ze,ft);ze=this.#A(ze?.id,gt)}try{await ze?.getToken()||qr.emit(In,{token:null})}catch(gt){if(G.is(gt))rt.warn("Token fetch failed when setting active session (offline). Preserving existing auth state.",{sessionId:ze?.id},"clerk");else throw gt}let ot=ta(this.#n.standardBrowser);if(et&&await ot.track(async()=>{if(this.client){if(ze?.status!=="pending"&&this.#S(),$e){let gt=g?Qe({base:$e,hashSearchParams:{redirectUrl:g}},{stringify:!0}):$e;await this.navigate(gt)}else if(A&&ze){let gt=!1;await A({session:ze,decorateUrl:Kt=>{if(gt=!0,!this.client?.isEligibleForTouch())return Kt;let va=new URL(Kt,window.location.href),xa=this.client.buildTouchUrl({redirectUrl:va});return this.buildUrlWithAuth(xa)}}),this.#o==="development"&&!gt&&this.client.isEligibleForTouch()&&sa("Clerk: The navigate callback in setActive() did not call decorateUrl(). In Safari, sessions may be limited to 7 days due to Intelligent Tracking Prevention (ITP). Use decorateUrl() to wrap your destination URL to enable the ITP workaround. Learn more: https://clerk.com/docs/troubleshooting/safari-itp")}else if(g){if(this.client.isEligibleForTouch()){let gt=new URL(g,window.location.href),Et=this.buildUrlWithAuth(this.client.buildTouchUrl({redirectUrl:gt}));await this.navigate(Et)}await this.navigate(g)}}}),ot.isUnloading())return;this.#k(ze),ze?.status!=="pending"&&await we()}finally{this.__internal_setActiveInProgress=!1}};addListener=(e,n)=>{var g;let A;return g=e,e=N=>{var K;A||={...N},g(A={client:Ws((K=A).client,N.client),session:Ws(K.session,N.session),user:Ws(K.user,N.user),organization:Ws(K.organization,N.organization)})},this.#f.push(e),this.client&&!n?.skipInitialEmit&&e({client:this.client,session:this.session,user:this.user,organization:this.organization}),()=>{this.#f=this.#f.filter(N=>N!==e)}};on=(...e)=>{this.#h.on(...e)};off=(...e)=>{this.#h.off(...e)};__internal_addNavigationListener=e=>(this.#m.push(e),()=>{this.#m=this.#m.filter(n=>n!==e)});navigate=async(e,n)=>{if(!e||!br())return;if(window.location===void 0){let K=n?.replace&&this.#n.routerReplace?this.#n.routerReplace:this.#n.routerPush;return K?(rt.info(`Clerk is navigating to: ${e}`),await K(e,{windowNavigate:oa})):void 0}setTimeout(()=>{this.#D()},0);let g=new URL(e,window.location.href);this.#G.includes(g.protocol)||(console.warn(`Clerk: "${g.protocol}" is not a valid protocol. Redirecting to "/" instead. If you think this is a mistake, please open an issue.`),g=new URL("/",window.location.href));let A=n?.replace&&this.#n.routerReplace?this.#n.routerReplace:this.#n.routerPush;if(rt.info(`Clerk is navigating to: ${g}`),this.#n.routerDebug&&console.log(`Clerk is navigating to: ${g}`),g.origin!=="null"&&g.origin!==window.location.origin||!A)return void oa(g);let N={...n?.metadata?{__internal_metadata:n?.metadata}:{},windowNavigate:oa};return await A(Pt(g),N)};buildUrlWithAuth(e){if(this.#o==="production")return e;let n=new URL(e,window.location.origin);return n.origin!==window.location.origin&&this.#i?this.#i.decorateUrlWithDevBrowserToken(n).href:n.href}buildSignInUrl(e){let n=e?.redirectUrl||window.location.href;this.isSatellite&&(n=this.#g(n));let g=this.isSatellite?this.#w(e):e;return this.#I("signInUrl",{...g,redirectUrl:n},e?.initialValues)}buildSignUpUrl(e){let n=e?.redirectUrl||window.location.href;this.isSatellite&&(n=this.#g(n));let g=this.isSatellite?this.#w(e):e;return this.#I("signUpUrl",{...g,redirectUrl:n},e?.initialValues)}#g=e=>{try{let n=new URL(e,window.location.origin);return n.searchParams.set(Aa,L),n.toString()}catch{return e}};#w=e=>{if(!e)return e;let n={...e};return n.signInForceRedirectUrl&&(n.signInForceRedirectUrl=this.#g(n.signInForceRedirectUrl)),n.signInFallbackRedirectUrl&&(n.signInFallbackRedirectUrl=this.#g(n.signInFallbackRedirectUrl)),n.signUpForceRedirectUrl&&(n.signUpForceRedirectUrl=this.#g(n.signUpForceRedirectUrl)),n.signUpFallbackRedirectUrl&&(n.signUpFallbackRedirectUrl=this.#g(n.signUpFallbackRedirectUrl)),n};buildUserProfileUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.userProfileUrl):""}buildHomeUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.homeUrl):""}buildAfterSignInUrl({params:e}={}){return this.buildUrlWithAuth(new Ya(this.#n,{},e).getAfterSignInUrl())}buildAfterSignUpUrl({params:e}={}){return this.buildUrlWithAuth(new Ya(this.#n,{},e).getAfterSignUpUrl())}buildAfterSignOutUrl(){return this.#n.afterSignOutUrl?this.buildUrlWithAuth(this.#n.afterSignOutUrl):"/"}buildNewSubscriptionRedirectUrl(){return this.#n.newSubscriptionRedirectUrl?this.#n.newSubscriptionRedirectUrl:this.buildAfterSignInUrl()}buildWaitlistUrl(e){return this.environment&&this.environment.displayConfig?Qe({base:this.#n.waitlistUrl||this.environment.displayConfig.waitlistUrl,hashSearchParams:[new URLSearchParams(e?.initialValues||{})]},{stringify:!0}):""}buildAfterMultiSessionSingleSignOutUrl(){return this.environment?this.#n.afterMultiSessionSingleSignOutUrl?this.buildUrlWithAuth(this.#n.afterMultiSessionSingleSignOutUrl):this.#n.signInUrl?this.buildUrlWithAuth(Qe({base:this.#n.signInUrl,hashPath:"choose"},{stringify:!0})):this.buildUrlWithAuth(this.environment.displayConfig.afterSignOutOneUrl):""}buildCreateOrganizationUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.createOrganizationUrl):""}buildOrganizationProfileUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.organizationProfileUrl):""}buildTasksUrl(e){let n=this.session?.currentTask;return n?this.#n.taskUrls?.[n.key]||Qe({base:this.buildSignInUrl(e),hashPath:Jr(n)},{stringify:!0}):""}#x=async()=>{if(!br())return;let e=new URLSearchParams({[Aa]:te}),n=rr(He);n&&Ut(n)||function(){throw Error(`${_r} Invalid redirect_url. A valid http or https url should be used for the redirection.`)}();let g=Qe({base:rr(He),searchParams:e},{stringify:!0});return this.navigate(this.buildUrlWithAuth(g))};redirectWithAuth=async e=>{if(br())return this.navigate(this.buildUrlWithAuth(e))};redirectToSignIn=async e=>{if(br())return this.navigate(this.buildSignInUrl(e))};redirectToSignUp=async e=>{if(br())return this.navigate(this.buildSignUpUrl(e))};redirectToUserProfile=async()=>{if(br())return this.navigate(this.buildUserProfileUrl())};redirectToCreateOrganization=async()=>{if(br())return this.navigate(this.buildCreateOrganizationUrl())};redirectToOrganizationProfile=async()=>{if(br())return this.navigate(this.buildOrganizationProfileUrl())};redirectToAfterSignIn=async()=>{if(br())return this.navigate(this.buildAfterSignInUrl())};redirectToAfterSignUp=async()=>{if(br())return this.navigate(this.buildAfterSignUpUrl())};redirectToAfterSignOut=async()=>{if(br())return this.navigate(this.buildAfterSignOutUrl())};redirectToWaitlist=async()=>{if(br())return this.navigate(this.buildWaitlistUrl())};redirectToTasks=async e=>{if(br())return this.navigate(this.buildTasksUrl(e))};handleEmailLinkVerification=async(e,n)=>{if(!this.client)return;let g=rr("__clerk_status");if(g==="expired")throw new ee(ve.Expired);if(g==="client_mismatch")throw new ee(ve.ClientMismatch);if(g!=="verified")throw new ee(ve.Failed);let A=rr("__clerk_created_session"),{signIn:N,signUp:K,sessions:ge}=this.client,de=ge.some($e=>$e.id===A),we=N.status==="needs_second_factor"||K.status==="missing_requirements",ze=$e=>n&&typeof n=="function"?n($e):this.navigate($e),Ze=e.redirectUrl?()=>ze(e.redirectUrl):la.lQ;return de?this.setActive({session:A,redirectUrl:e.redirectUrlComplete}):we?Ze():(typeof e.onVerifiedOnOtherDevice=="function"&&e.onVerifiedOnOtherDevice(),null)};handleGoogleOneTapCallback=async(e,n,g)=>{if(!this.loaded||!this.environment||!this.client)return;let{signIn:A,signUp:N}=this.client,K="identifier"in(e||{})?e:A,ge="missingFields"in(e||{})?e:N,de=we=>g&&typeof g=="function"?g(this.buildUrlWithAuth(we)):this.navigate(this.buildUrlWithAuth(we));return this._handleRedirectCallback(n,{signUp:ge,signIn:K,navigate:de})};_handleRedirectCallback=async(e,{signIn:n,signUp:g,navigate:A})=>{if(!this.loaded||!this.environment||!this.client)return;if(!window.opener&&e.reloadResource)try{e.reloadResource==="signIn"?await n.reload():e.reloadResource==="signUp"&&await g.reload()}catch{}let{displayConfig:N}=this.environment,{firstFactorVerification:K}=n,{externalAccount:ge}=g.verifications,de={status:g.status,missingFields:g.missingFields,externalAccountStatus:ge.status,externalAccountErrorCode:ge.error?.code,externalAccountSessionId:ge.error?.meta?.sessionId,sessionId:g.createdSessionId},we={status:n.status,firstFactorVerificationStatus:K.status,firstFactorVerificationErrorCode:K.error?.code,firstFactorVerificationSessionId:K.error?.meta?.sessionId,sessionId:n.createdSessionId},ze=Oa=>()=>A(Oa),Ze=ze(e.signInUrl||N.signInUrl),$e=ze(e.signUpUrl||N.signUpUrl),et=ze(e.firstFactorUrl||Qe({base:N.signInUrl,hashPath:"/factor-one"},{stringify:!0})),ft=ze(e.secondFactorUrl||Qe({base:N.signInUrl,hashPath:"/factor-two"},{stringify:!0})),ot=ze(e.resetPasswordUrl||Qe({base:N.signInUrl,hashPath:"/reset-password"},{stringify:!0})),gt=new Ya(this.#n,e),Et=ze(e.continueSignUpUrl||Qe({base:N.signUpUrl,hashPath:"/continue"},{stringify:!0})),Kt=({missingFields:Oa})=>Oa.length?Et():(({signUp:Ir,verifyEmailPath:En,verifyPhonePath:fi,continuePath:ji,navigate:Fn,handleComplete:Wn,redirectUrl:Ln="",redirectUrlComplete:hn="",oidcPrompt:Gn})=>{if(Ir.status==="complete")return Wn&&Wn();if(Ir.status==="missing_requirements"){if(Ir.missingFields.some(Ss=>Ss==="enterprise_sso"))return Ir.authenticateWithRedirect({strategy:"enterprise_sso",redirectUrl:Ln,redirectUrlComplete:hn,continueSignUp:!0,oidcPrompt:Gn});let Ks=$a();if(Ir.unverifiedFields?.includes("email_address")&&En)return Fn(En,{searchParams:Ks});if(Ir.unverifiedFields?.includes("phone_number")&&fi)return Fn(fi,{searchParams:Ks});if(ji)return Fn(ji,{searchParams:Ks})}})({signUp:g,verifyEmailPath:e.verifyEmailAddressUrl||Qe({base:N.signUpUrl,hashPath:"/verify-email-address"},{stringify:!0}),verifyPhonePath:e.verifyPhoneNumberUrl||Qe({base:N.signUpUrl,hashPath:"/verify-phone-number"},{stringify:!0}),navigate:A}),va=e.signInUrl||N.signInUrl,xa=e.signUpUrl||N.signUpUrl,ja=async({session:Oa,baseUrl:Ir,redirectUrl:En})=>{Oa.currentTask?await Fr(Oa,{baseUrl:Ir,navigate:this.navigate}):await this.navigate(En)};if(we.status==="complete")return this.setActive({session:we.sessionId,navigate:async({session:Oa})=>{await ja({session:Oa,baseUrl:va,redirectUrl:gt.getAfterSignInUrl()})}});if(de.externalAccountStatus==="transferable"&&de.externalAccountErrorCode==="external_account_exists"){let Oa=await n.create({transfer:!0});switch(Oa.status){case"complete":return this.setActive({session:Oa.createdSessionId,navigate:async({session:Ir})=>{await ja({session:Ir,baseUrl:xa,redirectUrl:gt.getAfterSignInUrl()})}});case"needs_first_factor":return et();case"needs_second_factor":return ft();case"needs_new_password":return ot();default:Ms("sign in")}}let _a=de.externalAccountErrorCode==="user_locked",Za=we.firstFactorVerificationErrorCode==="user_locked";if(_a)return $e();if(Za)return Ze();if(we.status==="needs_first_factor"&&!n.supportedFirstFactors?.every(Oa=>Oa.strategy==="enterprise_sso"))return et();if(we.status==="needs_new_password")return ot();if(we.firstFactorVerificationStatus==="transferable"){if(e.transferable===!1)return Ze();let Oa=await g.create({transfer:!0,unsafeMetadata:e.unsafeMetadata});switch(Oa.status){case"complete":return this.setActive({session:Oa.createdSessionId,navigate:async({session:Ir})=>{await ja({session:Ir,baseUrl:xa,redirectUrl:gt.getAfterSignUpUrl()})}});case"missing_requirements":return Kt({missingFields:Oa.missingFields});default:Ms("sign in")}}if(de.status==="complete")return this.setActive({session:de.sessionId,navigate:async({session:Oa})=>{await ja({session:Oa,baseUrl:xa,redirectUrl:gt.getAfterSignUpUrl()})}});if(we.status==="needs_second_factor")return ft();let ca=(de.externalAccountStatus==="failed"||de.externalAccountStatus==="unverified")&&de.externalAccountErrorCode==="identifier_already_signed_in"&&de.externalAccountSessionId,Ma=we.firstFactorVerificationStatus==="failed"&&we.firstFactorVerificationErrorCode==="identifier_already_signed_in"&&we.firstFactorVerificationSessionId;if(ca||Ma){let Oa=we.firstFactorVerificationSessionId||de.externalAccountSessionId;if(Oa)return this.setActive({session:Oa,navigate:async({session:Ir})=>{await ja({session:Ir,baseUrl:ca?xa:va,redirectUrl:gt.getAfterSignInUrl()})}})}return(Oa=>{let{externalAccount:Ir}=Oa.verifications;return!!Ir.error})(g)?$e():de.externalAccountStatus==="verified"&&de.status==="missing_requirements"?Kt({missingFields:g.missingFields}):this.session?.currentTask?void await this.redirectToTasks({redirectUrl:this.buildAfterSignInUrl()}):Ze()};handleRedirectCallback=async(e={},n)=>{if(!this.loaded||!this.environment||!this.client)return;let{signIn:g,signUp:A}=this.client,N=K=>n&&typeof n=="function"?n(K):this.navigate(K);return this._handleRedirectCallback(e,{signUp:A,signIn:g,navigate:N})};handleUnauthenticated=async(e={broadcast:!0})=>{if(this.client&&this.session)try{let n=await fn.getOrCreateInstance().fetch();return this.updateClient(n),this.session?void 0:(e.broadcast&&qr.emit(qn,null),this.setActive({session:null}))}catch(n){if(J(n)&&[403,500].includes(n.status))return this.setActive({session:null});throw n}};__internal_handleUnauthenticatedDevBrowser=async()=>{this.#i&&await this.#i.handleUnauthenticatedDevBrowser()};authenticateWithGoogleOneTap=async e=>this.client?.signIn.create({strategy:"google_one_tap",token:e.token}).catch(n=>{if(J(n)&&n.errors[0].code==="external_account_not_found")return this.client?.signUp.create({strategy:"google_one_tap",token:e.token,legalAccepted:e.legalAccepted});throw n});authenticateWithMetamask=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_metamask_signature"})};authenticateWithCoinbaseWallet=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_coinbase_wallet_signature"})};authenticateWithBase=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_base_signature"})};authenticateWithOKXWallet=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:"web3_okx_wallet_signature"})};authenticateWithSolana=async e=>{await this.authenticateWithWeb3({...e,strategy:"web3_solana_signature"})};authenticateWithWeb3=async({redirectUrl:e,signUpContinueUrl:n,customNavigate:g,unsafeMetadata:A,strategy:N,legalAccepted:K,secondFactorUrl:ge,walletName:de})=>{let we,ze;if(!this.client||!this.environment)return;let{displayConfig:Ze}=this.environment,$e=N.replace("web3_","").replace("_signature",""),et=await Na().getWeb3Identifier({provider:$e,walletName:de});switch($e){case"metamask":we=Na().generateSignatureWithMetamask;break;case"base":we=Na().generateSignatureWithBase;break;case"coinbase_wallet":we=Na().generateSignatureWithCoinbaseWallet;break;case"solana":if(!de)throw new Y("Wallet name is required for Solana authentication.",{code:"web3_solana_wallet_name_required"});we=Kt=>Na().generateSignatureWithSolana({...Kt,walletName:de});break;default:we=Na().generateSignatureWithOKXWallet}let ft=Kt=>()=>g&&typeof g=="function"?g(Kt):this.navigate(Kt),ot=ft(ge||Qe({base:Ze.signInUrl,hashPath:"/factor-two"},{stringify:!0})),gt=ft(n||Qe({base:Ze.signUpUrl,hashPath:"/continue"},{stringify:!0}));try{ze=await this.client.signIn.authenticateWithWeb3({identifier:et,generateSignature:we,strategy:N,walletName:de})}catch(Kt){if(nn(Kt,"form_identifier_not_found"))ze=await this.client.signUp.authenticateWithWeb3({identifier:et,generateSignature:we,unsafeMetadata:A,strategy:N,legalAccepted:K,walletName:de}),n&&ze.status==="missing_requirements"&&ze.verifications.web3Wallet.status==="verified"&&await gt();else throw Kt}let Et=async({session:Kt,redirectUrl:va})=>{Kt.currentTask?await Fr(Kt,{baseUrl:Ze.signInUrl,navigate:this.navigate}):await this.navigate(va)};switch(ze.status){case"needs_second_factor":await ot();break;case"complete":ze.createdSessionId&&await this.setActive({session:ze.createdSessionId,navigate:async({session:Kt})=>{await Et({session:Kt,redirectUrl:e??this.buildAfterSignInUrl()})}});break;default:return}};createOrganization=async({name:e,slug:n})=>Ni.create({name:e,slug:n});getOrganization=async e=>Ni.get(e);joinWaitlist=async({emailAddress:e})=>xi.join({emailAddress:e});updateEnvironment(e){this.environment=e}__internal_setCountry=e=>{this.__internal_country||(this.__internal_country=e)};get __internal_last_error(){let e=this.internal_last_error;return this.internal_last_error=null,e}set __internal_last_error(e){this.internal_last_error=e}updateClient=(e,n)=>{if(!this.client){let g=this.#n.selectInitialSession?this.#n.selectInitialSession(e):this.#L(e);this.#k(g,{dangerouslySkipEmit:!0})}if(this.client=e,this.session){let g=this.#A(this.session.id,e);this.session.status==="active"&&g?.status==="pending"&&("u">typeof window&&typeof window.__internal_onAfterSetActive=="function"?window.__internal_onAfterSetActive:la.lQ)(),this.#k(g,{dangerouslySkipEmit:!0}),this.session?.lastActiveToken||y()||rt.warn("No last active token when updating client (offline)",{sessionId:this.session?.id},"clerk"),qr.emit(In,{token:this.session?.lastActiveToken})}n?.__internal_dangerouslySkipEmit||this.#j()};get __internal_environment(){return this.environment}__internal_setEnvironment=async e=>{this.environment=new Dn(e)};__internal_onBeforeRequest=e=>{this.#d.onBeforeRequest(e)};__internal_onAfterResponse=e=>{this.#d.onAfterResponse(e)};__internal_updateProps=e=>{let n={...e,options:this.#C({...this.#n,...e.options})};return this.#r?.then(g=>g.ensureMounted()).then(g=>g.updateProps(n))};__internal_navigateWithError(e,n){return this.__internal_last_error=n,this.navigate(e)}#_=()=>{let e=new URLSearchParams({[He]:window.location.href});return Qe({base:this.#n.signInUrl,searchParams:e},{stringify:!0})};#z=()=>{let e;if(this.proxyUrl){let n=new URL(this.proxyUrl);e=new URL(`${n.pathname}/v1/client/sync`,n.origin)}else this.domain&&(e=new URL("/v1/client/sync",`https://${this.domain}`));return e?.searchParams.append("redirect_url",window.location.href),e?.toString()||""};#O=()=>{let e=rr(Aa);return e!==te&&!!this.isSatellite&&(e===L||this.#n.satelliteAutoSync===!0&&!!this.#i?.isSignedOut())};#q=()=>this.#o!=="production"&&!this.isSatellite&&!!rr(He);#T=async()=>{this.instanceType==="development"?await this.navigate(this.#_()):this.instanceType==="production"&&await this.navigate(this.#z())};#U=(e,n)=>{let g;try{g=new URL(e)}catch{throw Error(`${_r} The signInUrl needs to have a absolute url format.`)}g.origin===n&&function(){throw Error(`${_r} The signInUrl needs to be on a different origin than your satellite application.`)}()};#M=()=>{this.isSatellite&&(this.#o!=="development"||this.#n.signInUrl||function(){throw Error(`${_r} Missing signInUrl. A satellite application needs to specify the signInUrl for development instances.`)}(),this.proxyUrl||this.domain||function(){throw Error(`${_r} Missing domain and proxyUrl. A satellite application needs to specify a domain or a proxyUrl.`)}(),this.#n.signInUrl&&this.#U(this.#n.signInUrl,window.location.origin))};#R=async()=>{if(this.#i=await ol.create(this,this.#d,this.#o,this.#h),this.#M(),this.#O())return void await this.#T();if(this.#q())return void await this.#x();this.#b=(()=>{if(!h())return{onPageFocus:la.lQ};let N=[];return window.addEventListener("focus",()=>{document.visibilityState==="visible"&&N.forEach(K=>K())}),{onPageFocus:K=>{N.push(K)}}})(),"u">typeof BroadcastChannel&&(this.#c=new BroadcastChannel("clerk")),this.#B();let e=function(N=window.location.hostname){if(!N)return!1;let K=Ge.get(N);return K===void 0&&(K=Ve.some(ge=>N.startsWith("accounts.")&&N.endsWith(ge))||V.some(ge=>N.endsWith(ge)&&!N.endsWith(".clerk"+ge)),Ge.set(N,K)),K}(window?.location.hostname),n=this.#o==="development"&&!e,g=0,A=0;for(;A<2;){A++;try{let N=Dn.getInstance().fetch({touch:n}).then(de=>this.updateEnvironment(de)).catch(()=>{++g;let de=ri.getItem(hs,null);de&&this.updateEnvironment(new Dn(de))}),K=async()=>fn.getOrCreateInstance().fetch().then(de=>this.updateClient(de)).catch(async de=>{if(Re(de))throw de;++g;let we=this.#i?.getSessionCookie(),ze=function(Ze){let $e;try{$e=new Di({jwt:Ze||"",object:"token",id:void 0})}catch{$e=null}if(fn.clearInstance(),!$e?.jwt)return fn.getOrCreateInstance({object:"client",last_active_session_id:null,id:"client_init",sessions:[]});let{sessionId:et,userId:ft,orgId:ot,orgRole:gt,orgPermissions:Et,orgSlug:Kt,factorVerificationAge:va}=(ja=>{let _a,Za,ca,Ma,Oa=ja.fva??null,Ir=ja.sts??null;if(ja.v===2){if(ja.o){_a=ja.o?.id,ca=ja.o?.slg,ja.o?.rol&&(Za=`org:${ja.o?.rol}`);let{org:En}=Ds(ja.fea),{permissions:fi,featurePermissionMap:ji}=(({per:Fn,fpm:Wn})=>{if(!Fn||!Wn)return{permissions:[],featurePermissionMap:[]};let Ln=Fn.split(",").map(hn=>hn.trim());return{permissions:Ln,featurePermissionMap:Wn.split(",").map(hn=>Number.parseInt(hn.trim(),10)).map(hn=>hn.toString(2).padStart(Ln.length,"0").split("").map(Gn=>Number.parseInt(Gn,10)).reverse()).filter(Boolean)}})({per:ja.o?.per,fpm:ja.o?.fpm});Ma=function({features:Fn,permissions:Wn,featurePermissionMap:Ln}){if(!Fn||!Wn||!Ln)return[];let hn=[];for(let Gn=0;Gn=Ln.length)continue;let Ss=Ln[Gn];if(Ss)for(let Hs=0;Hsnull).finally(()=>{this.#i?.startPollingForToken()}),null}),[,ge]=await(0,la.vd)([N,K()]);if(ge.status==="rejected"){let de=ge.reason;if(nn(de,"requires_captcha"))await K();else throw de}if(this.#i?.setClientUatCookieForDevelopmentInstances(),await this.#H())return;break}catch(N){if(nn(N,"dev_browser_unauthenticated"))await this.#i.handleUnauthenticatedDevBrowser();else{if(y())throw N;return void console.warn(N)}}A>=2&&function(){throw Error(`${_r} Something went wrong initializing Clerk.`)}()}this.#l=new Au(this),this.#l.start(),this.#V(),this.#$(),this.#K(),this.#h.emit(B,g>0?"degraded":"ready")};shouldFallbackToCachedResources=()=>!!this.__internal_getCachedResources;#N=async()=>{let e,n,g=this.shouldFallbackToCachedResources()?1:void 0,A=0;try{[e,n]=await Promise.all([Dn.getInstance().fetch({touch:!1,fetchMaxTries:g}),fn.getOrCreateInstance().fetch({fetchMaxTries:g})])}catch(N){if(ae(N)&&N.code==="network_error"&&this.shouldFallbackToCachedResources()){let K=await this.__internal_getCachedResources?.();e=new Dn(K?.environment),fn.clearInstance(),n=fn.getOrCreateInstance(K?.client),++A}else throw N}this.updateClient(n),this.updateEnvironment(e),this.#h.emit(B,A>0?"degraded":"ready")};__internal_reloadInitialResources=async()=>{let[e,n]=await Promise.all([Dn.getInstance().fetch({touch:!1,fetchMaxTries:1}),fn.getOrCreateInstance().fetch({fetchMaxTries:1})]);this.updateClient(n),this.updateEnvironment(e),this.#j()};#L=e=>{if(e.lastActiveSessionId){let n=e.signedInSessions.find(g=>g.id===e.lastActiveSessionId);if(n)return n}return e.signedInSessions[0]||null};#B=()=>{h()&&(this.#b?.onPageFocus(()=>{this.session&&!(!(this.environment&&!this.environment.authConfig.singleSessionMode)&&this.#v>Date.now())&&(this.#v=Date.now()+5e3,this.#n.touchSession&&this.#P(this.session,"focus"))}),this.#c?.addEventListener("message",e=>{e.data?.type==="signout"&&this.handleUnauthenticated({broadcast:!1})}),qr.on(qn,()=>{this.#c?.postMessage({type:"signout"})}),qr.on(Nn,()=>{ri.setItem(hs,this.environment?.__internal_toSnapshot(),864e5)}))};#P=async(e,n="focus")=>{if(!e)return Promise.resolve();await e.touch({intent:n}).catch(g=>{if(Ke(g))this.handleUnauthenticated();else throw g})};__internal_lastEmittedResources;#j=()=>{if(this.client){let e={client:this.client,session:this.session,user:this.user,organization:this.organization};for(let n of(this.__internal_lastEmittedResources=e,this.#f))n(e)}};#D=()=>{for(let e of this.#m)e()};#S=()=>{this.session=void 0,this.organization=void 0,this.user=void 0,this.#j()};#F=(e=this.session)=>(e?.user.organizationMemberships||[]).map(n=>n.organization).find(n=>n.id===e?.lastActiveOrganizationId)||null;#W=(e=this.session)=>({session:e||null,organization:this.#F(e),user:e?e.user:null});#k=(e,n)=>{let{session:g,organization:A,user:N}=this.#W(e);this.session=g,this.organization=A,this.user=N,n?.dangerouslySkipEmit||this.#j()};#A=(e,n=this.client)=>n?.signedInSessions.find(g=>g.id===e)||null;#$=()=>{this.addListener(({session:e})=>{e?.actor&&this.#r?.then(n=>n.ensureMounted()).then(n=>n.mountImpersonationFab())})};#K=()=>{this.#n.__internal_keyless_claimKeylessApplicationUrl&&this.#r?.then(e=>e.ensureMounted()).then(e=>{e.updateProps({options:{__internal_keyless_claimKeylessApplicationUrl:this.#n.__internal_keyless_claimKeylessApplicationUrl,__internal_keyless_copyInstanceKeysUrl:this.#n.__internal_keyless_copyInstanceKeysUrl,__internal_keyless_dismissPrompt:this.#n.__internal_keyless_dismissPrompt}})})};#I=(e,n,g)=>{if(!e||!this.loaded||!this.environment||!this.environment.displayConfig)return"";let A=this.#n[e]||this.environment.displayConfig[e];this.#y()&&(A=this.#n.signInUrl);let N=new Ya(this.#n,n).toSearchParams(),K=new URLSearchParams(g||{}),ge=Qe({base:A,hashPath:this.#y()&&e==="signUpUrl"?"/create":"",hashSearchParams:[K,N]},{stringify:!0});return this.buildUrlWithAuth(ge)};assertComponentsReady(e){if(!e)throw Error("Clerk was not loaded with Ui components")}#H=async()=>{var e;let n,g,A,N,K=new URLSearchParams(window.location.search).get("redirect_url"),ge=this.instanceType==="production",de=K!==null&&(e=this.frontendApi,g=(n=new URL(K,ma)).pathname,A=wa.includes(g)||qa.includes(g),e===n.host&&A);if(ge||!de)return!1;let we=this.session,ze=this.#n.signInUrl||this.environment?.displayConfig.signInUrl,Ze=ze&&window.location.href.startsWith(ze),$e=this.#n.signUpUrl||this.environment?.displayConfig.signUpUrl,et=$e&&window.location.href.startsWith($e);return N=new URL(K,ma),(!wa.includes(N.pathname)||!!we||!Ze&&!et)&&(await this.navigate(this.buildUrlWithAuth(K)),!0)};#C=e=>{let n=e?.clerkUICtor??e?.clerkUiCtor,g=n?{...e?.ui,ClerkUI:n}:e?.ui;return{...zs,...e,ui:g,allowedRedirectOrigins:function(A,N,K){if(Array.isArray(A)&&A.length)return A;let ge=[];return"u">typeof window&&window.location&&ge.push(window.location.origin),ge.push(`https://${Ye(N)}`),ge.push(`https://*.${Ye(N)}`),K==="development"&&ge.push(`https://${N}`),ge}(e?.allowedRedirectOrigins,this.frontendApi,this.instanceType)}};#V=()=>{try{zr(Aa),zr(wr),zr(Ae),zr("__clerk_handshake"),zr("__clerk_handshake_nonce"),zr("__clerk_help")}catch{}};get#G(){let e=fa;return this.#n.allowedRedirectProtocols&&(e=e.concat(this.#n.allowedRedirectProtocols)),e}#E(){return this.client!==void 0}}})();var py=ui.c2;ui.LR;ui.cR;ui.NZ;ui.Ys;ui.kl;ui.$R;ui.Cm;ui.hl;ui.ux;ui.si;ui._d;const hh={},gm=hh?.VITE_CLERK_PUBLISHABLE_KEY||"",my=hh?.VITE_CLERK_SIGN_IN_URL||"/sign-in",fy=hh?.VITE_CLERK_SIGN_UP_URL||"/sign-up";let Zc=null;function Os(){return Zc||(gm?(Zc=new py(gm),Zc):(console.warn("Clerk publishable key not configured"),null))}function gy(){return{signInUrl:my,signUpUrl:fy}}async function by(){const s=Os();if(!s)return null;try{return await s.load(),s}catch(r){return console.error("Failed to load Clerk:",r),null}}var yy=Object.create,gf=Object.defineProperty,vy=Object.getOwnPropertyDescriptor,bf=Object.getOwnPropertyNames,wy=Object.getPrototypeOf,ky=Object.prototype.hasOwnProperty,Ji=(s,r)=>function(){return r||(0,s[bf(s)[0]])((r={exports:{}}).exports,r),r.exports},xy=(s,r,i,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(var c=bf(r),h=0,d=c.length,f;hr[p]).bind(null,f),enumerable:!(l=vy(r,f))||l.enumerable});return s},xn=(s,r,i)=>(i=s!=null?yy(wy(s)):{},xy(r||!s||!s.__esModule?gf(i,"default",{value:s,enumerable:!0}):i,s)),yf=Ji({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(s,r){function i(l){"@babel/helpers - typeof";return r.exports=i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(c){return typeof c}:function(c){return c&&typeof Symbol=="function"&&c.constructor===Symbol&&c!==Symbol.prototype?"symbol":typeof c},r.exports.__esModule=!0,r.exports.default=r.exports,i(l)}r.exports=i,r.exports.__esModule=!0,r.exports.default=r.exports}}),_y=Ji({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(s,r){var i=yf().default;function l(c,h){if(i(c)!="object"||!c)return c;var d=c[Symbol.toPrimitive];if(d!==void 0){var f=d.call(c,h||"default");if(i(f)!="object")return f;throw new TypeError("@@toPrimitive must return a primitive value.")}return(h==="string"?String:Number)(c)}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}}),jy=Ji({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(s,r){var i=yf().default,l=_y();function c(h){var d=l(h,"string");return i(d)=="symbol"?d:d+""}r.exports=c,r.exports.__esModule=!0,r.exports.default=r.exports}}),lo=Ji({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(s,r){var i=jy();function l(c,h,d){return(h=i(h))in c?Object.defineProperty(c,h,{value:d,enumerable:!0,configurable:!0,writable:!0}):c[h]=d,c}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}}),Pi=Ji({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(s,r){var i=lo();function l(h,d){var f=Object.keys(h);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(h);d&&(p=p.filter(function(y){return Object.getOwnPropertyDescriptor(h,y).enumerable})),f.push.apply(f,p)}return f}function c(h){for(var d=1;d{let h=!1;function d(){h||(h=!0,f.unsubscribe())}r.signal.addEventListener("abort",()=>{c(r.signal.reason)});const f=s.subscribe({next(p){h=!0,l(p),d()},error(p){c(p)},complete(){r.abort(),d()}})})}function Py(s){return r=>{let i=0,l=null;const c=[];function h(){l||(l=r.subscribe({next(f){for(const y of c){var p;(p=y.next)===null||p===void 0||p.call(y,f)}},error(f){for(const y of c){var p;(p=y.error)===null||p===void 0||p.call(y,f)}},complete(){for(const p of c){var f;(f=p.complete)===null||f===void 0||f.call(p)}}}))}function d(){if(i===0&&l){const f=l;l=null,f.unsubscribe()}}return gu(f=>(i++,c.push(f),h(),{unsubscribe(){i--,d();const p=c.findIndex(y=>y===f);p>-1&&c.splice(p,1)}}))}}function Ay(s){let r=s;const i=[],l=d=>{r!==void 0&&d.next(r),i.push(d)},c=d=>{i.splice(i.indexOf(d),1)},h=gu(d=>(l(d),()=>{c(d)}));return h.next=d=>{if(r!==d){r=d;for(const f of i)f.next(d)}},h.get=()=>r,h}function Iy(s){return gu(r=>{function i(c=0,h=s.op){const d=s.links[c];if(!d)throw new Error("No more links to execute - did you forget to add an ending link?");return d({op:h,next(p){return i(c+1,p)}})}return i().subscribe(r)})}function Il(s){return!!s&&!Array.isArray(s)&&typeof s=="object"}function Cy(){return Object.create(null)}var Ey=Object.create,vf=Object.defineProperty,Oy=Object.getOwnPropertyDescriptor,wf=Object.getOwnPropertyNames,qy=Object.getPrototypeOf,Ty=Object.prototype.hasOwnProperty,ql=(s,r)=>function(){return r||(0,s[wf(s)[0]])((r={exports:{}}).exports,r),r.exports},Uy=(s,r,i,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(var c=wf(r),h=0,d=c.length,f;hr[p]).bind(null,f),enumerable:!(l=Oy(r,f))||l.enumerable});return s},bu=(s,r,i)=>(i=s!=null?Ey(qy(s)):{},Uy(vf(i,"default",{value:s,enumerable:!0}),s));const kf=()=>{},bm=s=>{Object.freeze&&Object.freeze(s)};function xf(s,r,i){var l;const c=r.join(".");return(l=i[c])!==null&&l!==void 0||(i[c]=new Proxy(kf,{get(h,d){if(!(typeof d!="string"||d==="then"))return xf(s,[...r,d],i)},apply(h,d,f){const p=r[r.length-1];let y={args:f,path:r};return p==="call"?y={args:f.length>=2?[f[1]]:[],path:r.slice(0,-1)}:p==="apply"&&(y={args:f.length>=2?f[1]:[],path:r.slice(0,-1)}),bm(y.args),bm(y.path),s(y)}})),i[c]}const My=s=>xf(s,[],Cy()),Ry=s=>new Proxy(kf,{get(r,i){if(i!=="then")return s(i)}});var _f=ql({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(s,r){function i(l){"@babel/helpers - typeof";return r.exports=i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(c){return typeof c}:function(c){return c&&typeof Symbol=="function"&&c.constructor===Symbol&&c!==Symbol.prototype?"symbol":typeof c},r.exports.__esModule=!0,r.exports.default=r.exports,i(l)}r.exports=i,r.exports.__esModule=!0,r.exports.default=r.exports}}),Ny=ql({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(s,r){var i=_f().default;function l(c,h){if(i(c)!="object"||!c)return c;var d=c[Symbol.toPrimitive];if(d!==void 0){var f=d.call(c,h||"default");if(i(f)!="object")return f;throw new TypeError("@@toPrimitive must return a primitive value.")}return(h==="string"?String:Number)(c)}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}}),Ly=ql({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(s,r){var i=_f().default,l=Ny();function c(h){var d=l(h,"string");return i(d)=="symbol"?d:d+""}r.exports=c,r.exports.__esModule=!0,r.exports.default=r.exports}}),jf=ql({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(s,r){var i=Ly();function l(c,h,d){return(h=i(h))in c?Object.defineProperty(c,h,{value:d,enumerable:!0,configurable:!0,writable:!0}):c[h]=d,c}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}}),ph=ql({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(s,r){var i=jf();function l(h,d){var f=Object.keys(h);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(h);d&&(p=p.filter(function(y){return Object.getOwnPropertyDescriptor(h,y).enumerable})),f.push.apply(f,p)}return f}function c(h){for(var d=1;di,deserialize:i=>i},output:{serialize:i=>i,deserialize:i=>i}}}const ym=s=>typeof s=="function";function Hy(s){if(s)return s;if(typeof window<"u"&&ym(window.fetch))return window.fetch;if(typeof globalThis<"u"&&ym(globalThis.fetch))return globalThis.fetch;throw new Error("No fetch implementation found")}var jl=xn(Pi());function Vy(s){return{url:s.url.toString(),fetch:s.fetch,transformer:Ky(s.transformer),methodOverride:s.methodOverride}}function Gy(s){const r={};for(let i=0;is.transformer.input.serialize(r)))}const Sf=s=>{const r=s.url.split("?");let l=r[0].replace(/\/$/,"")+"/"+s.path;const c=[];if(r[1]&&c.push(r[1]),"inputs"in s&&c.push("batch=1"),s.type==="query"||s.type==="subscription"){const h=zf(s);h!==void 0&&s.methodOverride!=="POST"&&c.push(`input=${encodeURIComponent(JSON.stringify(h))}`)}return c.length&&(l+="?"+c.join("&")),l},Zy=s=>{if(s.type==="query"&&s.methodOverride!=="POST")return;const r=zf(s);return r!==void 0?JSON.stringify(r):void 0},Yy=s=>t0((0,jl.default)((0,jl.default)({},s),{},{contentTypeHeader:"application/json",getUrl:Sf,getBody:Zy}));var Qy=class extends Error{constructor(){const s="AbortError";super(s),this.name=s,this.message=s}};const Xy=s=>{var r;if(s?.aborted)throw(r=s.throwIfAborted)===null||r===void 0||r.call(s),typeof DOMException<"u"?new DOMException("AbortError","AbortError"):new Qy};async function e0(s){var r,i;Xy(s.signal);const l=s.getUrl(s),c=s.getBody(s),h=(r=s.methodOverride)!==null&&r!==void 0?r:Jy[s.type],d=await(async()=>{const p=await s.headers();return Symbol.iterator in p?Object.fromEntries(p):p})(),f=(0,jl.default)((0,jl.default)((0,jl.default)({},s.contentTypeHeader&&h!=="GET"?{"content-type":s.contentTypeHeader}:{}),s.trpcAcceptHeader?{[(i=s.trpcAcceptHeaderKey)!==null&&i!==void 0?i:"trpc-accept"]:s.trpcAcceptHeader}:void 0),d);return Hy(s.fetch)(l,{method:h,signal:s.signal,body:c,headers:f})}async function t0(s){const r={},i=await e0(s);r.response=i;const l=await i.json();return r.responseJSON=l,{json:l,meta:r}}xn(Pi(),1);const vm=()=>{throw new Error("Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new")};function wm(s){let r=null,i=null;const l=()=>{clearTimeout(i),i=null,r=null};function c(f){const p=[[]];let y=0;for(;;){const z=f[y];if(!z)break;const S=p[p.length-1];if(z.aborted){var v;(v=z.reject)===null||v===void 0||v.call(z,new Error("Aborted")),y++;continue}if(s.validate(S.concat(z).map(R=>R.key))){S.push(z),y++;continue}if(S.length===0){var k;(k=z.reject)===null||k===void 0||k.call(z,new Error("Input is too big for a single dispatch")),y++;continue}p.push([])}return p}function h(){const f=c(r);l();for(const p of f){if(!p.length)continue;const y={items:p};for(const k of p)k.batch=y;s.fetch(y.items.map(k=>k.key)).then(async k=>{await Promise.all(k.map(async(S,B)=>{const R=y.items[B];try{var D;const O=await Promise.resolve(S);(D=R.resolve)===null||D===void 0||D.call(R,O)}catch(O){var I;(I=R.reject)===null||I===void 0||I.call(R,O)}R.batch=null,R.reject=null,R.resolve=null}));for(const S of y.items){var z;(z=S.reject)===null||z===void 0||z.call(S,new Error("Missing result")),S.batch=null}}).catch(k=>{for(const S of y.items){var z;(z=S.reject)===null||z===void 0||z.call(S,k),S.batch=null}})}}function d(f){var p;const y={aborted:!1,key:f,batch:null,resolve:vm,reject:vm},v=new Promise((k,z)=>{var S;y.reject=z,y.resolve=k,(S=r)!==null&&S!==void 0||(r=[]),r.push(y)});return(p=i)!==null&&p!==void 0||(i=setTimeout(h)),v}return{load:d}}function a0(...s){const r=new AbortController,i=s.length;let l=0;const c=()=>{++l===i&&r.abort()};for(const h of s)h?.aborted?c():h?.addEventListener("abort",c,{once:!0});return r.signal}var Xc=xn(Pi(),1);function r0(s){var r,i;const l=Vy(s),c=(r=s.maxURLLength)!==null&&r!==void 0?r:1/0,h=(i=s.maxItems)!==null&&i!==void 0?i:1/0;return()=>{const d=v=>({validate(k){if(c===1/0&&h===1/0)return!0;if(k.length>h)return!1;const z=k.map(R=>R.path).join(","),S=k.map(R=>R.input);return Sf((0,Xc.default)((0,Xc.default)({},l),{},{type:v,path:z,inputs:S,signal:null})).length<=c},async fetch(k){const z=k.map(O=>O.path).join(","),S=k.map(O=>O.input),B=a0(...k.map(O=>O.signal)),R=await Yy((0,Xc.default)((0,Xc.default)({},l),{},{path:z,inputs:S,type:v,headers(){return s.headers?typeof s.headers=="function"?s.headers({opList:k}):s.headers:{}},signal:B}));return(Array.isArray(R.json)?R.json:k.map(()=>R.json)).map(O=>({meta:R.meta,json:O}))}}),f=wm(d("query")),p=wm(d("mutation")),y={query:f,mutation:p};return({op:v})=>gu(k=>{/* istanbul ignore if -- @preserve */if(v.type==="subscription")throw new Error("Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`");const S=y[v.type].load(v);let B;return S.then(R=>{B=R;const D=Dy(R.json,l.transformer.output);if(!D.ok){k.error(hu.from(D.error,{meta:R.meta}));return}k.next({context:R.meta,result:D.result}),k.complete()}).catch(R=>{k.error(hu.from(R,{meta:B?.meta}))}),()=>{}})}}xn(Pi(),1);const Pf=(s,...r)=>typeof s=="function"?s(...r):s;xn(lo(),1);function n0(){let s,r;return{promise:new Promise((l,c)=>{s=l,r=c}),resolve:s,reject:r}}async function i0(s){const r=await Pf(s.url);if(!s.connectionParams)return r;const l=`${r.includes("?")?"&":"?"}connectionParams=1`;return r+l}async function s0(s,r){const i={method:"connectionParams",data:await Pf(s)};return r.encode(i)}xn(lo(),1);var Cs=xn(lo(),1);function o0(s){const{promise:r,resolve:i,reject:l}=n0();return s.addEventListener("open",()=>{s.removeEventListener("error",l),i()}),s.addEventListener("error",l),r}function l0(s,{intervalMs:r,pongTimeoutMs:i}){let l,c;function h(){l=setTimeout(()=>{s.send("PING"),c=setTimeout(()=>{s.close()},i)},r)}function d(){clearTimeout(l),h()}function f(){clearTimeout(c),d()}s.addEventListener("open",h),s.addEventListener("message",({data:p})=>{clearTimeout(l),h(),p==="PONG"&&f()}),s.addEventListener("close",()=>{clearTimeout(l),clearTimeout(c)})}var c0=class ah{constructor(r){var i;if((0,Cs.default)(this,"id",++ah.connectCount),(0,Cs.default)(this,"WebSocketPonyfill",void 0),(0,Cs.default)(this,"urlOptions",void 0),(0,Cs.default)(this,"keepAliveOpts",void 0),(0,Cs.default)(this,"encoder",void 0),(0,Cs.default)(this,"wsObservable",Ay(null)),(0,Cs.default)(this,"openPromise",null),this.WebSocketPonyfill=(i=r.WebSocketPonyfill)!==null&&i!==void 0?i:WebSocket,!this.WebSocketPonyfill)throw new Error("No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill");this.urlOptions=r.urlOptions,this.keepAliveOpts=r.keepAlive,this.encoder=r.encoder}get ws(){return this.wsObservable.get()}set ws(r){this.wsObservable.next(r)}isOpen(){return!!this.ws&&this.ws.readyState===this.WebSocketPonyfill.OPEN&&!this.openPromise}isClosed(){return!!this.ws&&(this.ws.readyState===this.WebSocketPonyfill.CLOSING||this.ws.readyState===this.WebSocketPonyfill.CLOSED)}async open(){var r=this;if(r.openPromise)return r.openPromise;r.id=++ah.connectCount;const i=i0(r.urlOptions).then(l=>new r.WebSocketPonyfill(l));r.openPromise=i.then(async l=>{r.ws=l,l.binaryType="arraybuffer",l.addEventListener("message",function({data:c}){c==="PING"&&this.send("PONG")}),r.keepAliveOpts.enabled&&l0(l,r.keepAliveOpts),l.addEventListener("close",()=>{r.ws===l&&(r.ws=null)}),await o0(l),r.urlOptions.connectionParams&&l.send(await s0(r.urlOptions.connectionParams,r.encoder))});try{await r.openPromise}finally{r.openPromise=null}}async close(){var r=this;try{await r.openPromise}finally{var i;(i=r.ws)===null||i===void 0||i.close()}}};(0,Cs.default)(c0,"connectCount",0);xn(lo(),1);xn(Pi(),1);var Fd=xn(lo(),1),km=xn(Pi(),1),u0=class{constructor(s){(0,Fd.default)(this,"links",void 0),(0,Fd.default)(this,"runtime",void 0),(0,Fd.default)(this,"requestId",void 0),this.requestId=0,this.runtime={},this.links=s.links.map(r=>r(this.runtime))}$request(s){var r;return Iy({links:this.links,op:(0,km.default)((0,km.default)({},s),{},{context:(r=s.context)!==null&&r!==void 0?r:{},id:++this.requestId})}).pipe(Py())}async requestAsPromise(s){var r=this;try{const i=r.$request(s);return(await Sy(i)).result.data}catch(i){throw hu.from(i)}}query(s,r,i){return this.requestAsPromise({type:"query",path:s,input:r,context:i?.context,signal:i?.signal})}mutation(s,r,i){return this.requestAsPromise({type:"mutation",path:s,input:r,context:i?.context,signal:i?.signal})}subscription(s,r,i){return this.$request({type:"subscription",path:s,input:r,context:i.context,signal:i.signal}).subscribe({next(c){switch(c.result.type){case"state":{var h;(h=i.onConnectionStateChange)===null||h===void 0||h.call(i,c.result);break}case"started":{var d;(d=i.onStarted)===null||d===void 0||d.call(i,{context:c.context});break}case"stopped":{var f;(f=i.onStopped)===null||f===void 0||f.call(i);break}case"data":case void 0:{var p;(p=i.onData)===null||p===void 0||p.call(i,c.result.data);break}}},error(c){var h;(h=i.onError)===null||h===void 0||h.call(i,c)},complete(){var c;(c=i.onComplete)===null||c===void 0||c.call(i)}})}};const d0=Symbol.for("trpc_untypedClient"),h0={query:"query",mutate:"mutation",subscribe:"subscription"},p0=s=>h0[s];function m0(s){const r=My(({path:i,args:l})=>{const c=[...i],h=p0(c.pop()),d=c.join(".");return s[h](d,...l)});return Ry(i=>i===d0?s:r[i])}function f0(s){const r=new u0(s);return m0(r)}xn(Pi(),1);xn(Pi(),1);var g0=Ji({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(s,r){function i(c){var h,d,f,p=2;for(typeof Symbol<"u"&&(d=Symbol.asyncIterator,f=Symbol.iterator);p--;){if(d&&(h=c[d])!=null)return h.call(c);if(f&&(h=c[f])!=null)return new l(h.call(c));d="@@asyncIterator",f="@@iterator"}throw new TypeError("Object is not async iterable")}function l(c){function h(d){if(Object(d)!==d)return Promise.reject(new TypeError(d+" is not an object."));var f=d.done;return Promise.resolve(d.value).then(function(p){return{value:p,done:f}})}return l=function(f){this.s=f,this.n=f.next},l.prototype={s:null,n:null,next:function(){return h(this.n.apply(this.s,arguments))},return:function(f){var p=this.s.return;return p===void 0?Promise.resolve({value:f,done:!0}):h(p.apply(this.s,arguments))},throw:function(f){var p=this.s.return;return p===void 0?Promise.reject(f):h(p.apply(this.s,arguments))}},new l(c)}r.exports=i,r.exports.__esModule=!0,r.exports.default=r.exports}});xn(g0(),1);xn(Pi(),1);var b0=Ji({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(s,r){function i(){var l=typeof SuppressedError=="function"?SuppressedError:function(f,p){var y=Error();return y.name="SuppressedError",y.error=f,y.suppressed=p,y},c={},h=[];function d(f,p){if(p!=null){if(Object(p)!==p)throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");if(f)var y=p[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose")];if(y===void 0&&(y=p[Symbol.dispose||Symbol.for("Symbol.dispose")],f))var v=y;if(typeof y!="function")throw new TypeError("Object is not disposable.");v&&(y=function(){try{v.call(p)}catch(z){return Promise.reject(z)}}),h.push({v:p,d:y,a:f})}else f&&h.push({d:p,a:f});return p}return{e:c,u:d.bind(null,!1),a:d.bind(null,!0),d:function(){var p,y=this.e,v=0;function k(){for(;p=h.pop();)try{if(!p.a&&v===1)return v=0,h.push(p),Promise.resolve().then(k);if(p.d){var S=p.d.call(p.v);if(p.a)return v|=2,Promise.resolve(S).then(k,z)}else v|=1}catch(B){return z(B)}if(v===1)return y!==c?Promise.reject(y):Promise.resolve();if(y!==c)throw y}function z(S){return y=y!==c?new l(S,y):S,k()}return k()}}}r.exports=i,r.exports.__esModule=!0,r.exports.default=r.exports}}),Af=Ji({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js"(s,r){function i(l,c){this.v=l,this.k=c}r.exports=i,r.exports.__esModule=!0,r.exports.default=r.exports}}),y0=Ji({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js"(s,r){var i=Af();function l(c){return new i(c,0)}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}}),v0=Ji({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js"(s,r){var i=Af();function l(h){return function(){return new c(h.apply(this,arguments))}}function c(h){var d,f;function p(v,k){try{var z=h[v](k),S=z.value,B=S instanceof i;Promise.resolve(B?S.v:S).then(function(R){if(B){var D=v==="return"?"return":"next";if(!S.k||R.done)return p(D,R);R=h[D](R).value}y(z.done?"return":"normal",R)},function(R){p("throw",R)})}catch(R){y("throw",R)}}function y(v,k){switch(v){case"return":d.resolve({value:k,done:!0});break;case"throw":d.reject(k);break;default:d.resolve({value:k,done:!1})}(d=d.next)?p(d.key,d.arg):f=null}this._invoke=function(v,k){return new Promise(function(z,S){var B={key:v,arg:k,resolve:z,reject:S,next:null};f?f=f.next=B:(d=f=B,p(v,k))})},typeof h.return!="function"&&(this.return=void 0)}c.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},c.prototype.next=function(h){return this._invoke("next",h)},c.prototype.throw=function(h){return this._invoke("throw",h)},c.prototype.return=function(h){return this._invoke("return",h)},r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}});xn(b0(),1);xn(y0(),1);xn(v0(),1);xn(Pi(),1);const w0={};let xl=null;function k0(){return typeof window>"u"?null:xl||(xl=localStorage.getItem("auth_token"),xl)}function Wd(s){xl=s,typeof window<"u"&&(s?localStorage.setItem("auth_token",s):localStorage.removeItem("auth_token"))}const mh=f0({links:[r0({url:`${w0?.VITE_API_URL||"http://localhost:8080"}/trpc`,headers:()=>{const s=k0();return{authorization:s?`Bearer ${s}`:""}}})]}),If=Mo(void 0),Cf=Mo(void 0);function xm(s){const r=s.primaryEmailAddress?.emailAddress||"",i=s.firstName||"",l=s.lastName||"",c=[i,l].filter(Boolean).join(" ")||r.split("@")[0]||"User",h=s.publicMetadata?.role||"viewer";return{id:s.id,email:r,name:c,avatarUrl:s.imageUrl,role:h}}function x0(s){const[r,i]=vr({user:null,isLoading:!0,isAuthenticated:!1,error:null}),[l,c]=vr(null);Fm(async()=>{try{const p=await by();if(!p){i({user:null,isLoading:!1,isAuthenticated:!1,error:"Authentication service unavailable"});return}if(c({user:()=>p.user,session:()=>p.session||null,isLoading:!1,signOut:async()=>{await p.signOut(),i({user:null,isLoading:!1,isAuthenticated:!1,error:null})}}),p.user){const v=p.session;if(v){const k=await v.getToken();k&&Wd(k)}i({user:xm(p.user),isLoading:!1,isAuthenticated:!0,error:null})}else i(v=>({...v,isLoading:!1})),Wd(null);p.addListener(v=>{v.type==="user"&&v.user?i({user:xm(v.user),isLoading:!1,isAuthenticated:!0,error:null}):v.type==="signOut"&&i({user:null,isLoading:!1,isAuthenticated:!1,error:null})})}catch(p){i({user:null,isLoading:!1,isAuthenticated:!1,error:p instanceof Error?p.message:"Failed to initialize auth"})}});const h=()=>{const p=gy();window.location.href=p.signInUrl},d=async()=>{const p=Os();p&&await p.signOut(),Wd(null),i({user:null,isLoading:!1,isAuthenticated:!1,error:null})},f=async p=>{const y=Os();if(!y?.user)throw new Error("Not authenticated");const v=y.user,k={};if(p.name){const[z,...S]=p.name.split(" ");k.firstName=z,k.lastName=S.join(" ")}await v.update(k),i(z=>({...z,user:z.user?{...z.user,...p}:null}))};return mt(If.Provider,{value:r,get children(){return mt(Cf.Provider,{value:{signIn:h,signOut:d,updateUser:f,clerkClient:l},get children(){return s.children}})}})}function Ef(){const s=so(If);if(!s)throw new Error("useAuth must be used within a ClerkProvider");return s}function _0(){const s=so(Cf);if(!s)throw new Error("useAuthActions must be used within a ClerkProvider");return s}const j0="modulepreload",z0=function(s){return"/"+s},_m={},Us=function(r,i,l){let c=Promise.resolve();if(i&&i.length>0){document.getElementsByTagName("link");const d=document.querySelector("meta[property=csp-nonce]"),f=d?.nonce||d?.getAttribute("nonce");c=Promise.allSettled(i.map(p=>{if(p=z0(p),p in _m)return;_m[p]=!0;const y=p.endsWith(".css"),v=y?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${v}`))return;const k=document.createElement("link");if(k.rel=y?"stylesheet":j0,y||(k.as="script"),k.crossOrigin="",k.href=p,f&&k.setAttribute("nonce",f),document.head.appendChild(k),y)return new Promise((z,S)=>{k.addEventListener("load",z),k.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${p}`)))})}))}function h(d){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=d,window.dispatchEvent(f),!f.defaultPrevented)throw d}return c.then(d=>{for(const f of d||[])f.status==="rejected"&&h(f.reason);return r().catch(h)})};var S0=ba("
          "),P0=ba("
          ");const gl=s=>{const r=Ef(),i=D1();return mt(c1,{get children(){return[mt(Rd,{get when(){return i()},get children(){return S0()}}),mt(Rd,{get when(){return!r().isAuthenticated},get children(){return mt(sf,{href:"/sign-in"})}}),mt(Rd,{get when(){return r().isAuthenticated},get children(){var l=P0();return nt(l,()=>s.children),l}})]}})};var A0=ba(`

          Welcome back

          Sign in to your FrenoCorp account

          Don't have an account? Create one`),I0=ba('

          ');const C0=()=>{const s=Ef(),{signIn:r}=_0();return(()=>{var i=A0(),l=i.firstChild,c=l.firstChild,h=c.nextSibling,d=h.firstChild,f=d.nextSibling,p=f.nextSibling;return nt(l,(()=>{var y=Xn(()=>!!s().error);return()=>y()&&(()=>{var v=I0();return nt(v,()=>s().error),v})()})(),h),Jm(d,"click",r,!0),f.$$click=()=>{const y=Os();y&&y.openSignIn()},p.$$click=()=>{const y=Os();y&&y.openSignIn()},i})()};cs(["click"]);var E0=ba('

          Create your account

          Start writing collaboratively today

          or

          Already have an account? Sign in'),O0=ba('

          ');const q0=()=>{const[s,r]=vr(""),[i,l]=vr(""),[c,h]=vr(""),[d,f]=vr(null),[p,y]=vr(!1),v=async k=>{k.preventDefault(),y(!0),f(null);try{const z=Os();if(!z){f("Authentication service unavailable");return}await z.openSignUp({initialValues:{emailAddress:s(),firstName:i().split(" ")[0]||"",lastName:i().split(" ")[1]||""}}),window.location.href="/"}catch(z){f(z instanceof Error?z.message:"Failed to create account")}finally{y(!1)}};return(()=>{var k=E0(),z=k.firstChild,S=z.firstChild,B=S.nextSibling,R=B.firstChild,D=R.firstChild,I=D.nextSibling,O=R.nextSibling,M=O.firstChild,Y=M.nextSibling,ae=O.nextSibling,ue=ae.firstChild,se=ue.nextSibling,J=B.nextSibling,W=J.nextSibling,G=W.firstChild,Q=G.nextSibling;return nt(z,(()=>{var X=Xn(()=>!!d());return()=>X()&&(()=>{var ee=O0();return nt(ee,d),ee})()})(),B),B.addEventListener("submit",v),I.addEventListener("change",X=>l(X.target.value)),Y.addEventListener("change",X=>r(X.target.value)),se.addEventListener("change",X=>h(X.target.value)),G.$$click=()=>{const X=Os();X&&X.openSignIn()},Q.$$click=()=>{const X=Os();X&&X.openSignIn()},mr(()=>I.value=i()),mr(()=>Y.value=s()),mr(()=>se.value=c()),k})()};cs(["click"]);var yu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(s){return this.listeners.add(s),this.onSubscribe(),()=>{this.listeners.delete(s),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},T0=class extends yu{#t;#e;#a;constructor(){super(),this.#a=s=>{if(typeof window<"u"&&window.addEventListener){const r=()=>s();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}}}onSubscribe(){this.#e||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(s){this.#a=s,this.#e?.(),this.#e=s(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()})}setFocused(s){this.#t!==s&&(this.#t=s,this.onFocus())}onFocus(){const s=this.isFocused();this.listeners.forEach(r=>{r(s)})}isFocused(){return typeof this.#t=="boolean"?this.#t:globalThis.document?.visibilityState!=="hidden"}},U0=new T0,M0={setTimeout:(s,r)=>setTimeout(s,r),clearTimeout:s=>clearTimeout(s),setInterval:(s,r)=>setInterval(s,r),clearInterval:s=>clearInterval(s)},R0=class{#t=M0;#e=!1;setTimeoutProvider(s){this.#e&&s!==this.#t&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:this.#t,provider:s}),this.#t=s,this.#e=!1}setTimeout(s,r){return this.#e=!0,this.#t.setTimeout(s,r)}clearTimeout(s){this.#t.clearTimeout(s)}setInterval(s,r){return this.#e=!0,this.#t.setInterval(s,r)}clearInterval(s){this.#t.clearInterval(s)}},eu=new R0;function N0(s){setTimeout(s,0)}var L0=typeof window>"u"||"Deno"in globalThis;function Cl(){}function jm(s){return typeof s=="number"&&s>=0&&s!==1/0}function B0(s,r){return Math.max(s+(r||0)-Date.now(),0)}function zl(s,r){return typeof s=="function"?s(r):s}function bi(s,r){return typeof s=="function"?s(r):s}function zm(s){return JSON.stringify(s,(r,i)=>nh(i)?Object.keys(i).sort().reduce((l,c)=>(l[c]=i[c],l),{}):i)}var D0=Object.prototype.hasOwnProperty;function rh(s,r,i=0){if(s===r)return s;if(i>500)return r;const l=Sm(s)&&Sm(r);if(!l&&!(nh(s)&&nh(r)))return r;const h=(l?s:Object.keys(s)).length,d=l?r:Object.keys(r),f=d.length,p=l?new Array(f):{};let y=0;for(let v=0;v{let s=()=>L0;return{isServer(){return s()},setIsServer(r){s=r}}})();function Cm(){let s,r;const i=new Promise((c,h)=>{s=c,r=h});i.status="pending",i.catch(()=>{});function l(c){Object.assign(i,c),delete i.resolve,delete i.reject}return i.resolve=c=>{l({status:"fulfilled",value:c}),s(c)},i.reject=c=>{l({status:"rejected",reason:c}),r(c)},i}function F0(s){let r;if(s.then(i=>(r=i,i),Cl)?.catch(Cl),r!==void 0)return{data:r}}function W0(s){return s}function $0(s,r,i){if(typeof r!="object"||r===null)return;const l=s.getMutationCache(),c=s.getQueryCache(),h=s.getDefaultOptions().hydrate?.deserializeData??W0,d=r.mutations||[],f=r.queries||[];d.forEach(({state:p,...y})=>{l.build(s,{...s.getDefaultOptions().hydrate?.mutations,...i?.defaultOptions?.mutations,...y},p)}),f.forEach(({queryKey:p,state:y,queryHash:v,meta:k,promise:z,dehydratedAt:S})=>{const B=z?F0(z):void 0,R=y.data===void 0?B?.data:y.data,D=R===void 0?R:h(R);let I=c.get(v);const O=I?.state.status==="pending",M=I?.state.fetchStatus==="fetching";if(I){const Y=B&&S!==void 0&&S>I.state.dataUpdatedAt;if(y.dataUpdatedAt>I.state.dataUpdatedAt||Y){const{fetchStatus:ae,...ue}=y;I.setState({...ue,data:D,...y.status==="pending"&&D!==void 0&&{status:"success",...!M&&{fetchStatus:"idle"}}})}}else I=c.build(s,{...s.getDefaultOptions().hydrate?.queries,...i?.defaultOptions?.queries,queryKey:p,queryHash:v,meta:k},{...y,data:D,fetchStatus:"idle",status:y.status==="pending"&&D!==void 0?"success":y.status});z&&!B&&!O&&!M&&(S===void 0||S>I.state.dataUpdatedAt)&&I.fetch(void 0,{initialPromise:Promise.resolve(z).then(h)}).catch(Cl)})}var K0=N0;function H0(){let s=[],r=0,i=f=>{f()},l=f=>{f()},c=K0;const h=f=>{r?s.push(f):c(()=>{i(f)})},d=()=>{const f=s;s=[],f.length&&c(()=>{l(()=>{f.forEach(p=>{i(p)})})})};return{batch:f=>{let p;r++;try{p=f()}finally{r--,r||d()}return p},batchCalls:f=>(...p)=>{h(()=>{f(...p)})},schedule:h,setNotifyFunction:f=>{i=f},setBatchNotifyFunction:f=>{l=f},setScheduler:f=>{c=f}}}var qf=H0(),V0=class extends yu{#t=!0;#e;#a;constructor(){super(),this.#a=s=>{if(typeof window<"u"&&window.addEventListener){const r=()=>s(!0),i=()=>s(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",i,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",i)}}}}onSubscribe(){this.#e||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(s){this.#a=s,this.#e?.(),this.#e=s(this.setOnline.bind(this))}setOnline(s){this.#t!==s&&(this.#t=s,this.listeners.forEach(i=>{i(s)}))}isOnline(){return this.#t}},G0=new V0;function J0(s){return(s??"online")==="online"?G0.isOnline():!0}function Z0(s,r){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:J0(r.networkMode)?"fetching":"paused",...s===void 0&&{error:null,status:"pending"}}}var Y0=class extends yu{constructor(s,r){super(),this.options=r,this.#t=s,this.#c=null,this.#l=Cm(),this.bindMethods(),this.setOptions(r)}#t;#e=void 0;#a=void 0;#s=void 0;#i;#u;#l;#c;#r;#d;#o;#p;#f;#m;#n=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#e.addObserver(this),Em(this.#e,this.options)?this.#b():this.updateResult(),this.#g())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return ih(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return ih(this.#e,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#w(),this.#x(),this.#e.removeObserver(this)}setOptions(s){const r=this.options,i=this.#e;if(this.options=this.#t.defaultQueryOptions(s),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof bi(this.options.enabled,this.#e)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#_(),this.#e.setOptions(this.options),r._defaulted&&!pu(this.options,r)&&this.#t.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const l=this.hasListeners();l&&Om(this.#e,i,this.options,r)&&this.#b(),this.updateResult(),l&&(this.#e!==i||bi(this.options.enabled,this.#e)!==bi(r.enabled,this.#e)||zl(this.options.staleTime,this.#e)!==zl(r.staleTime,this.#e))&&this.#v();const c=this.#h();l&&(this.#e!==i||bi(this.options.enabled,this.#e)!==bi(r.enabled,this.#e)||c!==this.#m)&&this.#y(c)}getOptimisticResult(s){const r=this.#t.getQueryCache().build(this.#t,s),i=this.createResult(r,s);return X0(this,i)&&(this.#s=i,this.#u=this.options,this.#i=this.#e.state),i}getCurrentResult(){return this.#s}trackResult(s,r){return new Proxy(s,{get:(i,l)=>(this.trackProp(l),r?.(l),l==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#l.status==="pending"&&this.#l.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(i,l))})}trackProp(s){this.#n.add(s)}getCurrentQuery(){return this.#e}refetch({...s}={}){return this.fetch({...s})}fetchOptimistic(s){const r=this.#t.defaultQueryOptions(s),i=this.#t.getQueryCache().build(this.#t,r);return i.fetch().then(()=>this.createResult(i,r))}fetch(s){return this.#b({...s,cancelRefetch:s.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#s))}#b(s){this.#_();let r=this.#e.fetch(this.options,s);return s?.throwOnError||(r=r.catch(Cl)),r}#v(){this.#w();const s=zl(this.options.staleTime,this.#e);if(Im.isServer()||this.#s.isStale||!jm(s))return;const i=B0(this.#s.dataUpdatedAt,s)+1;this.#p=eu.setTimeout(()=>{this.#s.isStale||this.updateResult()},i)}#h(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#e):this.options.refetchInterval)??!1}#y(s){this.#x(),this.#m=s,!(Im.isServer()||bi(this.options.enabled,this.#e)===!1||!jm(this.#m)||this.#m===0)&&(this.#f=eu.setInterval(()=>{(this.options.refetchIntervalInBackground||U0.isFocused())&&this.#b()},this.#m))}#g(){this.#v(),this.#y(this.#h())}#w(){this.#p!==void 0&&(eu.clearTimeout(this.#p),this.#p=void 0)}#x(){this.#f!==void 0&&(eu.clearInterval(this.#f),this.#f=void 0)}createResult(s,r){const i=this.#e,l=this.options,c=this.#s,h=this.#i,d=this.#u,p=s!==i?s.state:this.#a,{state:y}=s;let v={...y},k=!1,z;if(r._optimisticResults){const J=this.hasListeners(),W=!J&&Em(s,r),G=J&&Om(s,i,r,l);(W||G)&&(v={...v,...Z0(y.data,s.options)}),r._optimisticResults==="isRestoring"&&(v.fetchStatus="idle")}let{error:S,errorUpdatedAt:B,status:R}=v;z=v.data;let D=!1;if(r.placeholderData!==void 0&&z===void 0&&R==="pending"){let J;c?.isPlaceholderData&&r.placeholderData===d?.placeholderData?(J=c.data,D=!0):J=typeof r.placeholderData=="function"?r.placeholderData(this.#o?.state.data,this.#o):r.placeholderData,J!==void 0&&(R="success",z=Am(c?.data,J,r),k=!0)}if(r.select&&z!==void 0&&!D)if(c&&z===h?.data&&r.select===this.#r)z=this.#d;else try{this.#r=r.select,z=r.select(z),z=Am(c?.data,z,r),this.#d=z,this.#c=null}catch(J){this.#c=J}this.#c&&(S=this.#c,z=this.#d,B=Date.now(),R="error");const I=v.fetchStatus==="fetching",O=R==="pending",M=R==="error",Y=O&&I,ae=z!==void 0,se={status:R,fetchStatus:v.fetchStatus,isPending:O,isSuccess:R==="success",isError:M,isInitialLoading:Y,isLoading:Y,data:z,dataUpdatedAt:v.dataUpdatedAt,error:S,errorUpdatedAt:B,failureCount:v.fetchFailureCount,failureReason:v.fetchFailureReason,errorUpdateCount:v.errorUpdateCount,isFetched:s.isFetched(),isFetchedAfterMount:v.dataUpdateCount>p.dataUpdateCount||v.errorUpdateCount>p.errorUpdateCount,isFetching:I,isRefetching:I&&!O,isLoadingError:M&&!ae,isPaused:v.fetchStatus==="paused",isPlaceholderData:k,isRefetchError:M&&ae,isStale:fh(s,r),refetch:this.refetch,promise:this.#l,isEnabled:bi(r.enabled,s)!==!1};if(this.options.experimental_prefetchInRender){const J=se.data!==void 0,W=se.status==="error"&&!J,G=ee=>{W?ee.reject(se.error):J&&ee.resolve(se.data)},Q=()=>{const ee=this.#l=se.promise=Cm();G(ee)},X=this.#l;switch(X.status){case"pending":s.queryHash===i.queryHash&&G(X);break;case"fulfilled":(W||se.data!==X.value)&&Q();break;case"rejected":(!W||se.error!==X.reason)&&Q();break}}return se}updateResult(){const s=this.#s,r=this.createResult(this.#e,this.options);if(this.#i=this.#e.state,this.#u=this.options,this.#i.data!==void 0&&(this.#o=this.#e),pu(r,s))return;this.#s=r;const i=()=>{if(!s)return!0;const{notifyOnChangeProps:l}=this.options,c=typeof l=="function"?l():l;if(c==="all"||!c&&!this.#n.size)return!0;const h=new Set(c??this.#n);return this.options.throwOnError&&h.add("error"),Object.keys(this.#s).some(d=>{const f=d;return this.#s[f]!==s[f]&&h.has(f)})};this.#z({listeners:i()})}#_(){const s=this.#t.getQueryCache().build(this.#t,this.options);if(s===this.#e)return;const r=this.#e;this.#e=s,this.#a=s.state,this.hasListeners()&&(r?.removeObserver(this),s.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#g()}#z(s){qf.batch(()=>{s.listeners&&this.listeners.forEach(r=>{r(this.#s)}),this.#t.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}};function Q0(s,r){return bi(r.enabled,s)!==!1&&s.state.data===void 0&&!(s.state.status==="error"&&bi(r.retryOnMount,s)===!1)}function Em(s,r){return Q0(s,r)||s.state.data!==void 0&&ih(s,r,r.refetchOnMount)}function ih(s,r,i){if(bi(r.enabled,s)!==!1&&zl(r.staleTime,s)!=="static"){const l=typeof i=="function"?i(s):i;return l==="always"||l!==!1&&fh(s,r)}return!1}function Om(s,r,i,l){return(s!==r||bi(l.enabled,s)===!1)&&(!i.suspense||s.state.status!=="error")&&fh(s,i)}function fh(s,r){return bi(r.enabled,s)!==!1&&s.isStaleByTime(zl(r.staleTime,s))}function X0(s,r){return!pu(s.getCurrentResult(),r)}function ev(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var tv=class extends yu{#t;#e=void 0;#a;#s;constructor(r,i){super(),this.#t=r,this.setOptions(i),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(r){const i=this.options;this.options=this.#t.defaultMutationOptions(r),pu(this.options,i)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#a,observer:this}),i?.mutationKey&&this.options.mutationKey&&zm(i.mutationKey)!==zm(this.options.mutationKey)?this.reset():this.#a?.state.status==="pending"&&this.#a.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#a?.removeObserver(this)}onMutationUpdate(r){this.#i(),this.#u(r)}getCurrentResult(){return this.#e}reset(){this.#a?.removeObserver(this),this.#a=void 0,this.#i(),this.#u()}mutate(r,i){return this.#s=i,this.#a?.removeObserver(this),this.#a=this.#t.getMutationCache().build(this.#t,this.options),this.#a.addObserver(this),this.#a.execute(r)}#i(){const r=this.#a?.state??ev();this.#e={...r,isPending:r.status==="pending",isSuccess:r.status==="success",isError:r.status==="error",isIdle:r.status==="idle",mutate:this.mutate,reset:this.reset}}#u(r){qf.batch(()=>{if(this.#s&&this.hasListeners()){const i=this.#e.variables,l=this.#e.context,c={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(r?.type==="success"){try{this.#s.onSuccess?.(r.data,i,l,c)}catch(h){Promise.reject(h)}try{this.#s.onSettled?.(r.data,null,i,l,c)}catch(h){Promise.reject(h)}}else if(r?.type==="error"){try{this.#s.onError?.(r.error,i,l,c)}catch(h){Promise.reject(h)}try{this.#s.onSettled?.(void 0,r.error,i,l,c)}catch(h){Promise.reject(h)}}}this.listeners.forEach(i=>{i(this.#e)})})}},av=Mo(void 0),Tf=s=>{if(s)return s;const r=so(av);if(!r)throw new Error("No QueryClient set, use QueryClientProvider to set one");return r()},rv=Mo(()=>!1),nv=()=>so(rv);function iv(s,r,i,l){if(i===!1)return r;if(typeof i=="function"){const d=i(s.data,r.data);return{...r,data:d}}let c=r.data;if(s.data===void 0)try{c=structuredClone(c)}catch(d){d instanceof Error&&console.warn(`Unable to correctly reconcile data for query key: ${l}. Possibly because the query data contains data structures that aren't supported by the 'structuredClone' algorithm. Consider using a callback function instead to manage the reconciliation manually. - - Error Received: ${d.name} - ${d.message}`)}const h=dy(c,{key:i})(s.data);return{...r,data:h}}var sv=(s,r)=>r;function ov(s,r,i){const l=Tr(()=>Tf(i?.())),c=nv(),h=Tr(()=>{const Y=l().defaultQueryOptions(s());return Y._optimisticResults=c()?"isRestoring":"optimistic",Y.structuralSharing=!1,Y}),d=h(),[f,p]=vr(new r(l(),h()));let y=f().getOptimisticResult(h());const[v,k]=df(y),z=()=>f().subscribe(ae=>{y=ae,queueMicrotask(()=>{R&&O()})});function S(Y){const ae=f().options,ue=ae.reconcile;k(se=>iv(se,Y,ue===void 0?!1:ue,ae.queryHash))}function B(){return[()=>v,Y=>{const ae=io(v);if(typeof Y=="function"&&(Y=Y(ae)),Y?.hydrationData){const{hydrationData:ue,...se}=Y;Y=se}S(Y)}]}let R=null,D=null;const[I,{refetch:O}]=Bm(()=>{const Y=f();return new Promise((ae,ue)=>{if(D=ae,!R&&!c()&&(R=z()),Y.updateResult(),y.isError&&!y.isFetching&&!c()&&Of(Y.options.throwOnError,[y.error,Y.getCurrentQuery()]))return S(y),ue(y.error);if(!y.isLoading)return D=null,ae(sv(Y.getCurrentQuery(),y));S(y)})},{storage:B,get deferStream(){return s().deferStream},onHydrated(Y,ae){if(ae.value&&"hydrationData"in ae.value&&$0(l(),{queries:[{...ae.value.hydrationData}]}),R)return;const ue={...d};(d.staleTime||!d.initialData)&&ae.value&&(ue.refetchOnMount=!1),f().setOptions(ue),S(f().getOptimisticResult(ue)),R=z()}});To(ro(l,Y=>{R&&R();const ae=new r(Y,h());R=z(),p(ae)},{defer:!0})),To(ro(c,Y=>{!Y&&!Yd&&O()},{defer:!0})),El(()=>{R&&(R(),R=null),D&&!Yd&&(D(y),D=null)}),To(ro([f,h],([Y,ae])=>{Y.setOptions(ae),S(Y.getOptimisticResult(ae)),O()},{defer:!0}));const M={get(Y,ae){return ae==="data"?v.data!==void 0?I.latest?.data:I()?.data:Reflect.get(Y,ae)}};return new Proxy(v,M)}function lv(s,r){return ov(Tr(()=>s()),Y0,r)}function cv(s,r){const i=Tr(()=>Tf(r?.())),l=new tv(i(),s()),c=(p,y)=>{l.mutate(p,y).catch(Cl)},[h,d]=df({...l.getCurrentResult(),mutate:c,mutateAsync:l.getCurrentResult().mutate});To(()=>{l.setOptions(s())}),To(ro(()=>h.status,()=>{if(h.isError&&Of(l.options.throwOnError,[h.error]))throw h.error}));const f=l.subscribe(p=>{d({...p,mutate:c,mutateAsync:p.mutate})});return El(f),h}var uv=lv,Uf=cv;function dv(){return Uf(()=>({mutationFn:async s=>await mh.waitlist.signup.mutate(s)}))}function hv(){return uv(()=>({queryKey:["waitlistCount"],queryFn:async()=>await mh.waitlist.getCount.query(void 0),refetchInterval:3e4}))}function pv(){return Uf(()=>({mutationFn:async s=>await mh.beta.signup.mutate(s)}))}var mv=ba(`
          Scripter
          FeaturesPricingBlog

          Write Faster.

          The modern screenwriting platform built for how you actually work. Real-time collaboration, AI-powered writing, and industry-standard formatting — all in one place.

          FADE IN:
          -
          -EXT. COFFEE SHOP - DAY
          -
          -SARAH (28, determined) types furiously on her laptop. 
          -The barista calls her name.
          -
          -                    BARISTA
          -          Sarah! Your latte is ready!
          -
          -She doesn't look up. In the zone.

          Join the growing community of screenwriters

          writers on the waitlist🎬 Industry Standard⭐ 5-Star Reviews

          Everything you need to write

          📝

          Industry-Standard Formatting

          Automatic screenplay formatting. Scene headings, action, dialogue, parentheticals — all formatted to spec.

          👥

          Real-Time Collaboration

          Write together with your team. See changes live, leave comments, chat with video.

          🤖

          AI Writing Assistant

          Get help with dialogue, scene descriptions, character analysis, and more.

          Why switch to Scripter?

          vs Final Draft

          • ✓ $7.99/mo vs $199 one-time
          • ✓ Real-time collaboration vs desktop-only
          • ✓ Works on any device
          • ✓ Cloud backup included

          vs WriterDuet

          • ✓ Unlimited projects (free)
          • ✓ Faster native app (Tauri)
          • ✓ Built-in AI assistant
          • ✓ 33% lower pricing

          Simple pricing for every screenwriter

          Start free. Upgrade when you need more.

          Free

          $0/mo
          • Unlimited projects
          • Industry-standard formatting
          • Auto cloud saving
          • Mobile editing
          • Comments & mentions
          Most Popular

          Pro

          $7.99/mo
          • Everything in Free, plus:
          • Real-time collaboration
          • Desktop app (Mac, Windows, Linux)
          • Offline writing
          • Video chat
          • Revision tracking

          14-day free trial

          Premium

          $10.99/mo
          • Everything in Pro, plus:
          • Infinite document history
          • AI writing assistant
          • Auto-translate (30+ languages)
          • ReadAloud narration
          • Priority support

          14-day free trial

          Ready to write your next script?

          Join thousands of screenwriters who've made the switch.

          Scripter

          Write Faster.

          Product

          FeaturesPricingBlog

          Company

          AboutFAQContact

          Legal

          TermsPrivacy

          © 2026 Scripter. All rights reserved.`),fv=ba("

          🎉

          You're on the list!

          We'll notify you when Scripter launches. In the meantime, spread the word."),gv=ba("

          Share your unique referral link:

          Earn early access perks for every friend who joins!"),bv=ba('

          By submitting, you agree to provide weekly feedback during the 3-week beta period.`),jv=ba("

          "),zv=ba("
          FeaturesPricing

          The Scripter Blog

          Tips, insights, and updates for modern screenwriters

          Stay in the loop

          Get screenwriting tips, product updates, and industry insights delivered to your inbox.

          No spam. Unsubscribe anytime.

          Scripter

          Write Faster.

          Product

          FeaturesPricingBlog

          Company

          AboutFAQContact

          Legal

          TermsPrivacy

          © 2026 Scripter. All rights reserved.'),Cv=ba("

          ");const d2=[{name:"Free",price:"$0",period:"/mo",description:"For screenwriters exploring the platform",cta:"Get Started Free",features:["Unlimited projects","Industry-standard formatting","Auto cloud saving","Mobile editing","Comments & mentions","Basic export (PDF, Fountain)","Google Drive / Dropbox backup"],highlighted:!1},{name:"Pro",price:"$7.99",period:"/mo",description:"For professional screenwriters",cta:"Start Pro Trial",trial:"14 days free",features:["Everything in Free, plus:","Real-time collaboration","Desktop app (macOS, Windows, Linux)","Offline writing","Video chat","Revision tracking","Custom themes and margins","Document statistics","Location/scene filters","Custom title pages","PDF security and watermarks"],highlighted:!0},{name:"Premium",price:"$10.99",period:"/mo",description:"For teams and power users",cta:"Start Premium Trial",trial:"14 days free",features:["Everything in Pro, plus:","Infinite document history","AI writing assistant","Auto-translate (30+ languages)","ReadAloud narration","Multi-column tools","Priority support","API access"],highlighted:!1}],h2=[{feature:"Unlimited projects",free:!0,pro:!0,premium:!0},{feature:"Industry-standard formatting",free:!0,pro:!0,premium:!0},{feature:"Cloud backup",free:!0,pro:!0,premium:!0},{feature:"Mobile editing",free:!0,pro:!0,premium:!0},{feature:"Comments & mentions",free:!0,pro:!0,premium:!0},{feature:"Real-time collaboration",free:!1,pro:!0,premium:!0},{feature:"Desktop app",free:!1,pro:!0,premium:!0},{feature:"Offline writing",free:!1,pro:!0,premium:!0},{feature:"Video chat",free:!1,pro:!0,premium:!0},{feature:"Revision tracking",free:!1,pro:!0,premium:!0},{feature:"Document history",free:"30 days",pro:"90 days",premium:"Unlimited"},{feature:"AI writing assistant",free:!1,pro:!1,premium:!0},{feature:"Auto-translate",free:!1,pro:!1,premium:!0},{feature:"ReadAloud narration",free:!1,pro:!1,premium:!0},{feature:"Priority support",free:!1,pro:!1,premium:!0},{feature:"API access",free:!1,pro:!1,premium:!0}],p2=[{question:"Can I switch plans anytime?",answer:"Yes, you can upgrade or downgrade your plan at any time. Changes take effect immediately, and we'll prorate any differences in billing."},{question:"What happens to my scripts if I cancel?",answer:"Your scripts are always yours. You can download them in any format (PDF, Final Draft XML, Fountain) at any time. Even on the free plan, you keep full access to your work."},{question:"Do you offer education discounts?",answer:"Yes! We offer 50% off for verified students and educators. Contact us with your .edu email or student ID for verification."},{question:"Is there a team plan?",answer:"Yes, we offer custom team pricing for writing rooms, production companies, and classrooms. Contact us for volume discounts and team management features."},{question:"Can I try Pro or Premium before paying?",answer:"Absolutely. Both Pro and Premium come with a 14-day free trial. No credit card required to start. If you're not satisfied, just downgrade to Free."},{question:"What payment methods do you accept?",answer:"We accept all major credit cards (Visa, MasterCard, American Express), PayPal, and Apple Pay. Annual subscriptions receive a 25% discount."},{question:"How does the free plan compare to competitors?",answer:"Our free plan is the most generous in the industry. Unlike WriterDuet (3 project limit) or Final Draft (no free tier), Scripter Free includes unlimited projects and professional formatting."},{question:"Do you offer refunds?",answer:"Yes, we offer a 30-day money-back guarantee. If you're not satisfied with Scripter for any reason, contact us within 30 days for a full refund."}],m2=()=>{const[s,r]=vr(null);return(()=>{var i=n2(),l=i.firstChild,c=l.firstChild,h=c.firstChild,d=h.nextSibling;d.firstChild;var f=l.nextSibling,p=f.nextSibling,y=p.firstChild,v=y.firstChild,k=p.nextSibling,z=k.firstChild,S=z.firstChild,B=S.nextSibling,R=B.firstChild,D=R.firstChild,I=D.nextSibling,O=k.nextSibling,M=O.firstChild,Y=M.firstChild,ae=Y.nextSibling,ue=O.nextSibling,se=ue.firstChild;return se.nextSibling,nt(h,mt(Ra,{href:"/",get children(){return[a2(),r2()]}})),nt(d,mt(Ra,{href:"/pricing",class:"active",children:"Pricing"}),null),nt(d,mt(Ra,{href:"/blog",children:"Blog"}),null),nt(d,mt(Ra,{href:"/sign-in",class:"nav-signin",children:"Sign In"}),null),nt(d,mt(Ra,{href:"/sign-up",class:"nav-signup",children:"Start Writing Free"}),null),nt(v,()=>d2.map(J=>(()=>{var W=i2(),G=W.firstChild,Q=G.nextSibling,X=Q.firstChild,ee=Q.nextSibling,be=ee.nextSibling;return nt(W,(()=>{var ve=Xn(()=>!!J.highlighted);return()=>ve()&&s2()})(),G),nt(G,()=>J.name),nt(Q,()=>J.price,X),nt(X,()=>J.period),nt(ee,()=>J.description),nt(W,(()=>{var ve=Xn(()=>!!J.trial);return()=>ve()&&(()=>{var je=o2();return nt(je,()=>J.trial),je})()})(),be),nt(W,mt(Ra,{href:"/sign-up",get class(){return`pricing-cta ${J.highlighted?"primary":""}`},get children(){return J.cta}}),be),nt(be,()=>J.features.map(ve=>(()=>{var je=l2();return nt(je,ve),mr(()=>is(je,ve.includes("Everything in")?"summary":"")),je})())),mr(()=>is(W,`pricing-card ${J.highlighted?"featured":""}`)),W})())),nt(I,()=>h2.map(J=>(()=>{var W=c2(),G=W.firstChild,Q=G.nextSibling,X=Q.nextSibling,ee=X.nextSibling;return nt(G,()=>J.feature),nt(Q,(()=>{var be=Xn(()=>typeof J.free=="boolean");return()=>be()?J.free?"✓":"—":J.free})()),nt(X,(()=>{var be=Xn(()=>typeof J.pro=="boolean");return()=>be()?J.pro?"✓":"—":J.pro})()),nt(ee,(()=>{var be=Xn(()=>typeof J.premium=="boolean");return()=>be()?J.premium?"✓":"—":J.premium})()),mr(be=>{var ve=typeof J.free=="boolean"?J.free?"included":"not-included":"",je=typeof J.pro=="boolean"?J.pro?"included":"not-included":"",qe=typeof J.premium=="boolean"?J.premium?"included":"not-included":"";return ve!==be.e&&is(Q,be.e=ve),je!==be.t&&is(X,be.t=je),qe!==be.a&&is(ee,be.a=qe),be},{e:void 0,t:void 0,a:void 0}),W})())),nt(ae,()=>p2.map((J,W)=>(()=>{var G=u2(),Q=G.firstChild,X=Q.firstChild,ee=X.nextSibling,be=Q.nextSibling;return Q.$$click=()=>r(s()===W?null:W),nt(X,()=>J.question),nt(ee,()=>s()===W?"−":"+"),nt(be,()=>J.answer),mr(()=>is(G,`faq-item ${s()===W?"open":""}`)),G})())),nt(ue,mt(Ra,{href:"/sign-up",class:"cta-primary",children:"Start Writing Free"}),null),i})()};cs(["click"]);var f2=ba(''),g2=ba("Scripter"),b2=ba(`
          FeaturesPricing

          Built by screenwriters, for screenwriters

          We're on a mission to make professional screenwriting tools accessible to every storyteller.

          Our Mission

          Make professional screenwriting tools accessible to every storyteller.

          Screenwriting software hasn't evolved in decades. Final Draft charges $199 for software that hasn't seen real innovation since 2010. WriterDuet tried to modernize, but they're still stuck on outdated technology.

          We knew there had to be a better way. So we built Scripter from the ground up with modern technology, fair pricing, and features that actually help you write better.

          Our Values

          🎯

          Accessibility

          Great tools shouldn't cost a fortune. We believe every writer deserves access to professional-grade software, regardless of budget.

          🤝

          Collaboration

          Screenwriting is a team sport. We build features that bring writers together, not isolate them behind desktop-only software.

          💡

          Innovation

          We're building the future of screenwriting. AI assistance, real-time collaboration, and modern tech stack — not relics from the past.

          ❤️

          Community

          We're screenwriters too. We understand your struggles, celebrate your successes, and are committed to helping you tell great stories.

          Our Story

          Scripter was born out of frustration. We were working on a spec script together, and the process of collaborating was painful. Emailing drafts back and forth. Losing track of changes. Fighting with formatting instead of focusing on story.

          We tried every tool on the market. Final Draft was expensive and felt ancient. WriterDuet was better but still slow and limited. There had to be something better.

          So we decided to build it ourselves. We assembled a team of screenwriters and engineers who shared our vision: create the screenwriting platform we wished existed.

          Today, Scripter serves thousands of writers worldwide. From first-time screenwriters to working professionals, our community is growing every day. And we're just getting started.

          The Team

          We're a remote-first team of screenwriters, engineers, and designers passionate about storytelling and technology.

          👤

          Founders

          Screenwriters turned entrepreneurs

          👥

          Engineering

          Building the future of writing tools

          🎨

          Design

          Crafting beautiful experiences

          📣

          Community

          Supporting writers worldwide

          Interested in joining us? .

          Ready to join thousands of writers?

          Start writing your next script with Scripter today.

          Scripter

          Write Faster.

          Product

          FeaturesPricingBlog

          Company

          AboutFAQContact

          Legal

          TermsPrivacy

          © 2026 Scripter. All rights reserved.`);const y2=()=>(()=>{var s=b2(),r=s.firstChild,i=r.firstChild,l=i.firstChild,c=l.nextSibling,h=c.firstChild;h.nextSibling;var d=r.nextSibling,f=d.nextSibling,p=f.nextSibling,y=p.nextSibling,v=y.nextSibling,k=v.firstChild,z=k.firstChild,S=z.nextSibling,B=S.nextSibling,R=B.nextSibling,D=R.firstChild,I=D.nextSibling;I.nextSibling;var O=v.nextSibling,M=O.firstChild;return M.nextSibling,nt(l,mt(Ra,{href:"/",get children(){return[f2(),g2()]}})),nt(c,mt(Ra,{href:"/blog",children:"Blog"}),null),nt(c,mt(Ra,{href:"/about",class:"active",children:"About"}),null),nt(c,mt(Ra,{href:"/sign-in",class:"nav-signin",children:"Sign In"}),null),nt(c,mt(Ra,{href:"/sign-up",class:"nav-signup",children:"Start Writing Free"}),null),nt(R,mt(Ra,{href:"/contact",children:"Get in touch"}),I),nt(O,mt(Ra,{href:"/sign-up",class:"cta-primary",children:"Start Writing Free"}),null),s})();var v2=ba(''),w2=ba("Scripter"),k2=ba(`

          FeaturesPricing

          Frequently Asked Questions

          Everything you need to know about Scripter. Can't find what you're looking for? .

          Still have questions?

          Our team is here to help. Reach out and we'll get back to you within 24 hours.

          Scripter

          Write Faster.

          Product

          FeaturesPricingBlog

          Company

          AboutFAQContact

          Legal

          TermsPrivacy

          © 2026 Scripter. All rights reserved.`),x2=ba("

          "),_2=ba("
          ");const j2=[{name:"Getting Started",faqs:[{question:"How do I create my first script?",answer:'After signing up, click "New Script" from your dashboard. Choose a template (feature film, TV pilot, etc.) and start writing. Your script is automatically saved to the cloud.'},{question:"Do I need to install anything?",answer:"No! Scripter works entirely in your browser. For offline writing and additional features, you can download our desktop apps for macOS, Windows, and Linux (Pro plan and above)."},{question:"Can I import scripts from Final Draft or WriterDuet?",answer:"Yes! Scripter supports Final Draft (.fdx), Fountain (.fountain), and Celtx imports. Your formatting is preserved automatically."},{question:"Is my work saved automatically?",answer:"Yes. Scripter auto-saves every few seconds to the cloud. You can also enable backup to Google Drive or Dropbox for additional security."}]},{name:"Features",faqs:[{question:"What export formats are supported?",answer:"Scripter exports to PDF, Final Draft XML (.fdx), Fountain (.fountain), and Plain Text. Premium users can also export to Screenplay Pro format."},{question:"How does real-time collaboration work?",answer:"Invite collaborators to your script via email or shareable link. Multiple writers can edit simultaneously — you'll see each other's cursors and changes in real-time."},{question:"Can I work offline?",answer:"Yes, with our desktop apps (Pro plan and above). Your work syncs automatically when you're back online. Offline mode is not available in the browser version."},{question:"What is the AI writing assistant?",answer:"Our AI can help with dialogue suggestions, scene descriptions, character analysis, and more. It's available on the Premium plan and learns from your writing style."}]},{name:"Pricing",faqs:[{question:"What's included in the free plan?",answer:"Free includes unlimited projects, industry-standard formatting, cloud saving, mobile editing, comments & mentions, and basic export (PDF, Fountain)."},{question:"Can I try Pro or Premium before paying?",answer:"Yes! Both Pro and Premium come with a 14-day free trial. No credit card required to start."},{question:"Do you offer refunds?",answer:"Yes, we offer a 30-day money-back guarantee. If you're not satisfied, contact us within 30 days for a full refund."},{question:"Do you offer education discounts?",answer:"Yes! Students and educators get 50% off with verified .edu email or student ID. Contact us for verification."},{question:"What payment methods do you accept?",answer:"We accept all major credit cards (Visa, MasterCard, American Express), PayPal, and Apple Pay. Annual subscriptions receive a 25% discount."}]},{name:"Technical",faqs:[{question:"What browsers are supported?",answer:"Scripter works on the latest versions of Chrome, Firefox, Safari, and Edge. We recommend Chrome for the best experience."},{question:"How is my data stored and secured?",answer:"Your scripts are encrypted in transit (TLS 1.3) and at rest (AES-256). We use industry-standard security practices and never access your content without permission."},{question:"Can I export my data if I leave?",answer:"Absolutely. Your scripts are always yours. Download them in any format at any time, even after canceling your subscription."},{question:"What are the desktop app requirements?",answer:"macOS 10.15+, Windows 10+, or Ubuntu 18.04+. 4GB RAM minimum (8GB recommended). 500MB free disk space."}]},{name:"Account",faqs:[{question:"Can I switch plans anytime?",answer:"Yes, you can upgrade or downgrade at any time. Changes take effect immediately with prorated billing."},{question:"What happens to my scripts if I cancel?",answer:"Your scripts are always yours. You keep full access on the free plan. Download them anytime in any format."},{question:"Can I share scripts with non-Scripter users?",answer:"Yes! Export to PDF or Fountain and share with anyone. They can read without needing a Scripter account."},{question:"Do you offer team plans?",answer:"Yes, we offer custom team pricing for writing rooms, production companies, and classrooms. Contact us for volume discounts."}]}],z2=()=>{const[s,r]=vr(null);return(()=>{var i=k2(),l=i.firstChild,c=l.firstChild,h=c.firstChild,d=h.nextSibling,f=d.firstChild;f.nextSibling;var p=l.nextSibling,y=p.firstChild,v=y.firstChild,k=v.nextSibling,z=k.firstChild,S=z.nextSibling;S.nextSibling;var B=p.nextSibling,R=B.firstChild,D=B.nextSibling,I=D.firstChild;return I.nextSibling,nt(h,mt(Ra,{href:"/",get children(){return[v2(),w2()]}})),nt(d,mt(Ra,{href:"/blog",children:"Blog"}),null),nt(d,mt(Ra,{href:"/faq",class:"active",children:"FAQ"}),null),nt(d,mt(Ra,{href:"/sign-in",class:"nav-signin",children:"Sign In"}),null),nt(d,mt(Ra,{href:"/sign-up",class:"nav-signup",children:"Start Writing Free"}),null),nt(k,mt(Ra,{href:"/contact",children:"Contact us"}),S),nt(R,mt(Es,{each:j2,children:(O,M)=>(()=>{var Y=x2(),ae=Y.firstChild,ue=ae.nextSibling;return nt(ae,()=>O.name),nt(ue,mt(Es,{get each(){return O.faqs},children:(se,J)=>{const W=()=>{const G=s();return G?.category===M()&&G?.index===J()};return(()=>{var G=_2(),Q=G.firstChild,X=Q.firstChild,ee=X.nextSibling,be=Q.nextSibling;return Q.$$click=()=>r(W()?null:{category:M(),index:J()}),nt(X,()=>se.question),nt(ee,()=>W()?"−":"+"),nt(be,()=>se.answer),mr(()=>is(G,`faq-item ${W()?"open":""}`)),G})()}})),Y})()})),nt(D,mt(Ra,{href:"/contact",class:"cta-primary",children:"Contact Support"}),null),i})()};cs(["click"]);var S2=ba(''),P2=ba("Scripter"),A2=ba(`
          FeaturesPricing
          404

          Page not found

          Looks like this scene got cut from the final draft. The page you're looking for doesn't exist or has been moved.

          📝 Writing Tip

          Writer's block? Try writing out of sequence. Jump to a scene you're excited about — you can always connect the dots later.

          Scripter

          Write Faster.

          Product

          FeaturesPricingBlog

          Company

          AboutFAQContact

          Legal

          TermsPrivacy

          © 2026 Scripter. All rights reserved.`);const I2=()=>(()=>{var s=A2(),r=s.firstChild,i=r.firstChild,l=i.firstChild,c=l.nextSibling,h=c.firstChild;h.nextSibling;var d=r.nextSibling,f=d.firstChild,p=f.nextSibling,y=p.nextSibling,v=y.nextSibling;return nt(l,mt(Ra,{href:"/",get children(){return[S2(),P2()]}})),nt(c,mt(Ra,{href:"/blog",children:"Blog"}),null),nt(c,mt(Ra,{href:"/sign-in",class:"nav-signin",children:"Sign In"}),null),nt(c,mt(Ra,{href:"/sign-up",class:"nav-signup",children:"Start Writing Free"}),null),nt(v,mt(Ra,{href:"/",class:"cta-primary",children:"Back to Home"}),null),nt(v,mt(Ra,{href:"/blog",class:"cta-secondary",children:"Browse Blog"}),null),s})(),C2=Ts(()=>Us(()=>import("./AppLayout-Bi8iHstr.js"),[])),E2=Ts(()=>Us(()=>import("./Dashboard-BufY0tf4.js"),__vite__mapDeps([0,1]))),O2=Ts(()=>Us(()=>import("./KPIDashboard-Cq888Xkl.js"),[])),q2=Ts(()=>Us(()=>import("./ProjectList-ByXstiby.js"),__vite__mapDeps([2,1]))),T2=Ts(()=>Us(()=>import("./ProjectDetail-BLiJ5iDs.js"),__vite__mapDeps([3,1]))),Tm=Ts(()=>Us(()=>import("./ProjectForm-BQgT8bX9.js"),__vite__mapDeps([4,1]))),U2=Ts(()=>Us(()=>import("./UserProfile-Ck2xTzTS.js"),[])),Um=Ts(()=>Us(()=>import("./TeamManagement-QZVmDfOZ.js"),[])),M2=()=>mt(sf,{href:"/dashboard"}),R2=[mt(Gr,{path:"/",component:wv}),mt(Gr,{path:"/beta",component:Sv}),mt(Gr,{path:"/features",component:t2}),mt(Gr,{path:"/pricing",component:m2}),mt(Gr,{path:"/about",component:y2}),mt(Gr,{path:"/faq",component:z2}),mt(Gr,{path:"/blog",component:Uv}),mt(Gr,{path:"/blog/:slug",component:Vv}),mt(Gr,{path:"/sign-in",component:C0}),mt(Gr,{path:"/sign-up",component:q0}),mt(Gr,{path:"*404",component:I2}),mt(Gr,{path:"/app",component:C2,get children(){return[mt(Gr,{path:"",component:M2}),",",mt(Gr,{path:"dashboard",component:gl,get children(){return mt(Gr,{path:"",component:E2})}}),",",mt(Gr,{path:"kpi",component:gl,get children(){return mt(Gr,{path:"",component:O2})}}),",",mt(Gr,{path:"projects",component:gl,get children(){return[mt(Gr,{path:"",component:q2}),mt(Gr,{path:"new",component:Tm}),mt(Gr,{path:"{id}",component:T2}),mt(Gr,{path:"{id}/edit",component:Tm})]}}),",",mt(Gr,{path:"profile",component:gl,get children(){return mt(Gr,{path:"",component:U2})}}),",",mt(Gr,{path:"teams",component:gl,get children(){return[mt(Gr,{path:"",component:Um}),mt(Gr,{path:"{id}",component:Um})]}}),","]}})];v1(()=>mt(x0,{get children(){return mt(iy,{root:s=>Xn(()=>s.children),children:R2})}}),document.getElementById("root"));export{Ra as A,cu as S,_0 as a,mt as b,vr as c,Jm as d,mr as e,cs as f,is as g,F1 as h,nt as i,af as j,Zb as k,uu as l,Xn as m,x1 as s,ba as t,Ef as u}; -//# sourceMappingURL=main-B-KzsHRi.js.map diff --git a/dist/assets/main-B-KzsHRi.js.map b/dist/assets/main-B-KzsHRi.js.map deleted file mode 100644 index 946b61d5a..000000000 --- a/dist/assets/main-B-KzsHRi.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"mappings":"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AAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAQ,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAQ,KAAK,KAAQ,KAAQ,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAQ,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,KAAQ,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,IAAI,CAAC,KAAQ,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAO,CAAC,KAAQ,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAQ,KAAK,KAAK,KAAK,KAAQ,IAAI,EAAE,IAAI,CAAC,KAAQ,KAAK,KAAK,KAAK,KAAQ,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAQ,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAQ,KAAK,KAAQ,KAAQ,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAQ,IAAO,EAAE,IAAO,CAAC,KAAK,KAAK,KAAK,KAAK,KAAQ,IAAO,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAQ,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAQ,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAQ,KAAK,IAAO,EAAE,IAAI,CAAC,KAAK,KAAK,KAAQ,KAAQ,KAAK,IAAO,EAAE,IAAI,CAAC,KAAQ,KAAQ,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAQ,KAAQ,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAQ,KAAK,KAAK,IAAI,EAAE,IAAO,CAAC,KAAK,KAAK,KAAQ,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAM,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAM,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAK,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAM,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAM,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,MAAM,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,MAAM,KAAK,IAAI,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAM,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAM,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAM,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAM,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,MAAM,KAAK,IAAK,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,MAAM,KAAK,IAAK,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAM,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAM,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAM,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAM,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,KAAQ,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAQ,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAO,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAQ,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,IAAO,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAQ,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAW,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAQ,KAAW,IAAI,EAAE,IAAO,CAAC,KAAQ,KAAK,KAAK,KAAK,KAAK,IAAU,EAAE,IAAI,CAAC,KAAQ,KAAK,KAAK,KAAK,KAAK,IAAU,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAW,KAAW,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAQ,KAAW,KAAW,IAAI,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAQ,KAAK,KAAW,IAAU,EAAE,EAAE,CAAC,KAAK,KAAQ,KAAQ,KAAK,KAAW,IAAU,EAAE,IAAI,CAAC,KAAW,KAAQ,KAAK,KAAK,KAAK,IAAU,EAAE,IAAI,CAAC,KAAW,KAAQ,KAAK,KAAK,KAAK,IAAU,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAW,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAW,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAW,KAAW,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAW,KAAW,KAAK,IAAI,EAAE,EAAE,CAAC,KAAW,KAAW,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAW,KAAW,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAW,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAW,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,KAAK,K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","names":["sharedConfig","getContextId","count","num","len","setHydrateContext","context","IS_DEV","equalFn","a","b","$PROXY","SUPPORTS_PROXY","$TRACK","$DEVCOMP","signalOptions","runEffects","runQueue","STALE","PENDING","UNOWNED","NO_INIT","Owner","Transition","ExternalSourceConfig","Listener","Updates","Effects","ExecCount","DevHooks","createRoot","fn","detachedOwner","listener","owner","unowned","current","root","updateFn","untrack","cleanNode","runUpdates","createSignal","value","options","s","registerGraph","setter","writeSignal","readSignal","createComputed","c","createComputation","updateComputation","createRenderEffect","createEffect","runUserEffects","createMemo","isPromise","v","createResource","pSource","pFetcher","pOptions","source","fetcher","pr","initP","id","scheduled","resolved","dynamic","contexts","setValue","error","setError","track","trigger","state","setState","loadEnd","p","key","completeLoad","err","read","SuspenseContext","load","refetching","lookup","fetcherError","castError","e","info","runWithOwner","batch","on","deps","isArray","prevInput","defer","prevValue","input","i","result","onMount","onCleanup","getListener","getOwner","o","prev","prevListener","handleError","startTransition","l","t","transPending","setTransPending","devComponent","Comp","props","createContext","defaultValue","createProvider","useContext","children","memo","resolveChildren","updates","lookUpstream","sSlot","node","isComp","TransitionRunning","markDownstream","time","runComputation","nextValue","init","pure","runTop","ancestors","wait","res","completeUpdates","queue","userLength","ignore","index","obs","n","results","FALLBACK","dispose","d","mapArray","list","mapFn","items","mapped","disposers","indexes","newItems","newLen","j","newIndices","newIndicesNext","temp","tempdisposers","tempIndexes","start","end","newEnd","item","disposer","mapper","set","createComponent","trueFn","propTraps","_","property","receiver","resolveSource","resolveSources","length","mergeProps","sources","proxy","keys","sourcesMap","defined","sourceKeys","desc","target","definedKeys","splitProps","blocked","k","objects","propName","keyIndex","lazy","comp","wrap","ctx","mod","r","narrowedError","name","For","fallback","Show","keyed","conditionValue","condition","child","Switch","chs","switchFunc","ch","mps","func","mp","prevFunc","sel","Match","DEV","booleans","Properties","ChildProperties","Aliases","PropAliases","getPropAlias","prop","tagName","DelegatedEvents","reconcileArrays","parentNode","bLength","aEnd","bEnd","aStart","bStart","after","map","sequence","$$EVENTS","render","code","element","insert","template","html","isImportNode","isSVG","isMathML","create","isHydrating","delegateEvents","eventNames","document","eventHandler","setAttribute","setBoolAttribute","className","addEventListener","handler","delegate","handlerFn","classList","classKeys","prevKeys","toggleClassKey","classValue","style","nodeStyle","spread","skipChildren","prevProps","insertExpression","use","assign","arg","parent","accessor","marker","initial","skipRef","assignProp","toPropertyName","w","classNames","nameLen","isCE","isProp","isChildProp","propAlias","forceProp","h","el","ev","oriTarget","oriCurrentTarget","retarget","handleNode","data","walkUpTree","path","unwrapArray","hydrating","cleaned","multi","cleanChildren","array","currentArray","normalizeIncomingArray","nodes","appendNodes","normalized","unwrap","replacement","inserted","isParent","isServer","createBeforeLeave","listeners","subscribe","confirm","to","force","depth","saveCurrentDepth","keepDepth","notifyIfNotBlocked","notify","block","prevDepth","delta","hasSchemeRegex","trimPathRegex","mockBase","normalizePath","omitSlash","resolvePath","base","from","basePath","fromPath","invariant","message","joinPaths","extractSearchParams","url","params","createMatcher","partial","matchFilters","pattern","splat","segments","location","locSegments","lenDiff","match","matchFilter","segment","locSegment","matchSegment","remainder","filter","isEqual","scoreRoute","route","score","createMemoObject","mergeSearchString","search","merged","expandOptionals","prefix","suffix","prefixes","expansion","MAX_REDIRECTS","RouterContextObj","RouteContextObj","useRouter","useRoute","useResolvedPath","useHref","router","to_","useNavigate","useLocation","useIsRouting","useParams","useSearchParams","navigate","setSearchParams","searchString","createRoutes","routeDef","component","preload","isLeaf","shared","asArray","acc","originalPath","expandedPath","createBranch","routes","matches","createBranches","stack","branches","routeDefs","def","isEmptyArray","branch","getRouteMatches","createLocation","queryWrapper","origin","path_","pathname","hash","queryFn","intent","getIntent","createRouterContext","integration","getContext","setSource","utils","parsePath","renderPath","beforeLeave","isRouting","setIsRouting","lastTransitionTarget","transition","newIntent","newTarget","reference","setReference","submissions","subs","navigateEnd","referrers","buildParams","m","baseRoute","navigatorFactory","preloadRoute","navigateFromRoute","queryOnly","replace","resolve","scroll","nextState","resolvedTo","next","first","preloadData","prevIntent","createRouteContext","outlet","createRouterComponent","routerState","singleFlight","transformUrl","_$createComponent","Provider","Root","rootPreload","rootLoad","_$memo","Routes","when","routeStates","nextMatches","prevMatches","equal","prevMatch","nextMatch","createOutlet","routeMatches","splice","forEach","Route","childRoutes","intercept","get","createRouter","config","signal","bindEvent","type","scrollToHash","fallbackTop","actions","setupNativeEvents","explicitLinks","actionBase","preloadTimeout","lastElement","isSvg","handleAnchor","evt","svg","href","rel","handleAnchorClick","handleAnchorPreload","handleAnchorMove","handleFormSubmit","actionRef","Router","getSource","A","inactiveClass","activeClass","rest","isActive","undefined","split","toLowerCase","loc","decodeURI","startsWith","_el$","_tmpl$","_$spread","_$mergeProps","JSON","stringify","class","Navigate","$RAW","$NODE","$HAS","$SELF","wrap$1","proxyTraps$1","isWrappable","obj","proto","unwrapped","getNodes","symbol","getNode","proxyDescriptor$1","trackSelf","ownKeys","tracked","setProperty","deleting","mergeStoreNode","updateArray","updatePath","traversed","part","partType","by","createStore","store","unwrappedStore","wrappedStore","DEV$1","setStore","args","$ROOT","applyState","merge","previous","keyVal","targetKeys","previousKeys","reconcile","H","u","#e","#t","g","y","f","x","z","S","I","E","#a","#r","#n","C","#i","P","q","O","T","U","#s","M","#o","#l","#c","#u","#d","#h","#m","B","R","#p","N","#f","D","#g","#b","F","#y","#w","#k","L","W","K","#v","#x","#_","#j","#z","#S","ec","en","V","G","J","Z","$","Y","Q","X","ee","et","ea","er","ei","es","eo","uH","uZ","c2","uB","c0","u$","ed","ep","eh","ef","em","eg","eu","eb","ey","ew","ek","ex","e_","ej","ez","eS","eI","eA","eE","eC","eP","eq","eO","eT","eU","eM","eR","eB","eN","eK","eH","eD","eV","eF","eL","eW","eG","eJ","eZ","e$","eY","eQ","eX","e1","e0","e2","e3","e9","e5","e6","e8","e4","e7","te","tt","ta","tr","tn","td","ti","tu","ts","tl","tc","th","tm","tp","tf","tg","tb","ty","tw","tk","tv","tx","t_","tj","tz","tS","tI","tA","tE","tC","tP","tq","tO","tT","tU","tM","tR","tB","tN","tD","tF","tL","tW","tK","tH","tV","tG","tJ","tZ","t$","tY","tQ","tX","t1","t0","t2","t3","t9","t5","t6","t8","t4","t7","ae","at","aa","ar","an","ai","as","ao","al","ac","au","ad","ah","am","ap","af","ag","ab","ay","aw","ak","av","ax","a_","aj","az","aS","aI","aA","aE","aC","aP","aq","aO","aT","aU","aM","aR","aB","aN","aD","aF","aL","aW","aK","aH","aV","aG","aJ","aZ","a$","aY","aQ","aX","a1","a0","a2","a3","a9","a5","a6","a8","a4","a7","re","rt","ra","rr","rn","ri","rs","ro","rl","rc","ru","rd","rh","rm","rp","rf","rg","rb","ry","rw","rk","rv","rx","r_","rj","rz","rS","rI","rA","rE","rC","rP","rq","rO","rT","rU","rM","rR","rB","rN","rD","rF","rL","rW","rK","rH","rV","rG","rJ","rZ","r$","rY","rQ","rX","r1","r0","r2","r3","r9","r5","r6","r8","r4","r7","ne","nt","na","nr","nn","ni","ns","no","nl","nc","nu","nd","nh","nm","np","nf","ng","nb","ny","nw","nk","nv","nx","n_","nj","nz","nS","nI","nA","nE","nC","nP","nq","nO","nT","nU","nD","nN","nM","nR","nB","nL","nF","nW","nK","nH","nV","nG","nJ","nZ","n$","nY","n5","n7","nQ","nX","n1","n0","n2","n3","n9","n6","n8","n4","ie","it","ia","ir","ii","is","io","iu","il","ih","ic","im","ip","iy","ig","ib","ik","iw","iv","ix","i_","ij","iz","iS","iI","iA","iP","iC","iE","iq","iN","iD","iR","iB","iF","iO","iT","iU","iM","iL","iW","iK","iH","iV","iG","iJ","iZ","i$","i1","i0","i2","i3","iY","iX","iQ","i9","i5","i6","i8","i4","i7","se","st","sa","sr","si","sn","ss","so","sl","sc","su","sd","sh","sm","sp","sf","sg","sb","sy","sw","sk","sv","sx","s_","sj","sz","sS","sI","sA","sE","sC","sP","sq","sO","sT","sU","sM","sR","sB","sN","sD","sF","sL","sW","sK","sH","sV","sG","sJ","sZ","s$","sY","sQ","sX","s1","s0","s2","s3","s9","s5","s6","s8","s4","s7","oe","ot","oa","or","oi","os","oo","ol","oc","ou","od","oh","om","op","of","og","ob","oy","ow","ok","ov","ox","o_","oj","oz","oS","oI","oA","oE","oC","oP","oq","oO","oT","oU","oM","oR","oB","oN","oD","oF","oL","oW","oK","oH","oV","oG","oJ","oZ","o$","oY","oQ","oX","o1","o0","o2","o3","o9","o5","o6","o8","o4","o7","le","lt","la","lr","ln","li","ls","lo","ll","lc","lu","ld","lh","lm","lp","lf","lg","lb","ly","l_","lv","lw","lk","lx","lj","lz","lS","lI","lA","lE","lC","lP","lq","lO","lT","lU","lM","lR","lB","lN","lH","lD","lF","lL","lW","lK","lV","lG","lJ","lZ","l$","lY","lQ","lX","l1","l0","l2","l3","l9","l5","l6","l8","cl","l4","cp","l7","ce","ct","ca","cr","cs","cn","cc","ci","co","cm","cu","cd","cf","cg","cy","cb","cw","ck","cj","cv","c_","cx","cz","cE","cP","cC","cA","cS","cq","cI","cO","cT","cU","cM","cR","cB","cN","cD","cH","cK","cF","cL","cW","cV","cG","cJ","cZ","c$","cY","cQ","cX","c1","c3","c9","c5","c6","c8","c4","c7","ue","ut","ua","ur","un","ui","us","uo","ul","uc","uu","ud","uh","um","up","uf","ug","ub","uy","uw","uk","uv","ux","u_","uj","uz","uA","uI","uS","uE","uC","uP","uq","uO","uT","uU","uM","uR","uN","uD","uF","uL","uW","uK","uV","uG","uJ","#I","#A","#E","#C","#P","#q","#O","#T","#U","#M","#R","#B","#N","#D","#F","#L","#W","#K","define_process_env_default","#H","#V","#G","#J","#Z","#$","#Y","#Q","#X","#ee","#et","#ea","#er","#en","#ei","#es","#eo","#el","#ec","#eu","#ed","#eh","#em","#ep","#ef","#eg","#eb","#ey","#ew","#ek","#ev","#ex","#e_","#ej","#ez","#eS","#eI","#eA","#eE","#eC","#eP","#eq","#eO","#eT","#eU","#eM","#eR","#eB","#eN","#eD","#eF","#eL","#eW","#eK","#eH","#eV","#eG","#eJ","#eZ","#e$","#eY","#eQ","#eX","#e1","#e0","#e2","#e3","#e9","#e5","#e6","#e8","#e4","#e7","#te","#tt","#ta","#tr","#tn","#ti","clerkPublishableKey","__vite_import_meta_env__","clerkSignInUrl","clerkSignUpUrl","clerk","getClerk","Clerk","getClerkUrls","loadClerk","instance","__create","__defProp","__getOwnPropDesc","__getOwnPropNames","__getProtoOf","__hasOwnProp","__commonJS","__copyProps","except","__toESM","isNodeMode","require_typeof","exports","module","_typeof$2","o$1","require_toPrimitive","_typeof$1","toPrimitive$1","require_toPropertyKey","_typeof","toPrimitive","toPropertyKey$1","require_defineProperty","toPropertyKey","_defineProperty","require_objectSpread2","defineProperty","r$1","_objectSpread2","observable","self","observer","teardownRef","isDone","unsubscribed","teardownImmediately","unsubscribe","_observer$next","_observer$error","_observer$complete","operations","pipeReducer","observableToPromise","observable$1","reject","onDone","obs$","share","_opts","refCount","subscription","observers","startIfNeeded","resetIfNeeded","_sub","subscriber","behaviorSubject","initialValue","observerList","addObserver","removeObserver","createChain","opts","execute","nextOp","isObject","emptyObject","noop","freezeIfAvailable","createInnerProxy","callback","_memo$cacheKey","cacheKey","_obj","_1","_2","lastOfPath","createRecursiveProxy","createFlatProxy","import_objectSpread2$1","transformResultInner","response","transformer","TransformResultError","transformResult","import_defineProperty","import_objectSpread2","isTRPCClientError","cause","TRPCClientError","isTRPCErrorResponse","getMessageFromUnknownError","_opts$result","_opts$result2","_cause","getTransformer","_transformer","isFunction","getFetch","customFetchImpl","resolveHTTPLinkOptions","arrayToDict","dict","METHOD","getInput","_input","getUrl","parts","queryParts","getBody","jsonHttpRequester","httpRequest","AbortError","throwIfAborted","_signal$throwIfAborte","fetchHTTPResponse","_opts$methodOverride","_opts$trpcAcceptHeade","body","method","resolvedHeaders","heads","headers","meta","json","throwFatalError","dataLoader","batchLoader","pendingItems","dispatchTimer","destroyTimerAndPendingItems","groupItems","groupedItems","lastGroup","_item$reject","_item$reject2","dispatch","_item","valueOrPromise","_item$resolve","_item$reject3","_item$reject4","_item$reject5","_dispatchTimer","promise","_pendingItems","allAbortSignals","signals","abortedCount","onAbort","httpBatchLink","_opts$maxURLLength","_opts$maxItems","resolvedOpts","maxURLLength","maxItems","batchOps","inputs","query","mutation","loaders","_res","transformed","resultOf","withResolvers","rej","prepareUrl","urlOptions","connectionParams","buildConnectionMessage","encoder","import_defineProperty$1","asyncWsOpen","ws","setupPingInterval","intervalMs","pongTimeoutMs","pingTimeout","pongTimeout","reset","pong","WsConnection","_opts$WebSocketPonyfi","_this","wsPromise","_this2","_this$ws","import_objectSpread2$4","TRPCUntypedClient","link","_opts$context","req$","envelope","_opts$onConnectionSta","_opts$onStarted","_opts$onStopped","_opts$onData","_opts$onError","_opts$onComplete","untypedClientSymbol","clientCallTypeMap","clientCallTypeToProcedureType","clientCallType","createTRPCClientProxy","client","pathCopy","procedureType","fullPath","createTRPCClient","require_asyncIterator","_asyncIterator$1","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","r$2","require_usingCtx","_usingCtx","e$1","n$1","using","require_OverloadYield","_OverloadYield","require_awaitAsyncGenerator","OverloadYield$1","_awaitAsyncGenerator$1","require_wrapAsyncGenerator","OverloadYield","_wrapAsyncGenerator$1","AsyncGenerator","resume","t$1","t$2","settle","cachedToken","getAuthToken","setAuthToken","token","trpc","AuthContext","AuthActionsContext","clerkUserToUser","clerkUser","primaryEmail","primaryEmailAddress","emailAddress","firstName","lastName","Boolean","join","roleFromMetadata","publicMetadata","role","email","avatarUrl","imageUrl","ClerkProvider","user","isLoading","isAuthenticated","clerkClient","setClerkClient","session","signOut","getToken","addListener","event","Error","signIn","urls","window","signInUrl","updateUser","lastNameParts","update","useAuth","useAuthActions","ProtectedRoute","auth","_el$2","_tmpl$2","_$insert","SignIn","firstChild","_el$3","_el$4","nextSibling","_el$5","_el$6","_el$7","_c$","_el$8","_$addEventListener","$$click","openSignIn","_$delegateEvents","SignUp","setEmail","setName","password","setPassword","loading","setLoading","handleSubmit","preventDefault","openSignUp","initialValues","_el$9","_el$0","_el$1","_el$10","_el$11","_el$12","_el$13","_el$14","_el$15","_el$16","_$effect","Subscribable","FocusManager","#focused","#cleanup","#setup","onFocus","setup","focused","isFocused","focusManager","defaultTimeoutProvider","delay","timeoutId","intervalId","TimeoutManager","#provider","#providerCalled","provider","timeoutManager","systemSetTimeoutZero","isValidTimeout","timeUntilStale","updatedAt","staleTime","resolveStaleTime","resolveQueryBoolean","option","hashKey","queryKey","val","isPlainObject","hasOwn","replaceEqualDeep","isPlainArray","aSize","bItems","bSize","copy","equalItems","aItem","bItem","shallowEqualObjects","hasObjectPrototype","ctor","prot","replaceData","prevData","shouldThrowError","throwOnError","environmentManager","isServerFn","isServerValue","pendingThenable","thenable","_resolve","_reject","finalize","reason","tryResolveSync","defaultTransformerFn","hydrate","dehydratedState","mutationCache","queryCache","deserializeData","mutations","queries","mutationOptions","queryHash","dehydratedAt","syncData","rawData","existingQueryIsPending","existingQueryIsFetching","hasNewerSyncData","_ignored","serializedState","defaultScheduler","createNotifyManager","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","notifyManager","OnlineManager","#online","onOnline","onlineListener","offlineListener","online","onlineManager","canFetch","networkMode","fetchState","QueryObserver","#client","#selectError","#currentThenable","#currentQuery","#currentQueryInitialState","#currentResult","#currentResultState","#currentResultOptions","#selectFn","#selectResult","#lastQueryWithDefinedData","#staleTimeoutId","#refetchIntervalId","#currentRefetchInterval","#trackedProps","shouldFetchOnMount","#executeFetch","#updateTimers","shouldFetchOn","#clearStaleTimeout","#clearRefetchInterval","prevOptions","prevQuery","#updateQuery","mounted","shouldFetchOptionally","#updateStaleTimeout","nextRefetchInterval","#computeRefetchInterval","#updateRefetchInterval","shouldAssignObserverCurrentProperties","onPropTracked","defaultedOptions","fetchOptions","timeout","nextInterval","prevResult","prevResultState","prevResultOptions","queryInitialState","newState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","status","skipSelect","placeholderData","selectError","isFetching","isPending","isError","hasData","nextResult","isStale","hasResultData","isErrorWithoutData","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","#notify","notifyOptions","shouldLoadOnMount","field","optimisticResult","getDefaultState","MutationObserver","#currentMutation","#mutateOptions","#updateResult","action","variables","onMutateResult","QueryClientContext","useQueryClient","queryClient","IsRestoringContext","useIsRestoring","reconcileFn","reconcileOption","newData2","newData","hydratableObserverResult","useBaseQuery","Observer","isRestoring","defaultOptions","initialOptions","setObserver","observerResult","createClientSubscriber","refetch","setStateWithReconciliation","reconcileOptions","createDeepSignal","hydrationData","resolver","queryResource","_k","newOptions","newObserver","restoring","useQuery","useMutation","mutate","mutateOptions","createQuery","createMutation","useWaitlistSignup","useWaitlistCount","useBetaSignup","Landing","searchParams","submitted","setSubmitted","referralCode","setReferralCode","myReferralCode","setMyReferralCode","signup","ref","trim","mutateAsync","waitlistCount","toFixed","String","shareUrl","copyToClipboard","navigator","clipboard","writeText","createElement","appendChild","select","execCommand","removeChild","_el$17","_el$18","_el$19","_el$20","_el$21","_el$22","_el$23","_el$24","_el$26","_el$27","_el$28","_el$29","_el$30","_el$31","_el$32","_el$33","_el$34","_el$35","_el$36","_el$37","_el$38","_el$40","_el$41","_el$42","_c$2","_el$44","_tmpl$3","_el$45","_el$46","_el$47","_el$48","_el$49","_tmpl$4","_el$50","_el$51","_el$52","_el$53","_el$54","$$input","currentTarget","_c$3","_el$55","_tmpl$5","_c$4","_tmpl$6","disabled","BetaSignup","formData","setFormData","primaryRole","scriptsWritten","currentSoftware","softwareLove","softwareFrustrate","hoursPerWeek","willingFeedback","joinDiscord","discordUsername","excitedFeatures","heardAbout","additionalInfo","isSubmitting","setIsSubmitting","betaSignup","updateField","toggleFeature","feature","features","includes","_el$25","_el$39","_el$43","_el$56","_el$57","_el$58","_el$59","_el$60","_el$61","_el$62","_el$63","_el$64","_el$65","checked","blogPosts","slug","title","excerpt","category","date","readTime","Blog","selectedCategory","setSelectedCategory","categories","filteredPosts","post","each","_$className","_tmpl$7","_tmpl$8","content","author","BlogPost","setPost","relatedPosts","currentPost","Object","entries","slice","innerHTML","related","_tmpl$9","_tmpl$0","_tmpl$1","featureCategories","icon","description","details","Features","detail","_$setAttribute","pricingPlans","price","period","cta","highlighted","trial","comparisonData","free","pro","premium","faqs","question","answer","Pricing","openFaq","setOpenFaq","plan","row","_c$5","_p$","_v$","_v$2","_v$3","faq","About","faqCategories","Faq","categoryIndex","faqIndex","isOpen","NotFound","AppLayout","__vitePreload","Dashboard","KPIDashboard","ProjectList","ProjectDetail","ProjectForm","UserProfile","TeamManagement","Redirect","getElementById"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"sources":["../../node_modules/solid-js/dist/dev.js","../../node_modules/solid-js/web/dist/dev.js","../../node_modules/@solidjs/router/dist/lifecycle.js","../../node_modules/@solidjs/router/dist/utils.js","../../node_modules/@solidjs/router/dist/routing.js","../../node_modules/@solidjs/router/dist/routers/components.jsx","../../node_modules/@solidjs/router/dist/routers/createRouter.js","../../node_modules/@solidjs/router/dist/data/action.js","../../node_modules/@solidjs/router/dist/data/events.js","../../node_modules/@solidjs/router/dist/routers/Router.js","../../node_modules/@solidjs/router/dist/components.jsx","../../node_modules/solid-js/store/dist/dev.js","../../node_modules/@clerk/clerk-js/dist/clerk.mjs","../../src/lib/auth/clerk-client.ts","../../node_modules/@trpc/client/dist/objectSpread2-BvkFp-_Y.mjs","../../node_modules/@trpc/server/dist/observable-UMO3vUa_.mjs","../../node_modules/@trpc/server/dist/observable-CUiPknO-.mjs","../../node_modules/@trpc/client/dist/splitLink-B7Cuf2c_.mjs","../../node_modules/@trpc/server/dist/codes-DagpWZLc.mjs","../../node_modules/@trpc/server/dist/getErrorShape-vC8mUXJD.mjs","../../node_modules/@trpc/server/dist/tracked-DiE3uR1B.mjs","../../node_modules/@trpc/client/dist/TRPCClientError-apv8gw59.mjs","../../node_modules/@trpc/client/dist/unstable-internals-Bg7n9BBj.mjs","../../node_modules/@trpc/client/dist/httpUtils-BNq9QC3d.mjs","../../node_modules/@trpc/client/dist/httpLink-oiU8eqFi.mjs","../../node_modules/@trpc/client/dist/httpBatchLink-CaWjh1oW.mjs","../../node_modules/@trpc/client/dist/loggerLink-ineCN1PO.mjs","../../node_modules/@trpc/client/dist/wsLink-DSf4KOdW.mjs","../../node_modules/@trpc/client/dist/index.mjs","../../src/lib/api/trpc-client.ts","../../src/lib/auth/clerk-provider.tsx","../../src/components/auth/ProtectedRoute.tsx","../../src/components/auth/SignIn.tsx","../../src/components/auth/SignUp.tsx","../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../../node_modules/@tanstack/query-core/build/modern/utils.js","../../node_modules/@tanstack/query-core/build/modern/environmentManager.js","../../node_modules/@tanstack/query-core/build/modern/thenable.js","../../node_modules/@tanstack/query-core/build/modern/hydration.js","../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../node_modules/@tanstack/query-core/build/modern/query.js","../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../node_modules/@tanstack/solid-query/build/dev.js","../../src/lib/api/trpc-hooks.ts","../../src/routes/landing/Landing.tsx","../../src/routes/beta/BetaSignup.tsx","../../src/routes/blog/Blog.tsx","../../src/routes/blog/BlogPost.tsx","../../src/routes/features/Features.tsx","../../src/routes/pricing/Pricing.tsx","../../src/routes/about/About.tsx","../../src/routes/faq/Faq.tsx","../../src/routes/NotFound.tsx","../../src/routes.tsx","../../src/App.tsx"],"sourcesContent":["let taskIdCounter = 1,\n isCallbackScheduled = false,\n isPerformingWork = false,\n taskQueue = [],\n currentTask = null,\n shouldYieldToHost = null,\n yieldInterval = 5,\n deadline = 0,\n maxYieldInterval = 300,\n maxDeadline = 0,\n scheduleCallback = null,\n scheduledCallback = null;\nconst maxSigned31BitInt = 1073741823;\nfunction setupScheduler() {\n const channel = new MessageChannel(),\n port1 = channel.port1,\n port = channel.port2;\n if (typeof port1.unref === \"function\") port1.unref();\n if (typeof port.unref === \"function\") port.unref();\n scheduleCallback = () => port.postMessage(null);\n port1.onmessage = () => {\n if (scheduledCallback !== null) {\n const currentTime = performance.now();\n deadline = currentTime + yieldInterval;\n maxDeadline = currentTime + maxYieldInterval;\n try {\n const hasMoreWork = scheduledCallback(currentTime);\n if (!hasMoreWork) {\n scheduledCallback = null;\n } else port.postMessage(null);\n } catch (error) {\n port.postMessage(null);\n throw error;\n }\n }\n };\n if (navigator && navigator.scheduling && navigator.scheduling.isInputPending) {\n const scheduling = navigator.scheduling;\n shouldYieldToHost = () => {\n const currentTime = performance.now();\n if (currentTime >= deadline) {\n if (scheduling.isInputPending()) {\n return true;\n }\n return currentTime >= maxDeadline;\n } else {\n return false;\n }\n };\n } else {\n shouldYieldToHost = () => performance.now() >= deadline;\n }\n}\nfunction enqueue(taskQueue, task) {\n function findIndex() {\n let m = 0;\n let n = taskQueue.length - 1;\n while (m <= n) {\n const k = n + m >> 1;\n const cmp = task.expirationTime - taskQueue[k].expirationTime;\n if (cmp > 0) m = k + 1;else if (cmp < 0) n = k - 1;else return k;\n }\n return m;\n }\n taskQueue.splice(findIndex(), 0, task);\n}\nfunction requestCallback(fn, options) {\n if (!scheduleCallback) setupScheduler();\n let startTime = performance.now(),\n timeout = maxSigned31BitInt;\n if (options && options.timeout) timeout = options.timeout;\n const newTask = {\n id: taskIdCounter++,\n fn,\n startTime,\n expirationTime: startTime + timeout\n };\n enqueue(taskQueue, newTask);\n if (!isCallbackScheduled && !isPerformingWork) {\n isCallbackScheduled = true;\n scheduledCallback = flushWork;\n scheduleCallback();\n }\n return newTask;\n}\nfunction cancelCallback(task) {\n task.fn = null;\n}\nfunction flushWork(initialTime) {\n isCallbackScheduled = false;\n isPerformingWork = true;\n try {\n return workLoop(initialTime);\n } finally {\n currentTask = null;\n isPerformingWork = false;\n }\n}\nfunction workLoop(initialTime) {\n let currentTime = initialTime;\n currentTask = taskQueue[0] || null;\n while (currentTask !== null) {\n if (currentTask.expirationTime > currentTime && shouldYieldToHost()) {\n break;\n }\n const callback = currentTask.fn;\n if (callback !== null) {\n currentTask.fn = null;\n const didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n callback(didUserCallbackTimeout);\n currentTime = performance.now();\n if (currentTask === taskQueue[0]) {\n taskQueue.shift();\n }\n } else taskQueue.shift();\n currentTask = taskQueue[0] || null;\n }\n return currentTask !== null;\n}\n\nconst sharedConfig = {\n context: undefined,\n registry: undefined,\n effects: undefined,\n done: false,\n getContextId() {\n return getContextId(this.context.count);\n },\n getNextContextId() {\n return getContextId(this.context.count++);\n }\n};\nfunction getContextId(count) {\n const num = String(count),\n len = num.length - 1;\n return sharedConfig.context.id + (len ? String.fromCharCode(96 + len) : \"\") + num;\n}\nfunction setHydrateContext(context) {\n sharedConfig.context = context;\n}\nfunction nextHydrateContext() {\n return {\n ...sharedConfig.context,\n id: sharedConfig.getNextContextId(),\n count: 0\n };\n}\n\nconst IS_DEV = true;\nconst equalFn = (a, b) => a === b;\nconst $PROXY = Symbol(\"solid-proxy\");\nconst SUPPORTS_PROXY = typeof Proxy === \"function\";\nconst $TRACK = Symbol(\"solid-track\");\nconst $DEVCOMP = Symbol(\"solid-dev-component\");\nconst signalOptions = {\n equals: equalFn\n};\nlet ERROR = null;\nlet runEffects = runQueue;\nconst STALE = 1;\nconst PENDING = 2;\nconst UNOWNED = {\n };\nconst NO_INIT = {};\nvar Owner = null;\nlet Transition = null;\nlet Scheduler = null;\nlet ExternalSourceConfig = null;\nlet Listener = null;\nlet Updates = null;\nlet Effects = null;\nlet ExecCount = 0;\nconst DevHooks = {\n afterUpdate: null,\n afterCreateOwner: null,\n afterCreateSignal: null,\n afterRegisterGraph: null\n};\nfunction createRoot(fn, detachedOwner) {\n const listener = Listener,\n owner = Owner,\n unowned = fn.length === 0,\n current = detachedOwner === undefined ? owner : detachedOwner,\n root = unowned ? {\n owned: null,\n cleanups: null,\n context: null,\n owner: null\n } : {\n owned: null,\n cleanups: null,\n context: current ? current.context : null,\n owner: current\n },\n updateFn = unowned ? () => fn(() => {\n throw new Error(\"Dispose method must be an explicit argument to createRoot function\");\n }) : () => fn(() => untrack(() => cleanNode(root)));\n DevHooks.afterCreateOwner && DevHooks.afterCreateOwner(root);\n Owner = root;\n Listener = null;\n try {\n return runUpdates(updateFn, true);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n}\nfunction createSignal(value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const s = {\n value,\n observers: null,\n observerSlots: null,\n comparator: options.equals || undefined\n };\n {\n if (options.name) s.name = options.name;\n if (options.internal) {\n s.internal = true;\n } else {\n registerGraph(s);\n if (DevHooks.afterCreateSignal) DevHooks.afterCreateSignal(s);\n }\n }\n const setter = value => {\n if (typeof value === \"function\") {\n if (Transition && Transition.running && Transition.sources.has(s)) value = value(s.tValue);else value = value(s.value);\n }\n return writeSignal(s, value);\n };\n return [readSignal.bind(s), setter];\n}\nfunction createComputed(fn, value, options) {\n const c = createComputation(fn, value, true, STALE, options );\n if (Scheduler && Transition && Transition.running) Updates.push(c);else updateComputation(c);\n}\nfunction createRenderEffect(fn, value, options) {\n const c = createComputation(fn, value, false, STALE, options );\n if (Scheduler && Transition && Transition.running) Updates.push(c);else updateComputation(c);\n}\nfunction createEffect(fn, value, options) {\n runEffects = runUserEffects;\n const c = createComputation(fn, value, false, STALE, options ),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n if (!options || !options.render) c.user = true;\n Effects ? Effects.push(c) : updateComputation(c);\n}\nfunction createReaction(onInvalidate, options) {\n let fn;\n const c = createComputation(() => {\n fn ? fn() : untrack(onInvalidate);\n fn = undefined;\n }, undefined, false, 0, options ),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n c.user = true;\n return tracking => {\n fn = tracking;\n updateComputation(c);\n };\n}\nfunction createMemo(fn, value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const c = createComputation(fn, value, true, 0, options );\n c.observers = null;\n c.observerSlots = null;\n c.comparator = options.equals || undefined;\n if (Scheduler && Transition && Transition.running) {\n c.tState = STALE;\n Updates.push(c);\n } else updateComputation(c);\n return readSignal.bind(c);\n}\nfunction isPromise(v) {\n return v && typeof v === \"object\" && \"then\" in v;\n}\nfunction createResource(pSource, pFetcher, pOptions) {\n let source;\n let fetcher;\n let options;\n if (typeof pFetcher === \"function\") {\n source = pSource;\n fetcher = pFetcher;\n options = pOptions || {};\n } else {\n source = true;\n fetcher = pSource;\n options = pFetcher || {};\n }\n let pr = null,\n initP = NO_INIT,\n id = null,\n loadedUnderTransition = false,\n scheduled = false,\n resolved = \"initialValue\" in options,\n dynamic = typeof source === \"function\" && createMemo(source);\n const contexts = new Set(),\n [value, setValue] = (options.storage || createSignal)(options.initialValue),\n [error, setError] = createSignal(undefined),\n [track, trigger] = createSignal(undefined, {\n equals: false\n }),\n [state, setState] = createSignal(resolved ? \"ready\" : \"unresolved\");\n if (sharedConfig.context) {\n id = sharedConfig.getNextContextId();\n if (options.ssrLoadFrom === \"initial\") initP = options.initialValue;else if (sharedConfig.load && sharedConfig.has(id)) initP = sharedConfig.load(id);\n }\n function loadEnd(p, v, error, key) {\n if (pr === p) {\n pr = null;\n key !== undefined && (resolved = true);\n if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {\n value: v\n }));\n initP = NO_INIT;\n if (Transition && p && loadedUnderTransition) {\n Transition.promises.delete(p);\n loadedUnderTransition = false;\n runUpdates(() => {\n Transition.running = true;\n completeLoad(v, error);\n }, false);\n } else completeLoad(v, error);\n }\n return v;\n }\n function completeLoad(v, err) {\n runUpdates(() => {\n if (err === undefined) setValue(() => v);\n setState(err !== undefined ? \"errored\" : resolved ? \"ready\" : \"unresolved\");\n setError(err);\n for (const c of contexts.keys()) c.decrement();\n contexts.clear();\n }, false);\n }\n function read() {\n const c = SuspenseContext && useContext(SuspenseContext),\n v = value(),\n err = error();\n if (err !== undefined && !pr) throw err;\n if (Listener && !Listener.user && c) {\n createComputed(() => {\n track();\n if (pr) {\n if (c.resolved && Transition && loadedUnderTransition) Transition.promises.add(pr);else if (!contexts.has(c)) {\n c.increment();\n contexts.add(c);\n }\n }\n });\n }\n return v;\n }\n function load(refetching = true) {\n if (refetching !== false && scheduled) return;\n scheduled = false;\n const lookup = dynamic ? dynamic() : source;\n loadedUnderTransition = Transition && Transition.running;\n if (lookup == null || lookup === false) {\n loadEnd(pr, untrack(value));\n return;\n }\n if (Transition && pr) Transition.promises.delete(pr);\n let error;\n const p = initP !== NO_INIT ? initP : untrack(() => {\n try {\n return fetcher(lookup, {\n value: value(),\n refetching\n });\n } catch (fetcherError) {\n error = fetcherError;\n }\n });\n if (error !== undefined) {\n loadEnd(pr, undefined, castError(error), lookup);\n return;\n } else if (!isPromise(p)) {\n loadEnd(pr, p, undefined, lookup);\n return p;\n }\n pr = p;\n if (\"v\" in p) {\n if (p.s === 1) loadEnd(pr, p.v, undefined, lookup);else loadEnd(pr, undefined, castError(p.v), lookup);\n return p;\n }\n scheduled = true;\n queueMicrotask(() => scheduled = false);\n runUpdates(() => {\n setState(resolved ? \"refreshing\" : \"pending\");\n trigger();\n }, false);\n return p.then(v => loadEnd(p, v, undefined, lookup), e => loadEnd(p, undefined, castError(e), lookup));\n }\n Object.defineProperties(read, {\n state: {\n get: () => state()\n },\n error: {\n get: () => error()\n },\n loading: {\n get() {\n const s = state();\n return s === \"pending\" || s === \"refreshing\";\n }\n },\n latest: {\n get() {\n if (!resolved) return read();\n const err = error();\n if (err && !pr) throw err;\n return value();\n }\n }\n });\n let owner = Owner;\n if (dynamic) createComputed(() => (owner = Owner, load(false)));else load(false);\n return [read, {\n refetch: info => runWithOwner(owner, () => load(info)),\n mutate: setValue\n }];\n}\nfunction createDeferred(source, options) {\n let t,\n timeout = options ? options.timeoutMs : undefined;\n const node = createComputation(() => {\n if (!t || !t.fn) t = requestCallback(() => setDeferred(() => node.value), timeout !== undefined ? {\n timeout\n } : undefined);\n return source();\n }, undefined, true);\n const [deferred, setDeferred] = createSignal(Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, options);\n updateComputation(node);\n setDeferred(() => Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value);\n return deferred;\n}\nfunction createSelector(source, fn = equalFn, options) {\n const subs = new Map();\n const node = createComputation(p => {\n const v = source();\n for (const [key, val] of subs.entries()) if (fn(key, v) !== fn(key, p)) {\n for (const c of val.values()) {\n c.state = STALE;\n if (c.pure) Updates.push(c);else Effects.push(c);\n }\n }\n return v;\n }, undefined, true, STALE, options );\n updateComputation(node);\n return key => {\n const listener = Listener;\n if (listener) {\n let l;\n if (l = subs.get(key)) l.add(listener);else subs.set(key, l = new Set([listener]));\n onCleanup(() => {\n l.delete(listener);\n !l.size && subs.delete(key);\n });\n }\n return fn(key, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value);\n };\n}\nfunction batch(fn) {\n return runUpdates(fn, false);\n}\nfunction untrack(fn) {\n if (!ExternalSourceConfig && Listener === null) return fn();\n const listener = Listener;\n Listener = null;\n try {\n if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn);\n return fn();\n } finally {\n Listener = listener;\n }\n}\nfunction on(deps, fn, options) {\n const isArray = Array.isArray(deps);\n let prevInput;\n let defer = options && options.defer;\n return prevValue => {\n let input;\n if (isArray) {\n input = Array(deps.length);\n for (let i = 0; i < deps.length; i++) input[i] = deps[i]();\n } else input = deps();\n if (defer) {\n defer = false;\n return prevValue;\n }\n const result = untrack(() => fn(input, prevInput, prevValue));\n prevInput = input;\n return result;\n };\n}\nfunction onMount(fn) {\n createEffect(() => untrack(fn));\n}\nfunction onCleanup(fn) {\n if (Owner === null) console.warn(\"cleanups created outside a `createRoot` or `render` will never be run\");else if (Owner.cleanups === null) Owner.cleanups = [fn];else Owner.cleanups.push(fn);\n return fn;\n}\nfunction catchError(fn, handler) {\n ERROR || (ERROR = Symbol(\"error\"));\n Owner = createComputation(undefined, undefined, true);\n Owner.context = {\n ...Owner.context,\n [ERROR]: [handler]\n };\n if (Transition && Transition.running) Transition.sources.add(Owner);\n try {\n return fn();\n } catch (err) {\n handleError(err);\n } finally {\n Owner = Owner.owner;\n }\n}\nfunction getListener() {\n return Listener;\n}\nfunction getOwner() {\n return Owner;\n}\nfunction runWithOwner(o, fn) {\n const prev = Owner;\n const prevListener = Listener;\n Owner = o;\n Listener = null;\n try {\n return runUpdates(fn, true);\n } catch (err) {\n handleError(err);\n } finally {\n Owner = prev;\n Listener = prevListener;\n }\n}\nfunction enableScheduling(scheduler = requestCallback) {\n Scheduler = scheduler;\n}\nfunction startTransition(fn) {\n if (Transition && Transition.running) {\n fn();\n return Transition.done;\n }\n const l = Listener;\n const o = Owner;\n return Promise.resolve().then(() => {\n Listener = l;\n Owner = o;\n let t;\n if (Scheduler || SuspenseContext) {\n t = Transition || (Transition = {\n sources: new Set(),\n effects: [],\n promises: new Set(),\n disposed: new Set(),\n queue: new Set(),\n running: true\n });\n t.done || (t.done = new Promise(res => t.resolve = res));\n t.running = true;\n }\n runUpdates(fn, false);\n Listener = Owner = null;\n return t ? t.done : undefined;\n });\n}\nconst [transPending, setTransPending] = /*@__PURE__*/createSignal(false);\nfunction useTransition() {\n return [transPending, startTransition];\n}\nfunction resumeEffects(e) {\n Effects.push.apply(Effects, e);\n e.length = 0;\n}\nfunction devComponent(Comp, props) {\n const c = createComputation(() => untrack(() => {\n Object.assign(Comp, {\n [$DEVCOMP]: true\n });\n return Comp(props);\n }), undefined, true, 0);\n c.props = props;\n c.observers = null;\n c.observerSlots = null;\n c.name = Comp.name;\n c.component = Comp;\n updateComputation(c);\n return c.tValue !== undefined ? c.tValue : c.value;\n}\nfunction registerGraph(value) {\n if (Owner) {\n if (Owner.sourceMap) Owner.sourceMap.push(value);else Owner.sourceMap = [value];\n value.graph = Owner;\n }\n if (DevHooks.afterRegisterGraph) DevHooks.afterRegisterGraph(value);\n}\nfunction createContext(defaultValue, options) {\n const id = Symbol(\"context\");\n return {\n id,\n Provider: createProvider(id, options),\n defaultValue\n };\n}\nfunction useContext(context) {\n let value;\n return Owner && Owner.context && (value = Owner.context[context.id]) !== undefined ? value : context.defaultValue;\n}\nfunction children(fn) {\n const children = createMemo(fn);\n const memo = createMemo(() => resolveChildren(children()), undefined, {\n name: \"children\"\n }) ;\n memo.toArray = () => {\n const c = memo();\n return Array.isArray(c) ? c : c != null ? [c] : [];\n };\n return memo;\n}\nlet SuspenseContext;\nfunction getSuspenseContext() {\n return SuspenseContext || (SuspenseContext = createContext());\n}\nfunction enableExternalSource(factory, untrack = fn => fn()) {\n if (ExternalSourceConfig) {\n const {\n factory: oldFactory,\n untrack: oldUntrack\n } = ExternalSourceConfig;\n ExternalSourceConfig = {\n factory: (fn, trigger) => {\n const oldSource = oldFactory(fn, trigger);\n const source = factory(x => oldSource.track(x), trigger);\n return {\n track: x => source.track(x),\n dispose() {\n source.dispose();\n oldSource.dispose();\n }\n };\n },\n untrack: fn => oldUntrack(() => untrack(fn))\n };\n } else {\n ExternalSourceConfig = {\n factory,\n untrack\n };\n }\n}\nfunction readSignal() {\n const runningTransition = Transition && Transition.running;\n if (this.sources && (runningTransition ? this.tState : this.state)) {\n if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this);else {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(this), false);\n Updates = updates;\n }\n }\n if (Listener) {\n const sSlot = this.observers ? this.observers.length : 0;\n if (!Listener.sources) {\n Listener.sources = [this];\n Listener.sourceSlots = [sSlot];\n } else {\n Listener.sources.push(this);\n Listener.sourceSlots.push(sSlot);\n }\n if (!this.observers) {\n this.observers = [Listener];\n this.observerSlots = [Listener.sources.length - 1];\n } else {\n this.observers.push(Listener);\n this.observerSlots.push(Listener.sources.length - 1);\n }\n }\n if (runningTransition && Transition.sources.has(this)) return this.tValue;\n return this.value;\n}\nfunction writeSignal(node, value, isComp) {\n let current = Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value;\n if (!node.comparator || !node.comparator(current, value)) {\n if (Transition) {\n const TransitionRunning = Transition.running;\n if (TransitionRunning || !isComp && Transition.sources.has(node)) {\n Transition.sources.add(node);\n node.tValue = value;\n }\n if (!TransitionRunning) node.value = value;\n } else node.value = value;\n if (node.observers && node.observers.length) {\n runUpdates(() => {\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n const TransitionRunning = Transition && Transition.running;\n if (TransitionRunning && Transition.disposed.has(o)) continue;\n if (TransitionRunning ? !o.tState : !o.state) {\n if (o.pure) Updates.push(o);else Effects.push(o);\n if (o.observers) markDownstream(o);\n }\n if (!TransitionRunning) o.state = STALE;else o.tState = STALE;\n }\n if (Updates.length > 10e5) {\n Updates = [];\n if (IS_DEV) throw new Error(\"Potential Infinite Loop Detected.\");\n throw new Error();\n }\n }, false);\n }\n }\n return value;\n}\nfunction updateComputation(node) {\n if (!node.fn) return;\n cleanNode(node);\n const time = ExecCount;\n runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);\n if (Transition && !Transition.running && Transition.sources.has(node)) {\n queueMicrotask(() => {\n runUpdates(() => {\n Transition && (Transition.running = true);\n Listener = Owner = node;\n runComputation(node, node.tValue, time);\n Listener = Owner = null;\n }, false);\n });\n }\n}\nfunction runComputation(node, value, time) {\n let nextValue;\n const owner = Owner,\n listener = Listener;\n Listener = Owner = node;\n try {\n nextValue = node.fn(value);\n } catch (err) {\n if (node.pure) {\n if (Transition && Transition.running) {\n node.tState = STALE;\n node.tOwned && node.tOwned.forEach(cleanNode);\n node.tOwned = undefined;\n } else {\n node.state = STALE;\n node.owned && node.owned.forEach(cleanNode);\n node.owned = null;\n }\n }\n node.updatedAt = time + 1;\n return handleError(err);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n if (!node.updatedAt || node.updatedAt <= time) {\n if (node.updatedAt != null && \"observers\" in node) {\n writeSignal(node, nextValue, true);\n } else if (Transition && Transition.running && node.pure) {\n if (!Transition.sources.has(node)) node.value = nextValue;\n Transition.sources.add(node);\n node.tValue = nextValue;\n } else node.value = nextValue;\n node.updatedAt = time;\n }\n}\nfunction createComputation(fn, init, pure, state = STALE, options) {\n const c = {\n fn,\n state: state,\n updatedAt: null,\n owned: null,\n sources: null,\n sourceSlots: null,\n cleanups: null,\n value: init,\n owner: Owner,\n context: Owner ? Owner.context : null,\n pure\n };\n if (Transition && Transition.running) {\n c.state = 0;\n c.tState = state;\n }\n if (Owner === null) console.warn(\"computations created outside a `createRoot` or `render` will never be disposed\");else if (Owner !== UNOWNED) {\n if (Transition && Transition.running && Owner.pure) {\n if (!Owner.tOwned) Owner.tOwned = [c];else Owner.tOwned.push(c);\n } else {\n if (!Owner.owned) Owner.owned = [c];else Owner.owned.push(c);\n }\n }\n if (options && options.name) c.name = options.name;\n if (ExternalSourceConfig && c.fn) {\n const sourceFn = c.fn;\n const [track, trigger] = createSignal(undefined, {\n equals: false\n });\n const ordinary = ExternalSourceConfig.factory(sourceFn, trigger);\n onCleanup(() => ordinary.dispose());\n let inTransition;\n const triggerInTransition = () => startTransition(trigger).then(() => {\n if (inTransition) {\n inTransition.dispose();\n inTransition = undefined;\n }\n });\n c.fn = x => {\n track();\n if (Transition && Transition.running) {\n if (!inTransition) inTransition = ExternalSourceConfig.factory(sourceFn, triggerInTransition);\n return inTransition.track(x);\n }\n return ordinary.track(x);\n };\n }\n DevHooks.afterCreateOwner && DevHooks.afterCreateOwner(c);\n return c;\n}\nfunction runTop(node) {\n const runningTransition = Transition && Transition.running;\n if ((runningTransition ? node.tState : node.state) === 0) return;\n if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node);\n if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);\n const ancestors = [node];\n while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {\n if (runningTransition && Transition.disposed.has(node)) return;\n if (runningTransition ? node.tState : node.state) ancestors.push(node);\n }\n for (let i = ancestors.length - 1; i >= 0; i--) {\n node = ancestors[i];\n if (runningTransition) {\n let top = node,\n prev = ancestors[i + 1];\n while ((top = top.owner) && top !== prev) {\n if (Transition.disposed.has(top)) return;\n }\n }\n if ((runningTransition ? node.tState : node.state) === STALE) {\n updateComputation(node);\n } else if ((runningTransition ? node.tState : node.state) === PENDING) {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(node, ancestors[0]), false);\n Updates = updates;\n }\n }\n}\nfunction runUpdates(fn, init) {\n if (Updates) return fn();\n let wait = false;\n if (!init) Updates = [];\n if (Effects) wait = true;else Effects = [];\n ExecCount++;\n try {\n const res = fn();\n completeUpdates(wait);\n return res;\n } catch (err) {\n if (!wait) Effects = null;\n Updates = null;\n handleError(err);\n }\n}\nfunction completeUpdates(wait) {\n if (Updates) {\n if (Scheduler && Transition && Transition.running) scheduleQueue(Updates);else runQueue(Updates);\n Updates = null;\n }\n if (wait) return;\n let res;\n if (Transition) {\n if (!Transition.promises.size && !Transition.queue.size) {\n const sources = Transition.sources;\n const disposed = Transition.disposed;\n Effects.push.apply(Effects, Transition.effects);\n res = Transition.resolve;\n for (const e of Effects) {\n \"tState\" in e && (e.state = e.tState);\n delete e.tState;\n }\n Transition = null;\n runUpdates(() => {\n for (const d of disposed) cleanNode(d);\n for (const v of sources) {\n v.value = v.tValue;\n if (v.owned) {\n for (let i = 0, len = v.owned.length; i < len; i++) cleanNode(v.owned[i]);\n }\n if (v.tOwned) v.owned = v.tOwned;\n delete v.tValue;\n delete v.tOwned;\n v.tState = 0;\n }\n setTransPending(false);\n }, false);\n } else if (Transition.running) {\n Transition.running = false;\n Transition.effects.push.apply(Transition.effects, Effects);\n Effects = null;\n setTransPending(true);\n return;\n }\n }\n const e = Effects;\n Effects = null;\n if (e.length) runUpdates(() => runEffects(e), false);else DevHooks.afterUpdate && DevHooks.afterUpdate();\n if (res) res();\n}\nfunction runQueue(queue) {\n for (let i = 0; i < queue.length; i++) runTop(queue[i]);\n}\nfunction scheduleQueue(queue) {\n for (let i = 0; i < queue.length; i++) {\n const item = queue[i];\n const tasks = Transition.queue;\n if (!tasks.has(item)) {\n tasks.add(item);\n Scheduler(() => {\n tasks.delete(item);\n runUpdates(() => {\n Transition.running = true;\n runTop(item);\n }, false);\n Transition && (Transition.running = false);\n });\n }\n }\n}\nfunction runUserEffects(queue) {\n let i,\n userLength = 0;\n for (i = 0; i < queue.length; i++) {\n const e = queue[i];\n if (!e.user) runTop(e);else queue[userLength++] = e;\n }\n if (sharedConfig.context) {\n if (sharedConfig.count) {\n sharedConfig.effects || (sharedConfig.effects = []);\n sharedConfig.effects.push(...queue.slice(0, userLength));\n return;\n }\n setHydrateContext();\n }\n if (sharedConfig.effects && (sharedConfig.done || !sharedConfig.count)) {\n queue = [...sharedConfig.effects, ...queue];\n userLength += sharedConfig.effects.length;\n delete sharedConfig.effects;\n }\n for (i = 0; i < userLength; i++) runTop(queue[i]);\n}\nfunction lookUpstream(node, ignore) {\n const runningTransition = Transition && Transition.running;\n if (runningTransition) node.tState = 0;else node.state = 0;\n for (let i = 0; i < node.sources.length; i += 1) {\n const source = node.sources[i];\n if (source.sources) {\n const state = runningTransition ? source.tState : source.state;\n if (state === STALE) {\n if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source);\n } else if (state === PENDING) lookUpstream(source, ignore);\n }\n }\n}\nfunction markDownstream(node) {\n const runningTransition = Transition && Transition.running;\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n if (runningTransition ? !o.tState : !o.state) {\n if (runningTransition) o.tState = PENDING;else o.state = PENDING;\n if (o.pure) Updates.push(o);else Effects.push(o);\n o.observers && markDownstream(o);\n }\n }\n}\nfunction cleanNode(node) {\n let i;\n if (node.sources) {\n while (node.sources.length) {\n const source = node.sources.pop(),\n index = node.sourceSlots.pop(),\n obs = source.observers;\n if (obs && obs.length) {\n const n = obs.pop(),\n s = source.observerSlots.pop();\n if (index < obs.length) {\n n.sourceSlots[s] = index;\n obs[index] = n;\n source.observerSlots[index] = s;\n }\n }\n }\n }\n if (node.tOwned) {\n for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);\n delete node.tOwned;\n }\n if (Transition && Transition.running && node.pure) {\n reset(node, true);\n } else if (node.owned) {\n for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);\n node.owned = null;\n }\n if (node.cleanups) {\n for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();\n node.cleanups = null;\n }\n if (Transition && Transition.running) node.tState = 0;else node.state = 0;\n delete node.sourceMap;\n}\nfunction reset(node, top) {\n if (!top) {\n node.tState = 0;\n Transition.disposed.add(node);\n }\n if (node.owned) {\n for (let i = 0; i < node.owned.length; i++) reset(node.owned[i]);\n }\n}\nfunction castError(err) {\n if (err instanceof Error) return err;\n return new Error(typeof err === \"string\" ? err : \"Unknown error\", {\n cause: err\n });\n}\nfunction runErrors(err, fns, owner) {\n try {\n for (const f of fns) f(err);\n } catch (e) {\n handleError(e, owner && owner.owner || null);\n }\n}\nfunction handleError(err, owner = Owner) {\n const fns = ERROR && owner && owner.context && owner.context[ERROR];\n const error = castError(err);\n if (!fns) throw error;\n if (Effects) Effects.push({\n fn() {\n runErrors(error, fns, owner);\n },\n state: STALE\n });else runErrors(error, fns, owner);\n}\nfunction resolveChildren(children) {\n if (typeof children === \"function\" && !children.length) return resolveChildren(children());\n if (Array.isArray(children)) {\n const results = [];\n for (let i = 0; i < children.length; i++) {\n const result = resolveChildren(children[i]);\n Array.isArray(result) ? results.push.apply(results, result) : results.push(result);\n }\n return results;\n }\n return children;\n}\nfunction createProvider(id, options) {\n return function provider(props) {\n let res;\n createRenderEffect(() => res = untrack(() => {\n Owner.context = {\n ...Owner.context,\n [id]: props.value\n };\n return children(() => props.children);\n }), undefined, options);\n return res;\n };\n}\nfunction onError(fn) {\n ERROR || (ERROR = Symbol(\"error\"));\n if (Owner === null) console.warn(\"error handlers created outside a `createRoot` or `render` will never be run\");else if (Owner.context === null || !Owner.context[ERROR]) {\n Owner.context = {\n ...Owner.context,\n [ERROR]: [fn]\n };\n mutateContext(Owner, ERROR, [fn]);\n } else Owner.context[ERROR].push(fn);\n}\nfunction mutateContext(o, key, value) {\n if (o.owned) {\n for (let i = 0; i < o.owned.length; i++) {\n if (o.owned[i].context === o.context) mutateContext(o.owned[i], key, value);\n if (!o.owned[i].context) {\n o.owned[i].context = o.context;\n mutateContext(o.owned[i], key, value);\n } else if (!o.owned[i].context[key]) {\n o.owned[i].context[key] = value;\n mutateContext(o.owned[i], key, value);\n }\n }\n }\n}\n\nfunction observable(input) {\n return {\n subscribe(observer) {\n if (!(observer instanceof Object) || observer == null) {\n throw new TypeError(\"Expected the observer to be an object.\");\n }\n const handler = typeof observer === \"function\" ? observer : observer.next && observer.next.bind(observer);\n if (!handler) {\n return {\n unsubscribe() {}\n };\n }\n const dispose = createRoot(disposer => {\n createEffect(() => {\n const v = input();\n untrack(() => handler(v));\n });\n return disposer;\n });\n if (getOwner()) onCleanup(dispose);\n return {\n unsubscribe() {\n dispose();\n }\n };\n },\n [Symbol.observable || \"@@observable\"]() {\n return this;\n }\n };\n}\nfunction from(producer, initalValue = undefined) {\n const [s, set] = createSignal(initalValue, {\n equals: false\n });\n if (\"subscribe\" in producer) {\n const unsub = producer.subscribe(v => set(() => v));\n onCleanup(() => \"unsubscribe\" in unsub ? unsub.unsubscribe() : unsub());\n } else {\n const clean = producer(set);\n onCleanup(clean);\n }\n return s;\n}\n\nconst FALLBACK = Symbol(\"fallback\");\nfunction dispose(d) {\n for (let i = 0; i < d.length; i++) d[i]();\n}\nfunction mapArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n len = 0,\n indexes = mapFn.length > 1 ? [] : null;\n onCleanup(() => dispose(disposers));\n return () => {\n let newItems = list() || [],\n newLen = newItems.length,\n i,\n j;\n newItems[$TRACK];\n return untrack(() => {\n let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n indexes && (indexes = []);\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n }\n else if (len === 0) {\n mapped = new Array(newLen);\n for (j = 0; j < newLen; j++) {\n items[j] = newItems[j];\n mapped[j] = createRoot(mapper);\n }\n len = newLen;\n } else {\n temp = new Array(newLen);\n tempdisposers = new Array(newLen);\n indexes && (tempIndexes = new Array(newLen));\n for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++);\n for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {\n temp[newEnd] = mapped[end];\n tempdisposers[newEnd] = disposers[end];\n indexes && (tempIndexes[newEnd] = indexes[end]);\n }\n newIndices = new Map();\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = newItems[j];\n i = newIndices.get(item);\n newIndicesNext[j] = i === undefined ? -1 : i;\n newIndices.set(item, j);\n }\n for (i = start; i <= end; i++) {\n item = items[i];\n j = newIndices.get(item);\n if (j !== undefined && j !== -1) {\n temp[j] = mapped[i];\n tempdisposers[j] = disposers[i];\n indexes && (tempIndexes[j] = indexes[i]);\n j = newIndicesNext[j];\n newIndices.set(item, j);\n } else disposers[i]();\n }\n for (j = start; j < newLen; j++) {\n if (j in temp) {\n mapped[j] = temp[j];\n disposers[j] = tempdisposers[j];\n if (indexes) {\n indexes[j] = tempIndexes[j];\n indexes[j](j);\n }\n } else mapped[j] = createRoot(mapper);\n }\n mapped = mapped.slice(0, len = newLen);\n items = newItems.slice(0);\n }\n return mapped;\n });\n function mapper(disposer) {\n disposers[j] = disposer;\n if (indexes) {\n const [s, set] = createSignal(j, {\n name: \"index\"\n }) ;\n indexes[j] = set;\n return mapFn(newItems[j], s);\n }\n return mapFn(newItems[j]);\n }\n };\n}\nfunction indexArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n signals = [],\n len = 0,\n i;\n onCleanup(() => dispose(disposers));\n return () => {\n const newItems = list() || [],\n newLen = newItems.length;\n newItems[$TRACK];\n return untrack(() => {\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n signals = [];\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n return mapped;\n }\n if (items[0] === FALLBACK) {\n disposers[0]();\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n }\n for (i = 0; i < newLen; i++) {\n if (i < items.length && items[i] !== newItems[i]) {\n signals[i](() => newItems[i]);\n } else if (i >= items.length) {\n mapped[i] = createRoot(mapper);\n }\n }\n for (; i < items.length; i++) {\n disposers[i]();\n }\n len = signals.length = disposers.length = newLen;\n items = newItems.slice(0);\n return mapped = mapped.slice(0, len);\n });\n function mapper(disposer) {\n disposers[i] = disposer;\n const [s, set] = createSignal(newItems[i], {\n name: \"value\"\n }) ;\n signals[i] = set;\n return mapFn(s, i);\n }\n };\n}\n\nlet hydrationEnabled = false;\nfunction enableHydration() {\n hydrationEnabled = true;\n}\nfunction createComponent(Comp, props) {\n if (hydrationEnabled) {\n if (sharedConfig.context) {\n const c = sharedConfig.context;\n setHydrateContext(nextHydrateContext());\n const r = devComponent(Comp, props || {}) ;\n setHydrateContext(c);\n return r;\n }\n }\n return devComponent(Comp, props || {});\n}\nfunction trueFn() {\n return true;\n}\nconst propTraps = {\n get(_, property, receiver) {\n if (property === $PROXY) return receiver;\n return _.get(property);\n },\n has(_, property) {\n if (property === $PROXY) return true;\n return _.has(property);\n },\n set: trueFn,\n deleteProperty: trueFn,\n getOwnPropertyDescriptor(_, property) {\n return {\n configurable: true,\n enumerable: true,\n get() {\n return _.get(property);\n },\n set: trueFn,\n deleteProperty: trueFn\n };\n },\n ownKeys(_) {\n return _.keys();\n }\n};\nfunction resolveSource(s) {\n return !(s = typeof s === \"function\" ? s() : s) ? {} : s;\n}\nfunction resolveSources() {\n for (let i = 0, length = this.length; i < length; ++i) {\n const v = this[i]();\n if (v !== undefined) return v;\n }\n}\nfunction mergeProps(...sources) {\n let proxy = false;\n for (let i = 0; i < sources.length; i++) {\n const s = sources[i];\n proxy = proxy || !!s && $PROXY in s;\n sources[i] = typeof s === \"function\" ? (proxy = true, createMemo(s)) : s;\n }\n if (SUPPORTS_PROXY && proxy) {\n return new Proxy({\n get(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n const v = resolveSource(sources[i])[property];\n if (v !== undefined) return v;\n }\n },\n has(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n if (property in resolveSource(sources[i])) return true;\n }\n return false;\n },\n keys() {\n const keys = [];\n for (let i = 0; i < sources.length; i++) keys.push(...Object.keys(resolveSource(sources[i])));\n return [...new Set(keys)];\n }\n }, propTraps);\n }\n const sourcesMap = {};\n const defined = Object.create(null);\n for (let i = sources.length - 1; i >= 0; i--) {\n const source = sources[i];\n if (!source) continue;\n const sourceKeys = Object.getOwnPropertyNames(source);\n for (let i = sourceKeys.length - 1; i >= 0; i--) {\n const key = sourceKeys[i];\n if (key === \"__proto__\" || key === \"constructor\") continue;\n const desc = Object.getOwnPropertyDescriptor(source, key);\n if (!defined[key]) {\n defined[key] = desc.get ? {\n enumerable: true,\n configurable: true,\n get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])\n } : desc.value !== undefined ? desc : undefined;\n } else {\n const sources = sourcesMap[key];\n if (sources) {\n if (desc.get) sources.push(desc.get.bind(source));else if (desc.value !== undefined) sources.push(() => desc.value);\n }\n }\n }\n }\n const target = {};\n const definedKeys = Object.keys(defined);\n for (let i = definedKeys.length - 1; i >= 0; i--) {\n const key = definedKeys[i],\n desc = defined[key];\n if (desc && desc.get) Object.defineProperty(target, key, desc);else target[key] = desc ? desc.value : undefined;\n }\n return target;\n}\nfunction splitProps(props, ...keys) {\n const len = keys.length;\n if (SUPPORTS_PROXY && $PROXY in props) {\n const blocked = len > 1 ? keys.flat() : keys[0];\n const res = keys.map(k => {\n return new Proxy({\n get(property) {\n return k.includes(property) ? props[property] : undefined;\n },\n has(property) {\n return k.includes(property) && property in props;\n },\n keys() {\n return k.filter(property => property in props);\n }\n }, propTraps);\n });\n res.push(new Proxy({\n get(property) {\n return blocked.includes(property) ? undefined : props[property];\n },\n has(property) {\n return blocked.includes(property) ? false : property in props;\n },\n keys() {\n return Object.keys(props).filter(k => !blocked.includes(k));\n }\n }, propTraps));\n return res;\n }\n const objects = [];\n for (let i = 0; i <= len; i++) {\n objects[i] = {};\n }\n for (const propName of Object.getOwnPropertyNames(props)) {\n let keyIndex = len;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].includes(propName)) {\n keyIndex = i;\n break;\n }\n }\n const desc = Object.getOwnPropertyDescriptor(props, propName);\n const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;\n isDefaultDesc ? objects[keyIndex][propName] = desc.value : Object.defineProperty(objects[keyIndex], propName, desc);\n }\n return objects;\n}\nfunction lazy(fn) {\n let comp;\n let p;\n const wrap = props => {\n const ctx = sharedConfig.context;\n if (ctx) {\n const [s, set] = createSignal();\n sharedConfig.count || (sharedConfig.count = 0);\n sharedConfig.count++;\n (p || (p = fn())).then(mod => {\n !sharedConfig.done && setHydrateContext(ctx);\n sharedConfig.count--;\n set(() => mod.default);\n setHydrateContext();\n });\n comp = s;\n } else if (!comp) {\n const [s] = createResource(() => (p || (p = fn())).then(mod => mod.default));\n comp = s;\n }\n let Comp;\n return createMemo(() => (Comp = comp()) ? untrack(() => {\n if (IS_DEV) Object.assign(Comp, {\n [$DEVCOMP]: true\n });\n if (!ctx || sharedConfig.done) return Comp(props);\n const c = sharedConfig.context;\n setHydrateContext(ctx);\n const r = Comp(props);\n setHydrateContext(c);\n return r;\n }) : \"\");\n };\n wrap.preload = () => p || ((p = fn()).then(mod => comp = () => mod.default), p);\n return wrap;\n}\nlet counter = 0;\nfunction createUniqueId() {\n const ctx = sharedConfig.context;\n return ctx ? sharedConfig.getNextContextId() : `cl-${counter++}`;\n}\n\nconst narrowedError = name => `Attempting to access a stale value from <${name}> that could possibly be undefined. This may occur because you are reading the accessor returned from the component at a time where it has already been unmounted. We recommend cleaning up any stale timers or async, or reading from the initial condition.` ;\nfunction For(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(mapArray(() => props.each, props.children, fallback || undefined), undefined, {\n name: \"value\"\n }) ;\n}\nfunction Index(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(indexArray(() => props.each, props.children, fallback || undefined), undefined, {\n name: \"value\"\n }) ;\n}\nfunction Show(props) {\n const keyed = props.keyed;\n const conditionValue = createMemo(() => props.when, undefined, {\n name: \"condition value\"\n } );\n const condition = keyed ? conditionValue : createMemo(conditionValue, undefined, {\n equals: (a, b) => !a === !b,\n name: \"condition\"\n } );\n return createMemo(() => {\n const c = condition();\n if (c) {\n const child = props.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn ? untrack(() => child(keyed ? c : () => {\n if (!untrack(condition)) throw narrowedError(\"Show\");\n return conditionValue();\n })) : child;\n }\n return props.fallback;\n }, undefined, {\n name: \"value\"\n } );\n}\nfunction Switch(props) {\n const chs = children(() => props.children);\n const switchFunc = createMemo(() => {\n const ch = chs();\n const mps = Array.isArray(ch) ? ch : [ch];\n let func = () => undefined;\n for (let i = 0; i < mps.length; i++) {\n const index = i;\n const mp = mps[i];\n const prevFunc = func;\n const conditionValue = createMemo(() => prevFunc() ? undefined : mp.when, undefined, {\n name: \"condition value\"\n } );\n const condition = mp.keyed ? conditionValue : createMemo(conditionValue, undefined, {\n equals: (a, b) => !a === !b,\n name: \"condition\"\n } );\n func = () => prevFunc() || (condition() ? [index, conditionValue, mp] : undefined);\n }\n return func;\n });\n return createMemo(() => {\n const sel = switchFunc()();\n if (!sel) return props.fallback;\n const [index, conditionValue, mp] = sel;\n const child = mp.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn ? untrack(() => child(mp.keyed ? conditionValue() : () => {\n if (untrack(switchFunc)()?.[0] !== index) throw narrowedError(\"Match\");\n return conditionValue();\n })) : child;\n }, undefined, {\n name: \"eval conditions\"\n } );\n}\nfunction Match(props) {\n return props;\n}\nlet Errors;\nfunction resetErrorBoundaries() {\n Errors && [...Errors].forEach(fn => fn());\n}\nfunction ErrorBoundary(props) {\n let err;\n if (sharedConfig.context && sharedConfig.load) err = sharedConfig.load(sharedConfig.getContextId());\n const [errored, setErrored] = createSignal(err, {\n name: \"errored\"\n } );\n Errors || (Errors = new Set());\n Errors.add(setErrored);\n onCleanup(() => Errors.delete(setErrored));\n return createMemo(() => {\n let e;\n if (e = errored()) {\n const f = props.fallback;\n if ((typeof f !== \"function\" || f.length == 0)) console.error(e);\n return typeof f === \"function\" && f.length ? untrack(() => f(e, () => setErrored())) : f;\n }\n return catchError(() => props.children, setErrored);\n }, undefined, {\n name: \"value\"\n } );\n}\n\nconst suspenseListEquals = (a, b) => a.showContent === b.showContent && a.showFallback === b.showFallback;\nconst SuspenseListContext = /* #__PURE__ */createContext();\nfunction SuspenseList(props) {\n let [wrapper, setWrapper] = createSignal(() => ({\n inFallback: false\n })),\n show;\n const listContext = useContext(SuspenseListContext);\n const [registry, setRegistry] = createSignal([]);\n if (listContext) {\n show = listContext.register(createMemo(() => wrapper()().inFallback));\n }\n const resolved = createMemo(prev => {\n const reveal = props.revealOrder,\n tail = props.tail,\n {\n showContent = true,\n showFallback = true\n } = show ? show() : {},\n reg = registry(),\n reverse = reveal === \"backwards\";\n if (reveal === \"together\") {\n const all = reg.every(inFallback => !inFallback());\n const res = reg.map(() => ({\n showContent: all && showContent,\n showFallback\n }));\n res.inFallback = !all;\n return res;\n }\n let stop = false;\n let inFallback = prev.inFallback;\n const res = [];\n for (let i = 0, len = reg.length; i < len; i++) {\n const n = reverse ? len - i - 1 : i,\n s = reg[n]();\n if (!stop && !s) {\n res[n] = {\n showContent,\n showFallback\n };\n } else {\n const next = !stop;\n if (next) inFallback = true;\n res[n] = {\n showContent: next,\n showFallback: !tail || next && tail === \"collapsed\" ? showFallback : false\n };\n stop = true;\n }\n }\n if (!stop) inFallback = false;\n res.inFallback = inFallback;\n return res;\n }, {\n inFallback: false\n });\n setWrapper(() => resolved);\n return createComponent(SuspenseListContext.Provider, {\n value: {\n register: inFallback => {\n let index;\n setRegistry(registry => {\n index = registry.length;\n return [...registry, inFallback];\n });\n return createMemo(() => resolved()[index], undefined, {\n equals: suspenseListEquals\n });\n }\n },\n get children() {\n return props.children;\n }\n });\n}\nfunction Suspense(props) {\n let counter = 0,\n show,\n ctx,\n p,\n flicker,\n error;\n const [inFallback, setFallback] = createSignal(false),\n SuspenseContext = getSuspenseContext(),\n store = {\n increment: () => {\n if (++counter === 1) setFallback(true);\n },\n decrement: () => {\n if (--counter === 0) setFallback(false);\n },\n inFallback,\n effects: [],\n resolved: false\n },\n owner = getOwner();\n if (sharedConfig.context && sharedConfig.load) {\n const key = sharedConfig.getContextId();\n let ref = sharedConfig.load(key);\n if (ref) {\n if (typeof ref !== \"object\" || ref.s !== 1) p = ref;else sharedConfig.gather(key);\n }\n if (p && p !== \"$$f\") {\n const [s, set] = createSignal(undefined, {\n equals: false\n });\n flicker = s;\n p.then(() => {\n if (sharedConfig.done) return set();\n sharedConfig.gather(key);\n setHydrateContext(ctx);\n set();\n setHydrateContext();\n }, err => {\n error = err;\n set();\n });\n }\n }\n const listContext = useContext(SuspenseListContext);\n if (listContext) show = listContext.register(store.inFallback);\n let dispose;\n onCleanup(() => dispose && dispose());\n return createComponent(SuspenseContext.Provider, {\n value: store,\n get children() {\n return createMemo(() => {\n if (error) throw error;\n ctx = sharedConfig.context;\n if (flicker) {\n flicker();\n return flicker = undefined;\n }\n if (ctx && p === \"$$f\") setHydrateContext();\n const rendered = createMemo(() => props.children);\n return createMemo(prev => {\n const inFallback = store.inFallback(),\n {\n showContent = true,\n showFallback = true\n } = show ? show() : {};\n if ((!inFallback || p && p !== \"$$f\") && showContent) {\n store.resolved = true;\n dispose && dispose();\n dispose = ctx = p = undefined;\n resumeEffects(store.effects);\n return rendered();\n }\n if (!showFallback) return;\n if (dispose) return prev;\n return createRoot(disposer => {\n dispose = disposer;\n if (ctx) {\n setHydrateContext({\n id: ctx.id + \"F\",\n count: 0\n });\n ctx = undefined;\n }\n return props.fallback;\n }, owner);\n });\n });\n }\n });\n}\n\nconst DEV = {\n hooks: DevHooks,\n writeSignal,\n registerGraph\n} ;\nif (globalThis) {\n if (!globalThis.Solid$$) globalThis.Solid$$ = true;else console.warn(\"You appear to have multiple instances of Solid. This can lead to unexpected behavior.\");\n}\n\nexport { $DEVCOMP, $PROXY, $TRACK, DEV, ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, batch, cancelCallback, catchError, children, createComponent, createComputed, createContext, createDeferred, createEffect, createMemo, createReaction, createRenderEffect, createResource, createRoot, createSelector, createSignal, createUniqueId, enableExternalSource, enableHydration, enableScheduling, equalFn, from, getListener, getOwner, indexArray, lazy, mapArray, mergeProps, observable, on, onCleanup, onError, onMount, requestCallback, resetErrorBoundaries, runWithOwner, sharedConfig, splitProps, startTransition, untrack, useContext, useTransition };\n","import { createMemo, sharedConfig, createRenderEffect, createRoot, untrack, splitProps, getOwner, createEffect, runWithOwner, createSignal, onCleanup, $DEVCOMP, enableHydration } from 'solid-js';\nexport { ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, createComponent, createRenderEffect as effect, getOwner, mergeProps, untrack } from 'solid-js';\n\nconst booleans = [\"allowfullscreen\", \"async\", \"alpha\",\n\"autofocus\",\n\"autoplay\", \"checked\", \"controls\", \"default\", \"disabled\", \"formnovalidate\", \"hidden\",\n\"indeterminate\", \"inert\",\n\"ismap\", \"loop\", \"multiple\", \"muted\", \"nomodule\", \"novalidate\", \"open\", \"playsinline\", \"readonly\", \"required\", \"reversed\", \"seamless\",\n\"selected\", \"adauctionheaders\",\n\"browsingtopics\",\n\"credentialless\",\n\"defaultchecked\", \"defaultmuted\", \"defaultselected\", \"defer\", \"disablepictureinpicture\", \"disableremoteplayback\", \"preservespitch\",\n\"shadowrootclonable\", \"shadowrootcustomelementregistry\",\n\"shadowrootdelegatesfocus\", \"shadowrootserializable\",\n\"sharedstoragewritable\"\n];\nconst Properties = /*#__PURE__*/new Set([\n\"className\", \"value\",\n\"readOnly\", \"noValidate\", \"formNoValidate\", \"isMap\", \"noModule\", \"playsInline\", \"adAuctionHeaders\",\n\"allowFullscreen\", \"browsingTopics\",\n\"defaultChecked\", \"defaultMuted\", \"defaultSelected\", \"disablePictureInPicture\", \"disableRemotePlayback\", \"preservesPitch\", \"shadowRootClonable\", \"shadowRootCustomElementRegistry\",\n\"shadowRootDelegatesFocus\", \"shadowRootSerializable\",\n\"sharedStorageWritable\",\n...booleans]);\nconst ChildProperties = /*#__PURE__*/new Set([\"innerHTML\", \"textContent\", \"innerText\", \"children\"]);\nconst Aliases = /*#__PURE__*/Object.assign(Object.create(null), {\n className: \"class\",\n htmlFor: \"for\"\n});\nconst PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {\n class: \"className\",\n novalidate: {\n $: \"noValidate\",\n FORM: 1\n },\n formnovalidate: {\n $: \"formNoValidate\",\n BUTTON: 1,\n INPUT: 1\n },\n ismap: {\n $: \"isMap\",\n IMG: 1\n },\n nomodule: {\n $: \"noModule\",\n SCRIPT: 1\n },\n playsinline: {\n $: \"playsInline\",\n VIDEO: 1\n },\n readonly: {\n $: \"readOnly\",\n INPUT: 1,\n TEXTAREA: 1\n },\n adauctionheaders: {\n $: \"adAuctionHeaders\",\n IFRAME: 1\n },\n allowfullscreen: {\n $: \"allowFullscreen\",\n IFRAME: 1\n },\n browsingtopics: {\n $: \"browsingTopics\",\n IMG: 1\n },\n defaultchecked: {\n $: \"defaultChecked\",\n INPUT: 1\n },\n defaultmuted: {\n $: \"defaultMuted\",\n AUDIO: 1,\n VIDEO: 1\n },\n defaultselected: {\n $: \"defaultSelected\",\n OPTION: 1\n },\n disablepictureinpicture: {\n $: \"disablePictureInPicture\",\n VIDEO: 1\n },\n disableremoteplayback: {\n $: \"disableRemotePlayback\",\n AUDIO: 1,\n VIDEO: 1\n },\n preservespitch: {\n $: \"preservesPitch\",\n AUDIO: 1,\n VIDEO: 1\n },\n shadowrootclonable: {\n $: \"shadowRootClonable\",\n TEMPLATE: 1\n },\n shadowrootdelegatesfocus: {\n $: \"shadowRootDelegatesFocus\",\n TEMPLATE: 1\n },\n shadowrootserializable: {\n $: \"shadowRootSerializable\",\n TEMPLATE: 1\n },\n sharedstoragewritable: {\n $: \"sharedStorageWritable\",\n IFRAME: 1,\n IMG: 1\n }\n});\nfunction getPropAlias(prop, tagName) {\n const a = PropAliases[prop];\n return typeof a === \"object\" ? a[tagName] ? a[\"$\"] : undefined : a;\n}\nconst DelegatedEvents = /*#__PURE__*/new Set([\"beforeinput\", \"click\", \"dblclick\", \"contextmenu\", \"focusin\", \"focusout\", \"input\", \"keydown\", \"keyup\", \"mousedown\", \"mousemove\", \"mouseout\", \"mouseover\", \"mouseup\", \"pointerdown\", \"pointermove\", \"pointerout\", \"pointerover\", \"pointerup\", \"touchend\", \"touchmove\", \"touchstart\"]);\nconst SVGElements = /*#__PURE__*/new Set([\n\"altGlyph\", \"altGlyphDef\", \"altGlyphItem\", \"animate\", \"animateColor\", \"animateMotion\", \"animateTransform\", \"circle\", \"clipPath\", \"color-profile\", \"cursor\", \"defs\", \"desc\", \"ellipse\", \"feBlend\", \"feColorMatrix\", \"feComponentTransfer\", \"feComposite\", \"feConvolveMatrix\", \"feDiffuseLighting\", \"feDisplacementMap\", \"feDistantLight\", \"feDropShadow\", \"feFlood\", \"feFuncA\", \"feFuncB\", \"feFuncG\", \"feFuncR\", \"feGaussianBlur\", \"feImage\", \"feMerge\", \"feMergeNode\", \"feMorphology\", \"feOffset\", \"fePointLight\", \"feSpecularLighting\", \"feSpotLight\", \"feTile\", \"feTurbulence\", \"filter\", \"font\", \"font-face\", \"font-face-format\", \"font-face-name\", \"font-face-src\", \"font-face-uri\", \"foreignObject\", \"g\", \"glyph\", \"glyphRef\", \"hkern\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"metadata\", \"missing-glyph\", \"mpath\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\",\n\"set\", \"stop\",\n\"svg\", \"switch\", \"symbol\", \"text\", \"textPath\",\n\"tref\", \"tspan\", \"use\", \"view\", \"vkern\"]);\nconst SVGNamespace = {\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nconst DOMElements = /*#__PURE__*/new Set([\"html\", \"base\", \"head\", \"link\", \"meta\", \"style\", \"title\", \"body\", \"address\", \"article\", \"aside\", \"footer\", \"header\", \"main\", \"nav\", \"section\", \"body\", \"blockquote\", \"dd\", \"div\", \"dl\", \"dt\", \"figcaption\", \"figure\", \"hr\", \"li\", \"ol\", \"p\", \"pre\", \"ul\", \"a\", \"abbr\", \"b\", \"bdi\", \"bdo\", \"br\", \"cite\", \"code\", \"data\", \"dfn\", \"em\", \"i\", \"kbd\", \"mark\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"small\", \"span\", \"strong\", \"sub\", \"sup\", \"time\", \"u\", \"var\", \"wbr\", \"area\", \"audio\", \"img\", \"map\", \"track\", \"video\", \"embed\", \"iframe\", \"object\", \"param\", \"picture\", \"portal\", \"source\", \"svg\", \"math\", \"canvas\", \"noscript\", \"script\", \"del\", \"ins\", \"caption\", \"col\", \"colgroup\", \"table\", \"tbody\", \"td\", \"tfoot\", \"th\", \"thead\", \"tr\", \"button\", \"datalist\", \"fieldset\", \"form\", \"input\", \"label\", \"legend\", \"meter\", \"optgroup\", \"option\", \"output\", \"progress\", \"select\", \"textarea\", \"details\", \"dialog\", \"menu\", \"summary\", \"details\", \"slot\", \"template\", \"acronym\", \"applet\", \"basefont\", \"bgsound\", \"big\", \"blink\", \"center\", \"content\", \"dir\", \"font\", \"frame\", \"frameset\", \"hgroup\", \"image\", \"keygen\", \"marquee\", \"menuitem\", \"nobr\", \"noembed\", \"noframes\", \"plaintext\", \"rb\", \"rtc\", \"shadow\", \"spacer\", \"strike\", \"tt\", \"xmp\", \"a\", \"abbr\", \"acronym\", \"address\", \"applet\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"basefont\", \"bdi\", \"bdo\", \"bgsound\", \"big\", \"blink\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"center\", \"cite\", \"code\", \"col\", \"colgroup\", \"content\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"dir\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"font\", \"footer\", \"form\", \"frame\", \"frameset\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"image\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"nobr\", \"noembed\", \"noframes\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"plaintext\", \"portal\", \"pre\", \"progress\", \"q\", \"rb\", \"rp\", \"rt\", \"rtc\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"shadow\", \"slot\", \"small\", \"source\", \"spacer\", \"span\", \"strike\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"template\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"tt\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", \"xmp\", \"input\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\",\n\"webview\",\n\"isindex\", \"listing\", \"multicol\", \"nextid\", \"noindex\", \"search\"]);\n\nconst memo = fn => createMemo(() => fn());\n\nfunction reconcileArrays(parentNode, a, b) {\n let bLength = b.length,\n aEnd = a.length,\n bEnd = bLength,\n aStart = 0,\n bStart = 0,\n after = a[aEnd - 1].nextSibling,\n map = null;\n while (aStart < aEnd || bStart < bEnd) {\n if (a[aStart] === b[bStart]) {\n aStart++;\n bStart++;\n continue;\n }\n while (a[aEnd - 1] === b[bEnd - 1]) {\n aEnd--;\n bEnd--;\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;\n while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a[aStart])) a[aStart].remove();\n aStart++;\n }\n } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {\n const node = a[--aEnd].nextSibling;\n parentNode.insertBefore(b[bStart++], a[aStart++].nextSibling);\n parentNode.insertBefore(b[--bEnd], node);\n a[aEnd] = b[bEnd];\n } else {\n if (!map) {\n map = new Map();\n let i = bStart;\n while (i < bEnd) map.set(b[i], i++);\n }\n const index = map.get(a[aStart]);\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i = aStart,\n sequence = 1,\n t;\n while (++i < aEnd && i < bEnd) {\n if ((t = map.get(a[i])) == null || t !== index + sequence) break;\n sequence++;\n }\n if (sequence > index - bStart) {\n const node = a[aStart];\n while (bStart < index) parentNode.insertBefore(b[bStart++], node);\n } else parentNode.replaceChild(b[bStart++], a[aStart++]);\n } else aStart++;\n } else a[aStart++].remove();\n }\n }\n}\n\nconst $$EVENTS = \"_$DX_DELEGATE\";\nfunction render(code, element, init, options = {}) {\n if (!element) {\n throw new Error(\"The `element` passed to `render(..., element)` doesn't exist. Make sure `element` exists in the document.\");\n }\n let disposer;\n createRoot(dispose => {\n disposer = dispose;\n element === document ? code() : insert(element, code(), element.firstChild ? null : undefined, init);\n }, options.owner);\n return () => {\n disposer();\n element.textContent = \"\";\n };\n}\nfunction template(html, isImportNode, isSVG, isMathML) {\n let node;\n const create = () => {\n if (isHydrating()) throw new Error(\"Failed attempt to create new DOM elements during hydration. Check that the libraries you are using support hydration.\");\n const t = isMathML ? document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", \"template\") : document.createElement(\"template\");\n t.innerHTML = html;\n return isSVG ? t.content.firstChild.firstChild : isMathML ? t.firstChild : t.content.firstChild;\n };\n const fn = isImportNode ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);\n fn.cloneNode = fn;\n return fn;\n}\nfunction delegateEvents(eventNames, document = window.document) {\n const e = document[$$EVENTS] || (document[$$EVENTS] = new Set());\n for (let i = 0, l = eventNames.length; i < l; i++) {\n const name = eventNames[i];\n if (!e.has(name)) {\n e.add(name);\n document.addEventListener(name, eventHandler);\n }\n }\n}\nfunction clearDelegatedEvents(document = window.document) {\n if (document[$$EVENTS]) {\n for (let name of document[$$EVENTS].keys()) document.removeEventListener(name, eventHandler);\n delete document[$$EVENTS];\n }\n}\nfunction setProperty(node, name, value) {\n if (isHydrating(node)) return;\n node[name] = value;\n}\nfunction setAttribute(node, name, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttribute(name);else node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);\n}\nfunction setBoolAttribute(node, name, value) {\n if (isHydrating(node)) return;\n value ? node.setAttribute(name, \"\") : node.removeAttribute(name);\n}\nfunction className(node, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttribute(\"class\");else node.className = value;\n}\nfunction addEventListener(node, name, handler, delegate) {\n if (delegate) {\n if (Array.isArray(handler)) {\n node[`$$${name}`] = handler[0];\n node[`$$${name}Data`] = handler[1];\n } else node[`$$${name}`] = handler;\n } else if (Array.isArray(handler)) {\n const handlerFn = handler[0];\n node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));\n } else node.addEventListener(name, handler, typeof handler !== \"function\" && handler);\n}\nfunction classList(node, value, prev = {}) {\n const classKeys = Object.keys(value || {}),\n prevKeys = Object.keys(prev);\n let i, len;\n for (i = 0, len = prevKeys.length; i < len; i++) {\n const key = prevKeys[i];\n if (!key || key === \"undefined\" || value[key]) continue;\n toggleClassKey(node, key, false);\n delete prev[key];\n }\n for (i = 0, len = classKeys.length; i < len; i++) {\n const key = classKeys[i],\n classValue = !!value[key];\n if (!key || key === \"undefined\" || prev[key] === classValue || !classValue) continue;\n toggleClassKey(node, key, true);\n prev[key] = classValue;\n }\n return prev;\n}\nfunction style(node, value, prev) {\n if (!value) return prev ? setAttribute(node, \"style\") : value;\n const nodeStyle = node.style;\n if (typeof value === \"string\") return nodeStyle.cssText = value;\n typeof prev === \"string\" && (nodeStyle.cssText = prev = undefined);\n prev || (prev = {});\n value || (value = {});\n let v, s;\n for (s in prev) {\n value[s] == null && nodeStyle.removeProperty(s);\n delete prev[s];\n }\n for (s in value) {\n v = value[s];\n if (v !== prev[s]) {\n nodeStyle.setProperty(s, v);\n prev[s] = v;\n }\n }\n return prev;\n}\nfunction setStyleProperty(node, name, value) {\n value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);\n}\nfunction spread(node, props = {}, isSVG, skipChildren) {\n const prevProps = {};\n if (!skipChildren) {\n createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));\n }\n createRenderEffect(() => typeof props.ref === \"function\" && use(props.ref, node));\n createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));\n return prevProps;\n}\nfunction dynamicProperty(props, key) {\n const src = props[key];\n Object.defineProperty(props, key, {\n get() {\n return src();\n },\n enumerable: true\n });\n return props;\n}\nfunction use(fn, element, arg) {\n return untrack(() => fn(element, arg));\n}\nfunction insert(parent, accessor, marker, initial) {\n if (marker !== undefined && !initial) initial = [];\n if (typeof accessor !== \"function\") return insertExpression(parent, accessor, initial, marker);\n createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);\n}\nfunction assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {\n props || (props = {});\n for (const prop in prevProps) {\n if (!(prop in props)) {\n if (prop === \"children\") continue;\n prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef, props);\n }\n }\n for (const prop in props) {\n if (prop === \"children\") {\n if (!skipChildren) insertExpression(node, props.children);\n continue;\n }\n const value = props[prop];\n prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef, props);\n }\n}\nfunction hydrate$1(code, element, options = {}) {\n if (globalThis._$HY.done) return render(code, element, [...element.childNodes], options);\n sharedConfig.completed = globalThis._$HY.completed;\n sharedConfig.events = globalThis._$HY.events;\n sharedConfig.load = id => globalThis._$HY.r[id];\n sharedConfig.has = id => id in globalThis._$HY.r;\n sharedConfig.gather = root => gatherHydratable(element, root);\n sharedConfig.registry = new Map();\n sharedConfig.context = {\n id: options.renderId || \"\",\n count: 0\n };\n try {\n gatherHydratable(element, options.renderId);\n return render(code, element, [...element.childNodes], options);\n } finally {\n sharedConfig.context = null;\n }\n}\nfunction getNextElement(template) {\n let node,\n key,\n hydrating = isHydrating();\n if (!hydrating || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {\n if (hydrating) {\n sharedConfig.done = true;\n throw new Error(`Hydration Mismatch. Unable to find DOM nodes for hydration key: ${key}\\n${template ? template().outerHTML : \"\"}`);\n }\n return template();\n }\n if (sharedConfig.completed) sharedConfig.completed.add(node);\n sharedConfig.registry.delete(key);\n return node;\n}\nfunction getNextMatch(el, nodeName) {\n while (el && el.localName !== nodeName) el = el.nextSibling;\n return el;\n}\nfunction getNextMarker(start) {\n let end = start,\n count = 0,\n current = [];\n if (isHydrating(start)) {\n while (end) {\n if (end.nodeType === 8) {\n const v = end.nodeValue;\n if (v === \"$\") count++;else if (v === \"/\") {\n if (count === 0) return [end, current];\n count--;\n }\n }\n current.push(end);\n end = end.nextSibling;\n }\n }\n return [end, current];\n}\nfunction runHydrationEvents() {\n if (sharedConfig.events && !sharedConfig.events.queued) {\n queueMicrotask(() => {\n const {\n completed,\n events\n } = sharedConfig;\n if (!events) return;\n events.queued = false;\n while (events.length) {\n const [el, e] = events[0];\n if (!completed.has(el)) return;\n events.shift();\n eventHandler(e);\n }\n if (sharedConfig.done) {\n sharedConfig.events = _$HY.events = null;\n sharedConfig.completed = _$HY.completed = null;\n }\n });\n sharedConfig.events.queued = true;\n }\n}\nfunction isHydrating(node) {\n return !!sharedConfig.context && !sharedConfig.done && (!node || node.isConnected);\n}\nfunction toPropertyName(name) {\n return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());\n}\nfunction toggleClassKey(node, key, value) {\n const classNames = key.trim().split(/\\s+/);\n for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef, props) {\n let isCE, isProp, isChildProp, propAlias, forceProp;\n if (prop === \"style\") return style(node, value, prev);\n if (prop === \"classList\") return classList(node, value, prev);\n if (value === prev) return prev;\n if (prop === \"ref\") {\n if (!skipRef) value(node);\n } else if (prop.slice(0, 3) === \"on:\") {\n const e = prop.slice(3);\n prev && node.removeEventListener(e, prev, typeof prev !== \"function\" && prev);\n value && node.addEventListener(e, value, typeof value !== \"function\" && value);\n } else if (prop.slice(0, 10) === \"oncapture:\") {\n const e = prop.slice(10);\n prev && node.removeEventListener(e, prev, true);\n value && node.addEventListener(e, value, true);\n } else if (prop.slice(0, 2) === \"on\") {\n const name = prop.slice(2).toLowerCase();\n const delegate = DelegatedEvents.has(name);\n if (!delegate && prev) {\n const h = Array.isArray(prev) ? prev[0] : prev;\n node.removeEventListener(name, h);\n }\n if (delegate || value) {\n addEventListener(node, name, value, delegate);\n delegate && delegateEvents([name]);\n }\n } else if (prop.slice(0, 5) === \"attr:\") {\n setAttribute(node, prop.slice(5), value);\n } else if (prop.slice(0, 5) === \"bool:\") {\n setBoolAttribute(node, prop.slice(5), value);\n } else if ((forceProp = prop.slice(0, 5) === \"prop:\") || (isChildProp = ChildProperties.has(prop)) || !isSVG && ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes(\"-\") || \"is\" in props)) {\n if (forceProp) {\n prop = prop.slice(5);\n isProp = true;\n } else if (isHydrating(node)) return value;\n if (prop === \"class\" || prop === \"className\") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[propAlias || prop] = value;\n } else {\n const ns = isSVG && prop.indexOf(\":\") > -1 && SVGNamespace[prop.split(\":\")[0]];\n if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);\n }\n return value;\n}\nfunction eventHandler(e) {\n if (sharedConfig.registry && sharedConfig.events) {\n if (sharedConfig.events.find(([el, ev]) => ev === e)) return;\n }\n let node = e.target;\n const key = `$$${e.type}`;\n const oriTarget = e.target;\n const oriCurrentTarget = e.currentTarget;\n const retarget = value => Object.defineProperty(e, \"target\", {\n configurable: true,\n value\n });\n const handleNode = () => {\n const handler = node[key];\n if (handler && !node.disabled) {\n const data = node[`${key}Data`];\n data !== undefined ? handler.call(node, data, e) : handler.call(node, e);\n if (e.cancelBubble) return;\n }\n node.host && typeof node.host !== \"string\" && !node.host._$host && node.contains(e.target) && retarget(node.host);\n return true;\n };\n const walkUpTree = () => {\n while (handleNode() && (node = node._$host || node.parentNode || node.host));\n };\n Object.defineProperty(e, \"currentTarget\", {\n configurable: true,\n get() {\n return node || document;\n }\n });\n if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = _$HY.done = true;\n if (e.composedPath) {\n const path = e.composedPath();\n retarget(path[0]);\n for (let i = 0; i < path.length - 2; i++) {\n node = path[i];\n if (!handleNode()) break;\n if (node._$host) {\n node = node._$host;\n walkUpTree();\n break;\n }\n if (node.parentNode === oriCurrentTarget) {\n break;\n }\n }\n }\n else walkUpTree();\n retarget(oriTarget);\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n const hydrating = isHydrating(parent);\n if (hydrating) {\n !current && (current = [...parent.childNodes]);\n let cleaned = [];\n for (let i = 0; i < current.length; i++) {\n const node = current[i];\n if (node.nodeType === 8 && node.data.slice(0, 2) === \"!$\") node.remove();else cleaned.push(node);\n }\n current = cleaned;\n }\n while (typeof current === \"function\") current = current();\n if (value === current) return current;\n const t = typeof value,\n multi = marker !== undefined;\n parent = multi && current[0] && current[0].parentNode || parent;\n if (t === \"string\" || t === \"number\") {\n if (hydrating) return current;\n if (t === \"number\") {\n value = value.toString();\n if (value === current) return current;\n }\n if (multi) {\n let node = current[0];\n if (node && node.nodeType === 3) {\n node.data !== value && (node.data = value);\n } else node = document.createTextNode(value);\n current = cleanChildren(parent, current, marker, node);\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n current = parent.firstChild.data = value;\n } else current = parent.textContent = value;\n }\n } else if (value == null || t === \"boolean\") {\n if (hydrating) return current;\n current = cleanChildren(parent, current, marker);\n } else if (t === \"function\") {\n createRenderEffect(() => {\n let v = value();\n while (typeof v === \"function\") v = v();\n current = insertExpression(parent, v, current, marker);\n });\n return () => current;\n } else if (Array.isArray(value)) {\n const array = [];\n const currentArray = current && Array.isArray(current);\n if (normalizeIncomingArray(array, value, current, unwrapArray)) {\n createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));\n return () => current;\n }\n if (hydrating) {\n if (!array.length) return current;\n if (marker === undefined) return current = [...parent.childNodes];\n let node = array[0];\n if (node.parentNode !== parent) return current;\n const nodes = [node];\n while ((node = node.nextSibling) !== marker) nodes.push(node);\n return current = nodes;\n }\n if (array.length === 0) {\n current = cleanChildren(parent, current, marker);\n if (multi) return current;\n } else if (currentArray) {\n if (current.length === 0) {\n appendNodes(parent, array, marker);\n } else reconcileArrays(parent, current, array);\n } else {\n current && cleanChildren(parent);\n appendNodes(parent, array);\n }\n current = array;\n } else if (value.nodeType) {\n if (hydrating && value.parentNode) return current = multi ? [value] : value;\n if (Array.isArray(current)) {\n if (multi) return current = cleanChildren(parent, current, marker, value);\n cleanChildren(parent, current, null, value);\n } else if (current == null || current === \"\" || !parent.firstChild) {\n parent.appendChild(value);\n } else parent.replaceChild(value, parent.firstChild);\n current = value;\n } else console.warn(`Unrecognized value. Skipped inserting`, value);\n return current;\n}\nfunction normalizeIncomingArray(normalized, array, current, unwrap) {\n let dynamic = false;\n for (let i = 0, len = array.length; i < len; i++) {\n let item = array[i],\n prev = current && current[normalized.length],\n t;\n if (item == null || item === true || item === false) ; else if ((t = typeof item) === \"object\" && item.nodeType) {\n normalized.push(item);\n } else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;\n } else if (t === \"function\") {\n if (unwrap) {\n while (typeof item === \"function\") item = item();\n dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;\n } else {\n normalized.push(item);\n dynamic = true;\n }\n } else {\n const value = String(item);\n if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));\n }\n }\n return dynamic;\n}\nfunction appendNodes(parent, array, marker = null) {\n for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);\n}\nfunction cleanChildren(parent, current, marker, replacement) {\n if (marker === undefined) return parent.textContent = \"\";\n const node = replacement || document.createTextNode(\"\");\n if (current.length) {\n let inserted = false;\n for (let i = current.length - 1; i >= 0; i--) {\n const el = current[i];\n if (node !== el) {\n const isParent = el.parentNode === parent;\n if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && el.remove();\n } else inserted = true;\n }\n } else parent.insertBefore(node, marker);\n return [node];\n}\nfunction gatherHydratable(element, root) {\n const templates = element.querySelectorAll(`*[data-hk]`);\n for (let i = 0; i < templates.length; i++) {\n const node = templates[i];\n const key = node.getAttribute(\"data-hk\");\n if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key)) sharedConfig.registry.set(key, node);\n }\n}\nfunction getHydrationKey() {\n return sharedConfig.getNextContextId();\n}\nfunction NoHydration(props) {\n return sharedConfig.context ? undefined : props.children;\n}\nfunction Hydration(props) {\n return props.children;\n}\nconst voidFn = () => undefined;\nconst RequestContext = Symbol();\nfunction innerHTML(parent, content) {\n !sharedConfig.context && (parent.innerHTML = content);\n}\n\nfunction throwInBrowser(func) {\n const err = new Error(`${func.name} is not supported in the browser, returning undefined`);\n console.error(err);\n}\nfunction renderToString(fn, options) {\n throwInBrowser(renderToString);\n}\nfunction renderToStringAsync(fn, options) {\n throwInBrowser(renderToStringAsync);\n}\nfunction renderToStream(fn, options) {\n throwInBrowser(renderToStream);\n}\nfunction ssr(template, ...nodes) {}\nfunction ssrElement(name, props, children, needsId) {}\nfunction ssrClassList(value) {}\nfunction ssrStyle(value) {}\nfunction ssrAttribute(key, value) {}\nfunction ssrHydrationKey() {}\nfunction resolveSSRNode(node) {}\nfunction escape(html) {}\nfunction ssrSpread(props, isSVG, skipChildren) {}\n\nconst isServer = false;\nconst isDev = true;\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nfunction createElement(tagName, isSVG = false, is = undefined) {\n return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName, {\n is\n });\n}\nconst hydrate = (...args) => {\n enableHydration();\n return hydrate$1(...args);\n};\nfunction Portal(props) {\n const {\n useShadow\n } = props,\n marker = document.createTextNode(\"\"),\n mount = () => props.mount || document.body,\n owner = getOwner();\n let content;\n let hydrating = !!sharedConfig.context;\n createEffect(() => {\n if (hydrating) getOwner().user = hydrating = false;\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)));\n const el = mount();\n if (el instanceof HTMLHeadElement) {\n const [clean, setClean] = createSignal(false);\n const cleanup = () => setClean(true);\n createRoot(dispose => insert(el, () => !clean() ? content() : dispose(), null));\n onCleanup(cleanup);\n } else {\n const container = createElement(props.isSVG ? \"g\" : \"div\", props.isSVG),\n renderRoot = useShadow && container.attachShadow ? container.attachShadow({\n mode: \"open\"\n }) : container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parentNode;\n },\n configurable: true\n });\n insert(renderRoot, content);\n el.appendChild(container);\n props.ref && props.ref(container);\n onCleanup(() => el.removeChild(container));\n }\n }, undefined, {\n render: !hydrating\n });\n return marker;\n}\nfunction createDynamic(component, props) {\n const cached = createMemo(component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n Object.assign(component, {\n [$DEVCOMP]: true\n });\n return untrack(() => component(props));\n case \"string\":\n const isSvg = SVGElements.has(component);\n const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg, untrack(() => props.is));\n spread(el, props, isSvg);\n return el;\n }\n });\n}\nfunction Dynamic(props) {\n const [, others] = splitProps(props, [\"component\"]);\n return createDynamic(() => props.component, others);\n}\n\nexport { Aliases, voidFn as Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, voidFn as HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, addEventListener, assign, classList, className, clearDelegatedEvents, createDynamic, delegateEvents, dynamicProperty, escape, voidFn as generateHydrationScript, voidFn as getAssets, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getPropAlias, voidFn as getRequestEvent, hydrate, innerHTML, insert, isDev, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, setBoolAttribute, setProperty, setStyleProperty, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, style, template, use, voidFn as useAssets };\n","import { isServer } from \"solid-js/web\";\nexport function createBeforeLeave() {\n let listeners = new Set();\n function subscribe(listener) {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }\n let ignore = false;\n function confirm(to, options) {\n if (ignore)\n return !(ignore = false);\n const e = {\n to,\n options,\n defaultPrevented: false,\n preventDefault: () => (e.defaultPrevented = true)\n };\n for (const l of listeners)\n l.listener({\n ...e,\n from: l.location,\n retry: (force) => {\n force && (ignore = true);\n l.navigate(to, { ...options, resolve: false });\n }\n });\n return !e.defaultPrevented;\n }\n return {\n subscribe,\n confirm\n };\n}\n// The following supports browser initiated blocking (eg back/forward)\nlet depth;\nexport function saveCurrentDepth() {\n if (!window.history.state || window.history.state._depth == null) {\n window.history.replaceState({ ...window.history.state, _depth: window.history.length - 1 }, \"\");\n }\n depth = window.history.state._depth;\n}\nif (!isServer) {\n saveCurrentDepth();\n}\nexport function keepDepth(state) {\n return {\n ...state,\n _depth: window.history.state && window.history.state._depth\n };\n}\nexport function notifyIfNotBlocked(notify, block) {\n let ignore = false;\n return () => {\n const prevDepth = depth;\n saveCurrentDepth();\n const delta = prevDepth == null ? null : depth - prevDepth;\n if (ignore) {\n ignore = false;\n return;\n }\n if (delta && block(delta)) {\n ignore = true;\n window.history.go(-delta);\n }\n else {\n notify();\n }\n };\n}\n","import { createMemo, getOwner, runWithOwner } from \"solid-js\";\nconst hasSchemeRegex = /^(?:[a-z0-9]+:)?\\/\\//i;\nconst trimPathRegex = /^\\/+|(\\/)\\/+$/g;\nexport const mockBase = \"http://sr\";\nexport function normalizePath(path, omitSlash = false) {\n const s = path.replace(trimPathRegex, \"$1\");\n return s ? (omitSlash || /^[?#]/.test(s) ? s : \"/\" + s) : \"\";\n}\nexport function resolvePath(base, path, from) {\n if (hasSchemeRegex.test(path)) {\n return undefined;\n }\n const basePath = normalizePath(base);\n const fromPath = from && normalizePath(from);\n let result = \"\";\n if (!fromPath || path.startsWith(\"/\")) {\n result = basePath;\n }\n else if (fromPath.toLowerCase().indexOf(basePath.toLowerCase()) !== 0) {\n result = basePath + fromPath;\n }\n else {\n result = fromPath;\n }\n return (result || \"/\") + normalizePath(path, !result);\n}\nexport function invariant(value, message) {\n if (value == null) {\n throw new Error(message);\n }\n return value;\n}\nexport function joinPaths(from, to) {\n return normalizePath(from).replace(/\\/*(\\*.*)?$/g, \"\") + normalizePath(to);\n}\nexport function extractSearchParams(url) {\n const params = {};\n url.searchParams.forEach((value, key) => {\n if (key in params) {\n if (Array.isArray(params[key]))\n params[key].push(value);\n else\n params[key] = [params[key], value];\n }\n else\n params[key] = value;\n });\n return params;\n}\nexport function createMatcher(path, partial, matchFilters) {\n const [pattern, splat] = path.split(\"/*\", 2);\n const segments = pattern.split(\"/\").filter(Boolean);\n const len = segments.length;\n return (location) => {\n const locSegments = location.split(\"/\").filter(Boolean);\n const lenDiff = locSegments.length - len;\n if (lenDiff < 0 || (lenDiff > 0 && splat === undefined && !partial)) {\n return null;\n }\n const match = {\n path: len ? \"\" : \"/\",\n params: {}\n };\n const matchFilter = (s) => matchFilters === undefined ? undefined : matchFilters[s];\n for (let i = 0; i < len; i++) {\n const segment = segments[i];\n const dynamic = segment[0] === \":\";\n const locSegment = dynamic ? locSegments[i] : locSegments[i].toLowerCase();\n const key = dynamic ? segment.slice(1) : segment.toLowerCase();\n if (dynamic && matchSegment(locSegment, matchFilter(key))) {\n match.params[key] = locSegment;\n }\n else if (dynamic || !matchSegment(locSegment, key)) {\n return null;\n }\n match.path += `/${locSegment}`;\n }\n if (splat) {\n const remainder = lenDiff ? locSegments.slice(-lenDiff).join(\"/\") : \"\";\n if (matchSegment(remainder, matchFilter(splat))) {\n match.params[splat] = remainder;\n }\n else {\n return null;\n }\n }\n return match;\n };\n}\nfunction matchSegment(input, filter) {\n const isEqual = (s) => s === input;\n if (filter === undefined) {\n return true;\n }\n else if (typeof filter === \"string\") {\n return isEqual(filter);\n }\n else if (typeof filter === \"function\") {\n return filter(input);\n }\n else if (Array.isArray(filter)) {\n return filter.some(isEqual);\n }\n else if (filter instanceof RegExp) {\n return filter.test(input);\n }\n return false;\n}\nexport function scoreRoute(route) {\n const [pattern, splat] = route.pattern.split(\"/*\", 2);\n const segments = pattern.split(\"/\").filter(Boolean);\n return segments.reduce((score, segment) => score + (segment.startsWith(\":\") ? 2 : 3), segments.length - (splat === undefined ? 0 : 1));\n}\nexport function createMemoObject(fn) {\n const map = new Map();\n const owner = getOwner();\n return new Proxy({}, {\n get(_, property) {\n if (!map.has(property)) {\n runWithOwner(owner, () => map.set(property, createMemo(() => fn()[property])));\n }\n return map.get(property)();\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n },\n ownKeys() {\n return Reflect.ownKeys(fn());\n },\n has(_, property) {\n return property in fn();\n }\n });\n}\nexport function mergeSearchString(search, params) {\n const merged = new URLSearchParams(search);\n Object.entries(params).forEach(([key, value]) => {\n if (value == null || value === \"\" || (value instanceof Array && !value.length)) {\n merged.delete(key);\n }\n else {\n if (value instanceof Array) {\n // Delete all instances of the key before appending\n merged.delete(key);\n value.forEach(v => {\n merged.append(key, String(v));\n });\n }\n else {\n merged.set(key, String(value));\n }\n }\n });\n const s = merged.toString();\n return s ? `?${s}` : \"\";\n}\nexport function expandOptionals(pattern) {\n let match = /(\\/?\\:[^\\/]+)\\?/.exec(pattern);\n if (!match)\n return [pattern];\n let prefix = pattern.slice(0, match.index);\n let suffix = pattern.slice(match.index + match[0].length);\n const prefixes = [prefix, (prefix += match[1])];\n // This section handles adjacent optional params. We don't actually want all permuations since\n // that will lead to equivalent routes which have the same number of params. For example\n // `/:a?/:b?/:c`? only has the unique expansion: `/`, `/:a`, `/:a/:b`, `/:a/:b/:c` and we can\n // discard `/:b`, `/:c`, `/:b/:c` by building them up in order and not recursing. This also helps\n // ensure predictability where earlier params have precidence.\n while ((match = /^(\\/\\:[^\\/]+)\\?/.exec(suffix))) {\n prefixes.push((prefix += match[1]));\n suffix = suffix.slice(match[0].length);\n }\n return expandOptionals(suffix).reduce((results, expansion) => [...results, ...prefixes.map(p => p + expansion)], []);\n}\nexport function setFunctionName(obj, value) {\n Object.defineProperty(obj, \"name\", {\n value,\n writable: false,\n configurable: false\n });\n return obj;\n}\n","import { runWithOwner, batch } from \"solid-js\";\nimport { createComponent, createContext, createMemo, createRenderEffect, createSignal, on, onCleanup, untrack, useContext, startTransition, resetErrorBoundaries } from \"solid-js\";\nimport { isServer, getRequestEvent } from \"solid-js/web\";\nimport { createBeforeLeave } from \"./lifecycle.js\";\nimport { mockBase, createMemoObject, extractSearchParams, invariant, resolvePath, createMatcher, joinPaths, scoreRoute, mergeSearchString, expandOptionals } from \"./utils.js\";\nconst MAX_REDIRECTS = 100;\n/** Consider this API opaque and internal. It is likely to change in the future. */\nexport const RouterContextObj = createContext();\nexport const RouteContextObj = createContext();\nexport const useRouter = () => invariant(useContext(RouterContextObj), \" and 'use' router primitives can be only used inside a Route.\");\nlet TempRoute;\nexport const useRoute = () => TempRoute || useContext(RouteContextObj) || useRouter().base;\nexport const useResolvedPath = (path) => {\n const route = useRoute();\n return createMemo(() => route.resolvePath(path()));\n};\nexport const useHref = (to) => {\n const router = useRouter();\n return createMemo(() => {\n const to_ = to();\n return to_ !== undefined ? router.renderPath(to_) : to_;\n });\n};\n/**\n * Retrieves method to do navigation. The method accepts a path to navigate to and an optional object with the following options:\n *\n * - resolve (*boolean*, default `true`): resolve the path against the current route\n * - replace (*boolean*, default `false`): replace the history entry\n * - scroll (*boolean*, default `true`): scroll to top after navigation\n * - state (*any*, default `undefined`): pass custom state to `location.state`\n *\n * **Note**: The state is serialized using the structured clone algorithm which does not support all object types.\n *\n * @example\n * ```js\n * const navigate = useNavigate();\n *\n * if (unauthorized) {\n * navigate(\"/login\", { replace: true });\n * }\n * ```\n */\nexport const useNavigate = () => useRouter().navigatorFactory();\n/**\n * Retrieves reactive `location` object useful for getting things like `pathname`.\n *\n * @example\n * ```js\n * const location = useLocation();\n *\n * const pathname = createMemo(() => parsePath(location.pathname));\n * ```\n */\nexport const useLocation = () => useRouter().location;\n/**\n * Retrieves signal that indicates whether the route is currently in a *Transition*.\n * Useful for showing stale/pending state when the route resolution is *Suspended* during concurrent rendering.\n *\n * @example\n * ```js\n * const isRouting = useIsRouting();\n *\n * return (\n *

          \n * \n *
          \n * );\n * ```\n */\nexport const useIsRouting = () => useRouter().isRouting;\n/**\n * usePreloadRoute returns a function that can be used to preload a route manual.\n * This is what happens automatically with link hovering and similar focus based behavior, but it is available here as an API.\n *\n * @example\n * ```js\n * const preload = usePreloadRoute();\n *\n * preload(`/users/settings`, { preloadData: true });\n * ```\n */\nexport const usePreloadRoute = () => {\n const pre = useRouter().preloadRoute;\n return (url, options = {}) => pre(url instanceof URL ? url : new URL(url, mockBase), options.preloadData);\n};\n/**\n * `useMatch` takes an accessor that returns the path and creates a `Memo` that returns match information if the current path matches the provided path.\n * Useful for determining if a given path matches the current route.\n *\n * @example\n * ```js\n * const match = useMatch(() => props.href);\n *\n * return
          ;\n * ```\n */\nexport const useMatch = (path, matchFilters) => {\n const location = useLocation();\n const matchers = createMemo(() => expandOptionals(path()).map(path => createMatcher(path, undefined, matchFilters)));\n return createMemo(() => {\n for (const matcher of matchers()) {\n const match = matcher(location.pathname);\n if (match)\n return match;\n }\n });\n};\n/**\n * `useCurrentMatches` returns all the matches for the current matched route.\n * Useful for getting all the route information.\n *\n * @example\n * ```js\n * const matches = useCurrentMatches();\n *\n * const breadcrumbs = createMemo(() => matches().map(m => m.route.info.breadcrumb))\n * ```\n */\nexport const useCurrentMatches = () => useRouter().matches;\n/**\n * Retrieves a reactive, store-like object containing the current route path parameters as defined in the Route.\n *\n * @example\n * ```js\n * const params = useParams();\n *\n * // fetch user based on the id path parameter\n * const [user] = createResource(() => params.id, fetchUser);\n * ```\n */\nexport const useParams = () => useRouter().params;\n/**\n * Retrieves a tuple containing a reactive object to read the current location's query parameters and a method to update them.\n * The object is a proxy so you must access properties to subscribe to reactive updates.\n * **Note** that values will be strings and property names will retain their casing.\n *\n * The setter method accepts an object whose entries will be merged into the current query string.\n * Values `''`, `undefined` and `null` will remove the key from the resulting query string.\n * Updates will behave just like a navigation and the setter accepts the same optional second parameter as `navigate` and auto-scrolling is disabled by default.\n *\n * @examples\n * ```js\n * const [searchParams, setSearchParams] = useSearchParams();\n *\n * return (\n *
          \n * Page: {searchParams.page}\n * \n * setSearchParams({ page: (parseInt(searchParams.page) || 0) + 1 })\n * }\n * >\n * Next Page\n * \n *
          \n * );\n * ```\n */\nexport const useSearchParams = () => {\n const location = useLocation();\n const navigate = useNavigate();\n const setSearchParams = (params, options) => {\n const searchString = untrack(() => mergeSearchString(location.search, params) + location.hash);\n navigate(searchString, {\n scroll: false,\n resolve: false,\n ...options\n });\n };\n return [location.query, setSearchParams];\n};\n/**\n * useBeforeLeave takes a function that will be called prior to leaving a route.\n * The function will be called with:\n *\n * - from (*Location*): current location (before change).\n * - to (*string | number*): path passed to `navigate`.\n * - options (*NavigateOptions*): options passed to navigate.\n * - preventDefault (*function*): call to block the route change.\n * - defaultPrevented (*readonly boolean*): `true` if any previously called leave handlers called `preventDefault`.\n * - retry (*function*, force?: boolean ): call to retry the same navigation, perhaps after confirming with the user. Pass `true` to skip running the leave handlers again (i.e. force navigate without confirming).\n *\n * @example\n * ```js\n * useBeforeLeave((e: BeforeLeaveEventArgs) => {\n * if (form.isDirty && !e.defaultPrevented) {\n * // preventDefault to block immediately and prompt user async\n * e.preventDefault();\n * setTimeout(() => {\n * if (window.confirm(\"Discard unsaved changes - are you sure?\")) {\n * // user wants to proceed anyway so retry with force=true\n * e.retry(true);\n * }\n * }, 100);\n * }\n * });\n * ```\n */\nexport const useBeforeLeave = (listener) => {\n const s = useRouter().beforeLeave.subscribe({\n listener,\n location: useLocation(),\n navigate: useNavigate()\n });\n onCleanup(s);\n};\nexport function createRoutes(routeDef, base = \"\") {\n const { component, preload, load, children, info } = routeDef;\n const isLeaf = !children || (Array.isArray(children) && !children.length);\n const shared = {\n key: routeDef,\n component,\n preload: preload || load,\n info\n };\n return asArray(routeDef.path).reduce((acc, originalPath) => {\n for (const expandedPath of expandOptionals(originalPath)) {\n const path = joinPaths(base, expandedPath);\n let pattern = isLeaf ? path : path.split(\"/*\", 1)[0];\n pattern = pattern\n .split(\"/\")\n .map((s) => {\n return s.startsWith(\":\") || s.startsWith(\"*\") ? s : encodeURIComponent(s);\n })\n .join(\"/\");\n acc.push({\n ...shared,\n originalPath,\n pattern,\n matcher: createMatcher(pattern, !isLeaf, routeDef.matchFilters)\n });\n }\n return acc;\n }, []);\n}\nexport function createBranch(routes, index = 0) {\n return {\n routes,\n score: scoreRoute(routes[routes.length - 1]) * 10000 - index,\n matcher(location) {\n const matches = [];\n for (let i = routes.length - 1; i >= 0; i--) {\n const route = routes[i];\n const match = route.matcher(location);\n if (!match) {\n return null;\n }\n matches.unshift({\n ...match,\n route\n });\n }\n return matches;\n }\n };\n}\nfunction asArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function createBranches(routeDef, base = \"\", stack = [], branches = []) {\n const routeDefs = asArray(routeDef);\n for (let i = 0, len = routeDefs.length; i < len; i++) {\n const def = routeDefs[i];\n if (def && typeof def === \"object\") {\n if (!def.hasOwnProperty(\"path\"))\n def.path = \"\";\n const routes = createRoutes(def, base);\n for (const route of routes) {\n stack.push(route);\n const isEmptyArray = Array.isArray(def.children) && def.children.length === 0;\n if (def.children && !isEmptyArray) {\n createBranches(def.children, route.pattern, stack, branches);\n }\n else {\n const branch = createBranch([...stack], branches.length);\n branches.push(branch);\n }\n stack.pop();\n }\n }\n }\n // Stack will be empty on final return\n return stack.length ? branches : branches.sort((a, b) => b.score - a.score);\n}\nexport function getRouteMatches(branches, location) {\n for (let i = 0, len = branches.length; i < len; i++) {\n const match = branches[i].matcher(location);\n if (match) {\n return match;\n }\n }\n return [];\n}\nfunction createLocation(path, state, queryWrapper) {\n const origin = new URL(mockBase);\n const url = createMemo(prev => {\n const path_ = path();\n try {\n return new URL(path_, origin);\n }\n catch (err) {\n console.error(`Invalid path ${path_}`);\n return prev;\n }\n }, origin, {\n equals: (a, b) => a.href === b.href\n });\n const pathname = createMemo(() => url().pathname);\n const search = createMemo(() => url().search, true);\n const hash = createMemo(() => url().hash);\n const key = () => \"\";\n const queryFn = on(search, () => extractSearchParams(url()));\n return {\n get pathname() {\n return pathname();\n },\n get search() {\n return search();\n },\n get hash() {\n return hash();\n },\n get state() {\n return state();\n },\n get key() {\n return key();\n },\n query: queryWrapper ? queryWrapper(queryFn) : createMemoObject(queryFn)\n };\n}\nlet intent;\nexport function getIntent() {\n return intent;\n}\nlet inPreloadFn = false;\nexport function getInPreloadFn() {\n return inPreloadFn;\n}\nexport function setInPreloadFn(value) {\n inPreloadFn = value;\n}\nexport function createRouterContext(integration, branches, getContext, options = {}) {\n const { signal: [source, setSource], utils = {} } = integration;\n const parsePath = utils.parsePath || (p => p);\n const renderPath = utils.renderPath || (p => p);\n const beforeLeave = utils.beforeLeave || createBeforeLeave();\n const basePath = resolvePath(\"\", options.base || \"\");\n if (basePath === undefined) {\n throw new Error(`${basePath} is not a valid base path`);\n }\n else if (basePath && !source().value) {\n setSource({ value: basePath, replace: true, scroll: false });\n }\n const [isRouting, setIsRouting] = createSignal(false);\n // Keep track of last target, so that last call to transition wins\n let lastTransitionTarget;\n // Transition the location to a new value\n const transition = (newIntent, newTarget) => {\n if (newTarget.value === reference() && newTarget.state === state())\n return;\n if (lastTransitionTarget === undefined)\n setIsRouting(true);\n intent = newIntent;\n lastTransitionTarget = newTarget;\n startTransition(() => {\n if (lastTransitionTarget !== newTarget)\n return;\n setReference(lastTransitionTarget.value);\n setState(lastTransitionTarget.state);\n resetErrorBoundaries();\n if (!isServer)\n submissions[1](subs => subs.filter(s => s.pending));\n }).finally(() => {\n if (lastTransitionTarget !== newTarget)\n return;\n // Batch, in order for isRouting and final source update to happen together\n batch(() => {\n intent = undefined;\n if (newIntent === \"navigate\")\n navigateEnd(lastTransitionTarget);\n setIsRouting(false);\n lastTransitionTarget = undefined;\n });\n });\n };\n const [reference, setReference] = createSignal(source().value);\n const [state, setState] = createSignal(source().state);\n const location = createLocation(reference, state, utils.queryWrapper);\n const referrers = [];\n const submissions = createSignal(isServer ? initFromFlash() : []);\n const matches = createMemo(() => {\n if (typeof options.transformUrl === \"function\") {\n return getRouteMatches(branches(), options.transformUrl(location.pathname));\n }\n return getRouteMatches(branches(), location.pathname);\n });\n const buildParams = () => {\n const m = matches();\n const params = {};\n for (let i = 0; i < m.length; i++) {\n Object.assign(params, m[i].params);\n }\n return params;\n };\n const params = utils.paramsWrapper\n ? utils.paramsWrapper(buildParams, branches)\n : createMemoObject(buildParams);\n const baseRoute = {\n pattern: basePath,\n path: () => basePath,\n outlet: () => null,\n resolvePath(to) {\n return resolvePath(basePath, to);\n }\n };\n // Create a native transition, when source updates\n createRenderEffect(on(source, source => transition(\"native\", source), { defer: true }));\n return {\n base: baseRoute,\n location,\n params,\n isRouting,\n renderPath,\n parsePath,\n navigatorFactory,\n matches,\n beforeLeave,\n preloadRoute,\n singleFlight: options.singleFlight === undefined ? true : options.singleFlight,\n submissions\n };\n function navigateFromRoute(route, to, options) {\n // Untrack in case someone navigates in an effect - don't want to track `reference` or route paths\n untrack(() => {\n if (typeof to === \"number\") {\n if (!to) {\n // A delta of 0 means stay at the current location, so it is ignored\n }\n else if (utils.go) {\n utils.go(to);\n }\n else {\n console.warn(\"Router integration does not support relative routing\");\n }\n return;\n }\n const queryOnly = !to || to[0] === \"?\";\n const { replace, resolve, scroll, state: nextState } = {\n replace: false,\n resolve: !queryOnly,\n scroll: true,\n ...options\n };\n const resolvedTo = resolve\n ? route.resolvePath(to)\n : resolvePath((queryOnly && location.pathname) || \"\", to);\n if (resolvedTo === undefined) {\n throw new Error(`Path '${to}' is not a routable path`);\n }\n else if (referrers.length >= MAX_REDIRECTS) {\n throw new Error(\"Too many redirects\");\n }\n const current = reference();\n if (resolvedTo !== current || nextState !== state()) {\n if (isServer) {\n const e = getRequestEvent();\n e && (e.response = { status: 302, headers: new Headers({ Location: resolvedTo }) });\n setSource({ value: resolvedTo, replace, scroll, state: nextState });\n }\n else if (beforeLeave.confirm(resolvedTo, options)) {\n referrers.push({ value: current, replace, scroll, state: state() });\n transition(\"navigate\", {\n value: resolvedTo,\n state: nextState\n });\n }\n }\n });\n }\n function navigatorFactory(route) {\n // Workaround for vite issue (https://github.com/vitejs/vite/issues/3803)\n route = route || useContext(RouteContextObj) || baseRoute;\n return (to, options) => navigateFromRoute(route, to, options);\n }\n function navigateEnd(next) {\n const first = referrers[0];\n if (first) {\n setSource({\n ...next,\n replace: first.replace,\n scroll: first.scroll\n });\n referrers.length = 0;\n }\n }\n function preloadRoute(url, preloadData) {\n const matches = getRouteMatches(branches(), url.pathname);\n const prevIntent = intent;\n intent = \"preload\";\n for (let match in matches) {\n const { route, params } = matches[match];\n route.component &&\n route.component.preload &&\n route.component.preload();\n const { preload } = route;\n inPreloadFn = true;\n preloadData &&\n preload &&\n runWithOwner(getContext(), () => preload({\n params,\n location: {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n query: extractSearchParams(url),\n state: null,\n key: \"\"\n },\n intent: \"preload\"\n }));\n inPreloadFn = false;\n }\n intent = prevIntent;\n }\n function initFromFlash() {\n const e = getRequestEvent();\n return (e && e.router && e.router.submission ? [e.router.submission] : []);\n }\n}\nexport function createRouteContext(router, parent, outlet, match) {\n const { base, location, params } = router;\n const { pattern, component, preload } = match().route;\n const path = createMemo(() => match().path);\n component &&\n component.preload &&\n component.preload();\n inPreloadFn = true;\n const data = preload ? preload({ params, location, intent: intent || \"initial\" }) : undefined;\n inPreloadFn = false;\n const route = {\n parent,\n pattern,\n path,\n outlet: () => component\n ? createComponent(component, {\n params,\n location,\n data,\n get children() {\n return outlet();\n }\n })\n : outlet(),\n resolvePath(to) {\n return resolvePath(base.path(), to, path());\n }\n };\n return route;\n}\n","/*@refresh skip*/\nimport { children, createMemo, createRoot, getOwner, mergeProps, on, Show, untrack } from \"solid-js\";\nimport { getRequestEvent, isServer } from \"solid-js/web\";\nimport { createBranches, createRouteContext, createRouterContext, getIntent, getRouteMatches, RouteContextObj, RouterContextObj, setInPreloadFn } from \"../routing.js\";\nexport const createRouterComponent = (router) => (props) => {\n const { base } = props;\n const routeDefs = children(() => props.children);\n const branches = createMemo(() => createBranches(routeDefs(), props.base || \"\"));\n let context;\n const routerState = createRouterContext(router, branches, () => context, {\n base,\n singleFlight: props.singleFlight,\n transformUrl: props.transformUrl,\n });\n router.create && router.create(routerState);\n return (\n \n {(context = getOwner()) && null}\n \n \n );\n};\nfunction Root(props) {\n const location = props.routerState.location;\n const params = props.routerState.params;\n const data = createMemo(() => props.preload &&\n untrack(() => {\n setInPreloadFn(true);\n props.preload({ params, location, intent: getIntent() || \"initial\" });\n setInPreloadFn(false);\n }));\n return (\n {Root => (\n {props.children}\n )}\n );\n}\nfunction Routes(props) {\n if (isServer) {\n const e = getRequestEvent();\n if (e && e.router && e.router.dataOnly) {\n dataOnly(e, props.routerState, props.branches);\n return;\n }\n e &&\n ((e.router || (e.router = {})).matches ||\n (e.router.matches = props.routerState.matches().map(({ route, path, params }) => ({\n path: route.originalPath,\n pattern: route.pattern,\n match: path,\n params,\n info: route.info\n }))));\n }\n const disposers = [];\n let root;\n const routeStates = createMemo(on(props.routerState.matches, (nextMatches, prevMatches, prev) => {\n let equal = prevMatches && nextMatches.length === prevMatches.length;\n const next = [];\n for (let i = 0, len = nextMatches.length; i < len; i++) {\n const prevMatch = prevMatches && prevMatches[i];\n const nextMatch = nextMatches[i];\n if (prev && prevMatch && nextMatch.route.key === prevMatch.route.key) {\n next[i] = prev[i];\n }\n else {\n equal = false;\n if (disposers[i]) {\n disposers[i]();\n }\n createRoot(dispose => {\n disposers[i] = dispose;\n next[i] = createRouteContext(props.routerState, next[i - 1] || props.routerState.base, createOutlet(() => routeStates()[i + 1]), () => {\n const routeMatches = props.routerState.matches();\n return routeMatches[i] ?? routeMatches[0];\n });\n });\n }\n }\n disposers.splice(nextMatches.length).forEach(dispose => dispose());\n if (prev && equal) {\n return prev;\n }\n root = next[0];\n return next;\n }));\n return createOutlet(() => routeStates() && root)();\n}\nconst createOutlet = (child) => {\n return () => (\n {child => {child.outlet()}}\n );\n};\nexport const Route = (props) => {\n const childRoutes = children(() => props.children);\n return mergeProps(props, {\n get children() {\n return childRoutes();\n }\n });\n};\n// for data only mode with single flight mutations\nfunction dataOnly(event, routerState, branches) {\n const url = new URL(event.request.url);\n const prevMatches = getRouteMatches(branches, new URL(event.router.previousUrl || event.request.url).pathname);\n const matches = getRouteMatches(branches, url.pathname);\n for (let match = 0; match < matches.length; match++) {\n if (!prevMatches[match] || matches[match].route !== prevMatches[match].route)\n event.router.dataOnly = true;\n const { route, params } = matches[match];\n route.preload &&\n route.preload({\n params,\n location: routerState.location,\n intent: \"preload\"\n });\n }\n}\n","import { createSignal, onCleanup, sharedConfig } from \"solid-js\";\nimport { createRouterComponent } from \"./components.jsx\";\nfunction intercept([value, setValue], get, set) {\n return [get ? () => get(value()) : value, set ? (v) => setValue(set(v)) : setValue];\n}\nexport function createRouter(config) {\n let ignore = false;\n const wrap = (value) => (typeof value === \"string\" ? { value } : value);\n const signal = intercept(createSignal(wrap(config.get()), {\n equals: (a, b) => a.value === b.value && a.state === b.state\n }), undefined, next => {\n !ignore && config.set(next);\n if (sharedConfig.registry && !sharedConfig.done)\n sharedConfig.done = true;\n return next;\n });\n config.init &&\n onCleanup(config.init((value = config.get()) => {\n ignore = true;\n signal[1](wrap(value));\n ignore = false;\n }));\n return createRouterComponent({\n signal,\n create: config.create,\n utils: config.utils\n });\n}\nexport function bindEvent(target, type, handler) {\n target.addEventListener(type, handler);\n return () => target.removeEventListener(type, handler);\n}\nexport function scrollToHash(hash, fallbackTop) {\n const el = hash && document.getElementById(hash);\n if (el) {\n el.scrollIntoView();\n }\n else if (fallbackTop) {\n window.scrollTo(0, 0);\n }\n}\n","import { $TRACK, createMemo, createSignal, onCleanup, getOwner } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport { useRouter } from \"../routing.js\";\nimport { mockBase, setFunctionName } from \"../utils.js\";\nimport { cacheKeyOp, hashKey, revalidate, query } from \"./query.js\";\nexport const actions = /* #__PURE__ */ new Map();\nexport function useSubmissions(fn, filter) {\n const router = useRouter();\n const subs = createMemo(() => router.submissions[0]().filter(s => s.url === fn.base && (!filter || filter(s.input))));\n return new Proxy([], {\n get(_, property) {\n if (property === $TRACK)\n return subs();\n if (property === \"pending\")\n return subs().some(sub => !sub.result);\n return subs()[property];\n },\n has(_, property) {\n return property in subs();\n }\n });\n}\nexport function useSubmission(fn, filter) {\n const submissions = useSubmissions(fn, filter);\n return new Proxy({}, {\n get(_, property) {\n if ((submissions.length === 0 && property === \"clear\") || property === \"retry\")\n return () => { };\n return submissions[submissions.length - 1]?.[property];\n }\n });\n}\nexport function useAction(action) {\n const r = useRouter();\n return (...args) => action.apply({ r }, args);\n}\nexport function action(fn, options = {}) {\n function mutate(...variables) {\n const router = this.r;\n const form = this.f;\n const p = (router.singleFlight && fn.withOptions\n ? fn.withOptions({ headers: { \"X-Single-Flight\": \"true\" } })\n : fn)(...variables);\n const [result, setResult] = createSignal();\n let submission;\n function handler(error) {\n return async (res) => {\n const result = await handleResponse(res, error, router.navigatorFactory());\n let retry = null;\n o.onComplete?.({\n ...submission,\n result: result?.data,\n error: result?.error,\n pending: false,\n retry() {\n return (retry = submission.retry());\n }\n });\n if (retry)\n return retry;\n if (!result)\n return submission.clear();\n setResult(result);\n if (result.error && !form)\n throw result.error;\n return result.data;\n };\n }\n router.submissions[1](s => [\n ...s,\n (submission = {\n input: variables,\n url,\n get result() {\n return result()?.data;\n },\n get error() {\n return result()?.error;\n },\n get pending() {\n return !result();\n },\n clear() {\n router.submissions[1](v => v.filter(i => i !== submission));\n },\n retry() {\n setResult(undefined);\n const p = fn(...variables);\n return p.then(handler(), handler(true));\n }\n })\n ]);\n return p.then(handler(), handler(true));\n }\n const o = typeof options === \"string\" ? { name: options } : options;\n const name = o.name || (!isServer ? String(hashString(fn.toString())) : undefined);\n const url = fn.url || (name && `https://action/${name}`) || \"\";\n mutate.base = url;\n if (name)\n setFunctionName(mutate, name);\n return toAction(mutate, url);\n}\nfunction toAction(fn, url) {\n fn.toString = () => {\n if (!url)\n throw new Error(\"Client Actions need explicit names if server rendered\");\n return url;\n };\n fn.with = function (...args) {\n const newFn = function (...passedArgs) {\n return fn.call(this, ...args, ...passedArgs);\n };\n newFn.base = fn.base;\n const uri = new URL(url, mockBase);\n uri.searchParams.set(\"args\", hashKey(args));\n return toAction(newFn, (uri.origin === \"https://action\" ? uri.origin : \"\") + uri.pathname + uri.search);\n };\n fn.url = url;\n if (!isServer) {\n actions.set(url, fn);\n getOwner() && onCleanup(() => actions.delete(url));\n }\n return fn;\n}\nconst hashString = (s) => s.split(\"\").reduce((a, b) => ((a << 5) - a + b.charCodeAt(0)) | 0, 0);\nasync function handleResponse(response, error, navigate) {\n let data;\n let custom;\n let keys;\n let flightKeys;\n if (response instanceof Response) {\n if (response.headers.has(\"X-Revalidate\"))\n keys = response.headers.get(\"X-Revalidate\").split(\",\");\n if (response.customBody) {\n data = custom = await response.customBody();\n if (response.headers.has(\"X-Single-Flight\")) {\n data = data._$value;\n delete custom._$value;\n flightKeys = Object.keys(custom);\n }\n }\n if (response.headers.has(\"Location\")) {\n const locationUrl = response.headers.get(\"Location\") || \"/\";\n if (locationUrl.startsWith(\"http\")) {\n window.location.href = locationUrl;\n }\n else {\n navigate(locationUrl);\n }\n }\n }\n else if (error)\n return { error: response };\n else\n data = response;\n // invalidate\n cacheKeyOp(keys, entry => (entry[0] = 0));\n // set cache\n flightKeys && flightKeys.forEach(k => query.set(k, custom[k]));\n // trigger revalidation\n await revalidate(keys, false);\n return data != null ? { data } : undefined;\n}\n","import { delegateEvents } from \"solid-js/web\";\nimport { onCleanup } from \"solid-js\";\nimport { actions } from \"./action.js\";\nimport { mockBase } from \"../utils.js\";\nexport function setupNativeEvents({ preload = true, explicitLinks = false, actionBase = \"/_server\", transformUrl } = {}) {\n return (router) => {\n const basePath = router.base.path();\n const navigateFromRoute = router.navigatorFactory(router.base);\n let preloadTimeout;\n let lastElement;\n function isSvg(el) {\n return el.namespaceURI === \"http://www.w3.org/2000/svg\";\n }\n function handleAnchor(evt) {\n if (evt.defaultPrevented ||\n evt.button !== 0 ||\n evt.metaKey ||\n evt.altKey ||\n evt.ctrlKey ||\n evt.shiftKey)\n return;\n const a = evt\n .composedPath()\n .find(el => el instanceof Node && el.nodeName.toUpperCase() === \"A\");\n if (!a || (explicitLinks && !a.hasAttribute(\"link\")))\n return;\n const svg = isSvg(a);\n const href = svg ? a.href.baseVal : a.href;\n const target = svg ? a.target.baseVal : a.target;\n if (target || (!href && !a.hasAttribute(\"state\")))\n return;\n const rel = (a.getAttribute(\"rel\") || \"\").split(/\\s+/);\n if (a.hasAttribute(\"download\") || (rel && rel.includes(\"external\")))\n return;\n const url = svg ? new URL(href, document.baseURI) : new URL(href);\n if (url.origin !== window.location.origin ||\n (basePath && url.pathname && !url.pathname.toLowerCase().startsWith(basePath.toLowerCase())))\n return;\n return [a, url];\n }\n function handleAnchorClick(evt) {\n const res = handleAnchor(evt);\n if (!res)\n return;\n const [a, url] = res;\n const to = router.parsePath(url.pathname + url.search + url.hash);\n const state = a.getAttribute(\"state\");\n evt.preventDefault();\n navigateFromRoute(to, {\n resolve: false,\n replace: a.hasAttribute(\"replace\"),\n scroll: !a.hasAttribute(\"noscroll\"),\n state: state ? JSON.parse(state) : undefined\n });\n }\n function handleAnchorPreload(evt) {\n const res = handleAnchor(evt);\n if (!res)\n return;\n const [a, url] = res;\n transformUrl && (url.pathname = transformUrl(url.pathname));\n router.preloadRoute(url, a.getAttribute(\"preload\") !== \"false\");\n }\n function handleAnchorMove(evt) {\n clearTimeout(preloadTimeout);\n const res = handleAnchor(evt);\n if (!res)\n return (lastElement = null);\n const [a, url] = res;\n if (lastElement === a)\n return;\n transformUrl && (url.pathname = transformUrl(url.pathname));\n preloadTimeout = setTimeout(() => {\n router.preloadRoute(url, a.getAttribute(\"preload\") !== \"false\");\n lastElement = a;\n }, 20);\n }\n function handleFormSubmit(evt) {\n if (evt.defaultPrevented)\n return;\n let actionRef = evt.submitter && evt.submitter.hasAttribute(\"formaction\")\n ? evt.submitter.getAttribute(\"formaction\")\n : evt.target.getAttribute(\"action\");\n if (!actionRef)\n return;\n if (!actionRef.startsWith(\"https://action/\")) {\n // normalize server actions\n const url = new URL(actionRef, mockBase);\n actionRef = router.parsePath(url.pathname + url.search);\n if (!actionRef.startsWith(actionBase))\n return;\n }\n if (evt.target.method.toUpperCase() !== \"POST\")\n throw new Error(\"Only POST forms are supported for Actions\");\n const handler = actions.get(actionRef);\n if (handler) {\n evt.preventDefault();\n const data = new FormData(evt.target, evt.submitter);\n handler.call({ r: router, f: evt.target }, evt.target.enctype === \"multipart/form-data\"\n ? data\n : new URLSearchParams(data));\n }\n }\n // ensure delegated event run first\n delegateEvents([\"click\", \"submit\"]);\n document.addEventListener(\"click\", handleAnchorClick);\n if (preload) {\n document.addEventListener(\"mousemove\", handleAnchorMove, { passive: true });\n document.addEventListener(\"focusin\", handleAnchorPreload, { passive: true });\n document.addEventListener(\"touchstart\", handleAnchorPreload, { passive: true });\n }\n document.addEventListener(\"submit\", handleFormSubmit);\n onCleanup(() => {\n document.removeEventListener(\"click\", handleAnchorClick);\n if (preload) {\n document.removeEventListener(\"mousemove\", handleAnchorMove);\n document.removeEventListener(\"focusin\", handleAnchorPreload);\n document.removeEventListener(\"touchstart\", handleAnchorPreload);\n }\n document.removeEventListener(\"submit\", handleFormSubmit);\n });\n };\n}\n","import { isServer } from \"solid-js/web\";\nimport { createRouter, scrollToHash, bindEvent } from \"./createRouter.js\";\nimport { StaticRouter } from \"./StaticRouter.js\";\nimport { setupNativeEvents } from \"../data/events.js\";\nimport { createBeforeLeave, keepDepth, notifyIfNotBlocked, saveCurrentDepth } from \"../lifecycle.js\";\nexport function Router(props) {\n if (isServer)\n return StaticRouter(props);\n const getSource = () => {\n const url = window.location.pathname.replace(/^\\/+/, \"/\") + window.location.search;\n const state = window.history.state && window.history.state._depth && Object.keys(window.history.state).length === 1 ? undefined : window.history.state;\n return {\n value: url + window.location.hash,\n state\n };\n };\n const beforeLeave = createBeforeLeave();\n return createRouter({\n get: getSource,\n set({ value, replace, scroll, state }) {\n if (replace) {\n window.history.replaceState(keepDepth(state), \"\", value);\n }\n else {\n window.history.pushState(state, \"\", value);\n }\n scrollToHash(decodeURIComponent(window.location.hash.slice(1)), scroll);\n saveCurrentDepth();\n },\n init: notify => bindEvent(window, \"popstate\", notifyIfNotBlocked(notify, delta => {\n if (delta) {\n return !beforeLeave.confirm(delta);\n }\n else {\n const s = getSource();\n return !beforeLeave.confirm(s.value, { state: s.state });\n }\n })),\n create: setupNativeEvents({ preload: props.preload, explicitLinks: props.explicitLinks, actionBase: props.actionBase, transformUrl: props.transformUrl }),\n utils: {\n go: delta => window.history.go(delta),\n beforeLeave\n }\n })(props);\n}\n","import { createMemo, mergeProps, splitProps } from \"solid-js\";\nimport { useHref, useLocation, useNavigate, useResolvedPath } from \"./routing.js\";\nimport { normalizePath } from \"./utils.js\";\nexport function A(props) {\n props = mergeProps({ inactiveClass: \"inactive\", activeClass: \"active\" }, props);\n const [, rest] = splitProps(props, [\n \"href\",\n \"state\",\n \"class\",\n \"activeClass\",\n \"inactiveClass\",\n \"end\"\n ]);\n const to = useResolvedPath(() => props.href);\n const href = useHref(to);\n const location = useLocation();\n const isActive = createMemo(() => {\n const to_ = to();\n if (to_ === undefined)\n return [false, false];\n const path = normalizePath(to_.split(/[?#]/, 1)[0]).toLowerCase();\n const loc = decodeURI(normalizePath(location.pathname).toLowerCase());\n return [props.end ? path === loc : loc.startsWith(path + \"/\") || loc === path, path === loc];\n });\n return (
          );\n}\nexport function Navigate(props) {\n const navigate = useNavigate();\n const location = useLocation();\n const { href, state } = props;\n const path = typeof href === \"function\" ? href({ navigate, location }) : href;\n navigate(path, { replace: true, state });\n return null;\n}\n","import { $PROXY, DEV as DEV$1, batch, $TRACK, getListener, createSignal } from 'solid-js';\n\nconst $RAW = Symbol(\"store-raw\"),\n $NODE = Symbol(\"store-node\"),\n $HAS = Symbol(\"store-has\"),\n $SELF = Symbol(\"store-self\");\nconst DevHooks = {\n onStoreNodeUpdate: null\n};\nfunction wrap$1(value) {\n let p = value[$PROXY];\n if (!p) {\n Object.defineProperty(value, $PROXY, {\n value: p = new Proxy(value, proxyTraps$1)\n });\n if (!Array.isArray(value)) {\n const keys = Object.keys(value),\n desc = Object.getOwnPropertyDescriptors(value);\n for (let i = 0, l = keys.length; i < l; i++) {\n const prop = keys[i];\n if (desc[prop].get) {\n Object.defineProperty(value, prop, {\n enumerable: desc[prop].enumerable,\n get: desc[prop].get.bind(p)\n });\n }\n }\n }\n }\n return p;\n}\nfunction isWrappable(obj) {\n let proto;\n return obj != null && typeof obj === \"object\" && (obj[$PROXY] || !(proto = Object.getPrototypeOf(obj)) || proto === Object.prototype || Array.isArray(obj));\n}\nfunction unwrap(item, set = new Set()) {\n let result, unwrapped, v, prop;\n if (result = item != null && item[$RAW]) return result;\n if (!isWrappable(item) || set.has(item)) return item;\n if (Array.isArray(item)) {\n if (Object.isFrozen(item)) item = item.slice(0);else set.add(item);\n for (let i = 0, l = item.length; i < l; i++) {\n v = item[i];\n if ((unwrapped = unwrap(v, set)) !== v) item[i] = unwrapped;\n }\n } else {\n if (Object.isFrozen(item)) item = Object.assign({}, item);else set.add(item);\n const keys = Object.keys(item),\n desc = Object.getOwnPropertyDescriptors(item);\n for (let i = 0, l = keys.length; i < l; i++) {\n prop = keys[i];\n if (desc[prop].get) continue;\n v = item[prop];\n if ((unwrapped = unwrap(v, set)) !== v) item[prop] = unwrapped;\n }\n }\n return item;\n}\nfunction getNodes(target, symbol) {\n let nodes = target[symbol];\n if (!nodes) Object.defineProperty(target, symbol, {\n value: nodes = Object.create(null)\n });\n return nodes;\n}\nfunction getNode(nodes, property, value) {\n if (nodes[property]) return nodes[property];\n const [s, set] = createSignal(value, {\n equals: false,\n internal: true\n });\n s.$ = set;\n return nodes[property] = s;\n}\nfunction proxyDescriptor$1(target, property) {\n const desc = Reflect.getOwnPropertyDescriptor(target, property);\n if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE) return desc;\n delete desc.value;\n delete desc.writable;\n desc.get = () => target[$PROXY][property];\n return desc;\n}\nfunction trackSelf(target) {\n getListener() && getNode(getNodes(target, $NODE), $SELF)();\n}\nfunction ownKeys(target) {\n trackSelf(target);\n return Reflect.ownKeys(target);\n}\nconst proxyTraps$1 = {\n get(target, property, receiver) {\n if (property === $RAW) return target;\n if (property === $PROXY) return receiver;\n if (property === $TRACK) {\n trackSelf(target);\n return receiver;\n }\n const nodes = getNodes(target, $NODE);\n const tracked = nodes[property];\n let value = tracked ? tracked() : target[property];\n if (property === $NODE || property === $HAS || property === \"__proto__\") return value;\n if (!tracked) {\n const desc = Object.getOwnPropertyDescriptor(target, property);\n if (getListener() && (typeof value !== \"function\" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();\n }\n return isWrappable(value) ? wrap$1(value) : value;\n },\n has(target, property) {\n if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === $HAS || property === \"__proto__\") return true;\n getListener() && getNode(getNodes(target, $HAS), property)();\n return property in target;\n },\n set() {\n console.warn(\"Cannot mutate a Store directly\");\n return true;\n },\n deleteProperty() {\n console.warn(\"Cannot mutate a Store directly\");\n return true;\n },\n ownKeys: ownKeys,\n getOwnPropertyDescriptor: proxyDescriptor$1\n};\nfunction setProperty(state, property, value, deleting = false) {\n if (!deleting && state[property] === value) return;\n const prev = state[property],\n len = state.length;\n DevHooks.onStoreNodeUpdate && DevHooks.onStoreNodeUpdate(state, property, value, prev);\n if (value === undefined) {\n delete state[property];\n if (state[$HAS] && state[$HAS][property] && prev !== undefined) state[$HAS][property].$();\n } else {\n state[property] = value;\n if (state[$HAS] && state[$HAS][property] && prev === undefined) state[$HAS][property].$();\n }\n let nodes = getNodes(state, $NODE),\n node;\n if (node = getNode(nodes, property, prev)) node.$(() => value);\n if (Array.isArray(state) && state.length !== len) {\n for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();\n (node = getNode(nodes, \"length\", len)) && node.$(state.length);\n }\n (node = nodes[$SELF]) && node.$();\n}\nfunction mergeStoreNode(state, value) {\n const keys = Object.keys(value);\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i];\n setProperty(state, key, value[key]);\n }\n}\nfunction updateArray(current, next) {\n if (typeof next === \"function\") next = next(current);\n next = unwrap(next);\n if (Array.isArray(next)) {\n if (current === next) return;\n let i = 0,\n len = next.length;\n for (; i < len; i++) {\n const value = next[i];\n if (current[i] !== value) setProperty(current, i, value);\n }\n setProperty(current, \"length\", len);\n } else mergeStoreNode(current, next);\n}\nfunction updatePath(current, path, traversed = []) {\n let part,\n prev = current;\n if (path.length > 1) {\n part = path.shift();\n const partType = typeof part,\n isArray = Array.isArray(current);\n if (Array.isArray(part)) {\n for (let i = 0; i < part.length; i++) {\n updatePath(current, [part[i]].concat(path), traversed);\n }\n return;\n } else if (isArray && partType === \"function\") {\n for (let i = 0; i < current.length; i++) {\n if (part(current[i], i)) updatePath(current, [i].concat(path), traversed);\n }\n return;\n } else if (isArray && partType === \"object\") {\n const {\n from = 0,\n to = current.length - 1,\n by = 1\n } = part;\n for (let i = from; i <= to; i += by) {\n updatePath(current, [i].concat(path), traversed);\n }\n return;\n } else if (path.length > 1) {\n updatePath(current[part], path, [part].concat(traversed));\n return;\n }\n prev = current[part];\n traversed = [part].concat(traversed);\n }\n let value = path[0];\n if (typeof value === \"function\") {\n value = value(prev, traversed);\n if (value === prev) return;\n }\n if (part === undefined && value == undefined) return;\n value = unwrap(value);\n if (part === undefined || isWrappable(prev) && isWrappable(value) && !Array.isArray(value)) {\n mergeStoreNode(prev, value);\n } else setProperty(current, part, value);\n}\nfunction createStore(...[store, options]) {\n const unwrappedStore = unwrap(store || {});\n const isArray = Array.isArray(unwrappedStore);\n if (typeof unwrappedStore !== \"object\" && typeof unwrappedStore !== \"function\") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createStore'. Expected an object.`);\n const wrappedStore = wrap$1(unwrappedStore);\n DEV$1.registerGraph({\n value: unwrappedStore,\n name: options && options.name\n });\n function setStore(...args) {\n batch(() => {\n isArray && args.length === 1 ? updateArray(unwrappedStore, args[0]) : updatePath(unwrappedStore, args);\n });\n }\n return [wrappedStore, setStore];\n}\n\nfunction proxyDescriptor(target, property) {\n const desc = Reflect.getOwnPropertyDescriptor(target, property);\n if (!desc || desc.get || desc.set || !desc.configurable || property === $PROXY || property === $NODE) return desc;\n delete desc.value;\n delete desc.writable;\n desc.get = () => target[$PROXY][property];\n desc.set = v => target[$PROXY][property] = v;\n return desc;\n}\nconst proxyTraps = {\n get(target, property, receiver) {\n if (property === $RAW) return target;\n if (property === $PROXY) return receiver;\n if (property === $TRACK) {\n trackSelf(target);\n return receiver;\n }\n const nodes = getNodes(target, $NODE);\n const tracked = nodes[property];\n let value = tracked ? tracked() : target[property];\n if (property === $NODE || property === $HAS || property === \"__proto__\") return value;\n if (!tracked) {\n const desc = Object.getOwnPropertyDescriptor(target, property);\n const isFunction = typeof value === \"function\";\n if (getListener() && (!isFunction || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();else if (value != null && isFunction && value === Array.prototype[property]) {\n return (...args) => batch(() => Array.prototype[property].apply(receiver, args));\n }\n }\n return isWrappable(value) ? wrap(value) : value;\n },\n has(target, property) {\n if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === $HAS || property === \"__proto__\") return true;\n getListener() && getNode(getNodes(target, $HAS), property)();\n return property in target;\n },\n set(target, property, value) {\n batch(() => setProperty(target, property, unwrap(value)));\n return true;\n },\n deleteProperty(target, property) {\n batch(() => setProperty(target, property, undefined, true));\n return true;\n },\n ownKeys: ownKeys,\n getOwnPropertyDescriptor: proxyDescriptor\n};\nfunction wrap(value) {\n let p = value[$PROXY];\n if (!p) {\n Object.defineProperty(value, $PROXY, {\n value: p = new Proxy(value, proxyTraps)\n });\n const keys = Object.keys(value),\n desc = Object.getOwnPropertyDescriptors(value);\n const proto = Object.getPrototypeOf(value);\n const isClass = proto !== null && value !== null && typeof value === \"object\" && !Array.isArray(value) && proto !== Object.prototype;\n if (isClass) {\n let curProto = proto;\n while (curProto != null) {\n const descriptors = Object.getOwnPropertyDescriptors(curProto);\n keys.push(...Object.keys(descriptors));\n Object.assign(desc, descriptors);\n curProto = Object.getPrototypeOf(curProto);\n }\n }\n for (let i = 0, l = keys.length; i < l; i++) {\n const prop = keys[i];\n if (isClass && prop === \"constructor\") continue;\n if (desc[prop].get) {\n const get = desc[prop].get.bind(p);\n Object.defineProperty(value, prop, {\n get,\n configurable: true\n });\n }\n if (desc[prop].set) {\n const og = desc[prop].set,\n set = v => batch(() => og.call(p, v));\n Object.defineProperty(value, prop, {\n set,\n configurable: true\n });\n }\n }\n }\n return p;\n}\nfunction createMutable(state, options) {\n const unwrappedStore = unwrap(state || {});\n if (typeof unwrappedStore !== \"object\" && typeof unwrappedStore !== \"function\") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createMutable'. Expected an object.`);\n const wrappedStore = wrap(unwrappedStore);\n DEV$1.registerGraph({\n value: unwrappedStore,\n name: options && options.name\n });\n return wrappedStore;\n}\nfunction modifyMutable(state, modifier) {\n batch(() => modifier(unwrap(state)));\n}\n\nconst $ROOT = Symbol(\"store-root\");\nfunction applyState(target, parent, property, merge, key) {\n const previous = parent[property];\n if (target === previous) return;\n const isArray = Array.isArray(target);\n if (property !== $ROOT && (!isWrappable(target) || !isWrappable(previous) || isArray !== Array.isArray(previous) || key && target[key] !== previous[key])) {\n setProperty(parent, property, target);\n return;\n }\n if (isArray) {\n if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {\n let i, j, start, end, newEnd, item, newIndicesNext, keyVal;\n for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start] && target[start] && previous[start][key] && previous[start][key] === target[start][key]); start++) {\n applyState(target[start], previous, start, merge, key);\n }\n const temp = new Array(target.length),\n newIndices = new Map();\n for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[end] && target[newEnd] && previous[end][key] && previous[end][key] === target[newEnd][key]); end--, newEnd--) {\n temp[newEnd] = previous[end];\n }\n if (start > newEnd || start > end) {\n for (j = start; j <= newEnd; j++) setProperty(previous, j, target[j]);\n for (; j < target.length; j++) {\n setProperty(previous, j, temp[j]);\n applyState(target[j], previous, j, merge, key);\n }\n if (previous.length > target.length) setProperty(previous, \"length\", target.length);\n return;\n }\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = target[j];\n keyVal = key && item ? item[key] : item;\n i = newIndices.get(keyVal);\n newIndicesNext[j] = i === undefined ? -1 : i;\n newIndices.set(keyVal, j);\n }\n for (i = start; i <= end; i++) {\n item = previous[i];\n keyVal = key && item ? item[key] : item;\n j = newIndices.get(keyVal);\n if (j !== undefined && j !== -1) {\n temp[j] = previous[i];\n j = newIndicesNext[j];\n newIndices.set(keyVal, j);\n }\n }\n for (j = start; j < target.length; j++) {\n if (j in temp) {\n setProperty(previous, j, temp[j]);\n applyState(target[j], previous, j, merge, key);\n } else setProperty(previous, j, target[j]);\n }\n } else {\n for (let i = 0, len = target.length; i < len; i++) {\n applyState(target[i], previous, i, merge, key);\n }\n }\n if (previous.length > target.length) setProperty(previous, \"length\", target.length);\n return;\n }\n const targetKeys = Object.keys(target);\n for (let i = 0, len = targetKeys.length; i < len; i++) {\n applyState(target[targetKeys[i]], previous, targetKeys[i], merge, key);\n }\n const previousKeys = Object.keys(previous);\n for (let i = 0, len = previousKeys.length; i < len; i++) {\n if (target[previousKeys[i]] === undefined) setProperty(previous, previousKeys[i], undefined);\n }\n}\nfunction reconcile(value, options = {}) {\n const {\n merge,\n key = \"id\"\n } = options,\n v = unwrap(value);\n return state => {\n if (!isWrappable(state) || !isWrappable(v)) return v;\n const res = applyState(v, {\n [$ROOT]: state\n }, $ROOT, merge, key);\n return res === undefined ? state : res;\n };\n}\nconst producers = new WeakMap();\nconst setterTraps = {\n get(target, property) {\n if (property === $RAW) return target;\n const value = target[property];\n let proxy;\n return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;\n },\n set(target, property, value) {\n setProperty(target, property, unwrap(value));\n return true;\n },\n deleteProperty(target, property) {\n setProperty(target, property, undefined, true);\n return true;\n }\n};\nfunction produce(fn) {\n return state => {\n if (isWrappable(state)) {\n let proxy;\n if (!(proxy = producers.get(state))) {\n producers.set(state, proxy = new Proxy(state, setterTraps));\n }\n fn(proxy);\n }\n return state;\n };\n}\n\nconst DEV = {\n $NODE,\n isWrappable,\n hooks: DevHooks\n} ;\n\nexport { $RAW, DEV, createMutable, createStore, modifyMutable, produce, reconcile, unwrap };\n","var e,t,a={1521(e,t,a){a.d(t,{getDebugLogger:()=>l}),a(7009);class r{logLevel;transport;constructor(e,t){this.transport=e,this.logLevel=t??\"debug\"}debug(e,t,a){this.log(\"debug\",e,t,a)}error(e,t,a){this.log(\"error\",e,t,a)}info(e,t,a){this.log(\"info\",e,t,a)}warn(e,t,a){this.log(\"warn\",e,t,a)}log(e,t,a,r){if(!this.shouldLogLevel(e))return;let n={timestamp:Date.now(),level:e,message:t,context:a,source:r};this.transport.send(n).catch(e=>{console.error(\"Failed to send log entry:\",e)})}shouldLogLevel(e){let t=[\"error\",\"warn\",\"info\",\"debug\"],a=t.indexOf(this.logLevel);return t.indexOf(e)<=a}}class n{transports;constructor(e){this.transports=e}async send(e){let t=this.transports.map(t=>t.send(e).catch(e=>{console.error(\"Failed to send to transport:\",e)}));await Promise.allSettled(t)}}class i{send(e){let t=new Date(e.timestamp).toISOString(),a=e.level.toUpperCase(),r=e.source?`[${e.source}]`:\"\",n=e.context?` ${JSON.stringify(e.context)}`:\"\",i=`[Clerk Debug] ${t} ${a}${r}: ${e.message}${n}`;switch(e.level){case\"error\":console.error(i);break;case\"warn\":console.warn(i);break;case\"info\":console.info(i);break;case\"debug\":console.debug(i);break;default:console.log(i)}return Promise.resolve()}}class s{collector;constructor(e){this.collector=e}async send(e){this.collector&&await Promise.resolve(this.collector.recordLog({context:e.context,level:e.level,message:e.message,organizationId:e.organizationId,sessionId:e.sessionId,source:e.source,timestamp:e.timestamp,userId:e.userId}))}}class o{static instance;initialized=!1;logger=null;initializationPromise=null;static getInstance(){return o.instance||(o.instance=new o),o.instance}async initialize(e={}){return this.initialized?this.logger:(this.initializationPromise||(this.initializationPromise=this.performInitialization(e)),this.initializationPromise)}async performInitialization(e){try{if(e.logLevel&&\"string\"!=typeof e.logLevel)throw Error(\"logLevel must be a string\");let{logLevel:t,telemetryCollector:a}=e,o=[{transport:new i},...a?[{transport:new s(a)}]:[]].map(e=>e.transport),l=new n(o),c=new r(l,t??\"info\");return this.logger=c,this.initialized=!0,this.logger}catch(e){return console.error(\"Failed to initialize debug module:\",e),this.initializationPromise=null,null}}getLogger(){return this.logger}isInitialized(){return this.initialized}reset(){this.initialized=!1,this.logger=null,this.initializationPromise=null}}async function l(e={}){return o.getInstance().initialize(e)}},8123(e,t,a){let r,n,i,s,o,l;a.d(t,{QueryClient:()=>H});var c={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},u=new class{#e=c;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}},d=\"u\"v(t)?Object.keys(t).sort().reduce((e,a)=>(e[a]=t[a],e),{}):t)}function y(e,t){return e===t||typeof e==typeof t&&!!e&&!!t&&\"object\"==typeof e&&\"object\"==typeof t&&Object.keys(t).every(a=>y(e[a],t[a]))}var w=Object.prototype.hasOwnProperty;function k(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function v(e){if(!x(e))return!1;let t=e.constructor;if(void 0===t)return!0;let a=t.prototype;return!!x(a)&&!!a.hasOwnProperty(\"isPrototypeOf\")&&Object.getPrototypeOf(e)===Object.prototype}function x(e){return\"[object Object]\"===Object.prototype.toString.call(e)}function _(e,t,a=0){let r=[...e,t];return a&&r.length>a?r.slice(1):r}function j(e,t,a=0){let r=[t,...e];return a&&r.length>a?r.slice(0,-1):r}var z=Symbol();function S(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==z?e.queryFn:()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`))}var I=(r=[],n=0,i=e=>{e()},s=e=>{e()},o=function(e){setTimeout(e,0)},{batch:e=>{let t;n++;try{t=e()}finally{let e;--n||(e=r,r=[],e.length&&o(()=>{s(()=>{e.forEach(e=>{i(e)})})}))}return t},batchCalls:e=>(...t)=>{l(()=>{e(...t)})},schedule:l=e=>{n?r.push(e):o(()=>{i(e)})},setNotifyFunction:e=>{i=e},setBatchNotifyFunction:e=>{s=e},setScheduler:e=>{o=e}}),A=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},E=new class extends A{#a;#r;#n;constructor(){super(),this.#n=e=>{if(!d&&window.addEventListener){let t=()=>e();return window.addEventListener(\"visibilitychange\",t,!1),()=>{window.removeEventListener(\"visibilitychange\",t)}}}}onSubscribe(){this.#r||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#r?.(),this.#r=void 0)}setEventListener(e){this.#n=e,this.#r?.(),this.#r=e(e=>{\"boolean\"==typeof e?this.setFocused(e):this.onFocus()})}setFocused(e){this.#a!==e&&(this.#a=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return\"boolean\"==typeof this.#a?this.#a:globalThis.document?.visibilityState!==\"hidden\"}},C=new class extends A{#i=!0;#r;#n;constructor(){super(),this.#n=e=>{if(!d&&window.addEventListener){let t=()=>e(!0),a=()=>e(!1);return window.addEventListener(\"online\",t,!1),window.addEventListener(\"offline\",a,!1),()=>{window.removeEventListener(\"online\",t),window.removeEventListener(\"offline\",a)}}}}onSubscribe(){this.#r||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#r?.(),this.#r=void 0)}setEventListener(e){this.#n=e,this.#r?.(),this.#r=e(this.setOnline.bind(this))}setOnline(e){this.#i!==e&&(this.#i=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#i}};function P(e){return Math.min(1e3*2**e,3e4)}function q(e){return(e??\"online\")!==\"online\"||C.isOnline()}var O=class extends Error{constructor(e){super(\"CancelledError\"),this.revert=e?.revert,this.silent=e?.silent}};function T(e){let t,a=!1,r=0,n=function(){let e,t,a=new Promise((a,r)=>{e=a,t=r});function r(e){Object.assign(a,e),delete a.resolve,delete a.reject}return a.status=\"pending\",a.catch(()=>{}),a.resolve=t=>{r({status:\"fulfilled\",value:t}),e(t)},a.reject=e=>{r({status:\"rejected\",reason:e}),t(e)},a}(),i=()=>E.isFocused()&&(\"always\"===e.networkMode||C.isOnline())&&e.canRun(),s=()=>q(e.networkMode)&&e.canRun(),o=e=>{\"pending\"===n.status&&(t?.(),n.resolve(e))},l=e=>{\"pending\"===n.status&&(t?.(),n.reject(e))},c=()=>new Promise(a=>{t=e=>{(\"pending\"!==n.status||i())&&a(e)},e.onPause?.()}).then(()=>{t=void 0,\"pending\"===n.status&&e.onContinue?.()}),h=()=>{let t;if(\"pending\"!==n.status)return;let s=0===r?e.initialPromise:void 0;try{t=s??e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(o).catch(t=>{if(\"pending\"!==n.status)return;let s=e.retry??3*!d,o=e.retryDelay??P,m=\"function\"==typeof o?o(r,t):o,p=!0===s||\"number\"==typeof s&&r{u.setTimeout(e,m)}).then(()=>i()?void 0:c()).then(()=>{a?l(t):h()}))})};return{promise:n,status:()=>n.status,cancel:t=>{if(\"pending\"===n.status){let a=new O(t);l(a),e.onCancel?.(a)}},continue:()=>(t?.(),n),cancelRetry:()=>{a=!0},continueRetry:()=>{a=!1},canStart:s,start:()=>(s()?h():c().then(h),n)}}var U=class{#s;destroy(){this.clearGcTimeout()}scheduleGc(){var e;this.clearGcTimeout(),\"number\"==typeof(e=this.gcTime)&&e>=0&&e!==1/0&&(this.#s=u.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(d?1/0:3e5))}clearGcTimeout(){this.#s&&(u.clearTimeout(this.#s),this.#s=void 0)}},M=class extends U{#o;#l;#c;#u;#d;#h;#m;constructor(e){super(),this.#m=!1,this.#h=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#u=e.client,this.#c=this.#u.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#o=B(this.options),this.state=e.state??this.#o,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#d?.promise}setOptions(e){if(this.options={...this.#h,...e},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let e=B(this.options);void 0!==e.data&&(this.setState(R(e.data,e.dataUpdatedAt)),this.#o=e)}}optionalRemove(){this.observers.length||\"idle\"!==this.state.fetchStatus||this.#c.remove(this)}setData(e,t){var a,r;let n=(a=this.state.data,\"function\"==typeof(r=this.options).structuralSharing?r.structuralSharing(a,e):!1!==r.structuralSharing?function e(t,a){if(t===a)return t;let r=k(t)&&k(a);if(!r&&!(v(t)&&v(a)))return a;let n=(r?t:Object.keys(t)).length,i=r?a:Object.keys(a),s=i.length,o=r?Array(s):{},l=0;for(let c=0;c{var t;return!1!==(t=e.options.enabled,\"function\"==typeof t?t(this):t)})}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===z||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>\"static\"===m(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(e=0){return void 0===this.state.data||\"static\"!==e&&(!!this.state.isInvalidated||!Math.max(this.state.dataUpdatedAt+(e||0)-Date.now(),0))}onFocus(){let e=this.observers.find(e=>e.shouldFetchOnWindowFocus());e?.refetch({cancelRefetch:!1}),this.#d?.continue()}onOnline(){let e=this.observers.find(e=>e.shouldFetchOnReconnect());e?.refetch({cancelRefetch:!1}),this.#d?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#c.notify({type:\"observerAdded\",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#d&&(this.#m?this.#d.cancel({revert:!0}):this.#d.cancelRetry()),this.scheduleGc()),this.#c.notify({type:\"observerRemoved\",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#p({type:\"invalidate\"})}async fetch(e,t){let a;if(\"idle\"!==this.state.fetchStatus&&this.#d?.status()!==\"rejected\"){if(void 0!==this.state.data&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#d)return this.#d.continueRetry(),this.#d.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let r=new AbortController,n=e=>{Object.defineProperty(e,\"signal\",{enumerable:!0,get:()=>(this.#m=!0,r.signal)})},i=()=>{let e,a=S(this.options,t),r=(n(e={client:this.#u,queryKey:this.queryKey,meta:this.meta}),e);return(this.#m=!1,this.options.persister)?this.options.persister(a,r,this):a(r)},s=(n(a={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#u,state:this.state,fetchFn:i}),a);this.options.behavior?.onFetch(s,this),this.#l=this.state,(\"idle\"===this.state.fetchStatus||this.state.fetchMeta!==s.fetchOptions?.meta)&&this.#p({type:\"fetch\",meta:s.fetchOptions?.meta}),this.#d=T({initialPromise:t?.initialPromise,fn:s.fetchFn,onCancel:e=>{e instanceof O&&e.revert&&this.setState({...this.#l,fetchStatus:\"idle\"}),r.abort()},onFail:(e,t)=>{this.#p({type:\"failed\",failureCount:e,error:t})},onPause:()=>{this.#p({type:\"pause\"})},onContinue:()=>{this.#p({type:\"continue\"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode,canRun:()=>!0});try{let e=await this.#d.start();if(void 0===e)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#c.config.onSuccess?.(e,this),this.#c.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof O){if(e.silent)return this.#d.promise;else if(e.revert){if(void 0===this.state.data)throw e;return this.state.data}}throw this.#p({type:\"error\",error:e}),this.#c.config.onError?.(e,this),this.#c.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#p(e){let t=t=>{switch(e.type){case\"failed\":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case\"pause\":return{...t,fetchStatus:\"paused\"};case\"continue\":return{...t,fetchStatus:\"fetching\"};case\"fetch\":var a;return{...t,...(a=t.data,{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:q(this.options.networkMode)?\"fetching\":\"paused\",...void 0===a&&{error:null,status:\"pending\"}}),fetchMeta:e.meta??null};case\"success\":let r={...t,...R(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:\"idle\",fetchFailureCount:0,fetchFailureReason:null}};return this.#l=e.manual?r:void 0,r;case\"error\":let n=e.error;return{...t,error:n,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:\"idle\",status:\"error\",isInvalidated:!0};case\"invalidate\":return{...t,isInvalidated:!0};case\"setState\":return{...t,...e.state}}};this.state=t(this.state),I.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#c.notify({query:this,type:\"updated\",action:e})})}};function R(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:\"success\"}}function B(e){let t=\"function\"==typeof e.initialData?e.initialData():e.initialData,a=void 0!==t,r=a?\"function\"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:a?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:a?\"success\":\"pending\",fetchStatus:\"idle\"}}var N=class extends A{constructor(e={}){super(),this.config=e,this.#f=new Map}#f;build(e,t,a){let r=t.queryKey,n=t.queryHash??g(r,t),i=this.get(n);return i||(i=new M({client:e,queryKey:r,queryHash:n,options:e.defaultQueryOptions(t),state:a,defaultOptions:e.getQueryDefaults(r)}),this.add(i)),i}add(e){this.#f.has(e.queryHash)||(this.#f.set(e.queryHash,e),this.notify({type:\"added\",query:e}))}remove(e){let t=this.#f.get(e.queryHash);t&&(e.destroy(),t===e&&this.#f.delete(e.queryHash),this.notify({type:\"removed\",query:e}))}clear(){I.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#f.get(e)}getAll(){return[...this.#f.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>p(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>p(e,t)):t}notify(e){I.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){I.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){I.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},D=class extends U{#u;#g;#b;#d;constructor(e){super(),this.#u=e.client,this.mutationId=e.mutationId,this.#b=e.mutationCache,this.#g=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:\"idle\",variables:void 0,submittedAt:0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#g.includes(e)||(this.#g.push(e),this.clearGcTimeout(),this.#b.notify({type:\"observerAdded\",mutation:this,observer:e}))}removeObserver(e){this.#g=this.#g.filter(t=>t!==e),this.scheduleGc(),this.#b.notify({type:\"observerRemoved\",mutation:this,observer:e})}optionalRemove(){this.#g.length||(\"pending\"===this.state.status?this.scheduleGc():this.#b.remove(this))}continue(){return this.#d?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#p({type:\"continue\"})},a={client:this.#u,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#d=T({fn:()=>this.options.mutationFn?this.options.mutationFn(e,a):Promise.reject(Error(\"No mutationFn found\")),onFail:(e,t)=>{this.#p({type:\"failed\",failureCount:e,error:t})},onPause:()=>{this.#p({type:\"pause\"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#b.canRun(this)});let r=\"pending\"===this.state.status,n=!this.#d.canStart();try{if(r)t();else{this.#p({type:\"pending\",variables:e,isPaused:n}),await this.#b.config.onMutate?.(e,this,a);let t=await this.options.onMutate?.(e,a);t!==this.state.context&&this.#p({type:\"pending\",context:t,variables:e,isPaused:n})}let i=await this.#d.start();return await this.#b.config.onSuccess?.(i,e,this.state.context,this,a),await this.options.onSuccess?.(i,e,this.state.context,a),await this.#b.config.onSettled?.(i,null,this.state.variables,this.state.context,this,a),await this.options.onSettled?.(i,null,e,this.state.context,a),this.#p({type:\"success\",data:i}),i}catch(t){try{await this.#b.config.onError?.(t,e,this.state.context,this,a)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,a)}catch(e){Promise.reject(e)}try{await this.#b.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,a)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,a)}catch(e){Promise.reject(e)}throw this.#p({type:\"error\",error:t}),t}finally{this.#b.runNext(this)}}#p(e){this.state=(t=>{switch(e.type){case\"failed\":return{...t,failureCount:e.failureCount,failureReason:e.error};case\"pause\":return{...t,isPaused:!0};case\"continue\":return{...t,isPaused:!1};case\"pending\":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:\"pending\",variables:e.variables,submittedAt:Date.now()};case\"success\":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:\"success\",isPaused:!1};case\"error\":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:\"error\"}}})(this.state),I.batch(()=>{this.#g.forEach(t=>{t.onMutationUpdate(e)}),this.#b.notify({mutation:this,type:\"updated\",action:e})})}},F=class extends A{constructor(e={}){super(),this.config=e,this.#y=new Set,this.#w=new Map,this.#k=0}#y;#w;#k;build(e,t,a){let r=new D({client:e,mutationCache:this,mutationId:++this.#k,options:e.defaultMutationOptions(t),state:a});return this.add(r),r}add(e){this.#y.add(e);let t=L(e);if(\"string\"==typeof t){let a=this.#w.get(t);a?a.push(e):this.#w.set(t,[e])}this.notify({type:\"added\",mutation:e})}remove(e){if(this.#y.delete(e)){let t=L(e);if(\"string\"==typeof t){let a=this.#w.get(t);if(a)if(a.length>1){let t=a.indexOf(e);-1!==t&&a.splice(t,1)}else a[0]===e&&this.#w.delete(t)}}this.notify({type:\"removed\",mutation:e})}canRun(e){let t=L(e);if(\"string\"!=typeof t)return!0;{let a=this.#w.get(t),r=a?.find(e=>\"pending\"===e.state.status);return!r||r===e}}runNext(e){let t=L(e);if(\"string\"!=typeof t)return Promise.resolve();{let a=this.#w.get(t)?.find(t=>t!==e&&t.state.isPaused);return a?.continue()??Promise.resolve()}}clear(){I.batch(()=>{this.#y.forEach(e=>{this.notify({type:\"removed\",mutation:e})}),this.#y.clear(),this.#w.clear()})}getAll(){return Array.from(this.#y)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>f(t,e))}findAll(e={}){return this.getAll().filter(t=>f(e,t))}notify(e){I.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return I.batch(()=>Promise.all(e.map(e=>e.continue().catch(h))))}};function L(e){return e.options.scope?.id}function W(e){return{onFetch:(t,a)=>{let r=t.options,n=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],s=t.state.data?.pageParams||[],o={pages:[],pageParams:[]},l=0,c=async()=>{let a=!1,c=S(t.options,t.fetchOptions),u=async(e,r,n)=>{if(a)return Promise.reject();if(null==r&&e.pages.length)return Promise.resolve(e);let i=(()=>{var e,i;let s,o,l={client:t.client,queryKey:t.queryKey,pageParam:r,direction:n?\"backward\":\"forward\",meta:t.options.meta};return e=()=>t.signal,i=()=>a=!0,o=!1,Object.defineProperty(l,\"signal\",{enumerable:!0,get:()=>(s??=e(),o||(o=!0,s.aborted?i():s.addEventListener(\"abort\",i,{once:!0})),s)}),l})(),s=await c(i),{maxPages:o}=t.options,l=n?j:_;return{pages:l(e.pages,s,o),pageParams:l(e.pageParams,r,o)}};if(n&&i.length){let e=\"backward\"===n,t={pages:i,pageParams:s},a=(e?function(e,{pages:t,pageParams:a}){return t.length>0?e.getPreviousPageParam?.(t[0],t,a[0],a):void 0}:K)(r,t);o=await u(t,a,e)}else{let t=e??i.length;do{let e=0===l?s[0]??r.initialPageParam:K(r,o);if(l>0&&null==e)break;o=await u(o,e),l++}while(lt.options.persister?.(c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},a):t.fetchFn=c}}}function K(e,{pages:t,pageParams:a}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,a[r],a):void 0}var H=class{#v;#b;#h;#x;#_;#j;#z;#S;constructor(e={}){this.#v=e.queryCache||new N,this.#b=e.mutationCache||new F,this.#h=e.defaultOptions||{},this.#x=new Map,this.#_=new Map,this.#j=0}mount(){this.#j++,1===this.#j&&(this.#z=E.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#v.onFocus())}),this.#S=C.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#v.onOnline())}))}unmount(){this.#j--,0===this.#j&&(this.#z?.(),this.#z=void 0,this.#S?.(),this.#S=void 0)}isFetching(e){return this.#v.findAll({...e,fetchStatus:\"fetching\"}).length}isMutating(e){return this.#b.findAll({...e,status:\"pending\"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#v.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),a=this.#v.build(this,t),r=a.state.data;return void 0===r?this.fetchQuery(e):(e.revalidateIfStale&&a.isStaleByTime(m(t.staleTime,a))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#v.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,a){let r=this.defaultQueryOptions({queryKey:e}),n=this.#v.get(r.queryHash),i=n?.state.data,s=\"function\"==typeof t?t(i):t;if(void 0!==s)return this.#v.build(this,r).setData(s,{...a,manual:!0})}setQueriesData(e,t,a){return I.batch(()=>this.#v.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,a)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#v.get(t.queryHash)?.state}removeQueries(e){let t=this.#v;I.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let a=this.#v;return I.batch(()=>(a.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:\"active\",...e},t)))}cancelQueries(e,t={}){let a={revert:!0,...t};return Promise.all(I.batch(()=>this.#v.findAll(e).map(e=>e.cancel(a)))).then(h).catch(h)}invalidateQueries(e,t={}){return I.batch(()=>(this.#v.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===\"none\")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??\"active\"},t))}refetchQueries(e,t={}){let a={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(I.batch(()=>this.#v.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,a);return a.throwOnError||(t=t.catch(h)),\"paused\"===e.state.fetchStatus?Promise.resolve():t}))).then(h)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let a=this.#v.build(this,t);return a.isStaleByTime(m(t.staleTime,a))?a.fetch(t):Promise.resolve(a.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(h).catch(h)}fetchInfiniteQuery(e){return e.behavior=W(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(h).catch(h)}ensureInfiniteQueryData(e){return e.behavior=W(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return C.isOnline()?this.#b.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#v}getMutationCache(){return this.#b}getDefaultOptions(){return this.#h}setDefaultOptions(e){this.#h=e}setQueryDefaults(e,t){this.#x.set(b(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#x.values()],a={};return t.forEach(t=>{y(e,t.queryKey)&&Object.assign(a,t.defaultOptions)}),a}setMutationDefaults(e,t){this.#_.set(b(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#_.values()],a={};return t.forEach(t=>{y(e,t.mutationKey)&&Object.assign(a,t.defaultOptions)}),a}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#h.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=g(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect=\"always\"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=\"offlineFirst\"),t.queryFn===z&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#h.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#v.clear(),this.#b.clear()}}},3009(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.toBig=t.shrSL=t.shrSH=t.rotrSL=t.rotrSH=t.rotrBL=t.rotrBH=t.rotr32L=t.rotr32H=t.rotlSL=t.rotlSH=t.rotlBL=t.rotlBH=t.add5L=t.add5H=t.add4L=t.add4H=t.add3L=t.add3H=void 0,t.add=w,t.fromBig=n,t.split=i;let a=BigInt(0x100000000-1),r=BigInt(32);function n(e,t=!1){return t?{h:Number(e&a),l:Number(e>>r&a)}:{h:0|Number(e>>r&a),l:0|Number(e&a)}}function i(e,t=!1){let a=e.length,r=new Uint32Array(a),s=new Uint32Array(a);for(let i=0;iBigInt(e>>>0)<>>0);t.toBig=s;let o=(e,t,a)=>e>>>a;t.shrSH=o;let l=(e,t,a)=>e<<32-a|t>>>a;t.shrSL=l;let c=(e,t,a)=>e>>>a|t<<32-a;t.rotrSH=c;let u=(e,t,a)=>e<<32-a|t>>>a;t.rotrSL=u;let d=(e,t,a)=>e<<64-a|t>>>a-32;t.rotrBH=d;let h=(e,t,a)=>e>>>a-32|t<<64-a;t.rotrBL=h;let m=(e,t)=>t;t.rotr32H=m;let p=(e,t)=>e;t.rotr32L=p;let f=(e,t,a)=>e<>>32-a;t.rotlSH=f;let g=(e,t,a)=>t<>>32-a;t.rotlSL=g;let b=(e,t,a)=>t<>>64-a;t.rotlBH=b;let y=(e,t,a)=>e<>>64-a;function w(e,t,a,r){let n=(t>>>0)+(r>>>0);return{h:e+a+(n/0x100000000|0)|0,l:0|n}}t.rotlBL=y;let k=(e,t,a)=>(e>>>0)+(t>>>0)+(a>>>0);t.add3L=k;let v=(e,t,a,r)=>t+a+r+(e/0x100000000|0)|0;t.add3H=v;let x=(e,t,a,r)=>(e>>>0)+(t>>>0)+(a>>>0)+(r>>>0);t.add4L=x;let _=(e,t,a,r,n)=>t+a+r+n+(e/0x100000000|0)|0;t.add4H=_;let j=(e,t,a,r,n)=>(e>>>0)+(t>>>0)+(a>>>0)+(r>>>0)+(n>>>0);t.add5L=j;let z=(e,t,a,r,n,i)=>t+a+r+n+i+(e/0x100000000|0)|0;t.add5H=z,t.default={fromBig:n,split:i,toBig:s,shrSH:o,shrSL:l,rotrSH:c,rotrSL:u,rotrBH:d,rotrBL:h,rotr32H:m,rotr32L:p,rotlSH:f,rotlSL:g,rotlBH:b,rotlBL:y,add:w,add3L:k,add3H:v,add4L:x,add4H:_,add5H:z,add5L:j}},8510(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.crypto=void 0,t.crypto=\"object\"==typeof globalThis&&\"crypto\"in globalThis?globalThis.crypto:void 0},5376(e,t,a){Object.defineProperty(t,\"__esModule\",{value:!0}),t.shake256=t.shake128=t.keccak_512=t.keccak_384=t.keccak_256=t.keccak_224=t.sha3_512=t.sha3_384=t.sha3_256=t.sha3_224=t.Keccak=void 0,t.keccakP=w;let r=a(3009),n=a(6770),i=BigInt(0),s=BigInt(1),o=BigInt(2),l=BigInt(7),c=BigInt(256),u=BigInt(113),d=[],h=[],m=[];for(let e=0,t=s,a=1,r=0;e<24;e++){[a,r]=[r,(2*a+3*r)%5],d.push(2*(5*r+a)),h.push((e+1)*(e+2)/2%64);let n=i;for(let e=0;e<7;e++)(t=(t<>l)*u)%c)&o&&(n^=s<<(s<a>32?(0,r.rotlBH)(e,t,a):(0,r.rotlSH)(e,t,a),y=(e,t,a)=>a>32?(0,r.rotlBL)(e,t,a):(0,r.rotlSL)(e,t,a);function w(e,t=24){let a=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)a[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,n=(t+2)%10,i=a[n],s=a[n+1],o=b(i,s,1)^a[r],l=y(i,s,1)^a[r+1];for(let a=0;a<50;a+=10)e[t+a]^=o,e[t+a+1]^=l}let t=e[2],n=e[3];for(let a=0;a<24;a++){let r=h[a],i=b(t,n,r),s=y(t,n,r),o=d[a];t=e[o],n=e[o+1],e[o]=i,e[o+1]=s}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)a[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~a[(r+2)%10]&a[(r+4)%10]}e[0]^=f[r],e[1]^=g[r]}(0,n.clean)(a)}class k extends n.Hash{constructor(e,t,a,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=a,this.enableXOF=r,this.rounds=i,(0,n.anumber)(a),!(0=a&&this.keccak();let i=Math.min(a-this.posOut,n-r);e.set(t.subarray(this.posOut,this.posOut+i),r),this.posOut+=i,r+=i}return e}xofInto(e){if(!this.enableXOF)throw Error(\"XOF is not possible for this instance\");return this.writeInto(e)}xof(e){return(0,n.anumber)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,n.aoutput)(e,this),this.finished)throw Error(\"digest() was already called\");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,n.clean)(this.state)}_cloneInto(e){let{blockLen:t,suffix:a,outputLen:r,rounds:n,enableXOF:i}=this;return e||(e=new k(t,a,r,i,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=a,e.outputLen=r,e.enableXOF=i,e.destroyed=this.destroyed,e}}t.Keccak=k;let v=(e,t,a)=>(0,n.createHasher)(()=>new k(t,e,a));t.sha3_224=v(6,144,28),t.sha3_256=v(6,136,32),t.sha3_384=v(6,104,48),t.sha3_512=v(6,72,64),t.keccak_224=v(1,144,28),t.keccak_256=v(1,136,32),t.keccak_384=v(1,104,48),t.keccak_512=v(1,72,64);let x=(e,t,a)=>(0,n.createXOFer)((r={})=>new k(t,e,void 0===r.dkLen?a:r.dkLen,!0));t.shake128=x(31,168,16),t.shake256=x(31,136,32)},6770(e,t,a){Object.defineProperty(t,\"__esModule\",{value:!0}),t.wrapXOFConstructorWithOpts=t.wrapConstructorWithOpts=t.wrapConstructor=t.Hash=t.nextTick=t.swap32IfBE=t.byteSwapIfBE=t.swap8IfBE=t.isLE=void 0,t.isBytes=n,t.anumber=i,t.abytes=s,t.ahash=function(e){if(\"function\"!=typeof e||\"function\"!=typeof e.create)throw Error(\"Hash should be wrapped by utils.createHasher\");i(e.outputLen),i(e.blockLen)},t.aexists=function(e,t=!0){if(e.destroyed)throw Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw Error(\"Hash#digest() has already been called\")},t.aoutput=function(e,t){s(e);let a=t.outputLen;if(e.length>>t},t.rotl=function(e,t){return e<>>32-t>>>0},t.byteSwap=o,t.byteSwap32=l,t.bytesToHex=function(e){if(s(e),c)return e.toHex();let t=\"\";for(let a=0;a0&&!t.includes(e.length))throw Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function o(e){return e<<24&0xff000000|e<<8&0xff0000|e>>>8&65280|e>>>24&255}function l(e){for(let t=0;te:e=>o(e),t.byteSwapIfBE=t.swap8IfBE,t.swap32IfBE=t.isLE?e=>e:l;let c=\"function\"==typeof Uint8Array.from([]).toHex&&\"function\"==typeof Uint8Array.fromHex,u=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));function d(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}async function h(e,a,r){let n=Date.now();for(let i=0;i=0&&ee().update(p(t)).digest(),a=e();return t.outputLen=a.outputLen,t.blockLen=a.blockLen,t.create=()=>e(),t}function g(e){let t=(t,a)=>e(a).update(p(t)).digest(),a=e({});return t.outputLen=a.outputLen,t.blockLen=a.blockLen,t.create=t=>e(t),t}function b(e){let t=(t,a)=>e(a).update(p(t)).digest(),a=e({});return t.outputLen=a.outputLen,t.blockLen=a.blockLen,t.create=t=>e(t),t}t.nextTick=async()=>{},t.Hash=class{},t.wrapConstructor=f,t.wrapConstructorWithOpts=g,t.wrapXOFConstructorWithOpts=b},1835(e,t,a){a.r(t),a.d(t,{zxcvbnAsync:()=>ec,zxcvbnOptions:()=>E,Options:()=>A,zxcvbn:()=>el,debounce:()=>en});let r=(e,t)=>e.push.apply(e,t),n=e=>e.sort((e,t)=>e.i-t.i||e.j-t.j),i=e=>{let t={},a=1;return e.forEach(e=>{t[e]=a,a+=1}),t},s={4:[[1,2],[2,3]],5:[[1,3],[2,3],[2,4]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]},o=/^[A-Z\\xbf-\\xdf][^A-Z\\xbf-\\xdf]+$/,l=/^[^A-Z\\xbf-\\xdf]+[A-Z\\xbf-\\xdf]$/,c=/^[A-Z\\xbf-\\xdf]+$/,u=/^[^a-z\\xdf-\\xff]+$/,d=/^[a-z\\xdf-\\xff]+$/,h=/^[^A-Z\\xbf-\\xdf]+$/,m=/[a-z\\xdf-\\xff]/,p=/[A-Z\\xbf-\\xdf]/,f=/[^A-Za-z\\xbf-\\xdf]/gi,g=/^\\d+$/,b=new Date().getFullYear(),y={recentYear:/19\\d\\d|200\\d|201\\d|202\\d/g},w=[\" \",\",\",\";\",\":\",\"|\",\"/\",\"\\\\\",\"_\",\".\",\"-\"],k=w.length;class v{match({password:e}){let t=[...this.getMatchesWithoutSeparator(e),...this.getMatchesWithSeparator(e)];return n(this.filterNoise(t))}getMatchesWithSeparator(e){let t=[],a=/^(\\d{1,4})([\\s/\\\\_.-])(\\d{1,2})\\2(\\d{1,4})$/;for(let r=0;r<=Math.abs(e.length-6);r+=1)for(let n=r+5;n<=r+9&&!(n>=e.length);n+=1){let i=e.slice(r,+n+1||9e9),s=a.exec(i);if(null!=s){let e=this.mapIntegersToDayMonthYear([parseInt(s[1],10),parseInt(s[3],10),parseInt(s[4],10)]);null!=e&&t.push({pattern:\"date\",token:i,i:r,j:n,separator:s[2],year:e.year,month:e.month,day:e.day})}}return t}getMatchesWithoutSeparator(e){let t=[],a=/^\\d{4,8}$/,r=e=>Math.abs(e.year-b);for(let n=0;n<=Math.abs(e.length-4);n+=1)for(let i=n+3;i<=n+7&&!(i>=e.length);i+=1){let o=e.slice(n,+i+1||9e9);if(a.exec(o)){let e=[];if(s[o.length].forEach(([t,a])=>{let r=this.mapIntegersToDayMonthYear([parseInt(o.slice(0,t),10),parseInt(o.slice(t,a),10),parseInt(o.slice(a),10)]);null!=r&&e.push(r)}),e.length>0){let a=e[0],s=r(e[0]);e.slice(1).forEach(e=>{let t=r(e);t{let a=!1,r=e.length;for(let n=0;n=t.j){a=!0;break}}return!a})}mapIntegersToDayMonthYear(e){if(e[1]>31||e[1]<=0)return null;let t=0,a=0,r=0;for(let n=0,i=e.length;n99&&i<1e3||i>2050)return null;i>31&&(a+=1),i>12&&(t+=1),i<=0&&(r+=1)}return a>=2||3===t||r>=2?null:this.getDayMonth(e)}getDayMonth(e){let t=[[e[2],e.slice(0,2)],[e[0],e.slice(1,3)]],a=t.length;for(let e=0;e=1&&r<=31&&n>=1&&n<=12)return{day:r,month:n}}return null}twoToFourDigitYear(e){return e>99?e:e>50?e+1900:e+2e3}}let x=new Uint32Array(65536),_=(e,t,a)=>{let r=0,n=Object.keys(t).find(t=>{let n,i,s=(n=e.length<=t.length,i=e.length<=a,n||i?Math.ceil(e.length/4):a);if(Math.abs(e.length-t.length)>s)return!1;let o=((e,t)=>{if(e.length{let a=e.length,r=t.length,n=1<{let a=t.length,r=e.length,n=[],i=[],s=Math.ceil(a/32),o=Math.ceil(r/32);for(let e=0;e>>e&1,l=n[e/32|0]>>>e&1,c=a|s,u=((a|l)&o)+o^o|a|l,d=s|~(u|o),h=o&u;d>>>31^r&&(i[e/32|0]^=1<>>31^l&&(n[e/32|0]^=1<>>e&1,o=n[e/32|0]>>>e&1,l=a|c,d=((a|o)&u)+u^u|a|o,h=c|~(d|u),p=u&d;m+=h>>>r-1&1,m-=p>>>r-1&1,h>>>31^s&&(i[e/32|0]^=1<>>31^o&&(n[e/32|0]^=1<\",\"/\"],w:[\"^/\",\"uu\",\"vv\",\"2u\",\"2v\",\"\\\\\\\\/\\\\\\\\/\"],x:[\"%\",\"><\"],z:[\"2\"]},z={warnings:{straightRow:\"straightRow\",keyPattern:\"keyPattern\",simpleRepeat:\"simpleRepeat\",extendedRepeat:\"extendedRepeat\",sequences:\"sequences\",recentYears:\"recentYears\",dates:\"dates\",topTen:\"topTen\",topHundred:\"topHundred\",common:\"common\",similarToCommon:\"similarToCommon\",wordByItself:\"wordByItself\",namesByThemselves:\"namesByThemselves\",commonNames:\"commonNames\",userInputs:\"userInputs\",pwned:\"pwned\"},suggestions:{l33t:\"l33t\",reverseWords:\"reverseWords\",allUppercase:\"allUppercase\",capitalization:\"capitalization\",dates:\"dates\",recentYears:\"recentYears\",associatedYears:\"associatedYears\",sequences:\"sequences\",repeated:\"repeated\",longerKeyboardPattern:\"longerKeyboardPattern\",anotherWord:\"anotherWord\",useWords:\"useWords\",noNeed:\"noNeed\",pwned:\"pwned\"},timeEstimation:{ltSecond:\"ltSecond\",second:\"second\",seconds:\"seconds\",minute:\"minute\",minutes:\"minutes\",hour:\"hour\",hours:\"hours\",day:\"day\",days:\"days\",month:\"month\",months:\"months\",year:\"year\",years:\"years\",centuries:\"centuries\"}};class S{constructor(e=[]){this.parents=e,this.children=new Map}addSub(e,...t){let a=e.charAt(0);this.children.has(a)||this.children.set(a,new S([...this.parents,a]));let r=this.children.get(a);for(let t=1;t(Object.entries(e).forEach(([e,a])=>{a.forEach(a=>{t.addSub(a,e)})}),t);class A{constructor(){this.matchers={},this.l33tTable=j,this.trieNodeRoot=I(j,new S),this.dictionary={userInputs:[]},this.rankedDictionaries={},this.rankedDictionariesMaxWordSize={},this.translations=z,this.graphs={},this.useLevenshteinDistance=!1,this.levenshteinThreshold=2,this.l33tMaxSubstitutions=100,this.maxLength=256,this.setRankedDictionaries()}setOptions(e={}){e.l33tTable&&(this.l33tTable=e.l33tTable,this.trieNodeRoot=I(e.l33tTable,new S)),e.dictionary&&(this.dictionary=e.dictionary,this.setRankedDictionaries()),e.translations&&this.setTranslations(e.translations),e.graphs&&(this.graphs=e.graphs),void 0!==e.useLevenshteinDistance&&(this.useLevenshteinDistance=e.useLevenshteinDistance),void 0!==e.levenshteinThreshold&&(this.levenshteinThreshold=e.levenshteinThreshold),void 0!==e.l33tMaxSubstitutions&&(this.l33tMaxSubstitutions=e.l33tMaxSubstitutions),void 0!==e.maxLength&&(this.maxLength=e.maxLength)}setTranslations(e){if(this.checkCustomTranslations(e))this.translations=e;else throw Error(\"Invalid translations object fallback to keys\")}checkCustomTranslations(e){let t=!0;return Object.keys(z).forEach(a=>{a in e?Object.keys(z[a]).forEach(r=>{r in e[a]||(t=!1)}):t=!1}),t}setRankedDictionaries(){let e={},t={};Object.keys(this.dictionary).forEach(a=>{e[a]=i(this.dictionary[a]),t[a]=this.getRankedDictionariesMaxWordSize(this.dictionary[a])}),this.rankedDictionaries=e,this.rankedDictionariesMaxWordSize=t}getRankedDictionariesMaxWordSize(e){let t=e.map(e=>\"string\"!=typeof e?e.toString().length:e.length);return 0===t.length?0:t.reduce((e,t)=>Math.max(e,t),-1/0)}buildSanitizedRankedDictionary(e){let t=[];return e.forEach(e=>{let a=typeof e;(\"string\"===a||\"number\"===a||\"boolean\"===a)&&t.push(e.toString().toLowerCase())}),i(t)}extendUserInputsDictionary(e){this.dictionary.userInputs||(this.dictionary.userInputs=[]);let t=[...this.dictionary.userInputs,...e];this.rankedDictionaries.userInputs=this.buildSanitizedRankedDictionary(t),this.rankedDictionariesMaxWordSize.userInputs=this.getRankedDictionariesMaxWordSize(t)}addMatcher(e,t){this.matchers[e]?console.info(`Matcher ${e} already exists`):this.matchers[e]=t}}let E=new A;class C{constructor(e){this.defaultMatch=e}match({password:e}){let t=e.split(\"\").reverse().join(\"\");return this.defaultMatch({password:t}).map(t=>({...t,token:t.token.split(\"\").reverse().join(\"\"),reversed:!0,i:e.length-1-t.j,j:e.length-1-t.i}))}}class P{constructor({substr:e,limit:t,trieRoot:a}){this.buffer=[],this.finalPasswords=[],this.substr=e,this.limit=t,this.trieRoot=a}getAllPossibleSubsAtIndex(e){let t=[],a=this.trieRoot;for(let r=e;r=this.limit)return;if(a===this.substr.length){e===t&&this.finalPasswords.push({password:this.buffer.join(\"\"),changes:n});return}let o=[...this.getAllPossibleSubsAtIndex(a)],l=!1;for(let c=a+o.length-1;c>=a;c-=1){let u=o[c-a];if(u.isTerminal()){if(i===u.parents.join(\"\")&&s>=3)continue;for(let a of(l=!0,u.subs)){this.buffer.push(a);let o=n.concat({i:r,letter:a,substitution:u.parents.join(\"\")});if(this.helper({onlyFullSub:e,isFullSub:t,index:c+1,subIndex:r+a.length,changes:o,lastSubLetter:u.parents.join(\"\"),consecutiveSubCount:i===u.parents.join(\"\")?s+1:1}),this.buffer.pop(),this.finalPasswords.length>=this.limit)return}}}if(!e||!l){let o=this.substr.charAt(a);this.buffer.push(o),this.helper({onlyFullSub:e,isFullSub:t&&!l,index:a+1,subIndex:r+1,changes:n,lastSubLetter:i,consecutiveSubCount:s}),this.buffer.pop()}}getAll(){return this.helper({onlyFullSub:!0,isFullSub:!0,index:0,subIndex:0,changes:[],lastSubLetter:void 0,consecutiveSubCount:0}),this.helper({onlyFullSub:!1,isFullSub:!0,index:0,subIndex:0,changes:[],lastSubLetter:void 0,consecutiveSubCount:0}),this.finalPasswords}}class q{constructor(e){this.defaultMatch=e}isAlreadyIncluded(e,t){return e.some(e=>Object.entries(e).every(([e,a])=>\"subs\"===e||a===t[e]))}match({password:e}){let t=[],a=new P({substr:e,limit:E.l33tMaxSubstitutions,trieRoot:E.trieNodeRoot}).getAll(),r=!1,n=!0;return a.forEach(a=>{if(r)return;let i=this.defaultMatch({password:a.password,useLevenshtein:n});n=!1,i.forEach(n=>{var i,s;let o,l,c,u,d;r||(r=0===n.i&&n.j===e.length-1);let h=(i=n.i,s=n.j,o=a.changes.filter(e=>e.ie-t.letter.length+t.substitution.length,i),c=(l=a.changes.filter(e=>e.i>=i&&e.i<=s)).reduce((e,t)=>e-t.letter.length+t.substitution.length,s-i+o),u=[],d=[],l.forEach(e=>{0>u.findIndex(t=>t.letter===e.letter&&t.substitution===e.substitution)&&(u.push({letter:e.letter,substitution:e.substitution}),d.push(`${e.substitution} -> ${e.letter}`))}),{i:o,j:c,subs:u,subDisplay:d.join(\", \")}),m=e.slice(h.i,+h.j+1||9e9),p={...n,l33t:!0,token:m,...h},f=this.isAlreadyIncluded(t,p);m.toLowerCase()===n.matchedWord||f||t.push(p)})}),t.filter(e=>e.token.length>1)}}class O{constructor(){this.l33t=new q(this.defaultMatch),this.reverse=new C(this.defaultMatch)}match({password:e}){return n([...this.defaultMatch({password:e}),...this.reverse.match({password:e}),...this.l33t.match({password:e})])}defaultMatch({password:e,useLevenshtein:t=!0}){let a=[],r=e.length,n=e.toLowerCase();return Object.keys(E.rankedDictionaries).forEach(i=>{let s=E.rankedDictionaries[i],o=Math.min(E.rankedDictionariesMaxWordSize[i],r);for(let l=0;l{let n,i=t[r];for(i.lastIndex=0;n=i.exec(e);)if(n){let e=n[0];a.push({pattern:\"regex\",token:e,i:n.index,j:n.index+n[0].length-1,regexName:r,regexMatch:n})}}),n(a)}}var U={nCk(e,t){let a=e;if(t>a)return 0;if(0===t)return 1;let r=1;for(let e=1;e<=t;e+=1)r*=a,r/=e,a-=1;return r},log10:e=>0===e?0:Math.log(e)/Math.log(10),log2:e=>Math.log(e)/Math.log(2),factorial(e){let t=1;for(let a=2;a<=e;a+=1)t*=a;return t}};let M=(e,t)=>{let a=0,r=e.indexOf(t);for(;r>=0;)a+=1,r=e.indexOf(t,r+t.length);return a},R={bruteforce:({token:e})=>{let t=10**e.length;return t===1/0&&(t=Number.MAX_VALUE),Math.max(t,1===e.length?11:51)},date:({year:e,separator:t})=>{let a=365*Math.max(Math.abs(e-b),20);return t&&(a*=4),a},dictionary:({rank:e,reversed:t,l33t:a,subs:r,token:n,dictionaryName:i})=>{let s,c=(e=>{let t=e.replace(f,\"\");if(t.match(h)||t.toLowerCase()===t)return 1;let a=[o,l,u],r=a.length;for(let e=0;e{let t=e.split(\"\"),a=t.filter(e=>e.match(p)).length,r=t.filter(e=>e.match(m)).length,n=0,i=Math.min(a,r);for(let e=1;e<=i;e+=1)n+=U.nCk(a+r,e);return n})(t)})(n),d=(({l33t:e,subs:t,token:a})=>{if(!e)return 1;let r=1;return t.forEach(e=>{let{subbedCount:t,unsubbedCount:n}=(({sub:e,token:t})=>{let a=t.toLowerCase();return{subbedCount:M(a,e.substitution),unsubbedCount:M(a,e.letter)}})({sub:e,token:a});if(0===t||0===n)r*=2;else{let e=Math.min(n,t),a=0;for(let r=1;r<=e;r+=1)a+=U.nCk(n+t,r);r*=a}}),r})({l33t:a,subs:r,token:n});return s=\"diceware\"===i?3888:e*c*d*(t&&2||1),{baseGuesses:e,uppercaseVariations:c,l33tVariations:d,calculation:s}},regex:({regexName:e,regexMatch:t,token:a})=>{let r={alphaLower:26,alphaUpper:26,alpha:52,alphanumeric:62,digits:10,symbols:33};return e in r?r[e]**a.length:\"recentYear\"===e?Math.max(Math.abs(parseInt(t[0],10)-b),20):0},repeat:({baseGuesses:e,repeatCount:t})=>e*t,sequence:({token:e,ascending:t})=>{let a=e.charAt(0),r=0;return r=[\"a\",\"A\",\"z\",\"Z\",\"0\",\"1\",\"9\"].includes(a)?4:a.match(/\\d/)?10:26,t||(r*=2),r*e.length},spatial:({graph:e,token:t,shiftedCount:a,turns:r})=>{let n=(({token:e,graph:t,turns:a})=>{var r;let n,i=Object.keys(E.graphs[t]).length,s=(r=E.graphs[t],n=0,Object.keys(r).forEach(e=>{let t=r[e];n+=t.filter(e=>!!e).length}),n/=Object.entries(r).length),o=0,l=e.length;for(let e=2;e<=l;e+=1){let t=Math.min(a,e-1);for(let a=1;a<=t;a+=1)o+=U.nCk(e-1,a-1)*i*s**a}return o})({token:t,graph:e,turns:r});if(a){let e=t.length-a;if(0===a||0===e)n*=2;else{let t=0;for(let r=1;r<=Math.min(a,e);r+=1)t+=U.nCk(a+e,r);n*=t}}return Math.round(n)},separator:()=>k},B={password:\"\",optimal:{},excludeAdditive:!1,separatorRegex:void 0,fillArray(e,t){let a=[];for(let r=0;r{var a;let r,n={};if(\"guesses\"in e&&null!=e.guesses)return e;let i=(r=1,e.token.length1&&(n*=this.optimal.pi[r.i-1][t-1]);let i=U.factorial(t)*n;this.excludeAdditive||(i+=1e4**(t-1));let s=!1;Object.keys(this.optimal.g[a]).forEach(e=>{let r=this.optimal.g[a][e];parseInt(e,10)<=t&&r<=i&&(s=!0)}),s||(this.optimal.g[a][t]=i,this.optimal.m[a][t]=r,this.optimal.pi[a][t]=n)},bruteforceUpdate(e){let t=this.makeBruteforceMatch(0,e);this.update(t,1);for(let a=1;a<=e;a+=1){t=this.makeBruteforceMatch(a,e);let r=this.optimal.m[a-1];Object.keys(r).forEach(e=>{\"bruteforce\"!==r[e].pattern&&this.update(t,parseInt(e,10)+1)})}},unwind(e){let t=[],a=e-1,r=0,n=2e308,i=this.optimal.g[a];for(i&&Object.keys(i).forEach(e=>{let t=i[e];t=0;){let e=this.optimal.m[a][r];t.unshift(e),a=e.i-1,r-=1}return t}};var N={mostGuessableMatchSequence(e,t,a=!1){B.password=e,B.excludeAdditive=a;let r=e.length,n=B.fillArray(r,\"array\");t.forEach(e=>{n[e.j].push(e)}),n=n.map(e=>e.sort((e,t)=>e.i-t.i)),B.optimal={m:B.fillArray(r,\"object\"),pi:B.fillArray(r,\"object\"),g:B.fillArray(r,\"object\")};for(let e=0;e{e.i>0?Object.keys(B.optimal.m[e.i-1]).forEach(t=>{B.update(e,parseInt(t,10)+1)}):B.update(e,1)}),B.bruteforceUpdate(e);let i=B.unwind(r),s=i.length,o=this.getGuesses(e,s);return{password:e,guesses:o,guessesLog10:U.log10(o),sequence:i}},getGuesses(e,t){let a=e.length;return 0===e.length?1:B.optimal.g[a-1][t]}};class D{match({password:e,omniMatch:t}){let a=[],r=0;for(;re instanceof Promise)?Promise.all(a):a}normalizeMatch(e,t,a,r){let n={pattern:\"repeat\",i:a.index,j:t,token:a[0],baseToken:e,baseGuesses:0,repeatCount:a[0].length/e.length};return r instanceof Promise?r.then(e=>({...n,baseGuesses:e})):{...n,baseGuesses:r}}getGreedyMatch(e,t){let a=/(.+)\\1+/g;return a.lastIndex=t,a.exec(e)}getLazyMatch(e,t){let a=/(.+?)\\1+/g;return a.lastIndex=t,a.exec(e)}setMatchToken(e,t){let a,r=\"\";if(t&&e[0].length>t[0].length){a=e;let t=/^(.+?)\\1+$/.exec(a[0]);t&&(r=t[1])}else(a=t)&&(r=a[1]);return{match:a,baseToken:r}}getBaseGuesses(e,t){let a=t.match(e);return a instanceof Promise?a.then(t=>N.mostGuessableMatchSequence(e,t).guesses):N.mostGuessableMatchSequence(e,a).guesses}}class F{constructor(){this.MAX_DELTA=5}match({password:e}){let t=[];if(1===e.length)return[];let a=0,r=null,n=e.length;for(let i=1;i1||1===Math.abs(a)){let i=Math.abs(a);if(i>0&&i<=this.MAX_DELTA){let i=r.slice(e,+t+1||9e9),{sequenceName:s,sequenceSpace:o}=this.getSequence(i);return n.push({pattern:\"sequence\",i:e,j:t,token:r.slice(e,+t+1||9e9),sequenceName:s,sequenceSpace:o,ascending:a>0})}}return null}getSequence(e){let t=\"unicode\",a=26;return d.test(e)?(t=\"lower\",a=26):c.test(e)?(t=\"upper\",a=26):g.test(e)&&(t=\"digits\",a=10),{sequenceName:t,sequenceSpace:a}}}class L{constructor(){this.SHIFTED_RX=/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?]/}match({password:e}){let t=[];return Object.keys(E.graphs).forEach(a=>{let n=E.graphs[a];r(t,this.helper(e,n,a))}),n(t)}checkIfShifted(e,t,a){return!e.includes(\"keypad\")&&this.SHIFTED_RX.test(t.charAt(a))?1:0}helper(e,t,a){let r,n=[],i=0,s=e.length;for(;i2&&n.push({pattern:\"spatial\",i,j:o-1,token:e.slice(i,o),graph:a,turns:c,shiftedCount:r}),i=o;break}}}return n}}let W=RegExp(`[${w.join(\"\")}]`);class K{static getMostUsedSeparatorChar(e){let t=[...e.split(\"\").filter(e=>W.test(e)).reduce((e,t)=>{let a=e.get(t);return a?e.set(t,a+1):e.set(t,1),e},new Map).entries()].sort(([e,t],[a,r])=>r-t);if(!t.length)return;let a=t[0];if(!(a[1]<2))return a[0]}static getSeparatorRegex(e){return RegExp(`([^${e}\n])(${e})(?!${e})`,\"g\")}match({password:e}){let t=[];if(0===e.length)return t;let a=K.getMostUsedSeparatorChar(e);if(void 0===a)return t;let r=K.getSeparatorRegex(a);for(let n of e.matchAll(r)){if(void 0===n.index)continue;let e=n.index+1;t.push({pattern:\"separator\",token:a,i:e,j:e})}return t}}class H{constructor(){this.matchers={date:v,dictionary:O,regex:T,repeat:D,sequence:F,spatial:L,separator:K}}match(e){let t=[],a=[];return([...Object.keys(this.matchers),...Object.keys(E.matchers)].forEach(n=>{if(!this.matchers[n]&&!E.matchers[n])return;let i=new(this.matchers[n]?this.matchers[n]:E.matchers[n].Matching)().match({password:e,omniMatch:this});i instanceof Promise?(i.then(e=>{r(t,e)}),a.push(i)):r(t,i)}),a.length>0)?new Promise((e,r)=>{Promise.all(a).then(()=>{e(n(t))}).catch(e=>{r(e)})}):n(t)}}let V={second:1,minute:60,hour:3600,day:86400,month:2678400,year:0x1ea6e00,century:321408e4};class G{translate(e,t){let a=e;void 0!==t&&1!==t&&(a+=\"s\");let{timeEstimation:r}=E.translations;return r[a].replace(\"{base}\",`${t}`)}estimateAttackTimes(e){let t={onlineThrottling100PerHour:e/(100/3600),onlineNoThrottling10PerSecond:e/10,offlineSlowHashing1e4PerSecond:e/1e4,offlineFastHashing1e10PerSecond:e/1e10},a={onlineThrottling100PerHour:\"\",onlineNoThrottling10PerSecond:\"\",offlineSlowHashing1e4PerSecond:\"\",offlineFastHashing1e10PerSecond:\"\"};return Object.keys(t).forEach(e=>{let r=t[e];a[e]=this.displayTime(r)}),{crackTimesSeconds:t,crackTimesDisplay:a,score:this.guessesToScore(e)}}guessesToScore(e){return e<1005?0:e<1000005?1:e<0x5f5e105?2:e<0x2540be405?3:4}displayTime(e){let t,a=\"centuries\",r=Object.keys(V),n=r.findIndex(t=>e-1&&(a=r[n-1],0!==n?t=Math.round(e/V[a]):a=\"ltSecond\"),this.translate(a,t)}}var J=()=>null,Z=()=>({warning:E.translations.warnings.dates,suggestions:[E.translations.suggestions.dates]}),$=(e,t)=>{let a=((e,t)=>{let a=null,r=e.dictionaryName,n=\"lastnames\"===r||r.toLowerCase().includes(\"firstnames\");if(\"passwords\"===r){let r;r=null,!t||e.l33t||e.reversed?e.guessesLog10<=4&&(r=E.translations.warnings.similarToCommon):r=e.rank<=10?E.translations.warnings.topTen:e.rank<=100?E.translations.warnings.topHundred:E.translations.warnings.common,a=r}else if(r.includes(\"wikipedia\")){let e;e=null,t&&(e=E.translations.warnings.wordByItself),a=e}else n?a=t?E.translations.warnings.namesByThemselves:E.translations.warnings.commonNames:\"userInputs\"===r&&(a=E.translations.warnings.userInputs);return a})(e,t),r=[],n=e.token;return n.match(o)?r.push(E.translations.suggestions.capitalization):n.match(u)&&n.toLowerCase()!==n&&r.push(E.translations.suggestions.allUppercase),e.reversed&&e.token.length>=4&&r.push(E.translations.suggestions.reverseWords),e.l33t&&r.push(E.translations.suggestions.l33t),{warning:a,suggestions:r}},Y=e=>\"recentYear\"===e.regexName?{warning:E.translations.warnings.recentYears,suggestions:[E.translations.suggestions.recentYears,E.translations.suggestions.associatedYears]}:{warning:null,suggestions:[]},Q=e=>{let t=E.translations.warnings.extendedRepeat;return 1===e.baseToken.length&&(t=E.translations.warnings.simpleRepeat),{warning:t,suggestions:[E.translations.suggestions.repeated]}},X=()=>({warning:E.translations.warnings.sequences,suggestions:[E.translations.suggestions.sequences]}),ee=e=>{let t=E.translations.warnings.keyPattern;return 1===e.turns&&(t=E.translations.warnings.straightRow),{warning:t,suggestions:[E.translations.suggestions.longerKeyboardPattern]}},et=()=>null;let ea={warning:null,suggestions:[]};class er{constructor(){this.matchers={bruteforce:J,date:Z,dictionary:$,regex:Y,repeat:Q,sequence:X,spatial:ee,separator:et},this.defaultFeedback={warning:null,suggestions:[]},this.setDefaultSuggestions()}setDefaultSuggestions(){this.defaultFeedback.suggestions.push(E.translations.suggestions.useWords,E.translations.suggestions.noNeed)}getFeedback(e,t){if(0===t.length)return this.defaultFeedback;if(e>2)return ea;let a=E.translations.suggestions.anotherWord,r=this.getLongestMatch(t),n=this.getMatchFeedback(r,1===t.length);return null!=n?n.suggestions.unshift(a):n={warning:null,suggestions:[a]},n}getLongestMatch(e){let t=e[0];return e.slice(1).forEach(e=>{e.token.length>t.token.length&&(t=e)}),t}getMatchFeedback(e,t){return this.matchers[e.pattern]?this.matchers[e.pattern](e,t):E.matchers[e.pattern]&&\"feedback\"in E.matchers[e.pattern]?E.matchers[e.pattern].feedback(e,t):ea}}var en=(e,t,a)=>{let r;return function(...n){let i=this,s=a&&!r;if(void 0!==r&&clearTimeout(r),r=setTimeout(()=>{r=void 0,a||e.apply(i,n)},t),s)return e.apply(i,n)}};let ei=()=>new Date().getTime(),es=(e,t,a)=>{let r=new er,n=new G,i=N.mostGuessableMatchSequence(t,e),s=ei()-a,o=n.estimateAttackTimes(i.guesses);return{calcTime:s,...i,...o,feedback:r.getFeedback(o.score,i.sequence)}},eo=(e,t)=>(t&&E.extendUserInputsDictionary(t),new H().match(e)),el=(e,t)=>{let a=ei(),r=eo(e,t);if(r instanceof Promise)throw Error(\"You are using a Promised matcher, please use `zxcvbnAsync` for it.\");return es(r,e,a)},ec=async(e,t)=>{let a=e.substring(0,E.maxLength),r=ei();return es(await eo(a,t),a,r)}},3618(e,t,a){a.r(t),a.d(t,{dictionary:()=>r,adjacencyGraphs:()=>n});let r={diceware:\"abacus,abdomen,abdominal,abide,abiding,ability,ablaze,able,abnormal,abrasion,abrasive,abreast,abridge,abroad,abruptly,absence,absentee,absently,absinthe,absolute,absolve,abstain,abstract,absurd,accent,acclaim,acclimate,accompany,account,accuracy,accurate,accustom,acetone,achiness,aching,acid,acorn,acquaint,acquire,acre,acrobat,acronym,acting,action,activate,activator,active,activism,activist,activity,actress,acts,acutely,acuteness,aeration,aerobics,aerosol,aerospace,afar,affair,affected,affecting,affection,affidavit,affiliate,affirm,affix,afflicted,affluent,afford,affront,aflame,afloat,aflutter,afoot,afraid,afterglow,afterlife,aftermath,aftermost,afternoon,aged,ageless,agency,agenda,agent,aggregate,aghast,agile,agility,aging,agnostic,agonize,agonizing,agony,agreeable,agreeably,agreed,agreeing,agreement,aground,ahead,ahoy,aide,aids,aim,ajar,alabaster,alarm,albatross,album,alfalfa,algebra,algorithm,alias,alibi,alienable,alienate,aliens,alike,alive,alkaline,alkalize,almanac,almighty,almost,aloe,aloft,aloha,alone,alongside,aloof,alphabet,alright,although,altitude,alto,aluminum,alumni,always,amaretto,amaze,amazingly,amber,ambiance,ambiguity,ambiguous,ambition,ambitious,ambulance,ambush,amendable,amendment,amends,amenity,amiable,amicably,amid,amigo,amino,amiss,ammonia,ammonium,amnesty,amniotic,among,amount,amperage,ample,amplifier,amplify,amply,amuck,amulet,amusable,amused,amusement,amuser,amusing,anaconda,anaerobic,anagram,anatomist,anatomy,anchor,anchovy,ancient,android,anemia,anemic,aneurism,anew,angelfish,angelic,anger,angled,angler,angles,angling,angrily,angriness,anguished,angular,animal,animate,animating,animation,animator,anime,animosity,ankle,annex,annotate,announcer,annoying,annually,annuity,anointer,another,answering,antacid,antarctic,anteater,antelope,antennae,anthem,anthill,anthology,antibody,antics,antidote,antihero,antiquely,antiques,antiquity,antirust,antitoxic,antitrust,antiviral,antivirus,antler,antonym,antsy,anvil,anybody,anyhow,anymore,anyone,anyplace,anything,anytime,anyway,anywhere,aorta,apache,apostle,appealing,appear,appease,appeasing,appendage,appendix,appetite,appetizer,applaud,applause,apple,appliance,applicant,applied,apply,appointee,appraisal,appraiser,apprehend,approach,approval,approve,apricot,april,apron,aptitude,aptly,aqua,aqueduct,arbitrary,arbitrate,ardently,area,arena,arguable,arguably,argue,arise,armadillo,armband,armchair,armed,armful,armhole,arming,armless,armoire,armored,armory,armrest,army,aroma,arose,around,arousal,arrange,array,arrest,arrival,arrive,arrogance,arrogant,arson,art,ascend,ascension,ascent,ascertain,ashamed,ashen,ashes,ashy,aside,askew,asleep,asparagus,aspect,aspirate,aspire,aspirin,astonish,astound,astride,astrology,astronaut,astronomy,astute,atlantic,atlas,atom,atonable,atop,atrium,atrocious,atrophy,attach,attain,attempt,attendant,attendee,attention,attentive,attest,attic,attire,attitude,attractor,attribute,atypical,auction,audacious,audacity,audible,audibly,audience,audio,audition,augmented,august,authentic,author,autism,autistic,autograph,automaker,automated,automatic,autopilot,available,avalanche,avatar,avenge,avenging,avenue,average,aversion,avert,aviation,aviator,avid,avoid,await,awaken,award,aware,awhile,awkward,awning,awoke,awry,axis,babble,babbling,babied,baboon,backache,backboard,backboned,backdrop,backed,backer,backfield,backfire,backhand,backing,backlands,backlash,backless,backlight,backlit,backlog,backpack,backpedal,backrest,backroom,backshift,backside,backslid,backspace,backspin,backstab,backstage,backtalk,backtrack,backup,backward,backwash,backwater,backyard,bacon,bacteria,bacterium,badass,badge,badland,badly,badness,baffle,baffling,bagel,bagful,baggage,bagged,baggie,bagginess,bagging,baggy,bagpipe,baguette,baked,bakery,bakeshop,baking,balance,balancing,balcony,balmy,balsamic,bamboo,banana,banish,banister,banjo,bankable,bankbook,banked,banker,banking,banknote,bankroll,banner,bannister,banshee,banter,barbecue,barbed,barbell,barber,barcode,barge,bargraph,barista,baritone,barley,barmaid,barman,barn,barometer,barrack,barracuda,barrel,barrette,barricade,barrier,barstool,bartender,barterer,bash,basically,basics,basil,basin,basis,basket,batboy,batch,bath,baton,bats,battalion,battered,battering,battery,batting,battle,bauble,bazooka,blabber,bladder,blade,blah,blame,blaming,blanching,blandness,blank,blaspheme,blasphemy,blast,blatancy,blatantly,blazer,blazing,bleach,bleak,bleep,blemish,blend,bless,blighted,blimp,bling,blinked,blinker,blinking,blinks,blip,blissful,blitz,blizzard,bloated,bloating,blob,blog,bloomers,blooming,blooper,blot,blouse,blubber,bluff,bluish,blunderer,blunt,blurb,blurred,blurry,blurt,blush,blustery,boaster,boastful,boasting,boat,bobbed,bobbing,bobble,bobcat,bobsled,bobtail,bodacious,body,bogged,boggle,bogus,boil,bok,bolster,bolt,bonanza,bonded,bonding,bondless,boned,bonehead,boneless,bonelike,boney,bonfire,bonnet,bonsai,bonus,bony,boogeyman,boogieman,book,boondocks,booted,booth,bootie,booting,bootlace,bootleg,boots,boozy,borax,boring,borough,borrower,borrowing,boss,botanical,botanist,botany,botch,both,bottle,bottling,bottom,bounce,bouncing,bouncy,bounding,boundless,bountiful,bovine,boxcar,boxer,boxing,boxlike,boxy,breach,breath,breeches,breeching,breeder,breeding,breeze,breezy,brethren,brewery,brewing,briar,bribe,brick,bride,bridged,brigade,bright,brilliant,brim,bring,brink,brisket,briskly,briskness,bristle,brittle,broadband,broadcast,broaden,broadly,broadness,broadside,broadways,broiler,broiling,broken,broker,bronchial,bronco,bronze,bronzing,brook,broom,brought,browbeat,brownnose,browse,browsing,bruising,brunch,brunette,brunt,brush,brussels,brute,brutishly,bubble,bubbling,bubbly,buccaneer,bucked,bucket,buckle,buckshot,buckskin,bucktooth,buckwheat,buddhism,buddhist,budding,buddy,budget,buffalo,buffed,buffer,buffing,buffoon,buggy,bulb,bulge,bulginess,bulgur,bulk,bulldog,bulldozer,bullfight,bullfrog,bullhorn,bullion,bullish,bullpen,bullring,bullseye,bullwhip,bully,bunch,bundle,bungee,bunion,bunkbed,bunkhouse,bunkmate,bunny,bunt,busboy,bush,busily,busload,bust,busybody,buzz,cabana,cabbage,cabbie,cabdriver,cable,caboose,cache,cackle,cacti,cactus,caddie,caddy,cadet,cadillac,cadmium,cage,cahoots,cake,calamari,calamity,calcium,calculate,calculus,caliber,calibrate,calm,caloric,calorie,calzone,camcorder,cameo,camera,camisole,camper,campfire,camping,campsite,campus,canal,canary,cancel,candied,candle,candy,cane,canine,canister,cannabis,canned,canning,cannon,cannot,canola,canon,canopener,canopy,canteen,canyon,capable,capably,capacity,cape,capillary,capital,capitol,capped,capricorn,capsize,capsule,caption,captivate,captive,captivity,capture,caramel,carat,caravan,carbon,cardboard,carded,cardiac,cardigan,cardinal,cardstock,carefully,caregiver,careless,caress,caretaker,cargo,caring,carless,carload,carmaker,carnage,carnation,carnival,carnivore,carol,carpenter,carpentry,carpool,carport,carried,carrot,carrousel,carry,cartel,cartload,carton,cartoon,cartridge,cartwheel,carve,carving,carwash,cascade,case,cash,casing,casino,casket,cassette,casually,casualty,catacomb,catalog,catalyst,catalyze,catapult,cataract,catatonic,catcall,catchable,catcher,catching,catchy,caterer,catering,catfight,catfish,cathedral,cathouse,catlike,catnap,catnip,catsup,cattail,cattishly,cattle,catty,catwalk,caucasian,caucus,causal,causation,cause,causing,cauterize,caution,cautious,cavalier,cavalry,caviar,cavity,cedar,celery,celestial,celibacy,celibate,celtic,cement,census,ceramics,ceremony,certainly,certainty,certified,certify,cesarean,cesspool,chafe,chaffing,chain,chair,chalice,challenge,chamber,chamomile,champion,chance,change,channel,chant,chaos,chaperone,chaplain,chapped,chaps,chapter,character,charbroil,charcoal,charger,charging,chariot,charity,charm,charred,charter,charting,chase,chasing,chaste,chastise,chastity,chatroom,chatter,chatting,chatty,cheating,cheddar,cheek,cheer,cheese,cheesy,chef,chemicals,chemist,chemo,cherisher,cherub,chess,chest,chevron,chevy,chewable,chewer,chewing,chewy,chief,chihuahua,childcare,childhood,childish,childless,childlike,chili,chill,chimp,chip,chirping,chirpy,chitchat,chivalry,chive,chloride,chlorine,choice,chokehold,choking,chomp,chooser,choosing,choosy,chop,chosen,chowder,chowtime,chrome,chubby,chuck,chug,chummy,chump,chunk,churn,chute,cider,cilantro,cinch,cinema,cinnamon,circle,circling,circular,circulate,circus,citable,citadel,citation,citizen,citric,citrus,city,civic,civil,clad,claim,clambake,clammy,clamor,clamp,clamshell,clang,clanking,clapped,clapper,clapping,clarify,clarinet,clarity,clash,clasp,class,clatter,clause,clavicle,claw,clay,clean,clear,cleat,cleaver,cleft,clench,clergyman,clerical,clerk,clever,clicker,client,climate,climatic,cling,clinic,clinking,clip,clique,cloak,clobber,clock,clone,cloning,closable,closure,clothes,clothing,cloud,clover,clubbed,clubbing,clubhouse,clump,clumsily,clumsy,clunky,clustered,clutch,clutter,coach,coagulant,coastal,coaster,coasting,coastland,coastline,coat,coauthor,cobalt,cobbler,cobweb,cocoa,coconut,cod,coeditor,coerce,coexist,coffee,cofounder,cognition,cognitive,cogwheel,coherence,coherent,cohesive,coil,coke,cola,cold,coleslaw,coliseum,collage,collapse,collar,collected,collector,collide,collie,collision,colonial,colonist,colonize,colony,colossal,colt,coma,come,comfort,comfy,comic,coming,comma,commence,commend,comment,commerce,commode,commodity,commodore,common,commotion,commute,commuting,compacted,compacter,compactly,compactor,companion,company,compare,compel,compile,comply,component,composed,composer,composite,compost,composure,compound,compress,comprised,computer,computing,comrade,concave,conceal,conceded,concept,concerned,concert,conch,concierge,concise,conclude,concrete,concur,condense,condiment,condition,condone,conducive,conductor,conduit,cone,confess,confetti,confidant,confident,confider,confiding,configure,confined,confining,confirm,conflict,conform,confound,confront,confused,confusing,confusion,congenial,congested,congrats,congress,conical,conjoined,conjure,conjuror,connected,connector,consensus,consent,console,consoling,consonant,constable,constant,constrain,constrict,construct,consult,consumer,consuming,contact,container,contempt,contend,contented,contently,contents,contest,context,contort,contour,contrite,control,contusion,convene,convent,copartner,cope,copied,copier,copilot,coping,copious,copper,copy,coral,cork,cornball,cornbread,corncob,cornea,corned,corner,cornfield,cornflake,cornhusk,cornmeal,cornstalk,corny,coronary,coroner,corporal,corporate,corral,correct,corridor,corrode,corroding,corrosive,corsage,corset,cortex,cosigner,cosmetics,cosmic,cosmos,cosponsor,cost,cottage,cotton,couch,cough,could,countable,countdown,counting,countless,country,county,courier,covenant,cover,coveted,coveting,coyness,cozily,coziness,cozy,crabbing,crabgrass,crablike,crabmeat,cradle,cradling,crafter,craftily,craftsman,craftwork,crafty,cramp,cranberry,crane,cranial,cranium,crank,crate,crave,craving,crawfish,crawlers,crawling,crayfish,crayon,crazed,crazily,craziness,crazy,creamed,creamer,creamlike,crease,creasing,creatable,create,creation,creative,creature,credible,credibly,credit,creed,creme,creole,crepe,crept,crescent,crested,cresting,crestless,crevice,crewless,crewman,crewmate,crib,cricket,cried,crier,crimp,crimson,cringe,cringing,crinkle,crinkly,crisped,crisping,crisply,crispness,crispy,criteria,critter,croak,crock,crook,croon,crop,cross,crouch,crouton,crowbar,crowd,crown,crucial,crudely,crudeness,cruelly,cruelness,cruelty,crumb,crummiest,crummy,crumpet,crumpled,cruncher,crunching,crunchy,crusader,crushable,crushed,crusher,crushing,crust,crux,crying,cryptic,crystal,cubbyhole,cube,cubical,cubicle,cucumber,cuddle,cuddly,cufflink,culinary,culminate,culpable,culprit,cultivate,cultural,culture,cupbearer,cupcake,cupid,cupped,cupping,curable,curator,curdle,cure,curfew,curing,curled,curler,curliness,curling,curly,curry,curse,cursive,cursor,curtain,curtly,curtsy,curvature,curve,curvy,cushy,cusp,cussed,custard,custodian,custody,customary,customer,customize,customs,cut,cycle,cyclic,cycling,cyclist,cylinder,cymbal,cytoplasm,cytoplast,dab,dad,daffodil,dagger,daily,daintily,dainty,dairy,daisy,dallying,dance,dancing,dandelion,dander,dandruff,dandy,danger,dangle,dangling,daredevil,dares,daringly,darkened,darkening,darkish,darkness,darkroom,darling,darn,dart,darwinism,dash,dastardly,data,datebook,dating,daughter,daunting,dawdler,dawn,daybed,daybreak,daycare,daydream,daylight,daylong,dayroom,daytime,dazzler,dazzling,deacon,deafening,deafness,dealer,dealing,dealmaker,dealt,dean,debatable,debate,debating,debit,debrief,debtless,debtor,debug,debunk,decade,decaf,decal,decathlon,decay,deceased,deceit,deceiver,deceiving,december,decency,decent,deception,deceptive,decibel,decidable,decimal,decimeter,decipher,deck,declared,decline,decode,decompose,decorated,decorator,decoy,decrease,decree,dedicate,dedicator,deduce,deduct,deed,deem,deepen,deeply,deepness,deface,defacing,defame,default,defeat,defection,defective,defendant,defender,defense,defensive,deferral,deferred,defiance,defiant,defile,defiling,define,definite,deflate,deflation,deflator,deflected,deflector,defog,deforest,defraud,defrost,deftly,defuse,defy,degraded,degrading,degrease,degree,dehydrate,deity,dejected,delay,delegate,delegator,delete,deletion,delicacy,delicate,delicious,delighted,delirious,delirium,deliverer,delivery,delouse,delta,deluge,delusion,deluxe,demanding,demeaning,demeanor,demise,democracy,democrat,demote,demotion,demystify,denatured,deniable,denial,denim,denote,dense,density,dental,dentist,denture,deny,deodorant,deodorize,departed,departure,depict,deplete,depletion,deplored,deploy,deport,depose,depraved,depravity,deprecate,depress,deprive,depth,deputize,deputy,derail,deranged,derby,derived,desecrate,deserve,deserving,designate,designed,designer,designing,deskbound,desktop,deskwork,desolate,despair,despise,despite,destiny,destitute,destruct,detached,detail,detection,detective,detector,detention,detergent,detest,detonate,detonator,detoxify,detract,deuce,devalue,deviancy,deviant,deviate,deviation,deviator,device,devious,devotedly,devotee,devotion,devourer,devouring,devoutly,dexterity,dexterous,diabetes,diabetic,diabolic,diagnoses,diagnosis,diagram,dial,diameter,diaper,diaphragm,diary,dice,dicing,dictate,dictation,dictator,difficult,diffused,diffuser,diffusion,diffusive,dig,dilation,diligence,diligent,dill,dilute,dime,diminish,dimly,dimmed,dimmer,dimness,dimple,diner,dingbat,dinghy,dinginess,dingo,dingy,dining,dinner,diocese,dioxide,diploma,dipped,dipper,dipping,directed,direction,directive,directly,directory,direness,dirtiness,disabled,disagree,disallow,disarm,disarray,disaster,disband,disbelief,disburse,discard,discern,discharge,disclose,discolor,discount,discourse,discover,discuss,disdain,disengage,disfigure,disgrace,dish,disinfect,disjoin,disk,dislike,disliking,dislocate,dislodge,disloyal,dismantle,dismay,dismiss,dismount,disobey,disorder,disown,disparate,disparity,dispatch,dispense,dispersal,dispersed,disperser,displace,display,displease,disposal,dispose,disprove,dispute,disregard,disrupt,dissuade,distance,distant,distaste,distill,distinct,distort,distract,distress,district,distrust,ditch,ditto,ditzy,dividable,divided,dividend,dividers,dividing,divinely,diving,divinity,divisible,divisibly,division,divisive,divorcee,dizziness,dizzy,doable,docile,dock,doctrine,document,dodge,dodgy,doily,doing,dole,dollar,dollhouse,dollop,dolly,dolphin,domain,domelike,domestic,dominion,dominoes,donated,donation,donator,donor,donut,doodle,doorbell,doorframe,doorknob,doorman,doormat,doornail,doorpost,doorstep,doorstop,doorway,doozy,dork,dormitory,dorsal,dosage,dose,dotted,doubling,douche,dove,down,dowry,doze,drab,dragging,dragonfly,dragonish,dragster,drainable,drainage,drained,drainer,drainpipe,dramatic,dramatize,drank,drapery,drastic,draw,dreaded,dreadful,dreadlock,dreamboat,dreamily,dreamland,dreamless,dreamlike,dreamt,dreamy,drearily,dreary,drench,dress,drew,dribble,dried,drier,drift,driller,drilling,drinkable,drinking,dripping,drippy,drivable,driven,driver,driveway,driving,drizzle,drizzly,drone,drool,droop,dropdown,dropbox,dropkick,droplet,dropout,dropper,drove,drown,drowsily,drudge,drum,dry,dubbed,dubiously,duchess,duckbill,ducking,duckling,ducktail,ducky,duct,dude,duffel,dugout,duh,duke,duller,dullness,duly,dumping,dumpling,dumpster,duo,dupe,duplex,duplicate,duplicity,durable,durably,duration,duress,during,dusk,dust,dutiful,duty,duvet,dwarf,dweeb,dwelled,dweller,dwelling,dwindle,dwindling,dynamic,dynamite,dynasty,dyslexia,dyslexic,each,eagle,earache,eardrum,earflap,earful,earlobe,early,earmark,earmuff,earphone,earpiece,earplugs,earring,earshot,earthen,earthlike,earthling,earthly,earthworm,earthy,earwig,easeful,easel,easiest,easily,easiness,easing,eastbound,eastcoast,easter,eastward,eatable,eaten,eatery,eating,eats,ebay,ebony,ebook,ecard,eccentric,echo,eclair,eclipse,ecologist,ecology,economic,economist,economy,ecosphere,ecosystem,edge,edginess,edging,edgy,edition,editor,educated,education,educator,eel,effective,effects,efficient,effort,eggbeater,egging,eggnog,eggplant,eggshell,egomaniac,egotism,egotistic,either,eject,elaborate,elastic,elated,elbow,eldercare,elderly,eldest,electable,election,elective,elephant,elevate,elevating,elevation,elevator,eleven,elf,eligible,eligibly,eliminate,elite,elitism,elixir,elk,ellipse,elliptic,elm,elongated,elope,eloquence,eloquent,elsewhere,elude,elusive,elves,email,embargo,embark,embassy,embattled,embellish,ember,embezzle,emblaze,emblem,embody,embolism,emboss,embroider,emcee,emerald,emergency,emission,emit,emote,emoticon,emotion,empathic,empathy,emperor,emphases,emphasis,emphasize,emphatic,empirical,employed,employee,employer,emporium,empower,emptier,emptiness,empty,emu,enable,enactment,enamel,enchanted,enchilada,encircle,enclose,enclosure,encode,encore,encounter,encourage,encroach,encrust,encrypt,endanger,endeared,endearing,ended,ending,endless,endnote,endocrine,endorphin,endorse,endowment,endpoint,endurable,endurance,enduring,energetic,energize,energy,enforced,enforcer,engaged,engaging,engine,engorge,engraved,engraver,engraving,engross,engulf,enhance,enigmatic,enjoyable,enjoyably,enjoyer,enjoying,enjoyment,enlarged,enlarging,enlighten,enlisted,enquirer,enrage,enrich,enroll,enslave,ensnare,ensure,entail,entangled,entering,entertain,enticing,entire,entitle,entity,entomb,entourage,entrap,entree,entrench,entrust,entryway,entwine,enunciate,envelope,enviable,enviably,envious,envision,envoy,envy,enzyme,epic,epidemic,epidermal,epidermis,epidural,epilepsy,epileptic,epilogue,epiphany,episode,equal,equate,equation,equator,equinox,equipment,equity,equivocal,eradicate,erasable,erased,eraser,erasure,ergonomic,errand,errant,erratic,error,erupt,escalate,escalator,escapable,escapade,escapist,escargot,eskimo,esophagus,espionage,espresso,esquire,essay,essence,essential,establish,estate,esteemed,estimate,estimator,estranged,estrogen,etching,eternal,eternity,ethanol,ether,ethically,ethics,euphemism,evacuate,evacuee,evade,evaluate,evaluator,evaporate,evasion,evasive,even,everglade,evergreen,everybody,everyday,everyone,evict,evidence,evident,evil,evoke,evolution,evolve,exact,exalted,example,excavate,excavator,exceeding,exception,excess,exchange,excitable,exciting,exclaim,exclude,excluding,exclusion,exclusive,excretion,excretory,excursion,excusable,excusably,excuse,exemplary,exemplify,exemption,exerciser,exert,exes,exfoliate,exhale,exhaust,exhume,exile,existing,exit,exodus,exonerate,exorcism,exorcist,expand,expanse,expansion,expansive,expectant,expedited,expediter,expel,expend,expenses,expensive,expert,expire,expiring,explain,expletive,explicit,explode,exploit,explore,exploring,exponent,exporter,exposable,expose,exposure,express,expulsion,exquisite,extended,extending,extent,extenuate,exterior,external,extinct,extortion,extradite,extras,extrovert,extrude,extruding,exuberant,fable,fabric,fabulous,facebook,facecloth,facedown,faceless,facelift,faceplate,faceted,facial,facility,facing,facsimile,faction,factoid,factor,factsheet,factual,faculty,fade,fading,failing,falcon,fall,false,falsify,fame,familiar,family,famine,famished,fanatic,fancied,fanciness,fancy,fanfare,fang,fanning,fantasize,fantastic,fantasy,fascism,fastball,faster,fasting,fastness,faucet,favorable,favorably,favored,favoring,favorite,fax,feast,federal,fedora,feeble,feed,feel,feisty,feline,felttip,feminine,feminism,feminist,feminize,femur,fence,fencing,fender,ferment,fernlike,ferocious,ferocity,ferret,ferris,ferry,fervor,fester,festival,festive,festivity,fetal,fetch,fever,fiber,fiction,fiddle,fiddling,fidelity,fidgeting,fidgety,fifteen,fifth,fiftieth,fifty,figment,figure,figurine,filing,filled,filler,filling,film,filter,filth,filtrate,finale,finalist,finalize,finally,finance,financial,finch,fineness,finer,finicky,finished,finisher,finishing,finite,finless,finlike,fiscally,fit,five,flaccid,flagman,flagpole,flagship,flagstick,flagstone,flail,flakily,flaky,flame,flammable,flanked,flanking,flannels,flap,flaring,flashback,flashbulb,flashcard,flashily,flashing,flashy,flask,flatbed,flatfoot,flatly,flatness,flatten,flattered,flatterer,flattery,flattop,flatware,flatworm,flavored,flavorful,flavoring,flaxseed,fled,fleshed,fleshy,flick,flier,flight,flinch,fling,flint,flip,flirt,float,flock,flogging,flop,floral,florist,floss,flounder,flyable,flyaway,flyer,flying,flyover,flypaper,foam,foe,fog,foil,folic,folk,follicle,follow,fondling,fondly,fondness,fondue,font,food,fool,footage,football,footbath,footboard,footer,footgear,foothill,foothold,footing,footless,footman,footnote,footpad,footpath,footprint,footrest,footsie,footsore,footwear,footwork,fossil,foster,founder,founding,fountain,fox,foyer,fraction,fracture,fragile,fragility,fragment,fragrance,fragrant,frail,frame,framing,frantic,fraternal,frayed,fraying,frays,freckled,freckles,freebase,freebee,freebie,freedom,freefall,freehand,freeing,freeload,freely,freemason,freeness,freestyle,freeware,freeway,freewill,freezable,freezing,freight,french,frenzied,frenzy,frequency,frequent,fresh,fretful,fretted,friction,friday,fridge,fried,friend,frighten,frightful,frigidity,frigidly,frill,fringe,frisbee,frisk,fritter,frivolous,frolic,from,front,frostbite,frosted,frostily,frosting,frostlike,frosty,froth,frown,frozen,fructose,frugality,frugally,fruit,frustrate,frying,gab,gaffe,gag,gainfully,gaining,gains,gala,gallantly,galleria,gallery,galley,gallon,gallows,gallstone,galore,galvanize,gambling,game,gaming,gamma,gander,gangly,gangrene,gangway,gap,garage,garbage,garden,gargle,garland,garlic,garment,garnet,garnish,garter,gas,gatherer,gathering,gating,gauging,gauntlet,gauze,gave,gawk,gazing,gear,gecko,geek,geiger,gem,gender,generic,generous,genetics,genre,gentile,gentleman,gently,gents,geography,geologic,geologist,geology,geometric,geometry,geranium,gerbil,geriatric,germicide,germinate,germless,germproof,gestate,gestation,gesture,getaway,getting,getup,giant,gibberish,giblet,giddily,giddiness,giddy,gift,gigabyte,gigahertz,gigantic,giggle,giggling,giggly,gigolo,gilled,gills,gimmick,girdle,giveaway,given,giver,giving,gizmo,gizzard,glacial,glacier,glade,gladiator,gladly,glamorous,glamour,glance,glancing,glandular,glare,glaring,glass,glaucoma,glazing,gleaming,gleeful,glider,gliding,glimmer,glimpse,glisten,glitch,glitter,glitzy,gloater,gloating,gloomily,gloomy,glorified,glorifier,glorify,glorious,glory,gloss,glove,glowing,glowworm,glucose,glue,gluten,glutinous,glutton,gnarly,gnat,goal,goatskin,goes,goggles,going,goldfish,goldmine,goldsmith,golf,goliath,gonad,gondola,gone,gong,good,gooey,goofball,goofiness,goofy,google,goon,gopher,gore,gorged,gorgeous,gory,gosling,gossip,gothic,gotten,gout,gown,grab,graceful,graceless,gracious,gradation,graded,grader,gradient,grading,gradually,graduate,graffiti,grafted,grafting,grain,granddad,grandkid,grandly,grandma,grandpa,grandson,granite,granny,granola,grant,granular,grape,graph,grapple,grappling,grasp,grass,gratified,gratify,grating,gratitude,gratuity,gravel,graveness,graves,graveyard,gravitate,gravity,gravy,gray,grazing,greasily,greedily,greedless,greedy,green,greeter,greeting,grew,greyhound,grid,grief,grievance,grieving,grievous,grill,grimace,grimacing,grime,griminess,grimy,grinch,grinning,grip,gristle,grit,groggily,groggy,groin,groom,groove,grooving,groovy,grope,ground,grouped,grout,grove,grower,growing,growl,grub,grudge,grudging,grueling,gruffly,grumble,grumbling,grumbly,grumpily,grunge,grunt,guacamole,guidable,guidance,guide,guiding,guileless,guise,gulf,gullible,gully,gulp,gumball,gumdrop,gumminess,gumming,gummy,gurgle,gurgling,guru,gush,gusto,gusty,gutless,guts,gutter,guy,guzzler,gyration,habitable,habitant,habitat,habitual,hacked,hacker,hacking,hacksaw,had,haggler,haiku,half,halogen,halt,halved,halves,hamburger,hamlet,hammock,hamper,hamster,hamstring,handbag,handball,handbook,handbrake,handcart,handclap,handclasp,handcraft,handcuff,handed,handful,handgrip,handgun,handheld,handiness,handiwork,handlebar,handled,handler,handling,handmade,handoff,handpick,handprint,handrail,handsaw,handset,handsfree,handshake,handstand,handwash,handwork,handwoven,handwrite,handyman,hangnail,hangout,hangover,hangup,hankering,hankie,hanky,haphazard,happening,happier,happiest,happily,happiness,happy,harbor,hardcopy,hardcore,hardcover,harddisk,hardened,hardener,hardening,hardhat,hardhead,hardiness,hardly,hardness,hardship,hardware,hardwired,hardwood,hardy,harmful,harmless,harmonica,harmonics,harmonize,harmony,harness,harpist,harsh,harvest,hash,hassle,haste,hastily,hastiness,hasty,hatbox,hatchback,hatchery,hatchet,hatching,hatchling,hate,hatless,hatred,haunt,haven,hazard,hazelnut,hazily,haziness,hazing,hazy,headache,headband,headboard,headcount,headdress,headed,header,headfirst,headgear,heading,headlamp,headless,headlock,headphone,headpiece,headrest,headroom,headscarf,headset,headsman,headstand,headstone,headway,headwear,heap,heat,heave,heavily,heaviness,heaving,hedge,hedging,heftiness,hefty,helium,helmet,helper,helpful,helping,helpless,helpline,hemlock,hemstitch,hence,henchman,henna,herald,herbal,herbicide,herbs,heritage,hermit,heroics,heroism,herring,herself,hertz,hesitancy,hesitant,hesitate,hexagon,hexagram,hubcap,huddle,huddling,huff,hug,hula,hulk,hull,human,humble,humbling,humbly,humid,humiliate,humility,humming,hummus,humongous,humorist,humorless,humorous,humpback,humped,humvee,hunchback,hundredth,hunger,hungrily,hungry,hunk,hunter,hunting,huntress,huntsman,hurdle,hurled,hurler,hurling,hurray,hurricane,hurried,hurry,hurt,husband,hush,husked,huskiness,hut,hybrid,hydrant,hydrated,hydration,hydrogen,hydroxide,hyperlink,hypertext,hyphen,hypnoses,hypnosis,hypnotic,hypnotism,hypnotist,hypnotize,hypocrisy,hypocrite,ibuprofen,ice,iciness,icing,icky,icon,icy,idealism,idealist,idealize,ideally,idealness,identical,identify,identity,ideology,idiocy,idiom,idly,igloo,ignition,ignore,iguana,illicitly,illusion,illusive,image,imaginary,imagines,imaging,imbecile,imitate,imitation,immature,immerse,immersion,imminent,immobile,immodest,immorally,immortal,immovable,immovably,immunity,immunize,impaired,impale,impart,impatient,impeach,impeding,impending,imperfect,imperial,impish,implant,implement,implicate,implicit,implode,implosion,implosive,imply,impolite,important,importer,impose,imposing,impotence,impotency,impotent,impound,imprecise,imprint,imprison,impromptu,improper,improve,improving,improvise,imprudent,impulse,impulsive,impure,impurity,iodine,iodize,ion,ipad,iphone,ipod,irate,irk,iron,irregular,irrigate,irritable,irritably,irritant,irritate,islamic,islamist,isolated,isolating,isolation,isotope,issue,issuing,italicize,italics,item,itinerary,itunes,ivory,ivy,jab,jackal,jacket,jackknife,jackpot,jailbird,jailbreak,jailer,jailhouse,jalapeno,jam,janitor,january,jargon,jarring,jasmine,jaundice,jaunt,java,jawed,jawless,jawline,jaws,jaybird,jaywalker,jazz,jeep,jeeringly,jellied,jelly,jersey,jester,jet,jiffy,jigsaw,jimmy,jingle,jingling,jinx,jitters,jittery,job,jockey,jockstrap,jogger,jogging,john,joining,jokester,jokingly,jolliness,jolly,jolt,jot,jovial,joyfully,joylessly,joyous,joyride,joystick,jubilance,jubilant,judge,judgingly,judicial,judiciary,judo,juggle,juggling,jugular,juice,juiciness,juicy,jujitsu,jukebox,july,jumble,jumbo,jump,junction,juncture,june,junior,juniper,junkie,junkman,junkyard,jurist,juror,jury,justice,justifier,justify,justly,justness,juvenile,kabob,kangaroo,karaoke,karate,karma,kebab,keenly,keenness,keep,keg,kelp,kennel,kept,kerchief,kerosene,kettle,kick,kiln,kilobyte,kilogram,kilometer,kilowatt,kilt,kimono,kindle,kindling,kindly,kindness,kindred,kinetic,kinfolk,king,kinship,kinsman,kinswoman,kissable,kisser,kissing,kitchen,kite,kitten,kitty,kiwi,kleenex,knapsack,knee,knelt,knickers,knoll,koala,kooky,kosher,krypton,kudos,kung,labored,laborer,laboring,laborious,labrador,ladder,ladies,ladle,ladybug,ladylike,lagged,lagging,lagoon,lair,lake,lance,landed,landfall,landfill,landing,landlady,landless,landline,landlord,landmark,landmass,landmine,landowner,landscape,landside,landslide,language,lankiness,lanky,lantern,lapdog,lapel,lapped,lapping,laptop,lard,large,lark,lash,lasso,last,latch,late,lather,latitude,latrine,latter,latticed,launch,launder,laundry,laurel,lavender,lavish,laxative,lazily,laziness,lazy,lecturer,left,legacy,legal,legend,legged,leggings,legible,legibly,legislate,lego,legroom,legume,legwarmer,legwork,lemon,lend,length,lens,lent,leotard,lesser,letdown,lethargic,lethargy,letter,lettuce,level,leverage,levers,levitate,levitator,liability,liable,liberty,librarian,library,licking,licorice,lid,life,lifter,lifting,liftoff,ligament,likely,likeness,likewise,liking,lilac,lilly,lily,limb,limeade,limelight,limes,limit,limping,limpness,line,lingo,linguini,linguist,lining,linked,linoleum,linseed,lint,lion,lip,liquefy,liqueur,liquid,lisp,list,litigate,litigator,litmus,litter,little,livable,lived,lively,liver,livestock,lividly,living,lizard,lubricant,lubricate,lucid,luckily,luckiness,luckless,lucrative,ludicrous,lugged,lukewarm,lullaby,lumber,luminance,luminous,lumpiness,lumping,lumpish,lunacy,lunar,lunchbox,luncheon,lunchroom,lunchtime,lung,lurch,lure,luridness,lurk,lushly,lushness,luster,lustfully,lustily,lustiness,lustrous,lusty,luxurious,luxury,lying,lyrically,lyricism,lyricist,lyrics,macarena,macaroni,macaw,mace,machine,machinist,magazine,magenta,maggot,magical,magician,magma,magnesium,magnetic,magnetism,magnetize,magnifier,magnify,magnitude,magnolia,mahogany,maimed,majestic,majesty,majorette,majority,makeover,maker,makeshift,making,malformed,malt,mama,mammal,mammary,mammogram,manager,managing,manatee,mandarin,mandate,mandatory,mandolin,manger,mangle,mango,mangy,manhandle,manhole,manhood,manhunt,manicotti,manicure,manifesto,manila,mankind,manlike,manliness,manly,manmade,manned,mannish,manor,manpower,mantis,mantra,manual,many,map,marathon,marauding,marbled,marbles,marbling,march,mardi,margarine,margarita,margin,marigold,marina,marine,marital,maritime,marlin,marmalade,maroon,married,marrow,marry,marshland,marshy,marsupial,marvelous,marxism,mascot,masculine,mashed,mashing,massager,masses,massive,mastiff,matador,matchbook,matchbox,matcher,matching,matchless,material,maternal,maternity,math,mating,matriarch,matrimony,matrix,matron,matted,matter,maturely,maturing,maturity,mauve,maverick,maximize,maximum,maybe,mayday,mayflower,moaner,moaning,mobile,mobility,mobilize,mobster,mocha,mocker,mockup,modified,modify,modular,modulator,module,moisten,moistness,moisture,molar,molasses,mold,molecular,molecule,molehill,mollusk,mom,monastery,monday,monetary,monetize,moneybags,moneyless,moneywise,mongoose,mongrel,monitor,monkhood,monogamy,monogram,monologue,monopoly,monorail,monotone,monotype,monoxide,monsieur,monsoon,monstrous,monthly,monument,moocher,moodiness,moody,mooing,moonbeam,mooned,moonlight,moonlike,moonlit,moonrise,moonscape,moonshine,moonstone,moonwalk,mop,morale,morality,morally,morbidity,morbidly,morphine,morphing,morse,mortality,mortally,mortician,mortified,mortify,mortuary,mosaic,mossy,most,mothball,mothproof,motion,motivate,motivator,motive,motocross,motor,motto,mountable,mountain,mounted,mounting,mourner,mournful,mouse,mousiness,moustache,mousy,mouth,movable,move,movie,moving,mower,mowing,much,muck,mud,mug,mulberry,mulch,mule,mulled,mullets,multiple,multiply,multitask,multitude,mumble,mumbling,mumbo,mummified,mummify,mummy,mumps,munchkin,mundane,municipal,muppet,mural,murkiness,murky,murmuring,muscular,museum,mushily,mushiness,mushroom,mushy,music,musket,muskiness,musky,mustang,mustard,muster,mustiness,musty,mutable,mutate,mutation,mute,mutilated,mutilator,mutiny,mutt,mutual,muzzle,myself,myspace,mystified,mystify,myth,nacho,nag,nail,name,naming,nanny,nanometer,nape,napkin,napped,napping,nappy,narrow,nastily,nastiness,national,native,nativity,natural,nature,naturist,nautical,navigate,navigator,navy,nearby,nearest,nearly,nearness,neatly,neatness,nebula,nebulizer,nectar,negate,negation,negative,neglector,negligee,negligent,negotiate,nemeses,nemesis,neon,nephew,nerd,nervous,nervy,nest,net,neurology,neuron,neurosis,neurotic,neuter,neutron,never,next,nibble,nickname,nicotine,niece,nifty,nimble,nimbly,nineteen,ninetieth,ninja,nintendo,ninth,nuclear,nuclei,nucleus,nugget,nullify,number,numbing,numbly,numbness,numeral,numerate,numerator,numeric,numerous,nuptials,nursery,nursing,nurture,nutcase,nutlike,nutmeg,nutrient,nutshell,nuttiness,nutty,nuzzle,nylon,oaf,oak,oasis,oat,obedience,obedient,obituary,object,obligate,obliged,oblivion,oblivious,oblong,obnoxious,oboe,obscure,obscurity,observant,observer,observing,obsessed,obsession,obsessive,obsolete,obstacle,obstinate,obstruct,obtain,obtrusive,obtuse,obvious,occultist,occupancy,occupant,occupier,occupy,ocean,ocelot,octagon,octane,october,octopus,ogle,oil,oink,ointment,okay,old,olive,olympics,omega,omen,ominous,omission,omit,omnivore,onboard,oncoming,ongoing,onion,online,onlooker,only,onscreen,onset,onshore,onslaught,onstage,onto,onward,onyx,oops,ooze,oozy,opacity,opal,open,operable,operate,operating,operation,operative,operator,opium,opossum,opponent,oppose,opposing,opposite,oppressed,oppressor,opt,opulently,osmosis,other,otter,ouch,ought,ounce,outage,outback,outbid,outboard,outbound,outbreak,outburst,outcast,outclass,outcome,outdated,outdoors,outer,outfield,outfit,outflank,outgoing,outgrow,outhouse,outing,outlast,outlet,outline,outlook,outlying,outmatch,outmost,outnumber,outplayed,outpost,outpour,output,outrage,outrank,outreach,outright,outscore,outsell,outshine,outshoot,outsider,outskirts,outsmart,outsource,outspoken,outtakes,outthink,outward,outweigh,outwit,oval,ovary,oven,overact,overall,overarch,overbid,overbill,overbite,overblown,overboard,overbook,overbuilt,overcast,overcoat,overcome,overcook,overcrowd,overdraft,overdrawn,overdress,overdrive,overdue,overeager,overeater,overexert,overfed,overfeed,overfill,overflow,overfull,overgrown,overhand,overhang,overhaul,overhead,overhear,overheat,overhung,overjoyed,overkill,overlabor,overlaid,overlap,overlay,overload,overlook,overlord,overlying,overnight,overpass,overpay,overplant,overplay,overpower,overprice,overrate,overreach,overreact,override,overripe,overrule,overrun,overshoot,overshot,oversight,oversized,oversleep,oversold,overspend,overstate,overstay,overstep,overstock,overstuff,oversweet,overtake,overthrow,overtime,overtly,overtone,overture,overturn,overuse,overvalue,overview,overwrite,owl,oxford,oxidant,oxidation,oxidize,oxidizing,oxygen,oxymoron,oyster,ozone,paced,pacemaker,pacific,pacifier,pacifism,pacifist,pacify,padded,padding,paddle,paddling,padlock,pagan,pager,paging,pajamas,palace,palatable,palm,palpable,palpitate,paltry,pampered,pamperer,pampers,pamphlet,panama,pancake,pancreas,panda,pandemic,pang,panhandle,panic,panning,panorama,panoramic,panther,pantomime,pantry,pants,pantyhose,paparazzi,papaya,paper,paprika,papyrus,parabola,parachute,parade,paradox,paragraph,parakeet,paralegal,paralyses,paralysis,paralyze,paramedic,parameter,paramount,parasail,parasite,parasitic,parcel,parched,parchment,pardon,parish,parka,parking,parkway,parlor,parmesan,parole,parrot,parsley,parsnip,partake,parted,parting,partition,partly,partner,partridge,party,passable,passably,passage,passcode,passenger,passerby,passing,passion,passive,passivism,passover,passport,password,pasta,pasted,pastel,pastime,pastor,pastrami,pasture,pasty,patchwork,patchy,paternal,paternity,path,patience,patient,patio,patriarch,patriot,patrol,patronage,patronize,pauper,pavement,paver,pavestone,pavilion,paving,pawing,payable,payback,paycheck,payday,payee,payer,paying,payment,payphone,payroll,pebble,pebbly,pecan,pectin,peculiar,peddling,pediatric,pedicure,pedigree,pedometer,pegboard,pelican,pellet,pelt,pelvis,penalize,penalty,pencil,pendant,pending,penholder,penknife,pennant,penniless,penny,penpal,pension,pentagon,pentagram,pep,perceive,percent,perch,percolate,perennial,perfected,perfectly,perfume,periscope,perish,perjurer,perjury,perkiness,perky,perm,peroxide,perpetual,perplexed,persecute,persevere,persuaded,persuader,pesky,peso,pessimism,pessimist,pester,pesticide,petal,petite,petition,petri,petroleum,petted,petticoat,pettiness,petty,petunia,phantom,phobia,phoenix,phonebook,phoney,phonics,phoniness,phony,phosphate,photo,phrase,phrasing,placard,placate,placidly,plank,planner,plant,plasma,plaster,plastic,plated,platform,plating,platinum,platonic,platter,platypus,plausible,plausibly,playable,playback,player,playful,playgroup,playhouse,playing,playlist,playmaker,playmate,playoff,playpen,playroom,playset,plaything,playtime,plaza,pleading,pleat,pledge,plentiful,plenty,plethora,plexiglas,pliable,plod,plop,plot,plow,ploy,pluck,plug,plunder,plunging,plural,plus,plutonium,plywood,poach,pod,poem,poet,pogo,pointed,pointer,pointing,pointless,pointy,poise,poison,poker,poking,polar,police,policy,polio,polish,politely,polka,polo,polyester,polygon,polygraph,polymer,poncho,pond,pony,popcorn,pope,poplar,popper,poppy,popsicle,populace,popular,populate,porcupine,pork,porous,porridge,portable,portal,portfolio,porthole,portion,portly,portside,poser,posh,posing,possible,possibly,possum,postage,postal,postbox,postcard,posted,poster,posting,postnasal,posture,postwar,pouch,pounce,pouncing,pound,pouring,pout,powdered,powdering,powdery,power,powwow,pox,praising,prance,prancing,pranker,prankish,prankster,prayer,praying,preacher,preaching,preachy,preamble,precinct,precise,precision,precook,precut,predator,predefine,predict,preface,prefix,preflight,preformed,pregame,pregnancy,pregnant,preheated,prelaunch,prelaw,prelude,premiere,premises,premium,prenatal,preoccupy,preorder,prepaid,prepay,preplan,preppy,preschool,prescribe,preseason,preset,preshow,president,presoak,press,presume,presuming,preteen,pretended,pretender,pretense,pretext,pretty,pretzel,prevail,prevalent,prevent,preview,previous,prewar,prewashed,prideful,pried,primal,primarily,primary,primate,primer,primp,princess,print,prior,prism,prison,prissy,pristine,privacy,private,privatize,prize,proactive,probable,probably,probation,probe,probing,probiotic,problem,procedure,process,proclaim,procreate,procurer,prodigal,prodigy,produce,product,profane,profanity,professed,professor,profile,profound,profusely,progeny,prognosis,program,progress,projector,prologue,prolonged,promenade,prominent,promoter,promotion,prompter,promptly,prone,prong,pronounce,pronto,proofing,proofread,proofs,propeller,properly,property,proponent,proposal,propose,props,prorate,protector,protegee,proton,prototype,protozoan,protract,protrude,proud,provable,proved,proven,provided,provider,providing,province,proving,provoke,provoking,provolone,prowess,prowler,prowling,proximity,proxy,prozac,prude,prudishly,prune,pruning,pry,psychic,public,publisher,pucker,pueblo,pug,pull,pulmonary,pulp,pulsate,pulse,pulverize,puma,pumice,pummel,punch,punctual,punctuate,punctured,pungent,punisher,punk,pupil,puppet,puppy,purchase,pureblood,purebred,purely,pureness,purgatory,purge,purging,purifier,purify,purist,puritan,purity,purple,purplish,purposely,purr,purse,pursuable,pursuant,pursuit,purveyor,pushcart,pushchair,pusher,pushiness,pushing,pushover,pushpin,pushup,pushy,putdown,putt,puzzle,puzzling,pyramid,pyromania,python,quack,quadrant,quail,quaintly,quake,quaking,qualified,qualifier,qualify,quality,qualm,quantum,quarrel,quarry,quartered,quarterly,quarters,quartet,quench,query,quicken,quickly,quickness,quicksand,quickstep,quiet,quill,quilt,quintet,quintuple,quirk,quit,quiver,quizzical,quotable,quotation,quote,rabid,race,racing,racism,rack,racoon,radar,radial,radiance,radiantly,radiated,radiation,radiator,radio,radish,raffle,raft,rage,ragged,raging,ragweed,raider,railcar,railing,railroad,railway,raisin,rake,raking,rally,ramble,rambling,ramp,ramrod,ranch,rancidity,random,ranged,ranger,ranging,ranked,ranking,ransack,ranting,rants,rare,rarity,rascal,rash,rasping,ravage,raven,ravine,raving,ravioli,ravishing,reabsorb,reach,reacquire,reaction,reactive,reactor,reaffirm,ream,reanalyze,reappear,reapply,reappoint,reapprove,rearrange,rearview,reason,reassign,reassure,reattach,reawake,rebalance,rebate,rebel,rebirth,reboot,reborn,rebound,rebuff,rebuild,rebuilt,reburial,rebuttal,recall,recant,recapture,recast,recede,recent,recess,recharger,recipient,recital,recite,reckless,reclaim,recliner,reclining,recluse,reclusive,recognize,recoil,recollect,recolor,reconcile,reconfirm,reconvene,recopy,record,recount,recoup,recovery,recreate,rectal,rectangle,rectified,rectify,recycled,recycler,recycling,reemerge,reenact,reenter,reentry,reexamine,referable,referee,reference,refill,refinance,refined,refinery,refining,refinish,reflected,reflector,reflex,reflux,refocus,refold,reforest,reformat,reformed,reformer,reformist,refract,refrain,refreeze,refresh,refried,refueling,refund,refurbish,refurnish,refusal,refuse,refusing,refutable,refute,regain,regalia,regally,reggae,regime,region,register,registrar,registry,regress,regretful,regroup,regular,regulate,regulator,rehab,reheat,rehire,rehydrate,reimburse,reissue,reiterate,rejoice,rejoicing,rejoin,rekindle,relapse,relapsing,relatable,related,relation,relative,relax,relay,relearn,release,relenting,reliable,reliably,reliance,reliant,relic,relieve,relieving,relight,relish,relive,reload,relocate,relock,reluctant,rely,remake,remark,remarry,rematch,remedial,remedy,remember,reminder,remindful,remission,remix,remnant,remodeler,remold,remorse,remote,removable,removal,removed,remover,removing,rename,renderer,rendering,rendition,renegade,renewable,renewably,renewal,renewed,renounce,renovate,renovator,rentable,rental,rented,renter,reoccupy,reoccur,reopen,reorder,repackage,repacking,repaint,repair,repave,repaying,repayment,repeal,repeated,repeater,repent,rephrase,replace,replay,replica,reply,reporter,repose,repossess,repost,repressed,reprimand,reprint,reprise,reproach,reprocess,reproduce,reprogram,reps,reptile,reptilian,repugnant,repulsion,repulsive,repurpose,reputable,reputably,request,require,requisite,reroute,rerun,resale,resample,rescuer,reseal,research,reselect,reseller,resemble,resend,resent,reset,reshape,reshoot,reshuffle,residence,residency,resident,residual,residue,resigned,resilient,resistant,resisting,resize,resolute,resolved,resonant,resonate,resort,resource,respect,resubmit,result,resume,resupply,resurface,resurrect,retail,retainer,retaining,retake,retaliate,retention,rethink,retinal,retired,retiree,retiring,retold,retool,retorted,retouch,retrace,retract,retrain,retread,retreat,retrial,retrieval,retriever,retry,return,retying,retype,reunion,reunite,reusable,reuse,reveal,reveler,revenge,revenue,reverb,revered,reverence,reverend,reversal,reverse,reversing,reversion,revert,revisable,revise,revision,revisit,revivable,revival,reviver,reviving,revocable,revoke,revolt,revolver,revolving,reward,rewash,rewind,rewire,reword,rework,rewrap,rewrite,rhyme,ribbon,ribcage,rice,riches,richly,richness,rickety,ricotta,riddance,ridden,ride,riding,rifling,rift,rigging,rigid,rigor,rimless,rimmed,rind,rink,rinse,rinsing,riot,ripcord,ripeness,ripening,ripping,ripple,rippling,riptide,rise,rising,risk,risotto,ritalin,ritzy,rival,riverbank,riverbed,riverboat,riverside,riveter,riveting,roamer,roaming,roast,robbing,robe,robin,robotics,robust,rockband,rocker,rocket,rockfish,rockiness,rocking,rocklike,rockslide,rockstar,rocky,rogue,roman,romp,rope,roping,roster,rosy,rotten,rotting,rotunda,roulette,rounding,roundish,roundness,roundup,roundworm,routine,routing,rover,roving,royal,rubbed,rubber,rubbing,rubble,rubdown,ruby,ruckus,rudder,rug,ruined,rule,rumble,rumbling,rummage,rumor,runaround,rundown,runner,running,runny,runt,runway,rupture,rural,ruse,rush,rust,rut,sabbath,sabotage,sacrament,sacred,sacrifice,sadden,saddlebag,saddled,saddling,sadly,sadness,safari,safeguard,safehouse,safely,safeness,saffron,saga,sage,sagging,saggy,said,saint,sake,salad,salami,salaried,salary,saline,salon,saloon,salsa,salt,salutary,salute,salvage,salvaging,salvation,same,sample,sampling,sanction,sanctity,sanctuary,sandal,sandbag,sandbank,sandbar,sandblast,sandbox,sanded,sandfish,sanding,sandlot,sandpaper,sandpit,sandstone,sandstorm,sandworm,sandy,sanitary,sanitizer,sank,santa,sapling,sappiness,sappy,sarcasm,sarcastic,sardine,sash,sasquatch,sassy,satchel,satiable,satin,satirical,satisfied,satisfy,saturate,saturday,sauciness,saucy,sauna,savage,savanna,saved,savings,savior,savor,saxophone,say,scabbed,scabby,scalded,scalding,scale,scaling,scallion,scallop,scalping,scam,scandal,scanner,scanning,scant,scapegoat,scarce,scarcity,scarecrow,scared,scarf,scarily,scariness,scarring,scary,scavenger,scenic,schedule,schematic,scheme,scheming,schilling,schnapps,scholar,science,scientist,scion,scoff,scolding,scone,scoop,scooter,scope,scorch,scorebook,scorecard,scored,scoreless,scorer,scoring,scorn,scorpion,scotch,scoundrel,scoured,scouring,scouting,scouts,scowling,scrabble,scraggly,scrambled,scrambler,scrap,scratch,scrawny,screen,scribble,scribe,scribing,scrimmage,script,scroll,scrooge,scrounger,scrubbed,scrubber,scruffy,scrunch,scrutiny,scuba,scuff,sculptor,sculpture,scurvy,scuttle,secluded,secluding,seclusion,second,secrecy,secret,sectional,sector,secular,securely,security,sedan,sedate,sedation,sedative,sediment,seduce,seducing,segment,seismic,seizing,seldom,selected,selection,selective,selector,self,seltzer,semantic,semester,semicolon,semifinal,seminar,semisoft,semisweet,senate,senator,send,senior,senorita,sensation,sensitive,sensitize,sensually,sensuous,sepia,september,septic,septum,sequel,sequence,sequester,series,sermon,serotonin,serpent,serrated,serve,service,serving,sesame,sessions,setback,setting,settle,settling,setup,sevenfold,seventeen,seventh,seventy,severity,shabby,shack,shaded,shadily,shadiness,shading,shadow,shady,shaft,shakable,shakily,shakiness,shaking,shaky,shale,shallot,shallow,shame,shampoo,shamrock,shank,shanty,shape,shaping,share,sharpener,sharper,sharpie,sharply,sharpness,shawl,sheath,shed,sheep,sheet,shelf,shell,shelter,shelve,shelving,sherry,shield,shifter,shifting,shiftless,shifty,shimmer,shimmy,shindig,shine,shingle,shininess,shining,shiny,ship,shirt,shivering,shock,shone,shoplift,shopper,shopping,shoptalk,shore,shortage,shortcake,shortcut,shorten,shorter,shorthand,shortlist,shortly,shortness,shorts,shortwave,shorty,shout,shove,showbiz,showcase,showdown,shower,showgirl,showing,showman,shown,showoff,showpiece,showplace,showroom,showy,shrank,shrapnel,shredder,shredding,shrewdly,shriek,shrill,shrimp,shrine,shrink,shrivel,shrouded,shrubbery,shrubs,shrug,shrunk,shucking,shudder,shuffle,shuffling,shun,shush,shut,shy,siamese,siberian,sibling,siding,sierra,siesta,sift,sighing,silenced,silencer,silent,silica,silicon,silk,silliness,silly,silo,silt,silver,similarly,simile,simmering,simple,simplify,simply,sincere,sincerity,singer,singing,single,singular,sinister,sinless,sinner,sinuous,sip,siren,sister,sitcom,sitter,sitting,situated,situation,sixfold,sixteen,sixth,sixties,sixtieth,sixtyfold,sizable,sizably,size,sizing,sizzle,sizzling,skater,skating,skedaddle,skeletal,skeleton,skeptic,sketch,skewed,skewer,skid,skied,skier,skies,skiing,skilled,skillet,skillful,skimmed,skimmer,skimming,skimpily,skincare,skinhead,skinless,skinning,skinny,skintight,skipper,skipping,skirmish,skirt,skittle,skydiver,skylight,skyline,skype,skyrocket,skyward,slab,slacked,slacker,slacking,slackness,slacks,slain,slam,slander,slang,slapping,slapstick,slashed,slashing,slate,slather,slaw,sled,sleek,sleep,sleet,sleeve,slept,sliceable,sliced,slicer,slicing,slick,slider,slideshow,sliding,slighted,slighting,slightly,slimness,slimy,slinging,slingshot,slinky,slip,slit,sliver,slobbery,slogan,sloped,sloping,sloppily,sloppy,slot,slouching,slouchy,sludge,slug,slum,slurp,slush,sly,small,smartly,smartness,smasher,smashing,smashup,smell,smelting,smile,smilingly,smirk,smite,smith,smitten,smock,smog,smoked,smokeless,smokiness,smoking,smoky,smolder,smooth,smother,smudge,smudgy,smuggler,smuggling,smugly,smugness,snack,snagged,snaking,snap,snare,snarl,snazzy,sneak,sneer,sneeze,sneezing,snide,sniff,snippet,snipping,snitch,snooper,snooze,snore,snoring,snorkel,snort,snout,snowbird,snowboard,snowbound,snowcap,snowdrift,snowdrop,snowfall,snowfield,snowflake,snowiness,snowless,snowman,snowplow,snowshoe,snowstorm,snowsuit,snowy,snub,snuff,snuggle,snugly,snugness,speak,spearfish,spearhead,spearman,spearmint,species,specimen,specked,speckled,specks,spectacle,spectator,spectrum,speculate,speech,speed,spellbind,speller,spelling,spendable,spender,spending,spent,spew,sphere,spherical,sphinx,spider,spied,spiffy,spill,spilt,spinach,spinal,spindle,spinner,spinning,spinout,spinster,spiny,spiral,spirited,spiritism,spirits,spiritual,splashed,splashing,splashy,splatter,spleen,splendid,splendor,splice,splicing,splinter,splotchy,splurge,spoilage,spoiled,spoiler,spoiling,spoils,spoken,spokesman,sponge,spongy,sponsor,spoof,spookily,spooky,spool,spoon,spore,sporting,sports,sporty,spotless,spotlight,spotted,spotter,spotting,spotty,spousal,spouse,spout,sprain,sprang,sprawl,spray,spree,sprig,spring,sprinkled,sprinkler,sprint,sprite,sprout,spruce,sprung,spry,spud,spur,sputter,spyglass,squabble,squad,squall,squander,squash,squatted,squatter,squatting,squeak,squealer,squealing,squeamish,squeegee,squeeze,squeezing,squid,squiggle,squiggly,squint,squire,squirt,squishier,squishy,stability,stabilize,stable,stack,stadium,staff,stage,staging,stagnant,stagnate,stainable,stained,staining,stainless,stalemate,staleness,stalling,stallion,stamina,stammer,stamp,stand,stank,staple,stapling,starboard,starch,stardom,stardust,starfish,stargazer,staring,stark,starless,starlet,starlight,starlit,starring,starry,starship,starter,starting,startle,startling,startup,starved,starving,stash,state,static,statistic,statue,stature,status,statute,statutory,staunch,stays,steadfast,steadier,steadily,steadying,steam,steed,steep,steerable,steering,steersman,stegosaur,stellar,stem,stench,stencil,step,stereo,sterile,sterility,sterilize,sterling,sternness,sternum,stew,stick,stiffen,stiffly,stiffness,stifle,stifling,stillness,stilt,stimulant,stimulate,stimuli,stimulus,stinger,stingily,stinging,stingray,stingy,stinking,stinky,stipend,stipulate,stir,stitch,stock,stoic,stoke,stole,stomp,stonewall,stoneware,stonework,stoning,stony,stood,stooge,stool,stoop,stoplight,stoppable,stoppage,stopped,stopper,stopping,stopwatch,storable,storage,storeroom,storewide,storm,stout,stove,stowaway,stowing,straddle,straggler,strained,strainer,straining,strangely,stranger,strangle,strategic,strategy,stratus,straw,stray,streak,stream,street,strength,strenuous,strep,stress,stretch,strewn,stricken,strict,stride,strife,strike,striking,strive,striving,strobe,strode,stroller,strongbox,strongly,strongman,struck,structure,strudel,struggle,strum,strung,strut,stubbed,stubble,stubbly,stubborn,stucco,stuck,student,studied,studio,study,stuffed,stuffing,stuffy,stumble,stumbling,stump,stung,stunned,stunner,stunning,stunt,stupor,sturdily,sturdy,styling,stylishly,stylist,stylized,stylus,suave,subarctic,subatomic,subdivide,subdued,subduing,subfloor,subgroup,subheader,subject,sublease,sublet,sublevel,sublime,submarine,submerge,submersed,submitter,subpanel,subpar,subplot,subprime,subscribe,subscript,subsector,subside,subsiding,subsidize,subsidy,subsoil,subsonic,substance,subsystem,subtext,subtitle,subtly,subtotal,subtract,subtype,suburb,subway,subwoofer,subzero,succulent,such,suction,sudden,sudoku,suds,sufferer,suffering,suffice,suffix,suffocate,suffrage,sugar,suggest,suing,suitable,suitably,suitcase,suitor,sulfate,sulfide,sulfite,sulfur,sulk,sullen,sulphate,sulphuric,sultry,superbowl,superglue,superhero,superior,superjet,superman,supermom,supernova,supervise,supper,supplier,supply,support,supremacy,supreme,surcharge,surely,sureness,surface,surfacing,surfboard,surfer,surgery,surgical,surging,surname,surpass,surplus,surprise,surreal,surrender,surrogate,surround,survey,survival,survive,surviving,survivor,sushi,suspect,suspend,suspense,sustained,sustainer,swab,swaddling,swagger,swampland,swan,swapping,swarm,sway,swear,sweat,sweep,swell,swept,swerve,swifter,swiftly,swiftness,swimmable,swimmer,swimming,swimsuit,swimwear,swinger,swinging,swipe,swirl,switch,swivel,swizzle,swooned,swoop,swoosh,swore,sworn,swung,sycamore,sympathy,symphonic,symphony,symptom,synapse,syndrome,synergy,synopses,synopsis,synthesis,synthetic,syrup,system,tshirt,tabasco,tabby,tableful,tables,tablet,tableware,tabloid,tackiness,tacking,tackle,tackling,tacky,taco,tactful,tactical,tactics,tactile,tactless,tadpole,taekwondo,tag,tainted,take,taking,talcum,talisman,tall,talon,tamale,tameness,tamer,tamper,tank,tanned,tannery,tanning,tantrum,tapeless,tapered,tapering,tapestry,tapioca,tapping,taps,tarantula,target,tarmac,tarnish,tarot,tartar,tartly,tartness,task,tassel,taste,tastiness,tasting,tasty,tattered,tattle,tattling,tattoo,taunt,tavern,thank,that,thaw,theater,theatrics,thee,theft,theme,theology,theorize,thermal,thermos,thesaurus,these,thesis,thespian,thicken,thicket,thickness,thieving,thievish,thigh,thimble,thing,think,thinly,thinner,thinness,thinning,thirstily,thirsting,thirsty,thirteen,thirty,thong,thorn,those,thousand,thrash,thread,threaten,threefold,thrift,thrill,thrive,thriving,throat,throbbing,throng,throttle,throwaway,throwback,thrower,throwing,thud,thumb,thumping,thursday,thus,thwarting,thyself,tiara,tibia,tidal,tidbit,tidiness,tidings,tidy,tiger,tighten,tightly,tightness,tightrope,tightwad,tigress,tile,tiling,till,tilt,timid,timing,timothy,tinderbox,tinfoil,tingle,tingling,tingly,tinker,tinkling,tinsel,tinsmith,tint,tinwork,tiny,tipoff,tipped,tipper,tipping,tiptoeing,tiptop,tiring,tissue,trace,tracing,track,traction,tractor,trade,trading,tradition,traffic,tragedy,trailing,trailside,train,traitor,trance,tranquil,transfer,transform,translate,transpire,transport,transpose,trapdoor,trapeze,trapezoid,trapped,trapper,trapping,traps,trash,travel,traverse,travesty,tray,treachery,treading,treadmill,treason,treat,treble,tree,trekker,tremble,trembling,tremor,trench,trend,trespass,triage,trial,triangle,tribesman,tribunal,tribune,tributary,tribute,triceps,trickery,trickily,tricking,trickle,trickster,tricky,tricolor,tricycle,trident,tried,trifle,trifocals,trillion,trilogy,trimester,trimmer,trimming,trimness,trinity,trio,tripod,tripping,triumph,trivial,trodden,trolling,trombone,trophy,tropical,tropics,trouble,troubling,trough,trousers,trout,trowel,truce,truck,truffle,trump,trunks,trustable,trustee,trustful,trusting,trustless,truth,try,tubby,tubeless,tubular,tucking,tuesday,tug,tuition,tulip,tumble,tumbling,tummy,turban,turbine,turbofan,turbojet,turbulent,turf,turkey,turmoil,turret,turtle,tusk,tutor,tutu,tux,tweak,tweed,tweet,tweezers,twelve,twentieth,twenty,twerp,twice,twiddle,twiddling,twig,twilight,twine,twins,twirl,twistable,twisted,twister,twisting,twisty,twitch,twitter,tycoon,tying,tyke,udder,ultimate,ultimatum,ultra,umbilical,umbrella,umpire,unabashed,unable,unadorned,unadvised,unafraid,unaired,unaligned,unaltered,unarmored,unashamed,unaudited,unawake,unaware,unbaked,unbalance,unbeaten,unbend,unbent,unbiased,unbitten,unblended,unblessed,unblock,unbolted,unbounded,unboxed,unbraided,unbridle,unbroken,unbuckled,unbundle,unburned,unbutton,uncanny,uncapped,uncaring,uncertain,unchain,unchanged,uncharted,uncheck,uncivil,unclad,unclaimed,unclamped,unclasp,uncle,unclip,uncloak,unclog,unclothed,uncoated,uncoiled,uncolored,uncombed,uncommon,uncooked,uncork,uncorrupt,uncounted,uncouple,uncouth,uncover,uncross,uncrown,uncrushed,uncured,uncurious,uncurled,uncut,undamaged,undated,undaunted,undead,undecided,undefined,underage,underarm,undercoat,undercook,undercut,underdog,underdone,underfed,underfeed,underfoot,undergo,undergrad,underhand,underline,underling,undermine,undermost,underpaid,underpass,underpay,underrate,undertake,undertone,undertook,undertow,underuse,underwear,underwent,underwire,undesired,undiluted,undivided,undocked,undoing,undone,undrafted,undress,undrilled,undusted,undying,unearned,unearth,unease,uneasily,uneasy,uneatable,uneaten,unedited,unelected,unending,unengaged,unenvied,unequal,unethical,uneven,unexpired,unexposed,unfailing,unfair,unfasten,unfazed,unfeeling,unfiled,unfilled,unfitted,unfitting,unfixable,unfixed,unflawed,unfocused,unfold,unfounded,unframed,unfreeze,unfrosted,unfrozen,unfunded,unglazed,ungloved,unglue,ungodly,ungraded,ungreased,unguarded,unguided,unhappily,unhappy,unharmed,unhealthy,unheard,unhearing,unheated,unhelpful,unhidden,unhinge,unhitched,unholy,unhook,unicorn,unicycle,unified,unifier,uniformed,uniformly,unify,unimpeded,uninjured,uninstall,uninsured,uninvited,union,uniquely,unisexual,unison,unissued,unit,universal,universe,unjustly,unkempt,unkind,unknotted,unknowing,unknown,unlaced,unlatch,unlawful,unleaded,unlearned,unleash,unless,unleveled,unlighted,unlikable,unlimited,unlined,unlinked,unlisted,unlit,unlivable,unloaded,unloader,unlocked,unlocking,unlovable,unloved,unlovely,unloving,unluckily,unlucky,unmade,unmanaged,unmanned,unmapped,unmarked,unmasked,unmasking,unmatched,unmindful,unmixable,unmixed,unmolded,unmoral,unmovable,unmoved,unmoving,unnamable,unnamed,unnatural,unneeded,unnerve,unnerving,unnoticed,unopened,unopposed,unpack,unpadded,unpaid,unpainted,unpaired,unpaved,unpeeled,unpicked,unpiloted,unpinned,unplanned,unplanted,unpleased,unpledged,unplowed,unplug,unpopular,unproven,unquote,unranked,unrated,unraveled,unreached,unread,unreal,unreeling,unrefined,unrelated,unrented,unrest,unretired,unrevised,unrigged,unripe,unrivaled,unroasted,unrobed,unroll,unruffled,unruly,unrushed,unsaddle,unsafe,unsaid,unsalted,unsaved,unsavory,unscathed,unscented,unscrew,unsealed,unseated,unsecured,unseeing,unseemly,unseen,unselect,unselfish,unsent,unsettled,unshackle,unshaken,unshaved,unshaven,unsheathe,unshipped,unsightly,unsigned,unskilled,unsliced,unsmooth,unsnap,unsocial,unsoiled,unsold,unsolved,unsorted,unspoiled,unspoken,unstable,unstaffed,unstamped,unsteady,unsterile,unstirred,unstitch,unstopped,unstuck,unstuffed,unstylish,unsubtle,unsubtly,unsuited,unsure,unsworn,untagged,untainted,untaken,untamed,untangled,untapped,untaxed,unthawed,unthread,untidy,untie,until,untimed,untimely,untitled,untoasted,untold,untouched,untracked,untrained,untreated,untried,untrimmed,untrue,untruth,unturned,untwist,untying,unusable,unused,unusual,unvalued,unvaried,unvarying,unveiled,unveiling,unvented,unviable,unvisited,unvocal,unwanted,unwarlike,unwary,unwashed,unwatched,unweave,unwed,unwelcome,unwell,unwieldy,unwilling,unwind,unwired,unwitting,unwomanly,unworldly,unworn,unworried,unworthy,unwound,unwoven,unwrapped,unwritten,unzip,upbeat,upchuck,upcoming,upcountry,update,upfront,upgrade,upheaval,upheld,uphill,uphold,uplifted,uplifting,upload,upon,upper,upright,uprising,upriver,uproar,uproot,upscale,upside,upstage,upstairs,upstart,upstate,upstream,upstroke,upswing,uptake,uptight,uptown,upturned,upward,upwind,uranium,urban,urchin,urethane,urgency,urgent,urging,urologist,urology,usable,usage,useable,used,uselessly,user,usher,usual,utensil,utility,utilize,utmost,utopia,utter,vacancy,vacant,vacate,vacation,vagabond,vagrancy,vagrantly,vaguely,vagueness,valiant,valid,valium,valley,valuables,value,vanilla,vanish,vanity,vanquish,vantage,vaporizer,variable,variably,varied,variety,various,varmint,varnish,varsity,varying,vascular,vaseline,vastly,vastness,veal,vegan,veggie,vehicular,velcro,velocity,velvet,vendetta,vending,vendor,veneering,vengeful,venomous,ventricle,venture,venue,venus,verbalize,verbally,verbose,verdict,verify,verse,version,versus,vertebrae,vertical,vertigo,very,vessel,vest,veteran,veto,vexingly,viability,viable,vibes,vice,vicinity,victory,video,viewable,viewer,viewing,viewless,viewpoint,vigorous,village,villain,vindicate,vineyard,vintage,violate,violation,violator,violet,violin,viper,viral,virtual,virtuous,virus,visa,viscosity,viscous,viselike,visible,visibly,vision,visiting,visitor,visor,vista,vitality,vitalize,vitally,vitamins,vivacious,vividly,vividness,vixen,vocalist,vocalize,vocally,vocation,voice,voicing,void,volatile,volley,voltage,volumes,voter,voting,voucher,vowed,vowel,voyage,wackiness,wad,wafer,waffle,waged,wager,wages,waggle,wagon,wake,waking,walk,walmart,walnut,walrus,waltz,wand,wannabe,wanted,wanting,wasabi,washable,washbasin,washboard,washbowl,washcloth,washday,washed,washer,washhouse,washing,washout,washroom,washstand,washtub,wasp,wasting,watch,water,waviness,waving,wavy,whacking,whacky,wham,wharf,wheat,whenever,whiff,whimsical,whinny,whiny,whisking,whoever,whole,whomever,whoopee,whooping,whoops,why,wick,widely,widen,widget,widow,width,wieldable,wielder,wife,wifi,wikipedia,wildcard,wildcat,wilder,wildfire,wildfowl,wildland,wildlife,wildly,wildness,willed,willfully,willing,willow,willpower,wilt,wimp,wince,wincing,wind,wing,winking,winner,winnings,winter,wipe,wired,wireless,wiring,wiry,wisdom,wise,wish,wisplike,wispy,wistful,wizard,wobble,wobbling,wobbly,wok,wolf,wolverine,womanhood,womankind,womanless,womanlike,womanly,womb,woof,wooing,wool,woozy,word,work,worried,worrier,worrisome,worry,worsening,worshiper,worst,wound,woven,wow,wrangle,wrath,wreath,wreckage,wrecker,wrecking,wrench,wriggle,wriggly,wrinkle,wrinkly,wrist,writing,written,wrongdoer,wronged,wrongful,wrongly,wrongness,wrought,xbox,xerox,yahoo,yam,yanking,yapping,yard,yarn,yeah,yearbook,yearling,yearly,yearning,yeast,yelling,yelp,yen,yesterday,yiddish,yield,yin,yippee,cheetah,yodel,yoga,yogurt,yonder,yoyo,yummy,zap,zealous,zebra,zen,zeppelin,zero,zestfully,zesty,zigzagged,zipfile,zipping,zippy,zips,zit,zodiac,zombie,zone,zoning,zookeeper,zoologist,zoology,zoom\".split(\",\"),passwords:\"123456,password,12345678,qwerty,123456789,12345,1234,111111,1234567,dragon,123123,baseball,abc123,football,monkey,letmein,shadow,master,696969,michael,mustang,666666,qwertyuiop,123321,1234567890,pussy,superman,1qaz2wsx,7777777,fuckyou,jordan,qazwsx,jennifer,123qwe,000000,killer,trustno1,hunter,harley,zxcvbnm,asdfgh,buster,andrew,batman,soccer,tigger,charlie,robert,sunshine,thomas,iloveyou,fuckme,ranger,daniel,hockey,george,computer,michelle,jessica,starwars,asshole,pepper,klaster,112233,zxcvbn,freedom,princess,joshua,maggie,pass,ginger,11111111,131313,fuck,amanda,ashley,love,cheese,159753,nicole,summer,matthew,chelsea,dallas,biteme,matrix,william,yankees,6969,taylor,corvette,austin,access,martin,heather,thunder,merlin,secret,diamond,hello,anthony,hammer,fucker,1234qwer,silver,gfhjkm,justin,patrick,richard,bailey,internet,samantha,golfer,scooter,test,orange,cookie,q1w2e3r4t5,maverick,jackson,sparky,mickey,phoenix,bigdog,snoopy,guitar,whatever,chicken,morgan,andrea,camaro,mercedes,peanut,ferrari,cowboy,falcon,welcome,samsung,sexy,steelers,joseph,smokey,dakota,melissa,arsenal,boomer,eagles,tigers,marina,nascar,booboo,gateway,porsche,yellow,monster,spider,diablo,hannah,bulldog,junior,london,purple,compaq,lakers,iceman,qwer1234,hardcore,cowboys,money,banana,ncc1701,boston,brandon,tennis,johnny,miller,q1w2e3r4,coffee,scooby,123654,edward,nikita,mother,yamaha,brandy,barney,chester,fuckoff,oliver,charles,player,knight,forever,steven,rangers,midnight,chicago,bigdaddy,redsox,victoria,badboy,angel,please,fender,chris,jasper,james,slayer,rabbit,natasha,rachel,bigdick,marine,wizard,marlboro,raiders,prince,casper,fishing,flower,crystal,jasmine,panties,iwantu,adidas,winner,winter,gandalf,password1,enter,ghbdtn,1q2w3e4r,angela,mike,golden,lauren,cocacola,jordan23,winston,madison,angels,blowme,panther,sexsex,bigtits,spanky,bitch,shannon,sophie,johnson,asdfasdf,david,horny,thx1138,toyota,tiger,murphy,dick,canada,danielle,12344321,blowjob,8675309,jonathan,liverpoo,muffin,cooper,apples,jackie,dennis,black,qwerty123,passw0rd,john,abcd1234,sandra,pokemon,123abc,slipknot,carlos,qazxsw,123456a,scorpion,qwaszx,nathan,butter,startrek,rainbow,asdfghjkl,razz,redskins,newyork,gemini,cameron,qazwsxedc,florida,liverpool,turtle,nicholas,viking,booger,wilson,sierra,butthead,doctor,rocket,159357,victor,dolphins,captain,bandit,jaguar,packers,pookie,peaches,789456,asdf,blue,dolphin,helpme,tucker,theman,tiffany,maxwell,jeremy,qwertyui,shithead,debbie,albert,maddog,lovers,monica,alex,united,giants,nirvana,metallic,hotdog,rosebud,mountain,benjamin,warrior,stupid,elephant,suckit,success,bond007,jackass,bonnie,alexis,porn,lucky,jason,scorpio,samson,q1w2e3,rush2112,azerty,freddy,driver,willie,calvin,1q2w3e4r5t,sydney,gators,dexter,red123,12345a,123456q,bubba,creative,golf,voodoo,happy,arthur,trouble,america,nissan,gunner,rebecca,stella,garfield,gordon,jessie,bullshit,parker,asdfghjk,5150,fucking,apollo,jack,1qazxsw2,2112,eminem,december,legend,airborne,beavis,august,bear,apple,brooklyn,godzilla,skippy,buddy,4815162342,qwert,kitten,magic,shelby,beaver,phantom,fred,nothing,asdasd,williams,xavier,braves,darkness,blink182,travis,copper,tomcat,platinum,qweqwe,girls,01012011,bigboy,green,power,102030,animal,police,11223344,online,voyager,lifehack,12qwaszx,fish,sniper,315475,trinity,walter,blazer,heaven,lover,snowball,playboy,bubbles,loveme,hooters,cricket,marvin,willow,donkey,topgun,nintendo,saturn,family,november,gabriel,destiny,pakistan,pumpkin,digital,sergey,chance,explorer,redwings,private,therock,runner,tits,789456123,lasvegas,guinness,beatles,fire,cassie,christin,qwerty1,asdf1234,celtic,broncos,andrey,007007,babygirl,nelson,donald,scott,eclipse,cartman,fluffy,louise,michigan,testing,carolina,little,samuel,alexande,birdie,steve,cherry,pantera,sharon,gibson,vampire,mexico,dickhead,peter,buffalo,montana,genius,beer,flyers,maximus,school,minecraft,lovely,stalker,metallica,doggie,carter,kristina,kimberly,spencer,speedy,barbara,snickers,sabrina,carmen,marcus,bronco,yankee,friends,paradise,lol123,dreams,magnum,horses,cool,caroline,147258369,lacrosse,ou812,goober,member,qwertyu,enigma,scotty,pimpin,bollocks,brian,cock,surfer,sammy,genesis,poohbear,dave,star,asd123,qweasdzxc,baby,racing,friend,hello1,hawaii,eagle1,billy,viper,october,vanessa,poopoo,einstein,boobies,stanley,12345q,walker,bitches,paul,drowssap,stephen,courtney,simple,alaska,badger,action,jake,bill,denise,jester,111222,spitfire,drummer,forest,patricia,maryjane,champion,diesel,svetlana,rock,friday,kevin,mark,gregory,pamela,frank,hotrod,147258,chevy,anderson,lucky1,douglas,westside,security,google,badass,shorty,tester,thumper,hitman,mozart,general,reddog,boobs,zaq12wsx,music,010203,lizard,alexander,melanie,a123456,ruslan,123456789a,vincent,eagle,1232323q,sweet,teresa,scarface,147852,qwerty12,a12345,marshall,olivia,veronica,porno,buddha,spirit,frankie,money1,stargate,antonio,liberty,natalie,mercury,naruto,qwe123,12345qwert,suzuki,semperfi,king,popcorn,spooky,marley,system,brittany,claudia,kelly,scotland,free,kitty,cherokee,vikings,simpsons,death,leslie,rascal,qweasd,jimmy,loveyou,hummer,michael1,allison,rocky,patches,russia,adrian,jupiter,penguin,cumshot,howard,passion,honda,vfhbyf,andre,vladimir,franklin,sandman,123789,infinity,homer,bastard,raider,passport,assman,sucker,fantasy,bulldogs,1234554321,horney,domino,budlight,ironman,disney,norman,usuckballz1,softball,bishop,francis,brutus,ford,redrum,brooke,bigred,jeffrey,jesus,fktrcfylh,karina,marines,kawasaki,digger,ireland,oksana,fireman,cougar,college,shit,alicia,russell,houston,monday,bradley,cunt,sarah,nigger,justice,super,wildcats,tinker,duncan,dancer,logitech,avalon,swordfis,everton,reggie,motorola,alexandr,molly,timothy,hentai,pussy1,claire,patriots,madonna,colorado,eugene,ducati,kermit,juventus,indian,connor,galore,freeuser,smooth,house,titanic,boogie,simpson,warcraft,wolverin,elizabet,arizona,saints,valentin,georgia,asdfg,test123,accord,matt,baxter,denver,mitchell,christ,password123,yfnfif,slut,smith,stinky,zachary,roland,naughty,ncc1701d,spiderma,chopper,brenda,hello123,extreme,virginia,water,skyline,poop,zombie,pearljam,froggy,pirate,fylhtq,vision,123qweasd,awesome,alyssa,dreamer,predator,bullet,empire,wolf,charlie1,kirill,123123a,people,penis,elvis,panthers,skipper,nemesis,peekaboo,rasdzv3,simon,alison,rolltide,american,cardinal,arnold,chevelle,daddy,psycho,happy1,danger,mookie,wanker,manutd,9379992,tommy,hobbes,vegeta,goblue,852456,burton,fyfcnfcbz,picard,159951,bobby,windows,loverboy,lovelove,vfrcbv,victory,123654789,bambam,turkey,serega,tweety,hiphop,galina,changeme,rooster,polina,berlin,suckme,taurus,electric,ronald,avatar,134679,mine,raptor,alpha1,maksim,spring,brazil,eric,bigcock,newport,hard,kenneth,hendrix,madmax,england,a1b2c3,alpha,sublime,britney,france,darkside,bigman,hercules,lawrence,wolfpack,classic,letmein1,lincoln,ronaldo,741852963,spiderman,1q2w3e,blizzard,cheyenne,123456789q,wombat,bubba1,tiger1,cjkysirj,raymond,brother,kristen,pandora,devils,zxc123,simone,holiday,wildcat,horse,kramer,12312,147852369,buddy1,sterling,caesar,alabama,carrie,bondage,basketball,sports,pussycat,pickle,catch22,leather,shaggy,a1b2c3d4,chronic,flowers,qaz123,qqq111,robbie,admin,gracie,amber,freepass,airplane,perfect,kodiak,billybob,katana,sunset,crazy,good,stingray,maria,anna,snowman,phpbb,angel1,chocolat,zeppelin,garcia,detroit,wolves,pontiac,candy,firebird,vagina,gundam,panzer,outlaw,time,pretty,fisher,connie,honey,business,trevor,redhead,hardon,greenday,tarheels,01011980,nastya,hellfire,cobra,engineer,dragon1,savage,service,serenity,sasha,michele,dude,lickme,fireball,1029384756,white,remember,darkstar,miranda,flash,mustang1,01011,124578,harvey,oscar,strike,freddie,pavilion,beauty,bobafett,01012000,adam,dbrnjhbz,jeff,bigmac,chris1,duke,clinton,bowling,jenny,natali,future,harrison,jones,wallace,welcome1,swimming,apache,rulez,pyramid,dodgers,girl,whynot,fuckit,defender,teens,morris,trooper,135790,cancer,precious,packard,lucifer,popeye,weasel,142536,raven,icecream,stewart,tanner,swordfish,blonde,sandy,presario,rockstar,viktor,manager,cheryl,norton,james1,control,wutang,airforce,julian,atlanta,pimp,spike,thailand,looking,casino,741852,21122112,paris,mouse,lennon,456123,bluebird,theone,hawkeye,hacker,lisa,dustin,elaine,nfnmzyf,sailor,catfish,goldfish,maxima,tattoo,barbie,light,design,pervert,machine,herman,wrangler,rocks,trucks,nipples,roscoe,tornado,jerry,lights,bubble,cadillac,666999,madman,orlando,pegasus,target,longhorn,laura,philip,browns,eatme,stefan,cannon,dilbert,baller,microsoft,winnie,christia,katie,qazwsx123,shooter,xfiles,qazqaz,lesbian,street,seattle,corona,amateur,cthutq,prelude,246810,beach,malibu,freaky,assassin,integra,atlantis,123qweasdzxc,pussies,dragons,iloveu,monkey1,unicorn,lonewolf,regina,753951,stealth,kristin,tony,peewee,openup,bobcat,stacey,software,newton,leonardo,student,srinivas,angelina,young,enjoy,valentina,trigger,zaqwsx,lolita,athena,shotgun,coyote,bruins,veronika,dollar,country,rocky1,joker,babydoll,lestat,wordpass,hottie,smiley,potter,random,sweety,butterfly,woody,chipper,snake,samurai,video,gizmo,maddie,devildog,valerie,mistress,flipper,freedom1,express,powers,soso123aljg,cessna,teacher,goldie,moose,polaris,piglet,cookies,elena,montreal,hjvfirf,ladies,wolfgang,fatboy,scully,father,single,wicked,daisy,fetish,foobar,castle,tickle,bunny,pepsi,balls,transam,dfvgbh,31415926,oicu812,impala,sunday,booty,hotstuff,ronnie,jasmin,ryan,gambit,toshiba,basketba,lancer,birthday,texas,stephani,jessica1,hooker,knicks,314159,roberto,stinger,testtest,fuckyou2,kathleen,savannah,shamrock,benson,squirt,deftones,trucker,nick,redneck,goldberg,alfred,blaster,siemens,shelly,renegade,manson,subaru,ibanez,blondie,hamilton,casey,swinger,reaper,cristina,minnie,mylove,harry,galaxy,lindsay,dudley,farmer,gloria,special,blahblah,enterpri,1234abcd,travel,babylon5,bigone,sweetpea,sugar,smoke,skeeter,fucked,indiana,great,ficken,trfnthbyf,master1,freeman,curtis,smitty,marino,joanne,bigfoot,escort,babes,check,larisa,trumpet,tristan,spartan,babylon,asdfghj,sister,valera,stormy,paladin,andreas,cavalier,marathon,hamlet,aardvark,butterfl,bigboobs,mister,manchester,yankees1,rusty,napoleon,seven,indigo,hornet,skater,jerome,pierre,wonder,toronto,rose,indians,karate,buckeyes,01011990,julie,hesoyam,fredfred,charger,highland,sweetie,holland,1qaz2wsx3edc,chiefs,diamonds,buckeye,aurora,hotsex,campbell,griffin,brandi,redman,passwor,chandler,drpepper,monika,maiden,elizabeth,leonard,bernie,brown,pornstar,garden,storm,autumn,12345678910,linda,thuglife,millie,jungle,pencil,tomtom,insane,pizza,timber,jesus1,sherlock,mariah,audrey,david1,1a2b3c,hamster,aragorn,pioneer,techno,catdog,lollol,triumph,sidney,141627,321654,fktrctq,none,sophia,morpheus,island,wetpussy,hobbit,blabla,erotic,shadow1,aaron,pascal,sampson,consumer,justme,marion,stones,chrissy,tyler,nadine,marie,goforit,burger,pitbull,kelsey,adgjmptw,spartak,german,karen,kissme,hunting,kaiser,martha,colors,artist,harold,bass,italia,sammie,barcelona,mario,nicolas,virgin,pebbles,sundance,isabella,overlord,emerald,callie,doggy,irina,racecar,isabelle,germany,1478963,goddess,change,wesley,nipple,basket,joejoe,holly,poison,zipper,alpine,shirley,element,huskers,marcel,eddie,danny,christy,pussys,sakura,chichi,inside,ultimate,dirty,nicola,ncc1701e,blackie,q12345,omega,watson,rommel,matthew1,geronimo,nikki,caserta,trojan,123qwe123,philips,sergio,nugget,sammy1,tarzan,bassman,warren,trixie,chicks,aleksandr,cream,webster,help,sherry,manuel,portugal,dodger,anakin,bobbob,bomber,michel,madness,superfly,q1w2e3r4t5y6,loser,123asd,florence,yvonne,fatcat,global,ybrbnf,energy,desire,wrinkle1,soldier,bianca,sexual,warlock,martina,babe,951753,11235813,51505150,andrei,larry,seminole,peace,alejandr,westham,concrete,access14,harris,margaret,hector,christop,naked,ladybug,letmein2,network,bernard,weed,tintin,qazxswedc,trombone,chuck,pleasure,rhbcnbyf,home,history,bluesky,sherman,logan,january,onelove,cotton,christian,cdtnkfyf,sunny,archie,holden,whore,brianna,vfvjxrf,titans,stallion,lindsey,singer,truck,smile,party,missy,hansolo,angelo,joanna,natalia,beagle,phillip,panama,smiles,blue22,juice,qawsed,inferno,moon,mongoose,connect,kingkong,snatch,flatron,sex4me,bluemoon,turbo,rocker,personal,emily,blessed,snakes,dominic,joey,forget,finger,beetle,jamaica,alberto,a1234567,mulder,fuckyou1,jamie,susan,immortal,head,passat,plastic,123454321,dietcoke,spunky,suck,long,anthony1,whiskey,monitor,giovanni,cactus,ripper,spyder,markus,planet,magic1,teen,patton,exigen,sticky,waters,sluts,nolimit,daniela,hollywoo,abigail,apple1,morrison,katrina,trunks,1234321,andy,assass,always,diana,deedee,14789632,clifford,april,speed,japan,mission,pickles,million,sailing,freak,holmes,bonehead,fernando,ghbdtnbr,112358,911911,charlott,delta,yomama,darren,rubber,newman,molly1,1123581321,faster,cumming,bertha,memphis,sylvia,open,ilovesex,maurice,william1,hongkong,olga,jumper,unreal,geheim,rodney,nylons,sebastia,pentium,legion,shalom,kennedy,555666,brooks,movie,dodge,dream,graham,sprite,curious,pacific,loulou,funtime,philly,ferret,niners,orion,werewolf,milton,cantona,kingdom,stars,africa,office,boeing,gilbert,abgrtyu,pirates,super123,sheila,french,sweets,cooldude,palmer,eternity,lollipop,tottenha,green1,stocking,monique,anything,foster,irish,jackoff,7895123,biscuit,drizzt,camera,columbia,fossil,moomoo,makaveli,tracey,colt45,robinson,isabel,martini,salmon,shasta,jersey,verbatim,maniac,snapper,satan666,nasty,solomon,patriot,jacob,standard,shaved,blackcat,asdzxc,punkrock,raistlin,infantry,qwerty12345,4128,dillon,gerald,twister,ricardo,waterloo,cjkywt,clayton,crimson,serena,01012010,oxford,maxmax,denis,flight,condor,seinfeld,silvia,biggie,maxine,musicman,ravens,teddy,colleen,bruce,wolfman,sharks,megadeth,cosmos,velvet,butt,keeper,foxtrot,garrett,black1,damien,anton,sesame,skywalke,gn56gn56,banshee,cats,squirrel,wolverine,dogs,sunrise,rick,ghost,western,grendel,sucks,roxanne,privet,legolas,frog,felix,marlin,stone,herbert,lvbnhbq,qazwsxed,carrot,blades,frosty,stardust,121314,helena,brownie,groovy,penny,butler,coolio,twilight,daytona,licker,peanuts,intrepid,pikachu,trains,mollie,vanhalen,jericho,hershey,strider,lobster,punisher,grace,bird,zaq123,bottom,ninja,1234567a,murray,kansas,shogun,goblin,search,neptune,ball,showtime,darwin,amadeus,suzanne,fuckfuck,seven7,jason1,111222333,oldman,bruno,showme,henry,getsome,muscle,obiwan,support,rfrfirf,skittles,ekaterina,gold,whitney,shark,maestro,anal,danni,tanker,english,tarheel,fighter,thanks,blue123,hannibal,capital,newlife,anubis,gothic,chaos,blues,cindy,sabine,thunder1,roman,preston,princes,brendan,slick,123456z,evelyn,python,test1,richie,tequila,boss,cody,devil,chelsea1,clover,delete,mirage,blood,surfing,1q2w3e4r5t6y,bentley,portland,potato,baggins,review,porter,chubby,panasonic,sandiego,sooners,buffy,buck,tina,derrick,penelope,blackdog,harmony,fusion,dima,mature,malcolm,allen,mary,buttons,1a2b3c4d,californ,safety,playtime,dagger,moscow,swallow,warriors,byteme,stimpy,gangster,lucas,christine,turner,iverson,lester,chargers,liquid,asdf123,mushroom,cracker,dingdong,lucky7,misty,nymets,456852,robin,bigguy,mobile,tazman,greg,nimrod,newpass,miami,crusader,bugger,stranger,dkflbvbh,anastasia,marco,volume,masters,monroe,miguel,doodle,collins,powder,archer,gotcha,battle,dublin,slapshot,guardian,147896325,janice,charly,septembe,photos,knights,woody1,short,angelica,nookie,milano,pepsi1,scarlett,stuart,damian,grizzly,123098,123321123,camille,scruffy,brasil,latino,kittycat,poopie,munchkin,lorenzo,rammstein,1701,1passwor,bananas,barcelon,santiago,thegame,robert1,hell,world,gerard,picasso,viper1,walnut,kolobok,blackman,wisdom,trance,starcraft,parrot,quality,blade,pink,auburn,goodluck,eatshit,dorothy,dusty,engine,coltrane,gorilla,wheels,katerina,tamara,postal,fuck_inside,luther,ranger1,pass123,carlo,cassidy,discover,oakland,andrew1,spanking,osiris,dumbass,shaney14,192837465,lonestar,ping,bridge,bingo,bender,annie,stonecol,dookie,meridian,sally,megaman,heather1,25802580,racerx,rjntyjr,sirius,firefly,richard1,julia,alexandra,madrid,terry,griffey,women,phoebe,zaq1xsw2,weezer,beautiful,violet,ledzep,lowrider,randy,gangsta,ghjcnj,paradox,tacobell,123698745,loving,catalina,vertigo,halflife,carson,sergei,shiloh,johnjohn,sobaka,buffett,aliens,sadie,chucky,bonjour,kangaroo,jazz,josh,thompson,sinner,socrates,soccer1,keyboard,0.0.000,stevie,0007,jeep,trebor,finish,dark,luke,sprint,shazam,lady,national,celica,sarah1,scarlet,formula1,hoover,sommer,frances,hotboy,cynthia,qwerasdf,12369874,penguins,bond,formula,rebels,fuckface,elwood,melvin,honda1,vacation,kiss,ragnarok,bollox,lexmark,asshole1,mailcreated5240,lorraine,258456,claude,rockon,duck,dodgeram,tacoma,romeo,wookie,prodigy,tempest,vfhecz,flames,sebastian,colombia,bang,kitkat,oblivion,mystery,sithlord,server,molson,mustangs,incubus,smoker,123qaz,window,scoobydo,1122,rescue,bigballs,zxcv1234,carpet,titleist,richmond,director,lawyer,megan,juan,magnolia,celeste,melinda,lucy,wright,jimbob,golfing,kenny,roger,bobbie,xanadu,tardis,blueeyes,hearts,dixie,pussy69,pooper,shaman,mersedes,102938,12312312,springer,imagine,janine,patrick1,kenwood,123zxc,dogg,garbage,martinez,topper,cowboys1,roberts,lizzie,ashton,elliott,oracle,sheena,chloe,nuttertools,mallard,123987,1122334455,analsex,shemale,gateway1,mikey,asterix,faith,monkeys,imperial,jimbo,cooler,grateful,gillian,peterpan,kingston,yourmom,sleepy,gremlin,printer,hudson,pa55word,stud,freckles,birdman,frank1,aussie,esther,defiant,margarita,445566,deadhead,polo,anime,tatyana,jackal,frogger,bridget,wayne,research,tobias,mariners,rootbeer,blondes,donnie,katrin,weather,aspirine,frederic,parola,photo,children,account,israel,stephanie,shaolin,noodles,celine,willy,willis,forgot,scooter1,hallo,mandy,thomas1,11112222,rogers,palace,santos,ohyeah,magnus,laurie,creampie,amazon,kisses,queen,ludwig,fatass,plymouth,justdoit,assfuck,nellie,1234567q,12121,987456,6751520,putter,broken,nopass,letsgo,bryan,bones,harley1,tatiana,camel,champs,lightnin,massive,camelot,bosco,deanna,gizmodo,spidey,caliente,aezakmi,456654,goodtime,mypass,roller,catherin,active,pooh,payton,lonely,redalert,brucelee,smokin,porkchop,astros,aquarius,raiders1,thankyou,kevin1,atomic,fletcher,shopping,a1s2d3f4,mason,rusty1,marian,vanilla,hunter1,unknown,sapphire,temple,qwert123,marvel,beckham,qazwsxedcrfv,kaktus,753159,myself,sooner,blacky,elvis1,hastings,buster1,power1,blackjac,aggies,scream,picture,123321q,abc12,judith,iforgot,kasper,cxfcnmt,bangkok,01012001,shitty,spectrum,eduard,vader,jammer,painter,primus,veritas,ernest,kristi,chevrole,amber1,amsterdam,slappy,valley,1221,horny1,pete,hitler,clancy,spankme,granny,avenger,satan,sasha1,usa123,diamond1,rosemary,husker,candyman,beatrice,scrappy,john316,simba,falcons,dylan,front242,harder,atlantic,labrador,123456qwerty,smudge,syracuse,southern,melody,timmy,elijah,center,darling,throat,stuff,fatman,krishna,sanchez,pancho,gator,pacman,commando,delta1,vulcan,bush,clitoris,lemons,alice,8j4ye3uz,boner,keith,odessa,barkley,monopoly,method,kelley,sara,punkin,pineappl,celtics,lesbians,223344,space,gangbang,bennett,area51,lick,flyboy,hamburg,aaa111,asian,carol,spartans,tricky,romashka,123456aa,snuggles,phoenix1,boat,infiniti,anders,billie,life,homer1,drago,blake,hermes,jesse,goose,jeremiah,vivian,annette,homerun,dead,forrest,carolyn,1234567890q,topcat,hayden,cosworth,vectra,grover,goodbye,charlotte,cuddles,bossman,horndog,doberman,gary,telefon,dawg,qawsedrf,ivanov,durango,peugeot,killer1,franco,kyle,plumber,bell,rbhbkk,pauline,exigent,brandon1,laguna,emmanuel,webmaster,bowler,leopard,strong,theking,redbull,alan,pics,beast,viktoria,porsche9,breeze,topdog,starbuck,omega1,dance,dalton,fuckers,oscar1,hungry,beefcake,reality,gjkbyf,speaker,shelley,godsmack,clarence,writer,loveit,kingpin,nokia,valhalla,night,starfish,anarchy,herbie,blacks,content,906090,sailboat,desert,fitness,brando,bohica,achilles,tractor,jordan1,ncc1701a,drake,bull,hidden,kicker,arsenal1,labtec,napass,bart,pa55w0rd,amelia,tuesday,frontier,swingers,jimmy1,caitlin,muppet,terror,legacy,farside,terminator,bella,matilda,kentucky,jackson1,doughboy,ramona,butthole,phillies,jrcfyf,789654,camels,dannyboy,oakley,daniel1,nebraska,latin,double,qwertyuio,sabbath,chang,pinkfloy,homers,striker,looker,fallen,maryland,luckydog,azamat,september,iguana,oklahoma,moloko,qwerty123456,agent007,vfrcbvrf,javier,vette,daniil,command,rhonda,studio,pistol,miles,skiing,franky,stoner,conrad,select,tanya,houses,boris,puppy,elliot,charmed,vladik,nathalie,whocares,666777,maynard,vkontakte,ihateyou,puppies,zidane,eileen,dilligaf,crash,mandingo,moneys,tyrone,funny,nevada,kotenok,mystic,california,123457,budman,church,carlton,rafael,technics,bone,stick,golfball,rookie,panda,laptop,today,01011991,jennie,triton,river,trojans,bunghole,zvezda,132435,15426378,hurrican,central,stripper,dale,filter,jethro,snow,gustav,ivan,escape,gizmo1,hawk,igor,aberdeen,shane,lespaul,rfnthbyf,enterprise,butch,dthjybrf,963852,1366613,cutter,splash,handsome,oilers,randall,cash,nofear,cupcake,excalibu,batman1,momoney,gbpltw,bigger,belinda,svetik,possum,metal,moocow,brothers,bethany,keystone,babyboy,flamingo,super1,firefox,bogdan,ccbill,passwort,soleil,lancelot,melissa1,vipers,marilyn,tdutybq,juliet,leader,madden,russian,australia,sabina,chase,coolman,babies,skinny,zaphod,raven1,kamikaze,verona,bacon,noodle,rebel,doobie,designer,deadman,attack,vortex,killme,dogman,pokemon1,gopher,somethin,danila,12332,reagan,apollo13,chevy1,cancel,torres,000007,freaks,azsxdc,sassy,donna,dracula,play,poncho,bearbear,boots,engage,steve1,deskjet,bradford,bitch1,hammers,deeznuts,warhammer,rangers1,tight,justine,ralph,fabian,lewis,casey1,summer1,blueblue,marissa,oregon,bubbas,sinatra,hilton,meatball,mailman,dawson,columbus,manchest,cthulhu,macdaddy,mighty,michaela,grandma,ready,sterlin,cartoon,summit,123456789z,sentinel,tolkien,bicycle,peter1,blow,beverly,breast,lickit,kathy,crazy1,meghan,universe,capone,jenna,julius,wendy,bryant,truelove,helen,123456k,nancy,eatpussy,hailey,kitty1,daisy1,chair,362436,bowser,kathryn,sexygirl,fernand,eleven,rockets,billyboy,military,demon,davis,jamesbon,iloveyo,texas1,traffic,saint,daddy1,redhot,microsof,sonic,miracle,microlab,gofish,pantyhos,pilot,lifetime,rugby,mayday,aikido,nina,star69,01011985,conner,cutlass,tree,thekid,gordon24,theodore,titties,sweden,function,polska,danie,gang,73501505,market,scotch,lansing,elvira,bloody,sexx,hustler,anfield,coke,smut,catman,rush,bonita,tracy,sony,fast,1234qwe,1225,passwor1,irish1,cheers,tinman,airbus,peters,china,azsxdcfv,santana,hayley,station,gabrie,scottie,orioles,jenny1,01011970,charlton,saun,fortuna,dfkthbz,rustam,warlord,retard,fatima,ultima,kong,bigmoney,4runner,rotten,betty,grumpy,oranges,kelly1,superstar,fordf150,asdfjkl,boxing,xtreme,denali,selena,zxcasd,huskies,128500,terminal,wilbur,kristy,wildfire,vladislav,bikini,thor,hollywood,mayhem,sultan,gretchen,figaro,sixers,sparta,saratoga,321654987,running,01011981,cloud9,music1,models,mojo,greenbay,cancun,marlene,trinidad,tammy,chewie,hope,number1,billy1,feet,crunch,bigbird,mellon,chicken1,bigtime,fashion,piccolo,fabie,789123,rjirfrgbde,rovers,meatloaf,hyperion,sandro,rightnow,jarhead,armani,treasure,miriam,hansen,natural,01011986,lisalisa,sport,bizkit,chester1,jasmine1,maradona,1066,sayang,charli,rfhbyf,utopia,anaconda,japanese,camilla,coconut,govols,emerson,memory,catherine,jedi,cosmo,cruise,giant,ricky,dragoon,woofwoof,giorgi,packer,pass1234,poontang,emily1,illini,christopher,davids,zaqxsw,sandy1,pedro,sticks,revenge,exodus,reebok,chanel,albatros,cabbage,goku,wally,beaner,quincy,greens,tomato,toby,chief,richards,turkey50,adriana,kenworth,happy123,deborah,down,cooter,dinosaur,holyshit,eeyore,movies,dana,lionking,creamy,adult,poodle,tsunami,happyday,321123,knopka,tommy1,bogart,corrado,volley,tyler1,chickens,orgasm,whisper,flying,first,chocolate,walleye,hopper,katie1,sean,twisted,chaser,pepper1,memorex,ericsson,1001,100000,jensen,positive,crazybab,science,frisco,dong,jose,zorro,romance,sherwood,shania,rereirf,sausage,milana,tasha,vfvekz,profit,zenith,fugazi,junebug,clemson,polniypizdec0211,tootsie,fktrcfylhf,comics,zxcasdqwe,vfczyz,150781,werner,aspire,hardrock,condom,cocks,rachael,gringo,anhyeuem,madeline,rich,becky,canon,february,alien,abc12345,harper,justin1,stocks,marcos,samsung1,clapton,roberta,coleman,applepie,skywalker,fubar,theresa,koshka,tundra,vitalik,arjay,gmoney,bigsexy,ingrid,pillow,gandalf1,lucky13,fingers,samiam,dean,davidson,skorpion,candle,nobody,hellyeah,better,australi,drew,rockhard,boob,easy,bears,sparkle,johanna,everest,rfrnec,hedgehog,13243546,wolfie,surf,bobby1,fart,yosemite,marisa,voyeur,baddog,brad,jazzman,dicks,tool,temp,cheetah,1qa2ws3ed,slacker,steele,mikemike,wood,pooppoop,america1,barsik,valeria,deniska,br0d3r,fright,karolina,kirsten,vfksirf,kume,kenshin,bootie,cyclone,starship,monty,balloon,maxell,dildo,rupert,0.0.0.000,milena,bonsai,lion,salvador,greatone,vernon,50cent,slider,lillian,admiral,cecilia,stolen,albion,boys,midget,fuckin,freeporn,nikola,amanda1,hithere,football1,222333,78945612,damnit,dinamo,francois,cheng,calico,duchess,scratch,powell,packers1,stefano,fortune,nyjets,artemis,robotech,roadkill,backdoor,rastaman,fiesta,felicia,alliance,fletch,jerkoff,killbill,goliath,cinnamon,rambler,malaka,tekken,sojdlg123aljg,321456,18436572,963852741,carrera,bangbang,jeanette,marc,fritz,ramses,operator,shado,duster,spank,wibble,alibaba,mechanic,keywest,sword,amsterda,hal9000,bristol,pingpong,rasputin,marianne,hooter,tara,rctybz,sanders,faggot,krista,presto,majestic,332211,nguyen,fowler,passwords,buttman,snake1,spurs,carl,pompey,trident,viagra,qwert1,brian1,kipper,kingfish,zxcvbnm1,gotohell,angie,guest,garage,heidi,mattie,slutty,isaiah,steeler,wrestlin,pooter,divine,emma,route66,clipper,charley,macross,railroad,lineage2,oleg,420247,seamus,swimmer,ne1469,jokers,thursday,chico,a123456789,solnce,erik,kimber,guiness,pussie,mathew,nature,matador,sparks,typhoon,hank,secret1,retired,subway,slave,ivanova,ghetto,florian,love69,vermont,tang,ktyjxrf,lolipop,moose1,spears,yzerman,peterson,magick,phillips,cinder,nwo4life,flash1,shearer,pupsik,charles1,dfkthf,allsop,162534,456321,000001,city,qwer123,grapes,123123q,pippen,belle,chad,venus,kcj9wx5n,sex123,dammit,barry,caveman,critter,underdog,r2d2c3po,skydive,renault,onlyme,george1,murder,snoopdog,jayhawk,hotshot,caramel,broadway,kinky,theboss,fuckher,train,trout,ding,umbrella,feather,credit,splinter,depeche,seeker,fuckthis,respect,crysis,direct,animals,chemical,cyclops,1000,122333,135246,789987,123789456,chivas,jamesbond,blackhaw,passpass,sinclair,team,megapass,beanie,translator,helloo,magicman,cunts,phil,fishes,supersta,giuseppe,caligula,kill,shannon1,juggalo,frozen,quattro,usmc,meredith,java,wassup,rosie,bullseye,saturday,pornos,cohiba,ashley1,floppy,alucard,deacon,heart,tabitha,kristine,nicole1,tunafish,great1,gfhjkm123,dallas1,xbox360,dkflbckfd,kickass,p0015123,10203,200000,7753191,12131415,vietnam,kendall,pearl,safari,gonzo,crawford,bob123,klingon,jacob1,rain,looser,goalie,damage,maureen,west,dawn,tazmania,cigars,facial,cobra1,deepthroat,malina,silence,samara,dfktynbyf,fang,cruiser,vector,tommyboy,jean,banker,horizon,chainsaw,button,bigbear,forfun,abraham,123456r,astrid,carole,andres,sharky,enter1,vh5150,royals,christina,small,misfit,work,yousuck,louis,fallout,marino13,scania,maxx,nudist,getmoney,budweise,qazwsx12,song,believe,brighton,absolut,kungfu,kostya,monaco,death1,gunners,vfhufhbnf,mamapapa,1230,minime,blueboy,penthous,chrisbln,steph,whitey,europa,jade,bertie,daphne,groucho,champ,benny,grant,mirror,village,trader,stroke,walrus,susanne,number,sabres,nipper,woman,floyd,snowboar,undertaker,flounder,moneyman,patty,bottle,love123,kahuna,canadian,wolf359,viewsonic,coolguy,rules,downtown,wagner,strange,fabric,trisha,italian,ybrjkfq,cypress,01011989,qwerty1234,eastside,sneakers,passme,topher,taylor1,golfgolf,barber,sinbad,frodo,panasoni,craig,alfa,mybaby,skidoo,chicago1,massimo,back,jillian,cat123,q123456,sparrow,senior,dalejr,thecat,fucku2,snapple,mondeo,leanne,emmitt,thanatos,z1x2c3,ghjcnjnfr,maximum,smegma,thesims,whitesox,chong,778899,2128506,bonkers,poseidon,musica,doug,johannes,gargoyle,0420,olivier,hambone,bluedog,intruder,sunnyday,cyber,compute,kids,smelly,spawn,wapbbs,answer,studly,poppy,paper,ferrari1,simona,solution,madison1,newcastl,adonis,goodman,sexxxx,europe,goldstar,again,quantum,buckshot,static,turbo1,dollars,01011988,titanium,holly1,erica,danzig,sadie1,jabroni,library,journey,beastie,chrono,dang,1024,555777,edwards,jane,test1234,gunnar,federico,korn,custom,lance,1qwerty,assholes,daewoo,jess,briana,watcher,superman1,albina,sunflowe,dorian,babyblue,premier,staples,nike,stereo,westwood,apple123,mouse1,usnavy,boomboom,fresh,florida1,sasuke,dharma,pisces,motherlode,multiplelo,hang,bike,sapper,scanner,marius,zeus,racer,callaway,user,bayern,rover,lamont,rivers,snoop,over,walmart,micheal,starfire,theend,steel,tigger1,erotica,aaliyah,doogie,renee,paintbal,winston1,sexy69,paint,123qwerty,tyson,joshua1,newbie,knickers,lokomotiv,112211,192837,hotred,ufkbyf,panther1,dodge1,laurel,shawn,12345z,wasser,scott1,jessic,thirteen,rjycnfynby,avalanch,outkast,truman,magpie,scout,philippe,poetry,martin1,havefun,michell,cubbies,losers,hotpussy,deejay,fghtkm,droopy,blossom,333666,777888,allmine,01011984,zerocool,janet,tomorrow,godfather,abby,greece,second,reading,greene,sascha,busted,ming,bimmer,original,cbr600,ocean,anne,builder,demons,nitram,pudding,bounce,donuts,01011987,fucku,newyork1,jeanne,idontknow,audia4,aleksey,vfvfgfgf,leonid,smokes,mylife,beerbeer,sims,redfish,harry1,working,rodman,beaches,1x2zkg8w,hairy,contact,start,luis,bogey,prissy,123456s,gegcbr,tights,insert,carla,dante,beretta,francesc,jewels,searay,padres,celeron,mittens,quartz,ziggy,diehard,micron,syncmaster,cornell,christie,stunner,hockey1,simon1,rtyuehe,hoosier,zxasqw12,peyton,cheese1,orange1,paintball,bing,4121,monalisa,queens,terrapin,a1s2d3,spongebob,buzz,attitude,backup,whisky,clevelan,ling,cedric,marin,barefoot,artur,chuckles,barrett,meathead,bigass,ou8122,titty,spike1,gretzky,02071986,kosmos,cfitymrf,biggles,cambiami,sexy1,12345678q,03082006,thongs,blessing,what,aleksandra,ginger1,twinkle,gladiator,gollum,southpark,rabota,mazafaka,336699,goodboy,carbon,scuba,tango,stoney,brent,weaver,will,volvo,footbal,pianoman,gaston,casanova,traveler,clark,stumpy,hawkeyes,clarinet,looney,mommy,maggot,felipe,bucket,sex,eduardo,freeze,sound,sexyman,johnboy,dian,snapon,deeznutz,warthog,vegas,rooney,honey1,futbol,filthy,steam,carina,1012,90210,10203040,123aaa,mustard,boricua,meowmeow,maste,mellow,love1,abc1234,sunshin,bengals,combat,goofy,whatsup,sauron,krystal,alina,lover1,monster1,prophet,joker1,loco,lovesex,twins,triangle,booker,reefer,nickel,venice,xander,strip,valencia,01011910,lord,rhiannon,crystal1,smeghead,valeri,andromeda,12qwas,12345679,diver,cerberus,james007,sputnik,groove,lambert,usarmy,more,tiberius,zigzag,sting,abcd123,bean,welder,radio,petra,focus,gabriell,candice,salamander,eternal,silver1,bunny1,motley,resident,hayabusa,marcia,rambo,together,rainman,poochie,purdue,redwood,ripple,buzzard,wang,redwing,boobie,juliette,monke,hokies,phish,1q2w3e4r5,crjhgbjy,jagger,nokia6300,rockford,shou,tuan,goldwing,1007,10101,brewster,bermuda,zero,thegreat,proxy,confused,badgirl,lola,bacardi,sweet1,derek,whiskers,spaceman,starman,rebecca1,trial,karma,claudio,12qw34er,allstar,carolin,gesperrt,lynn,swords,rasta,wildman,nikolay,kang,slinky,wrestling,jamie1,mohammed,pinhead,hacked,logan1,sersolution,penny1,overkill,rhfcjnrf,mishka,montgom240,123451,banane,bulldog1,person,public,fester,something,12345qwe,lions,helmet,buffy1,ripken,frisky,changed,games,higgins,trapper,piper,windsor,supreme,ib6ub9,kaylee,athens,norway,runescape,oasis,jill,hurley,lightning,dbrnjh,shun,chun,11223,235689,784512,14725836,19411945,edward1,darius,chip,hill,midway,kool,hoosiers,vinnie,recovery,cicero,napster,lionel,amazing,tracker,laser,01011992,adrienne,roadking,menace,secure,stoned,br549,thedog,sacred,squash,nice,smoking,pony,feng,illusion,01091989,woohoo,rachel1,medicine,antoine,leavemealone,bagira,megatron,787898,5551212,orchid,reader,comet,clown,zippy,company,doghouse,stacy,wild,army,maxim,12345678a,paula,bravo,buddah,jaybird,chuckie,look,maria1,morning,dino,peach,todd,hanna,chuang,mortgage,idiot,heineken,saleen,rulezzz,fishing1,massage,sonics,moonlight,butts,motherfucker,02071982,pobeda,benfica,poker,kashmir,realmadrid,balloons,optimus,chunky,gsxr750,tinkerbell,chou,shai,135792468,common,starter,brewer,babyface,pants,gregor,dogfood,hardcock,deluxe,bigmike,01011975,blackbir,bookworm,hampton,jeffery,salomon,godfathe,meister,angus,intel,seahawks,eagles1,talisman,blackjack,eraser,collin,pissing,hawaiian,zhong,mian,1005,7779311,michae,berger,alphabet,tricia,beautifu,misha,maryann,123456654321,adams,jenn,riley,xxx123,really,sally1,mortimer,tongue,gator1,century,sancho,remote,darkman,buddie,roadrunn,pizzas,lexus,password2,medusa,health,stalin,toledo,cubswin,dutch,lilly,beowulf,charlene,willia,christmas,pool,handyman,f**k,pacers,unique,eleanor,digital1,missy1,clouds,tiffany1,cgfhnfr,breasts,chinook,just4me,nuts,01011993,wedding,calgary,dutchess,gfhjkm1,heckfy,max123,ludmila,gong,12301230,nova,shell,lori,site,because,cheater,famous,delphi,cathy,wareagle,martine,gromit,sponge,ashlee,valkyrie,yoda,glory,teddy1,passwd,idontkno,smiths,mohamed,teddybea,killers,boxster,five,dragonball,beast1,babybaby,mermaid,qazwsx1,satana,dolphin1,bhbirf,foryou,misty1,nasty1,qazzaq,hong,puddin,chao,shang,zhei,quan,inuyasha,1213,stanford,peacock,assword,misery,desiree,barnes,sullivan,beamer,diggler,medical,1pussy,wishbone,circle,property,ripley,thedude,cloud,fisting,austin1,alexia,beemer,jayden,gameover,sparky1,redline,venera,linda1,salsero,fuckoff1,adam12,lust,fytxrf,sergi,kittykat,spanish,sinister,india,vedder,gonavy,manowar,02021987,novell,lang,colonel,rancid,diao,147369,dragon12,chrome,friendly,aa123456,destroy,titten,electra,polly,geoffrey,newpass6,bella1,eureka,onetime,phone,katherine,otto,lakota,claymore,hotbox,asia,banner,madina,02011985,manuela,bitchass,ruby,sporting,bartman,matthews,checkers,playing,01011977,02041986,carmel,gabriela,dfcbkbq,nimbus,wrestle,bulls,02081988,jktymrf,alexalex,preacher,gamecube,02051986,mustafa,svoboda,123321a,circus,armagedon,alenka,playstation,z1x2c3v4,leng,qing,cong,zheng,02091987,1369,12011987,magical,park,claudi,marine1,rhtdtlrj,pablo,thumbs,camper,doitnow,goaway,subzero,charity,hootie,face,pissoff,jammin,beth,blackout,crow,darrell,cocaine,bcfields,skylar,rolling,loaded,milkman,lotus,davide,bigbutt,electron,johann,devil666,12345t,cheeks,skate,silverad,lighter,02021988,hassan,02031986,pothead,oliver1,gobucks,123456qw,squall,thunderb,02101985,courage,pippin,ghostrider,antoni,kaitlyn,neng,peng,miao,teng,xuan,xiao,1017,1020,1492,654123,794613,reynolds,cannabis,xerxes,ipswich,ninjas,mango,farley,lucille,pinky,jimmie,nude,dieter,annika,mitch,southpar,marika,jackson5,dickie,jetski,finance,tdutybz,dianne,forward,jenkins,bright,absolute,morgan1,bilbo,musashi,ferris,iamgod,lipstick,1234567890a,laurence,02061985,02011987,mandarin,baseball1,quest,tottenham,adults,yfnfkmz,kleopatra,tulips,nong,piao,ruan,zhuang,chai,dirtbike,111333,369963,1236987,1357924680,sheba,pickup,dwayne,othello,mari,katherin,forum,sonny,12qw12,rider,a11111,warner,northern,cinema,cameltoe,petrov,bluefish,fuzzy,pheonix,iscool,secrets,02021986,elite,toon,modena,bert,marsha,slippery,kissing,caravan,divorce,tank,beatle,jump,akira,sanfran,01011983,1qaz2ws,cheech,000111,badman,02091986,samtron,paloma,yang,dolores,sveta,qweasd123,shadows,mollydog,annabell,starcraf,ghblehjr,vasilisa,jameson,chuai,deng,qiao,zhou,zhun,jiang,luan,sang,ying,scorpio1,beans,slim,illinois,warning,ebony,meat,jockey,deadpool,hillary,bearcat,caprice,farscape,evan,bigtit,lassie,zappa,sander,nicol,sunflower,hopeless,sheriff,carpedie,bank,love12,asdfzxcv,sherri,march,bingo1,slave1,barton,shepherd,02021984,gatorade,keegan,high,cameron1,guitar1,toolman,barker,spectre,pussey,nuggets,borussia,mantis,01011982,banzai,ariana,flexible,chloe1,mullet,graphics,fyutkbyf,123qq123,mancity,templar,stories,yfcntymrf,02081984,02081987,fergie,records,thedoors,7ugd5hip2j,gawker,pussyman,skyler,elizaveta,colton,huai,seng,xiang,zhuai,guai,02061986,solo,moritz,monte,lemon,strength,talon,rhino,cowboy1,susana,sonoma,three,mack,spinner,allan,keller,webmaste,aaron1,grease,augustus,raquel,alejandro,chimera,rufus,stretch,ticket,bacchus,kendra,twenty,corsair,kinder,argentina,corleone,zhai,spice,mickey1,vampires,domain,iomega,heater,02031984,02021985,hover,alex123,ltybcrf,artemka,xxxpass,qiong,ting,hippie,jing,reng,tian,tong,2580,123455,21031988,987456321,poland,deutsch,babylove,becker,speedo,brett,oceans,slapper,letter,harvard,bonjovi,mazda,virtual,cosmic,leon,snuffy,blaze,sergeant,maggie1,dragonba,spurs1,stonecold,hellos,jacques,register,buttercu,01020304,huang,01011999,millions,millwall,patience,chrysler,merlot,bullfrog,latinas,a12345678,02011986,xyz123,istanbul,phoeni,ashleigh,02081989,kotaku,universal,noelle,binladen,artem,shanghai,porsche1,castro,gabriel1,ceng,chuo,jiong,xiong,shei,meng,hans,wraith,pierce,jayhawks,kilroy,amateurs,dotcom,cattle,daemon,ntktajy,barbados,renata,thoma,balance,mikey1,chan,nomore,pdtplf,canyon,kayla,jackpot,mets,orion1,pulsar,baron,marker,chippy,nightmare,monarch,hamish,aubrey,reds,knockers,dipshit,alexey,malone,athlon,hubert,chevrolet,eddie1,vadim,everett,napoli,myname,belly,cobalt,counter,dialog,house1,augusta,smokie,cristian,coolness,cougars,screen,02041984,criminal,hardware,ramones,bobdylan,ning,capslock,02061989,rong,zaraza,ciccio,teddybear,alisha,gfhjkmgfhjkm,chui,liang,pian,niao,1123,120676,147963,gadget,shiner,laurent,fulham,missouri,carlitos,dwight,helene,halifax,dogshit,entropy,coldbeer,silent,lost,silly,netscape,boom,edgar,dog123,golfer1,county,deep,freeway,syzygy,andromed,game,media,wings,brigitte,danny1,yeahbaby,diego,yolanda,eldorado,hollow,crack,eastwood,monkey12,gunther,paranoid,anita,sexyboy,rainbow6,soulmate,gooner,drunk,persik,lesley,geneva,9293709b13,microphone,kakashka,02021983,50spanks,111111a,fgtkmcby,mclaren,spread,geng,shuo,zhui,duan,nuan,qiang,weng,shuang,159632,9562876,1234567891,bamboo,brittney,fastball,creature,cards,just4fun,matteo,fuckyo,hack,smashing,foot,washington,arlene,baggio,carlito,jones1,hopeful,astro,hondas,snooker,sophi,redbird,bigblue,annie1,dynasty,mephisto,temp123,trainer,rebel1,iceberg,shitface,fountain,specialk,estrella,some,02031987,generic,buddyboy,stevens,02041983,arcadia,02051983,manning,nikitos,piramida,02021989,violetta,bailey1,piano,spencer1,salasana,q2w3e4r5,maxxxx,zang,shutup,thing,suan,heritage,liao,1022,1223,15975,11221122,browning,homerj,tiburon,obelix,kris,chopin,02041982,insomnia,hooper,promise,cygnus,theater,romero,jelly,plasma,kissmyass,here,ninja1,submit,spider1,budapest,jayson,sexysexy,jorda,citizen,sahara,pinkfloyd,card,stroker,pavlov,playboy1,pasword,amigo,heynow,arturo,fight,ventura,sandwich,fraser,yummy,homeboy,royal,testpass,gamecock,milo,maxwell1,magician,female,wildcard,sassy1,magazine,telephon,bigfish,tripod,kuai,lazarus,cleo,licking,dundee,1234asdf,02081986,1a2s3d4f,brodie,misfits,slavik,rochelle,sleeper,seeking,pringles,butcher,patric,iverson3,nanook,02041987,02041988,vsjasnel12,darklord,loveless,bruno1,radiohea,02011988,cang,shao,sheng,guang,shuai,xing,1011,2469,12365,karin,hughes,giorgio,maxime,sphinx,reckless,triple,baldwin,taxman,orient,desmond,married,zhjckfd,mordor,hunt,romano,jiggaman,ramsey,officer,lovebug,sam123,tiger123,classics,hooligan,pluto,georg,bolton,scrabble,jezebel,major,010180,jellybea,mason1,shock,drakon,seadoo,mexican,hawaii50,pharmacy,door,lena,abnormal,patrice,concorde,alfredo,01011979,02081985,cdtnbr,qazwsxedc123,puffy,islander,02101984,chantal,jakejake,02011980,yjdsqgfhjkm,bunnies,bushido,kazantip,strawberry,verizon,maksimka,dupont,crusher,jiao,zong,zhang,pang,1211,1224,123465,655321,ghost1,premium,wg8e3wjf,corey,426hemi,goat,diane,channel,project,hole,cthtuf,arrow,meagan,tootie,bounty,blue12,02021982,porno1,kfhbcf,kirsty,howdy,ramrod,sweetnes,master12,bird33,bummer,corolla,andersen,blond,race,darryl,senator,ferguson,donovan,123456qwe,thelma,dynamite,gertrude,doomsday,rhjrjlbk,hjccbz,players,mariposa,killer12,ozzy,mazda626,excalibur,marcello,buttfuck,moore,samsun,masamune,zhao,niang,zhuo,02071984,998877,12365478,darlene,bessie,brains,north,attila,clowns,chestnut,woofer,model,1qa2ws,moses,someone,lindros,tiny,dottie,civic,july,a1a2a3,merlin1,anthrax,lilian,imation,beacon,tripper,snoopy1,vsegda,tiger2,ursula,fullmoon,spiker,sporty,force,pornporn,citadel,jacobs,michael2,volcom,dynamo,amerika,02031985,bombers,hannah1,burrito,andrea1,inspiron,forsaken,spock,mallory,lantern,nextel,goirish,snowboard,haggis,callum,violin,lollypop,insanity,placebo,creation,glacier,02061988,stepan,zander,dabears,water1,katarina,iloveme,sexxxy,moonbeam,webber,gonzalez,henry1,tiao,tigger2,4417,7007,69696,147741,258852,dogger,pecker,stiffy,senators,create,june,wingman,pumpkins,felix1,windsurf,ernie,mick,watch,green123,jarvis,zephyr,fishman,dell,reddevil,wanted,sheridan,larry1,nichole,bronze,concord,rjhjktdf,kellie,baker,zalupa,killkill,avenue,asddsa,bunker,wrench,paddle,schalke,cobain,shanna,poopy,broker,mouth,woodland,yvette,suicide,vanguard,aviation,exotic,heat,stanislav,02081982,superb,q1q2q3,fergus,mihail,vfibyf,02051982,yankees2,mobydick,icu812,sausages,tuning,francesco,ganesh,anastasiya,nevermind,presiden,faithful,kerstin,vfitymrf,varvara,happiness,1z2x3c,robotics,zuan,nang,shui,225588,369258,normal,deer,bigcat,store,02011984,karen1,tech,temppass,laura1,onetwo,postman,weird,uranus,highheel,aloha,cigar,puss,stylus,gobears,duckie,stratus,thong,tigers1,jimbo1,mandy1,pippo,conover,soprano,jingle,firewall,polopolo,dolly,pepito,piazza,radical,alone,mail,boxer,02031982,reload,evolution,julie1,grande,drummer1,tipper,fuckme1,02061980,battery,dogcat,bubba69,drive,kirby,candace,digimon,bombay,mariana,sowhat,pussy123,pumpkin1,lips,download,fandango,kamila,popper,dusty1,gore,beng,rang,bian,cuan,smokey1,1112,369852,1000000,1234560,lenny,qwerty11,mypassword,louie,earnhard,dancing,simmons,airport,snappy,angelika,fishin,boxers,icehouse,qqqqq1,cramps,basset,dogboy,hall,abstr,softail,titan,santa,killjoy,fischer,electro,mygirl,delilah,misfit99,nutmeg,111qqq,christma,kittens,krusty,script,zaqxswcde,bigboss,falcon1,flores,guyver,coach,fender1,praise,prowler,harvest,latina,asdf12,clit,moreno,erin,02061987,02091983,01081989,spikes,zxcvbnm123,jubilee,shan,choice,yugioh,toaster,pineapple,harrypotter,gorgeous,namaste,carnage,yong,zeng,redsox1,biao,heng,keng,kuang,1013,1023,12051988,alissa,nigga,dayton,chriss,niceguy,magelan,qwert12345,almond,club,bumper,partner,vikings1,123qw,marty,spongebo,erika,judy,ghosts,broncos1,hookup,bigben,hammer1,wifey,cindy1,carmex2,enrico,starstar,gilles,chillin,superma,radiohead,havana,lumber,pistons,viktoriya,gameboy,robot,santafe,holidays,jennife,mckenzie,reddwarf,dodgers1,cascade,kidrock,pinball,isaac,banger,05051987,02071987,02101989,02041985,arrows,cookie1,london1,platypus,password12,foxy,02071980,1z2x3c4v,abrakadabra,doofus,passes,shanti,barron,marianna,longbow,services,02101987,heroes,living,mankind,stasik,jets,beardog,longjohn,123000,134679852,glenn,01011900,nikki1,alessandro,garion,live,juanita,honolulu,nygiants,slick1,busty,install,niceass,string,boozer,mars,astra,junior1,abbott,puffin,dogbert,queenie,mother1,miller1,muscles,highway,visa,02091984,cottage,compton,steffi,romans,beerman,megan1,windmill,guitars,earth,freebird,slamdunk,snowflak,tasty,delight,nights,biology,joseph1,emilia,bronson,frost,irishman,badgers,state,02091981,bergkamp,pixies,training,warrior1,playstat,milk,oatmeal,mudvayne,airwolf,season,lottie,dudedude,jackjack,johndeer,zildjian,magnet,vjcrdf,02061983,02041981,hammond,ramirez,02091980,mang,aptiva,anai,qwer12,gidget,1121,78945,153624,333777,22041987,stop,kjkszpj,manolo,jerry1,bruiser,chilly,medion,josephin,giraffe,jared,paulina,fishbone,edison,caught,gasman,genesis1,pocket,moondog,charter,camila,impact,tbone,bigblock,rudy,towers,krypton,hallie,jefferso,pelican,altima,clippers,getout,compass,kimmie,chambers,winners,paulie,spoon,sucking,albany,toffee,theatre,never,pavel,111111q,climber,marlon,micro,thisisit,armand,ultra,aladin,monkeybo,comfort,123456l,epsilon,idunno,death666,stress,hounddog,pallmall,02051988,angel123,02041979,kate,webhompas,monsters,picturs,02051987,sairam,02081977,05051985,02071988,easter,cobras,ballin,comanche,landon,severin,15051981,26061987,whiteout,roadster,basebal,stone55,drifter,easton,werder,norwich,stubby,stefanie,clay,gene,mike123,ellie,versace,food,visual,heinrich,record,white1,bowwow,ellen,undertak,demo,hookem,anastasi,fiction,medic,colnago,storm1,booster,festival,zzzxxx,coolcool,qwe123qwe,sinned,foreve,squeeze,02031981,mazdarx7,anthon,diving,shocker,hewlett,cross,sutton,choochoo,08031986,02051989,milan,defense,123456789s,iloveyou2,fidelio,welcom,123456m,word,lithium,02051984,02061984,kisskiss,cbr900rr,british,franc,kings,mama123,lovelife,hellboy,chipmunk,good123654,saiyan,chase1,bluebell,federal,trust,format,kjrjvjnbd,ctrhtn,1234qw,hollie,celeb,fuckinside,1215,111000,987123,10011986,11051987,13041988,21031987,kirk,washingt,tkbpfdtnf,sensei,smirnoff,mydick,spam,macbeth,cabron,guess,pipeline,mike1,clyde,dalshe,james123,zebra,mortal,fishhead,gustavo,vintage,06061986,pigeon,carver,winner1,gypsy,konstantin,beta,freefree,sheba1,summer99,newcastle,krasotka,01031988,komodo,02091985,juicy,punk,starligh,flyfish,wireless,carman,81fukkc,manila,nathan1,olesya,salome,lowell,torpedo,switch,motion,sharp,toejam,julien,puppet,buceta,scoobydoo,02021979,super12,koroleva,lineage,michaels,redrose,close,yogibear,redbaron,codered,testing1,frogman,02021981,tatarin,azazel,moskva,kitchen,freesex,nascar24,president,7894561230,news,mykids,bitter,highbury,zachary1,tranny,redfox,02061982,1002,135791,username,achtung,johnny1,spotty,survivor,program,prayer,transit,sanity,seagull,flanker,cocker,qwerty7,wanderer,soccer12,fuckhead,zodiac,isabell,costello,virgil,nutter,rockies,irinka,washburn,catwoman,upyours,kelvin,lemonade,chilli,bearcats,chef,itsme,gravity,chevys,solitude,sunny1,cocksuck,minerva,boomer1,deeper,01011978,02011989,ohshit,vera,cricket1,sugar1,rober,slowhand,tommie,ross,jsbach,lorena,dinara,paradigm,smoke1,lilith,nostromo,borabora,arkansas,chiara,savanna,presley,bologna,terminat,habibi,contest,sushi,markiz,sigma,rainbow1,bdsm,blam,fantasia,stephen1,mildred,02041989,grandpa,underground,johnson1,peaches1,cnfybckfd,ghbywtccf,02101986,bigbob,11081989,12021988,13041987,14061991,20061988,21011989,22021989,24061986,30051985,74108520,joel,slater,comedy,marti,grand,georgie,wildbill,smart,kent,larissa,gilligan,blast,hornets,brain,berkeley,pool6123,birgit,maggi,armstron,3000gt,01061990,corndog,hilary,troy,123qwer,lane,piggy,destin,tropical,sundevil,shinobi,horace,gagging,hurricane,volkswag,wasabi,01011960,nurses,bmw325,02021976,zanzibar,reilly,mustang6,trouble1,angelus,chinese,sissy,sunfire,tonight,sonia,sneaky,report,02071981,coventry,jeremy1,gtnhjdbx,03041991,sekret,45m2do5bs,undead,qazws,madcat,hotone,eastern,123ewq,daniele,nirvana1,lasvega,amorcit,wasted,sidekick,pizza1,02031979,yfnfkb,revolver,jackass1,cleopatr,nfytxrf,jermaine,gbhfvblf,kalina,02081983,marines1,1031,1102,1125,1235,172839,420000,635241,18011987,23041987,cisco,everlast,hopkins,nitro,vader1,south,nation,tinkerbe,lamer,boating,glass,bluesman,weston,leroy,customer,physics,12qw12qw,paolo,dakota1,quentin,messiah,hitachi,marjorie,krissy,shawna,conan,woodie,troll,groups,penguin1,spikey,fatty,villa,denmark,stephan,birddog,cyborg,keenan,tokiohotel,straight,nautilus,kieran,slayer1,rubble,highlander,redeye,justus,firefire,from,02071983,schmidt,longdong,boiler,margie,heidi1,suckers,waffle,khan,sonata,lopez,there,skyhawk,joebob,armada,simba1,blues1,07071987,reflex,threesom,asdqwe123,02021973,01121986,americ,goten,loud,ghjcnjgfhjkm,02011981,01071986,02091989,02071989,nokia6233,ghbdtn123,asdfgh01,sisters,valentine,yuan,monty1,cole,1812,10031988,10071987,12121990,13031987,14111986,19061987,19101987,24011985,25081988,28041987,123456123,bighead,matthias,changes,descent,mazda6,fenway,taco,eggman,aaaaa1,jonny,buddy123,private1,dogface,bowman,irishka,shibby,antonia,astral,nudes,teenage,enterme,thecrow,andyod22,score,complete,rivera,belmont,tigge,junkie,fredrick,daniels,vickie,candy1,bennie,skinner,razor,umpire,blanco,fearless,citroen,rollins,sluggo,torino,antelope,marseille,aramis,emilie,compaq1,gryphon,malachi,pantera1,viewsoni,ethan,yeah,marble,02081980,reptile,02021990,chandra,kille,dindom,01091987,evangelion,handball,nancy1,barselona,draven,zxcasdqwe123,sandrine,fuck1,sprinter,fyfnjkbq,01041985,02101988,stinker,palmtree,sonyericsson,hotties,rampage,seabee,chick,1776,987321,10011990,10051987,10101986,11061985,12121985,13061986,14021985,17051988,20111986,22011988,25800852,28021992,gordo,bigpimp,question,soccer10,boytoy,quasar,carpente,spartan1,amand,luca,pasadena,biatch,benoit,glock,coldplay,expert,audi,mario1,castor,deadly,fairlane,joe123,elcamino,callisto,glamour,datsun,studman,hanson,mentor,tomahawk,shamus,gladiato,diaper,keisha,stupid1,styles,squeak,cayman,runaway,dentist,navy,skip,fantomas,thewho,zippo,castillo,luck,arianna,honeybee,papito,yamahar1,holycow,02031989,ukraine,doors,wildwood,yellow1,skibum,gambler,helper,09051945,best,brown1,malice,david123,karachi,jewel,excite,toilet,corinne,morton,johngalt,sweetness,options,loretta,mcdonald,sf49ers,palermo,buffalo1,playa,lambda,02031980,01121988,gideon,matthe,02101981,medved,cheshire,superior,08121986,ministry,trinitro,pebble,casper1,bismillah,roses,elefant,player1,capricorn,harlem,04041991,nikolai,vendetta,bobdole,03041986,wizard1,02101983,manfred,pinky1,biker,margarit,bigpoppa,success1,ijrjkfl,voyager1,asimov,bruce1,winter1,iloveyou1,01011995,dominik,1210,24680,100500,196969,415263,11051990,16051987,16051989,17061988,20031987,20091991,21031990,22021986,25031987,25121987,27061988,28011987,28021990,29011985,29051989,29071983,30041986,paris1,limited,vitamin,calibra,zarina,perry,iforget,04041988,glasgow,shrimp,antares,hola,antonina,jamess,hetfield,warez,bigones,cutiepie,chapman,bolitas,dimas,nonenone,bestbuy,papillon,baritone,knock,eight,stream,sleep,stephane,freefall,vjqgfhjkm,show,0000007,priest,jules,mischief,rogue,hate,foxylady,flip,ernesto,dominion,vienna,macman,enforcer,devo,3x7pxr,parol,tophat,megane,dungeon,leedsutd,f00tball,mingus,skillet,robins,twiggy,bitchy,giggles,remingto,alberta,ducks,rfvfcenhf,book,02011983,otis,derparol,02051980,quebec,emperor,buste,05051989,synergy,08051990,02041980,shakira,older,asdqwe,01041988,01061986,mamamia,cleopatra,rosario,finland,modern,carnival,01011994,dmitriy,coolcat,purple1,ghjuhfvvf,knuckles,mahler,kayleigh,klaste,1003,1025,1204,4200,224466,1234123,11121986,12031985,12031987,13121985,15011987,15051990,15101986,18061990,18091985,20051988,20091988,21051991,21101986,22071986,30031988,31011987,notused,bigdawg,grinch,chips,letmei,slugger,02071978,mental,harddick,brand,bozo,paco,kojak,tabasco,chelse,spud,rico,keepout,kokomo,firefigh,addison,barney1,blowfish,1dragon,hugo,samira,sexylady,sevens,08031985,stacie,rusty2,dimples,post,tuna,alexandre,whiteboy,roger1,films,cromwell,magneto,kernel,carroll,minemine,dontknow,02011982,acmilan,wp2003wp,sanford,referee,lakeside,polish,123456ru,noname123,screamer,calimero,portal,kfgjxrf,conway,rockie,02101979,02051985,dfktynby,francisc,swinging,02041974,cygnusx1,trucking,08081988,obsidian,sales,auditt,money123,02031988,oxygen,roswell,tower,01031989,01011974,papers,popova,03031986,giovanna,sasha_007,thecure,02051978,bigbang,lfybbk,pizdec,12345qw,02071979,zoloto,marijuana,02031977,02051976,kimball,jaguars,kordell1,kerouac,142857,258369,999666,10101990,13021990,14021986,15021985,16121987,17011987,21051988,22031984,22041988,23021986,24111989,25041988,25091987,26031988,27081990,30041987,07091990,stryker,ksusha,entry,roma,maple,choke,cassandr,moonligh,fenris,12345s,duffman,fuck123,john123,dirty1,blueball,bigbooty,cars,wrestler,salope,sexxy,dinner,building,mopar,cecile,fishfish,paramedi,capricor,robocop,rimmer,hardone,w_pass,4ever,evil,alice1,nomad,nuclear,asgard,series,advent,01031985,universa,jorge,kestrel,spanner,guido,cheddar,carlos1,lalakers,acura,cherries,eclipse1,anchor,cold,yoyoma,darkangel,aspen,bahamut,little1,whistler,57chevy,smackdow,galant,bukkake,leopold,option,strawber,facebook,susanna,bookie,crusty,qwedsa,nine,extra,matrix1,02051981,01021990,transfer,breanna,mothers,clarissa,peachy,prozac,p@ssw0rd,loki,scuba1,bootys,argentin,flame,bricks,slimshady,dkflbr,nokian73,chris123,11111q,krolik,joshu,korova,johncena,magpies,pictures,cevthrb,suckmydick,spanker,dogpound,02051973,impreza,02041975,132456,145236,357159,741963,10041986,10071988,11021985,13071984,14081985,15071987,17111985,18091986,19011989,19031985,19283746,21011988,21011991,22061988,23031990,24111987,25011990,25091990,31031988,notebook,brandy1,prospect,bettina,gymnast,jktxrf,seneca,zxcv123,ksenia,rudolf,marquis,huge,daylight,golden1,q11111,tribal,zack,blue32,johndoe,hejsan,biteme1,jeannie,lemmein,salem,petrova,clutch,django,sexgod,sexxx,capetown,tupac,cartman1,ratman,09021988,vlad,fortress,canucks,01091985,virus,chocha,serpent,wallet,inter,telephone,eggplant,april1,camero,roofer,nazgul,fussball,cardiff,perfect1,wendy1,hallo123,fktyrf,pufunga7782,amore,02041978,factory,doggy1,budweiser,alanis,loser1,marseill,janelle,wealth,addict,goodgirl,timeout,wolfpac,02051972,camden,liverpool1,tenchi,05061990,godlike,university,turnip,beaker,vincent1,k.lvbkf,010191,01031984,02031983,repair,nbvjatq,vehpbr,southpaw,sylveste,redhat,forever1,wingnut,patrol,magellan,vampir,captain1,assasin,aikman,trailer,mariya,taekwondo,258963,7896321,10081989,11031988,11071988,12041986,12041988,12061988,13011987,13011988,13051987,14011986,14021990,15011985,15041988,16051988,22021988,22071987,22091988,22121987,23021989,23041986,23051985,25101988,30081984,sonyfuck,style,llamas,clifton,irene,sabrina1,02031978,punch,noname,goldfing,marie1,1234zxcv,jumbo,helmut,maveric,ricard,antony,happy2,marcius2,susan1,ballet,pentagon,sawyer,faith1,gina,pearson,hotgirls,flasher,tracer,boater,shoes,peppe,joyce,cornwall,goodie,devon,benito,butters,angus1,sixpack,mandrake,bubbles1,earthlink,lookout,slammer,venture,gagged,onion,01071987,truth,aries,12345m,lakewood,loveya,dogwood,money12,moonshin,ring,wyoming,suburban,challeng,olympus,volkov,opendoor,01011976,04041983,commande,stanley1,hoops,jonathon,diablo2,08081986,seymour,beach1,ashle,oreo,murzik,bubba123,02051977,navigator,right,gratis,myrtle,native,trip,lakers1,twelve,02081976,hellokitty,arctic,fkbyjxrf,rasmus,wormix,randy1,02091988,07071977,03021986,millenium,radar,07071990,gerrard,05071984,01041987,goth,asians,gateway2,camaross,bluejays,gaell,333444,10031987,10101985,10121987,11061991,11121985,12071989,12081985,13061987,14101987,15071986,15071988,16021990,17061989,17101986,18021984,18041986,18051988,18101987,19051987,19061990,19121989,20041986,20081991,20091986,20121989,21061986,22011986,23051990,24031988,26031990,27041990,27061985,27071987,29061990,29071985,30041985,135798642,lekker,qazxcv,borders,davies,midnite,lloyd,beater,05071988,whatwhat,optimist,damon,02071985,gotmilk,blue99,clock,decker,larkin,road,loren,redskin,hung,bremen,enternow,knight1,prince1,page,01051989,03081989,bimbo,peace1,destiny1,beavis1,hattrick,aaasss,1a2s3d,dejavu,markie,ou8123,1master,start1,test12,beatles1,screw,2fast4u,daddyo,natasha1,bordeaux,stone1,12345qwer,blaine,vanessa1,rough,alchemy,09041987,qwert40,hott,therock1,real,ilovegod,solaris,proton,links,cardinals,marriage,disco,peggy,spence,fanny,coming,swedish,espresso,auggie,02071975,vbkfirf,dougie,p4ssw0rd,richar,noway,nightwish,saigon,holes,jocelyn,gsxr1000,23skidoo,platon,ghhh47hj7649,shadow12,speedway,01041992,01041990,devin,leeds,09031988,timosha,roadrunner,ironmaiden,mackie,supernov,delfin,toriamos,06041988,ceasar,trans,patches1,oberon,vjkjrj,capecod,glow,nevets,1008,123567,147896,875421,10061986,11051984,11051986,11091989,12041990,12051986,12051990,12121988,14041988,15021990,15051985,15111988,16051985,17041991,20021988,20041988,21061985,22061989,22081986,25071990,25111987,26061985,30011985,mamacita,mad,derf,sandie,jaime,longer,cowgirl,stigmata,munch,gonzales,alena,01121987,pass1,data,shag,nineinch,a1234,waterboy,klondike,ilove,finally,bomb,spiral,boulder,odyssey,amigos,somerset,01031986,pain,burns,mulligan,krokodil,explore,lawson,charon,peeper,redcar,fellow,ambers,sloppy,savior,schatz,moron,q2w3e4,hardball,azertyui,republic,patch,reggae,canuck,romantic,vauxhall,boston1,angelic,emilio,doggies,tennis1,advance,02061977,around,159357a,06021987,spoons,rfntymrf,almighty,deputy,06081987,tosser,stratfor,mississippi,suckdick,houston1,eating,intercourse,power123,closer,01021989,lenochka,marijuan,02031975,globus,sterva,domingo,limewire,terefon,coors,04041990,suslik,steaua,blue1234,bledsoe,12345qwerty,greedy,01061988,iriska,htubcnhfwbz,zasada,sandr,awesome1,beezer,champ1,funstuff,evgeniy,bball,patrici,cuervo,printing,111777,357951,10011983,11011990,14011989,14031988,15021986,16051990,17031987,17071989,18021988,18111987,19061985,20031991,21041992,24031990,24091986,25011986,25061985,27081986,28051987,29051985,29061989,pastor,funky,theforce,chiquita,strap,yessir,daman,05081988,beech,streets,chaos1,wxcvbn,admin1,holein1,maserati,berry,qqqwww,geezer,coral,cabernet,joecool,nastia,egghead,doris,sheepdog,terrell,jomama,kane,armando,hairball,christa,aileen,clarke,insight,afrika,vancouve,tender,munich,02071976,123456789m,grandam,brady,luciano,alcohol,sheep,default,idefix,cyprus,trees,scheisse,montana1,mooney,ambrose,hoffman,pimpdadd,baltimor,jennaj,m123456,norbert,call,jaeger,mash4077,watford,davinci,mizzou,steven1,gocubs,square,pigpen,123456t,houdini,jewish,tomas,kirkland,ophelia,riccardo,07051990,another,rodeo,luna,bonanza,lhfrjy,02061976,sigmachi,revolution,dragon69,firenze,03041980,selina,absolutely,lback,ghbrjk,rfhnjirf,05091988,sammy123,sophie1,cvthnm,colonial,toolbox,04061986,hunte,ringo,bongo,02101976,azert,junk,banan,howell,magic32,liliana,q1234567,medina,riders,elway7,ilikepie,09021989,toonarmy,laddie,01031983,footjob,06051986,kronos,eskimo,wolfen,natalie1,barley,pancake,bigdicks,dabomb,cashmone,02081981,junio,02041977,dylan1,01021988,monic,1004,3006,123459,223322,556677,996633,1235789,5201314,11011991,11071985,11081987,12071987,12081984,12101988,13031986,14021987,14071987,15051987,15081991,16011989,16061986,16111990,17071985,18051990,18061985,19071986,19071988,19101990,20031988,21021985,22021985,22041986,22061941,22061987,22071989,22081983,22121983,22121986,23011985,23021985,24061987,24061988,25011985,25041985,25061986,25101989,26021987,27031989,28021985,28051986,lolol,myxworld,audio,kristian,samoht,dominiqu,joemama,gabber,toocool,ariel,twinkie,zxasqw,marcelo,darkange,persona,scrapper,delaware,tyson1,progress,cafc91,kurt,shuttle,link,gabriele,smoothie,slimshad,08071987,q123456789,youtube,franks,norris,yasmin,outside,sandra1,hottest,cumslut,tripleh,mann,starr,morales,vqsablpzla,pathfind,trace,elisabet,doit,evolutio,fishon,books,02021980,flicks,peanut1,velocity,ranch,annmarie,barry1,gthcbr,biggun,dolemite,vagabond,outback,sexo,woodstoc,02081979,macleod,plastics,javelin,bootsy,02021991,08061987,aolsucks,c2h5oh,02031973,sofia,redbone,klizma,rachelle,petunia,pumper,all4one,mohawk,lobo,billabon,rockin,ncc74656,austin31,baylor,04061991,koolaid,granada,allegro,02021971,alinka,nevermore,mikael,p0o9i8u7,forgetit,smith1,montag,poker1,frodo1,beloved,breaker,tasha1,honeys,password9,reginald,sheeba,killer123,02091976,wives,dukeduke,archange,fuck69,metroid,minimoni,wizards,hellsing,rocknrol,02041976,fabio,03071987,zaqwsxcde,max333,wanking,awful,morrowind,friendster,irving,goodday,modelsne,bumble,kenny1,nataly,juliana,cirrus,samm,03111987,nittany,dogbone,storage,05061986,04041985,punker,02011975,purpl,futurama,skateboard,6996,132465,10031991,10111986,11081990,11111987,11121987,12011989,12061986,12121982,12121987,13111990,14021983,14051990,14071988,14101988,15011986,15071985,15081988,15091987,16031990,16101987,17041987,17061986,19011987,19051986,19071990,20021986,21041985,21081987,21111985,22021990,22031991,22041985,22061990,23061990,24051990,26031984,26031987,27031987,27091985,29051990,29081985,29081990,29111989,29121987,30121987,31121990,esquire,homemade,kiteboy,herewego,bedford,dirk,lonesome,boxcar,panda1,pornking,blackbird,dickens,nokia1,four,climax,gotribe,bleach,cheeky,cucumber,vipergts,scooby1,awnyce,123qwert,muhammad,summer69,jeepster,alex12,hello12,harbor,acidburn,harald,calling,dingo,fireblad,christi,pinnacle,shodan,11111a,fallon,03061987,02101977,deniro,08041986,dudeman,harrier,jellybean,buffet,mariner,foolish,wildone,peterbil,allgood,fields,dilbert1,salami,bugs,estelle,lighting,mega,butkus,elvisp,homework,russel,donner,doktor,tycoon,cement,romeo1,04051988,ottawa,bigguns,lillie,fellatio,weed420,emmett,kiwi,barfly,03031988,baracuda,newyear,flipflop,raleigh,singapor,sperma,04081987,maxdog,sasha123,opennow,thedon,sedona,sixty,terra,blunts,linkin,lander,alisa,02091977,12345abc,05051990,crackers,doubled,warhamme,proview,masterbate,starwars1,02091975,status,01011971,females,flamengo,behappy,lfitymrf,qwe321,starwar,snowbird,123456789d,corwin,bradley1,fucker1,azzer,02101980,lagnaf,daughter,cubs,navyseal,01081990,carebear,protect,kamasutra,bastards,delmar,musical,deaths,metall,steffen,01061987,02051975,wiseguy,pimping,robin1,515000,1598753,10041983,10061987,10081985,10293847,11011987,11071986,12051985,12101985,13111984,14071986,14881488,15051986,16061985,17011990,17021985,17091987,17101987,18011986,18021986,18041990,19091988,19111987,20011989,20051985,20071986,21071989,21111990,21121986,23011990,23021988,23051986,24011990,24021991,24061992,24121986,25011993,26041986,26041991,26051988,27011988,27051987,28021986,28071986,29011987,31011990,gators1,02071971,whiplash,lara,fuckme2,adriano,boyz,hatred,reserve,draco,rainyday,mercede,grin,smart1,stafford,mone,motor,ontario,stang,gardner,weekend,jakarta,shonuf,clovis,drum,gotham,jughead,golfgti,dooley,sand,nightmar,wetter,johnny5,tanya1,03051987,01051988,comein,meadow,69camaro,chessie,marshal,phyllis,mutant,dingle,chelle,nautica,haley,camber,dragonfl,senna,bigjohn,heels,stickman,sambo,03071986,hiziad,sexybitch,puppydog,5wr2i7h8,deville,pacino,paragon,pointer,s123456,tarpon,melanie1,sprout,durham,apollo11,bigdog1,wheeler,spliff,sick,gonzo1,rockwell,vfntvfnbrf,meliss,narnia,eleonora,lefty,chewy,payday,atlas,alleycat,ambrosia,drums,linden,trustme,austria,phialpha,exchange,rage,lokiloki,tarakan,cartoons,02091973,01051986,bungle,contract,03011987,kolokol,daisydog,penetration,06041987,laetitia,gohome,03031990,02101978,pushkin,leigh,mustang2,gianni,wordup,orchard,freddy1,adrenalin,goldeney,luckyone,06031983,tuscl,kathy1,escalade,0192837465,gerbil,blanca,widget,samuel1,fyutkjxtr,01011973,02071977,02081974,touching,trinity1,04091986,sites,pookey,1q2q3q,charisma,07081986,inlove,rainbows,grass,kolbasa,07091982,newark,12345qaz,bootsie,interne,raphael,rated,cleveland,02061979,henrik,roll,bandit1,08051987,jenifer,cocksucker,03031993,222777,777999,1234566,10011988,10031989,10041990,10061984,10071985,11071989,11091984,11111986,12011985,12021985,12031988,12051989,12091988,12111990,12121989,12348765,14011987,14011988,14021989,14081988,14121989,15021983,15031988,15061988,15091988,15111984,16011987,16111982,18021987,18031991,19021990,19101986,19111986,20011988,20021985,20031986,20061986,20081986,21051986,21071987,21101989,22051986,22071983,23031987,23051987,23051991,24011987,24071987,24101986,24111990,25021988,26031986,26091986,26101986,26111985,27021991,27111985,28031982,28041992,28061986,28121984,29041985,30011986,30061987,31121987,31121988,369258147,point,hello2,05021988,dragster,bismarck,cambridg,cliff,1michael,honor,buzzer,supra,treefrog,kerry,reason,frogs,blake1,treetop,catcher,dicky,xantia,daisey,siobhan,lister,dome,strelok,auto,gamma,jello,hawkins,123456789qwe,prosper,pitch,stan,workout,walton,catnip,dima123,06071983,trauma,sebring,michal,nounours,kittie,burning,driller,angela1,thierry,lumina,speakers,brennan,rabbits,colin,buttercup,neon,atticus,puzzle,sixty9,mallorca,delaney,burn,checker,jabber,alexander1,melrose,zyjxrf,normandy,ariane,dbnfkbr,bambi,lucia,blue42,wilder,thumper1,killa,masterp,02051979,playball,scamper,7777777a,lauren1,wonderful,signal,base,benessere,freee,01021985,getting,smackdown,melons,02051990,trumpet1,cooper1,pandas,chains,asdffdsa,03041987,favorite6,melina,sexybabe,cannibal,fosters,beethove,skipper1,02091971,01051990,burner,nthvbyfnjh,meow,malaysia,rugby1,azertyuiop,02091982,rocknroll,bynthytn,grace1,aprilia,02011990,venom,italy,meier,shen,pavement,03051986,stockton,06061987,peppers,tantra,guillaum,32167,777333,888999,10041991,10101989,10121985,10121986,11011989,11041991,11061989,11081988,11101986,12021991,12051987,13021987,13081985,14031989,14041987,14041992,14081990,14091990,15041987,15071983,15081990,15091989,16021987,17021987,17061991,18011988,18041991,18051987,18061991,18081988,18121984,19031987,19091990,20041990,20051989,20061984,21021987,21071992,21081985,22061985,22071990,22081991,22091986,22111985,23061992,23071985,23091987,23121986,24021988,24031987,24041988,24081988,25051985,25121985,26051986,26061986,26071987,27041985,28051985,28051990,28071987,30041991,30051989,30061983,30071986,30111987,789654123,007bond,redd,manny,giulia,caster,jupiter1,readers,mooses,worthy,royalty,jonas,rita,segblue2,trustno,dixie1,hansol,gumby,phish1,enrique,body,123456w,abcdefg1,paulpaul,gannibal,earl,compact,frosch,skylark,hallowee,kenobi,kittys,andrews,young1,terrier,dirt,farm,marbles,ticklish,07071985,frenchy,offshore,jazzy,sexyone,algebra,allison1,lucas1,special1,hyundai,hotass,sexman,sex69,olive,leinad,farmboy,02041973,middle,clement,amethyst,letsdoit,gofast,thrasher,plato,soul,ride,notredam,murphy1,candyass,travis1,hannes,spooge,systems,gatsby,junkmail,ladder,uptown,shower,chill,flower2,karine,09051986,matty,airman,06011988,wayne1,volleyba,stayout,liberty1,abacab,blanche,buckley,bouncer,vodka,bettyboo,shauna,02061981,manga,02011979,02101973,muslim,08011986,cutie,ilikeit,06061985,01051985,constant,longhair,their,kaboom,elmira,amatory,09081988,q1w2e3r,navajo,alcatraz,olenka,01021987,09091986,05021987,mynameis,08071988,larson,sunshine1,04051985,powerful,04061984,sephiroth,panter,password01,casio,summers,02061972,computer1,1qazxsw23edc,jesus123,nikolas,rugger,05031991,sparkles,bosco1,skinhead,sonysony,snicker,pancakes,charlie2,pilgrim,ananas,contra,sheldon,generals,grisha,montecar,briggs,02061974,010390,ploppy,7894,115599,321678,951357,1234561,1234568,10011992,10061989,10071990,10081983,10081990,11041990,12071988,12071990,12081983,12081988,12091991,12101984,12101990,12121986,12121991,12211221,13071990,13101987,13121983,14041986,15031990,16031988,16071987,16071991,16091987,16121986,18111986,18121983,18121987,19061992,19091983,20051987,20061990,20101988,20121986,20121988,21031985,21121985,22011985,22051991,22071991,22121989,23031986,23051983,23091986,23111987,24071991,24101989,25081986,26071986,26071989,26101987,27021990,27031986,27061983,28061988,29031988,29061985,29061988,30011987,30031986,30031992,30091989,30121986,31031987,31051985,31101987,1234567899,renate,radeon,sergbest,08111984,talbot,pathetic,errors,springs,needles,restart,stock,hiking,auckland,jimmys,pearls,allen1,01041980,billbill,hazard,calvin1,capitals,02031990,pizzaman,fitter,biit,tazz,ulysses,jehovah,stitch,itisme,delpiero,wind,neville,nico,09111987,1234rewq,virginie,alive,grunt,emil,octopus,04111988,tampabay,puppy1,ratboy,1qazzaq1,playboy2,gabby,1million,vampire1,playmate,zorro1,08101986,dfcbkbcf,carrots,istheman,jarrett,yamato,rumble,ilovepussy,wonderboy,montrose,dunlop,werdna,cassandra,clemente,tralala,collie,swoosh,06031992,dreamcas,track,sliver,londo,cocoa,rfgecnf,05051991,rollin,painting,makaka,04041987,thebear,01071984,zxcvb123,05011987,04061987,lockdown,blacklab,riffraff,legs,kahlua,fidelity,05111986,08121987,frankie1,alexi,winger,07071988,07051987,edmonton,07071982,pressure,streaming,amstel,supernova,02081973,fujitsu,05031990,fluff,tango1,samanth,panic,napalm,08051989,justice1,09081985,07071984,camil,blubber,02031991,01021992,tujhrf,gatit,titts,camping,cable,babycake,budgie,dani,vfndtq,fuckme69,hewitt,spot,frederik,motocros,01101987,rustydog,pinetree,07101987,120689,1357911,10031990,10031993,10041987,10051990,10061985,10071986,10091984,11031983,11051988,11071987,12071991,12081987,12081990,12111985,12111991,12131213,13021985,13061985,13071987,14101986,15011983,15061985,15081986,15091985,15111989,15121987,16061987,16061988,16081986,16091988,17021989,17051987,17051989,17051990,18011985,18021992,18031988,18051989,18101985,19021991,19061991,20041985,20061983,20071988,21031984,21061988,22011992,22031986,22051987,22051989,22061984,22071984,22071985,22091991,23061989,23091985,23091989,23111989,24091991,24121987,25031983,25031991,25041991,25051987,25061987,25081985,26081986,27021992,27031992,27111989,28011988,28081986,28081990,28101986,29011982,29061986,29091987,30011990,30051987,31051993,31071990,44332211,66613666,1234509876,keith1,duffer,ollie,benton,tetsuo,glasses,nestor,feelgood,cola,cleaner,rocco,benny1,smirnov,roxy,dummy,loose,maximo,iceland,tigercat,citation,blitz,icecube,burnout,puck,twist,asses,noel,panhead,adelina,hanuman,sunlight,02061971,cupoi,bigtruck,phat,rolex,06061981,exeter,r2d2,kingking,lilbit,canada1,rhubarb,morten,trooper1,custer,buford,papamama,mouser,bowtie,perkins,toast,shark1,husband,betsy,jefferson,serious,elements,zapper,02031974,harriet,cummins,02051970,semper,herring,123456as,sonic1,accept,video1,bucky,07071989,lemans,winona,finder,treble,password99,popcorn1,stellar,04041986,saskia,doreen,chavez,blue11,furball,08021990,asd222,02021978,corner,05121990,03091983,06021986,titfuck,02011977,salman,bagpuss,01081985,04071986,01091992,blue23,09051987,07041987,darina,francine,05031987,redstar,revoluti,mommy1,sniffing,chouchou,giants1,quick,gareth,usmarine,03051988,01121990,dresden,julio,doom,09091988,01081992,02041972,07101984,07021991,03041983,123456qqq,malish,planes,videos,enters,08081990,nympho,123456d,pajero,03031992,left4dead,england1,booyah,conquest,delldell,brest,eunice,momdad,slonik,nursing,bismark,lol12345,01011972,met2002,123456n,garnet,02061978,rambo1,bonner,07081987,gogators,please1,cashmoney,09041986,blobby,04071988,02011976,dimitri,3ip76k2,07091988,fabienn,iklo,123450,10021986,10021987,10051988,10081987,10091986,10101980,10101988,11081986,11091985,11091986,12021984,12031990,12061987,12071984,12101989,13031989,13051990,13061991,13071985,13071989,13091984,13101982,13101988,13101992,14051983,14061988,14091987,15011988,15061984,15101991,15121983,16011986,16021988,16031986,16041985,16101986,16121991,17041985,17041986,17061987,17071986,17071987,17111987,17121985,18091987,18121812,18121985,18121990,19041985,19051983,19081987,19111985,20011983,20031985,20031990,20051983,20071984,20101987,21021989,21051990,21091989,21101987,21101988,21111986,22051988,22091984,22091990,22111988,23021983,23021992,23041988,23061987,23091991,24071992,24101984,24101990,24121988,24121989,25021986,25031984,25111991,26031991,26121989,27091991,29041988,30101988,30121985,30121988,31051987,31051991,31121985,31121986,cyrano,crappy,volcano,eatmenow,02111987,renato,goodyear,budd,08031987,spoiled,kamilla,hogtied,omar,lunchbox,mantle,piercing,makayla,cyrus,asdfgh1,mufasa,beau,boobear,town,rudeboy,riversid,hemlock,john1,onions,01091988,03031984,holger,scissors,hound,crescent,erection,libero,hair,entrance,fduecn,weare138,italiano,rufus1,matchbox,ramjet,acapulco,mohammad,trek,weiner,lebowski,03031987,ridge,surprise,shampoo,loverman,monk,12345r,abracadabra,03061985,diver1,duane,dnsadm,fisherman,toomuch,athome,01061983,whatthe,08041985,someday,dan123,celebrity,madagaskar,marcin,valery,maison,forlife,mindy,azrael,alain,dreaming,hardy,mercury1,hfytnrb,01051980,01071990,macintos,tennesse,hardwood,sweetheart,pride,invest,03071985,mariam,rhfcfdbwf,ronaldinho,masterbating,discus,fabulous,sextoy,this,instant,duckman,caracas,begemot,parlament,migue,alpha123,sylvie,nadia,04031991,vegitto,02011971,requiem,misiek,altoids,naughty1,09031987,03061986,02061990,05051986,05061989,mazda3,rhinos,paladin1,asdfg123,liliya,06011982,dragonballz,retire,these,07021980,hellas,07061988,rfhfvtkmrf,capcom,rjhjkm,ass,kicksass,dental,hores,harman,07041989,sharpe,09041985,05061988,03101991,07031989,lookin,poptart,02081970,jeter2,pugsley,gamble,08081989,hawks,jordan2,gladys,granite,sqdwfe,5000,111555,123890,334455,777666,1231234,10011980,10031980,10041984,10071989,11031986,11041985,11061984,11061986,11061987,11091990,11111991,12021990,12041991,12071992,12081993,12091986,12111984,13041989,13051986,13071982,13081986,13091986,13091988,14031986,15011990,15031991,15051989,15051992,15071990,15081989,16041988,16091990,17051983,17071990,17091985,18031986,18071986,18071989,18071990,18111983,19041986,19071989,19081986,19121988,20031992,20061987,20061991,20081990,21021988,21021990,21031986,21041987,21041991,21101983,21111983,21121989,22071988,22071992,23031983,23041991,23101987,23111986,24041984,24041985,24041986,24051989,24061985,24071990,24101988,24101991,25021985,25041987,25051980,25051988,25071983,25071985,25071987,25091989,25091991,26011986,26011990,26021992,26061989,26061991,26071984,27071988,27111990,28021983,28071985,28121989,29031990,29041989,29051992,30051986,30051988,30061988,31051982,goldeneye,interest,harmon,melani,zach,spleen,alfonso,jeeper,07081984,natedogg,09051984,emanuel,locks,1qazxsw,tammy1,lizzy,menthol,pharao,alterego,donna1,fick,bauhaus,alexxx,brook,jerk,cbr900,medic1,vaughn,simple1,pong,lake,ibrahim,huskers1,mogwai,owen,aol123,benjami,nicky,rabbit1,adelaide,smurf,skirt,nineball,shady,mafia,tiamat,aircraft,bama,having,dipset,logger,mamas,gerry,04111991,trenton,altair,01041993,jingles,mallrats,backbone,clever,stanton,dipper,innocent,unlock,chen,donjuan,harle,termite,05041985,49ers,missie,diamon,encore,forbes,ziggy1,follow,trash,freestyle,03061988,zerozero,shovel,matisse,anonymous,laserjet,leeann,parkour,waterman,ballsack,bluejay,shakur,welkom,dangerous,ghjcnbnenrf,hacking,01031981,flyer,information,03091988,07041988,01061992,babybear,highlife,raduga,favorite,laser1,aisan,probes,sucked,ljxtymrf,05071985,becca,trinitron,beat,clips,thumb,desktop,muffin1,things,supersonic,blueberr,123q123,satchmo,05081992,claudia1,demon666,natalya,pooky,victori,legos,06061988,diana1,glover,03041984,boroda,tamerlan,1qw23er4,chamber,03041989,qwerasdfzxcv,mariel,06041984,04071987,flyers88,nokia5800,stewart1,01071988,iceman1,01041983,bathing,chess,mangos,rapper,darkone,pokemo,05081986,douche,redwine,ismail,02091978,06101989,humphrey,justi,03031991,maximka,cashflow,ireland1,implants,juniper,grayson,08071985,cantona7,bobmarley,shojou,gramma,princesa,bendover,04021990,julia1,05121988,giggle,cloudy,03011991,penis1,gotenks,sopranos,159263,250588,333555,456987,963258,1237895,10021983,10081991,10091985,10101991,11021990,11041986,11041987,11061988,12041987,12081986,12091990,12101986,12121984,13021991,13031991,13061990,13071991,13081987,13091987,14021991,14041991,14051987,14101983,14101991,15031987,15111986,15121985,16011985,16011991,16061990,16111989,17021986,17031992,17111988,17121986,17121987,18011984,18061986,18061987,19011985,19021985,19071983,20011987,20051986,20061980,20101986,21021986,21041990,21091990,21111989,21121988,22041991,22051990,22061991,22091985,22091987,22446688,23021991,23051984,23061985,23071986,23091982,24041990,25051989,25081987,25081989,25091992,26041983,26041988,26051990,26111984,26121987,27061990,27091983,27101987,27101989,28021989,28041988,28051988,28071984,29031982,29041987,29051987,29071986,29081982,29081987,29111987,29111988,29121984,29121988,30061985,30061989,30071992,30101987,31011985,31051986,31081989,31101991,larsen,kappa,worker,mustang5,spark,placid,downer,screwy,amiga,hillbill,pearl1,klaus,aaaa1111,simons,mortis,leland,binder,border,chemist,flower1,oral,gone,buster12,carlisle,protocol,dynamic,ajax,talks,05061983,tuxedo,cook,01051987,amature,triplex,dudes,turbos,jennifer1,edge,ringer,03061984,joke,grimace,jarrod,socce,feathers,nemrac58,riddle,xian,wonderfu,surgery,qweasdzxc123,bourbon,dickdick,bite,06061990,08021989,annaanna,pimpdaddy,baura,commander,helsinki,basil,8inches,cyclones,bong,macaroni,pollux,funk,motown,fiddle,thebeast,marauder,rodrigo,oyster,09101985,listen,fruity,06021989,chachi,hand,gizzmo,01041989,blinky,braves1,prime,hancock,espana,lennox,corinna,frisbee,lancia,02031970,sapphic,09051990,06091989,02021977,123456g,homepage,spock1,dimadima,womans,03101985,04051987,halloween,pinkie,metal1,07021987,cheerleaers,shopper,05041986,soccer11,josiah,redheads,weller,scouts,photon,metallica1,garlic,03121986,greywolf,estrell,06081986,diva,ghjcnjq,alvaro,06081988,egorka,06031986,rfhfylfi,08111983,01031980,08061986,06051987,06071984,reeves,picks,123456789r,reloaded,holla,mierda,04061990,04021985,gigabyte,flvbybcnhfnjh,dortmund,korean,karaoke,sashka,godbless,allday,flipper1,pro100,jurassic,experienced,thebest,05101984,nimitz,love1234,trigun,coolhand,banana1,kcchiefs,09011990,dicker,baboon,05091987,08071986,barefeet,1111qqqq,jesper,belkin,zoomzoom,asdasd123,madcow,101091m,greedisgood,198,5683,918273,7412369,10011989,10021988,10041989,10051986,10071983,10101987,10111989,11021984,11021987,11021988,11051989,11121990,12031986,12061980,12071982,13021984,13121989,14031990,14051986,14091988,14091989,14111987,14785236,15021991,15031986,15031989,15051991,15081980,16021989,16041986,16051986,17081990,18091984,18101989,19011986,19091986,20021990,20021991,20051984,20111987,21011985,21011990,21041986,21061989,21071990,21081990,21091987,21121987,22031987,22081987,23021984,23061988,24021985,24061984,24081990,25021983,25021984,25111988,26041990,26081983,27011990,27051986,27051991,27061989,27071983,27091984,27091987,28011989,28041983,28051989,28071988,28121990,29011988,29011990,29041984,29041986,29061984,29081988,30081989,30091985,31031990,77347734,1020304050,0001,suede,margot,willard,tetris,cypher,05081989,gavin,nevermin,apricot,legman,arizona1,alex1234,111aaa,trick,nopassword,abacus,55bgates,moto,tucson,123456789987654321,rosewood,shane1,dank,analog,outsider,minnesot,ganja,07111987,darthvad,06111986,paulin,getoff,chappy,range,salsa,olemiss,07041985,06071986,warwick,baby123,taffy,rubicon,bellagio,redlight,handbag,aztnm,sweeps,baberuth,girlie,messenger,teensex,peabody,abc123456,copenhag,maxi,noles1,bigal,lavalamp,patrik,dougal,culinary,wannabe,amelie,4you,lipton,beckham7,riley1,cumm,doughnut,tessie,horton,trueblue,totoro,hogan,line,killian,asdfqwer,bramble,bowl,advanced,elway,monterey,source,whores,mytime,seaside,whatup,waterfal,sickboy,bukowski,smile1,07061986,union,freedo,bogus,metro,arsena,aimee,05081987,verena,figure,tbird,angel2,lian,06051983,08081983,mario66,kara,spook,bigblack,gianluca,02061973,golfpro,02101975,nokia123,09041990,taichi,smother,as123456,06081990,blackhawk,charle,onlyone,05041990,access1,dtkjcbgtl,wave,salvatore,davedave,gilmore,03071984,tribble,05041991,wanrltw,jetta,kristin1,alexa,03021987,01041986,pyon,satellite,04021987,festus,wazzup,05071983,04031982,daredevi,duckduck,08021985,03051985,07031986,recall,kamikadze,09061990,03111986,01091986,08081979,biohazard,05071986,05051982,phantom1,1q2q3q4q,06071990,03011986,aleksei,trample,05041983,07021989,01031991,aviator,08011988,poppy1,sarita,frazier,dfytxrf,yinyang,aragon,deathnote,pertinant,lilwayne,sierra1,meteor,vides,hakr,hotgirl,06111990,blackberry,poophead,glitter,04061988,bbking,08031988,stiletto,asswipe,wearing,gallaries,fungus,mammoth,02011978,1234567aa,riverrat,jesse1,04011990,fishtank,04081985,dominique,zurich,griffith,nightowl,waiting,04111989,civicsi,valeriya,tabatha,driven,natchez,114477,10051989,10111983,10121989,11031987,11031990,11081983,11081984,11081985,11101990,12021987,12061984,12061990,12345677,13031990,13051988,13061989,13081982,13081988,13091990,13101985,13101990,13111985,13111986,13121990,14031985,14061985,14081986,14101989,15031984,15041983,15081984,15101983,15111985,15111987,15121989,16021982,16061984,16071986,16081985,17011985,17011986,17111989,18041983,18041988,18051982,18081989,19101989,20011985,20071985,20111984,20121985,21011986,21051983,21051989,21061987,21071983,21071985,21071986,22081990,22091983,22101988,23021987,23031989,23071988,24011986,24011989,24101987,24121984,24121990,25041983,25041984,25091984,25121986,26011989,26021990,26091985,26121984,26121985,27011983,27011985,27021986,27041987,27121988,28021984,28041986,28061984,28061985,28081985,28121986,28121987,28121988,29031983,29071988,29091990,30041988,30071983,31071986,741258963,pretzel,myporn,export,joelle,qweasdzx,skilled,land,gizmos,silicon,lizzard,deltas,standby,topolino,blah,buddydog,rrpass1,orgy,care1839,titman,qqwwee,think,dick1,break,neil,kismet,happyman,aaa123,deadspin,crispy,eighteen,mini,hartford,mongo,softtail,04051990,schumi,beavers,jupiter2,1love,lucky123,zelda,zulu,ltkmaby,muffy,blazers,dogmeat,04121986,mustan,joan,blonds,stonewal,issues,midland,lawman,myspace1,fleming,dingbat,hotrats,powerman,soldat,whales,smartass,08081985,bedlam,waldo,chitown,nestle,z12345,woodman,qwerty13,prototype,strife,dipstick,angell,celina,crap,darkelf,liza,surveyor,visitor,nascar1,1234qaz,atreides,icarus,nicetits,chopper1,03021982,bellaco,amor,althea,z1x2c3v4b5,feline,mastermind,05121985,manunited,amonra,ahmed,05121983,01071989,alex1,cfvceyu,zone,112233445566,010181,alcatel,123456v,civilwar,05101986,05021989,gaymen,harcore,corazo,03081984,downhill,dallas22,2hot4u,mendoza,interacial,pusyy,clint,shitshit,waterski,01061985,06071988,allah,goose1,socks,07011989,03101983,ass123,07031988,05051988,01011950,monkeyboy,audia6,01041979,pjkjnj,contour,07031985,05061987,06031988,passord,turtles,daniell,dtxyjcnm,01111990,princess1,yfcntyf,06111984,01041981,nosferatu,02101974,02091974,helios,oswald,ekmzyf,09051983,04121987,06031984,fynjirf,06071985,taylo,prophecy,02091979,funny1,vincenzo,pitchers,rene,raining,sealteam,mouses,kakashi,paxton,tortoise,craving,pack,kuan,jimbeam,summe,integral,notnow,drag0n,start123,light1,chewbacc,deerhunt,greenman,winter99,hooyah,02021974,09011987,myworld,04121985,02081975,444555,902100,999888,10021985,10041982,10081988,10091988,10091989,10111981,10111988,10121979,11041988,11071984,11091983,11111979,11111983,12041985,12071983,12071985,12091987,13021989,13081984,13081990,13121984,14021988,14061982,14071983,14091982,14121986,15021988,15081985,15101987,16021983,16031987,16111987,17021988,17071984,17081988,18011989,19071985,19101982,19101983,19121985,19121986,20041981,20061989,20071981,20091984,21121984,22021984,22081985,23011984,23011988,23011989,23031988,23061983,23081986,24071989,24121985,25011988,25071989,25081983,25091988,26051987,26111987,27051984,27081989,27121986,28031984,28071989,28101988,29011983,29091986,30061986,31011983,31071985,31081985,789632145,1357908642,dasani,miami1,kikimora,nothing1,04051983,karl,03011984,vantage,fudge,01081980,redone,dunbar,sonora,peavey,manu,barrage,bonovox,willem,rice,slash,carme,locutus,bryan1,ocelot,hamper,rocky2,belair,mercer,aaabbb,gentle,mike1234,girlies,root,chuck1,density,continue,galileo,virago,vicky,ground,crazyman,doodles,hydro,08061989,attract,volvo1,bear1,jordon,2wsx3edc,bertram,lapochka,worm,09121983,06071987,wdtnjxtr,batista,xxxxxx1,pinto,05101983,audi80,morgoth,kubrick,demon1,charge,calypso,disaster,suckcock,ripped,makeitso,anton1,equinox,benji,fishy,fuller,lonnie,olympic,talk,bracken,bizzare,sammys,camero1,metoo,sable,kurtis,fivestar,belinea,screwyou,123456789v,abraxas,sentry,total,oaktree,honesty,olympia,caddy,adidas1,daniella,asshol,persian,spiffy,jaguar1,shot,foreplay,mizuno,canton,daffy,times,fister,02061975,a1a2a3a4,blueberry,gizmodo1,01021986,paperino,bisexual,rodrigue,06081985,03101989,darrel,ohmygod,lfybkf,libertad,01021980,shurik,lock,martian,danilka,animated,02081971,eldiablo,mashka,nate,womam,lunatic,04081989,skolko,poop123,bluestar,agassi,aladdin,tickler,08041988,03021989,youknow,03031989,07041986,matri,jackie1,taipan,cool123,markmark,02081972,01071985,07081989,07071986,04041984,honduras,tobydog,01051983,quake,neutron,volleyball,04011988,carola,nachos,hatter,pizzahut,03071989,tequier,07071980,01061984,q1q2q3q4q5,converse,maxpower,opus,dragonfly,fishcake,mississi,girls1,pic's,seductive,ntktdbpjh,solace,tadpole,03101988,galary,traktor,happines,bengal,hotlips,portia,vegitta,hotel,badabing,05051980,08091988,bikers,zimmer,storms,03081988,moonman,nightwin,pitcher,comeon,01091984,kenneth1,raymond1,boners,02071974,done,hilltop,sprocket,ownage,passmast,3000,741258,852258,986532,999000,10031985,10031986,10051983,10051985,11011980,11031982,11031984,11041983,11071983,11081982,11101985,12011988,12021986,12031989,12041983,12101987,13011981,13011985,13051985,13051989,13061983,13061984,13071983,13121988,14031984,14081989,14101985,14111989,14121987,15031985,15041985,15071984,15091983,16031985,16111983,16121982,16121985,17021982,17091984,17111982,18031981,18051985,18071988,18081986,19021982,19031980,19041987,19061984,19061986,20011984,20031984,20091983,21051985,21091984,21091988,23031985,23081984,23101988,24021986,24021987,24051986,24051987,24071986,24081987,25051984,25071986,25091985,25121982,26011981,26021985,26041984,26081985,27031985,27041988,27071984,28051981,28081984,28091984,28091985,28111986,28111987,29061987,29071987,29081983,29121985,30061982,99762000,123456987,918273645,shine,ruth,landmark,graves,harpoon,flesh,divers,augustin,mark1,nathanie,kissmyas,mantra,smithers,georgina,bdfyjd,cali,case,abdullah,envelope,surfer1,dealer,mart,racers,blue1,russ,magenta,shells,stern,stoppedby,loop,climbing,7grout,mutley,beverley,edcrfv,alessand,04071983,graduate,01081988,spiderman1,foreskin,alpina,meggie,jesus777,stephens,fisherma,cullen,nassau,03091986,rocket1,confirm,123456789o,friday13,ritter,address,leaves,jennings,randolph,guillerm,benedict,bismilla,prague,heyyou,07011988,hondacbr,spunk,evans,lourdes,locust,whoknows,blunt,therapy,ghbdtnrfrltkf,melisa,canary,vfhujif,color,paisley,booger1,jonesy,saffron,consult,bigdick1,sephirot,05031988,zxccxz,tyrant,ruthie,newuser,firedog,shield,cornelia,field,04121988,qaz123wsx,1z2x3c4v5b,nokia5530,09051985,06031985,gabrielle,bread,anfisa,elpaso,poster,07091985,123456f,negative,websol76,03031983,04121984,07021986,05051983,01031987,02051974,brenna,garner,09071984,sokolova,soulfly,alyson,diapers,09011985,foxfire,india123,weapon,hugoboss,kontol,fuzzy1,websolutions,01071980,04051984,reveal,badboys,06101986,06061982,baddest,showing,06011987,07101985,thinking,malika,01111987,werter,openit,finalfantasy,20spanks,timoxa94,malinka,rhjkbr,mamochka,ciaociao,godspeed,monste,ayanami,1234567890z,mazda323,jonatha,tictac,lockout,aside,gangbanged,utjhubq,wally1,gagarin,reuben,morgana,osprey,nurlan,05031986,lovehate,qian,04011987,guan,safeway,yaroslav,hookers,norfolk,shoe,skydiver,trey,pisser,magic123,seadog,dogfart,kristen1,04111986,02101982,25252,120986,130680,214365,515051,777555,895623,9111961,10101983,10111987,10121984,11011982,11011985,11101987,11121984,12021980,12041984,12111987,13011983,13011984,13031985,13051983,13071988,13111988,13121986,14061984,14111988,14121988,15041982,15061983,15081987,16041984,16071983,16091986,16101985,17011701,17081984,17111986,18021982,18041985,18081987,18111984,19041988,19081985,19081988,20021981,20061981,20081987,21011987,21021983,21021984,21091986,21121980,22051980,22101985,22111982,23091983,23111982,23111985,24051985,24101985,25021978,25021987,25091986,25101986,26011987,26091984,26101984,26121983,27011986,27031983,27071982,28021981,28031986,28051983,28061983,28091987,29101985,30011983,30051984,survey,qq123456,willi,squirts,profile,architec,philipp,buddys,mikkel,01071983,1bitch,creepers,opiate,09121987,horatio,kristie,bergen,getit,dfhdfhf,paige,jeffrey1,froggie,aspirin,didier,dive,came11,canine,12345d,band,trent,treetree,bigd,godawgs,leonie,petrovich,rotary,pommes,return,lionheart,maya,chairman,plane,honeybun,golfnut,06111985,09071987,1qaz2wsx3edc4rfv,johnnie,bucker,slimjim,2sweet,andyandy,allstate,christophe,tickling,zinger,letme1n,darian,topsecret,josep,recon,roosters,instinct,teaser,daddys,bigbucks,humbug,03071983,buddy2,pusssy,crumbs,rainer,skunk,eloise,wsxedc,smalls,rhino1,ilya1234,denied,fighting,dirtydog,03091984,ankara,gaylord,losangeles,pippen33,senate,queen1,marty1,merchant,adventure,francisco,leonidas,ender,blade1,prayers,flanders,wizzard,bucks,esprit,spooner,vancouver,jeepers,dinger,sugars,system1,kenzie,georgia1,jolene,gucci,horror,trout1,sandberg,susieq,scrotum,letsfuck,slipper,lighthou,laughing,danish,b12345,piston,general1,locoloco,qw123456,daredevil,02011974,rhfcjnf,indira,05061985,bears1,07081982,chickenwing101,boris1,icecold,spain,hero,fresno,valleywa,livewire,05021985,01041982,04121982,dasha,livelife,05121986,07121987,website,producer,08031983,debra,chadwick,rosebud1,987654321a,yorkie,fantom,kontakt,mousey,teller,03101984,09071986,catfight,a1b2c3d4e5,edwin,rehbwf,heavenly,honest,tribe,01101985,loveis,blackops,galway,dianna,04081986,hydrogen,sarasara,pakista,wiccan,waffles,pavlik,02121983,cool12,racer1,true,sniper1,sluttey,antonov,womble,faraon,objects,lehjxrf,splendid,vodafone,vfcnth,slapnuts,godiva,bernice,wachtwoord,dewalt,noles,hobart,bp2002,nancy123,sebora,02041970,01011961,09101986,sandman1,buddies,ralphie,puffer,tracy1,fujifilm,coochie,marcella,trista,vbienrf,baronn,6669,101080,120786,124038,258000,1475369,10041985,10051984,10071984,10121982,11021981,11091987,11111982,12051981,12121977,12121981,13031980,13041984,14031987,14041984,14081982,14091986,15011981,15051982,15061987,15121986,16071985,16111986,17031983,17031984,17051986,17091986,17121983,18071983,19081983,20011981,20021983,20031980,20051981,20111985,21051984,22041983,22121982,23041985,23061980,23071984,24081986,24101980,24111983,24121982,24681012,25031986,25041980,25111986,26061983,27061984,27071985,28031983,28071983,28091982,28111984,29031986,29051984,29051986,29091982,29091985,29111983,29121986,30011980,30071985,30101984,30101986,31031986,31101986,31121983,123581321,place,pianos,clean,big1,candies,qpalzm,punkass,05091985,joystick,amalia,addicted,flowe,roadway,bustle,010170,ribbit,thirty,methos,02091972,block,anthony7,victory1,nermal,load,axio,shayla,snyder,photo1,peddler,goofy1,piggies,rams,pasha,01121984,rockrock,access99,vixen,ludacris,blink,wilhelm,nineteen,cocacol,flint,cousin,salinas,getlost,anytime,beerme,fringe,decimal,lionhear,alexus,6uldv8,editor,quant4307s,tammie,info,stripes,seawolf,swifty,dork,flashman,bogota,dasher,ladyboy,graywolf,07041983,qaywsx,paradis,z123456,maurizio,plants,bullit,jessi,elmo,musician,infected,gerhard,garrison,badboy1,kick,forsberg,flathead,eagle2,okinawa,saxophon,smooch,bundy,mona,dope,09121982,comcast,silk,sarajevo,a1s2d3f4g5,loader,tonytony,ezekiel,bigjim,tatjana,muschi,basement,lacoste,fernande,comets,123456c,gdtrfb,susie,squid,mpegs,monkey69,sabre,02081978,rowing,01061979,seaman,reboot,winfield,bahamas,batman12,morena,niggers,06051985,singapore,timur,lincoln1,horse1,indain,dorado,indon,duffy,escorpio,orpheus,rfgbnjirf,molly123,marta,sheryl,mygirls,underwear,maurici,nikon,newness,hippo,redleg,ghbdtndctv,01091979,slava,gerber,booboo1,08101980,goofball,zxcvasdf,legenda,sickness,05081985,04061982,07021984,hugetits,gfynthf,01091980,star123,02031976,3rjs1la7qe,internal,07061985,squerting,firestorm,p0o9i8,nissan1,starlight,01121985,06061983,03051984,torture,blackice,bandi,password11,mathias,01081986,jessica2,mailru,tangerin,dragon01,kitties,qazxsw123,smirnova,ranetki,unbelievable,rhythm,nastena,bernardo,warcraft3,shanno,oscars,gloves,zebras,bazooka,infamous,housewifes,nfhfrfy,glenda,famil,stopit,katelyn,hillside,privacy,hospital,ralph1,odin,macgyver,02061970,05041984,1009,748596,10031984,10101982,11051979,11051985,11121981,12031984,12041978,12121980,13091985,14021984,14051985,14061983,14111982,14111984,15051983,15081983,15101984,16011983,16061983,17021983,17031985,17041984,17061983,17061985,18061984,18071981,19111984,19121982,20021980,20031983,20041984,20081984,20081985,20121982,21061983,21071982,21091985,22101981,22101983,22121985,23011980,23011982,23031980,23121983,24011983,24021983,24031985,25121983,26031985,27051985,27081985,29091980,30061981,30121984,31071983,74123698,159753456,macaco,freaked,bigred1,vince,chevys10,acclaim,cesare,lahore,bloke,samir,survival,gutter,hooters1,noah,rising,douglas1,rushmore,dawgs,garland,rebelz,android,hoochie,gibson1,shaker,kelli,court,virgo,basic,scirocco,fuzzball,mikado,lily,frogfrog,hotspur,helium,toad,03041985,911turbo,beef,detroit1,administrator,cornhole,monica1,0o9i8u7y,hose,terry1,letmesee,offspring,argyle,nataha,aaaaaa1,school1,mike23,02031972,clemens,johnston,daniel12,dust,code,shredder,sweeney,wednesda,estate,raiden,truffles,nathaniel,fantasies,image,dunhill,chowchow,atlanta1,checkmat,phreak,starlite,caleb,jacket,truck1,allnight,vgirl,horsemen,higher,shop,josephine,05111982,dante1,1mustang,pregnant,romario,firehawk,sparhawk,cosmo1,crosby,pokey,favorite2,stirling,silverado,freewill,labia,vegas1,stooge,glendale,a111111,a4tech,02031971,groupd2013,vflfufcrfh,rugrat,aerosmit,rapture,eyes,angel666,bmw318,crash1,farida,jediknig,close-up,pounding,pissed,06021984,02121981,lesbain,pulled,alert,nexus6,funtimes,fmale,gfgfvfvf,santiag,corina,evangeli,archery,stokes,02041971,03051981,lacrimosa,astro1,bionicle,visited,04091985,esteban,madonna1,butch1,sooners1,orang,06121982,devilman,lamborghini,03011985,07081983,08061984,woods,angelit,rockey,tunnel,baggies,03051979,rjhjdf,cnfkrth,08071983,05031984,nadejda,experience,pietro,carpediem,garret,reznor,schubert,shelby1,poisson,fran,fhntvrf,caitlyn,picnic,bassoon,milamber,motocross,euphoria,browndog,asdas,luckyme,domenico,telecom,skeeter1,bajingan,baker1,08061985,husky,scorpions,rapier,lydia,123321123321,06101985,bertrand,frenchie,09051981,fucks,09121985,carsten,jachin,mutter,cooking,passfan,blaze1,03121985,service1,yfnfirf,sleeping,rjcvjc,babemagnet,timothy1,mimosa,232425,651550,666333,6661313,9874123,10081981,10241024,11001001,11051982,11061980,11081980,12041982,12051983,12345687,12349876,13081983,15021984,15121984,16061981,16081980,16111984,17061982,17091981,18041984,18051984,19091980,20101982,20101984,21041983,21101980,22061982,23041983,23041984,24021984,24031980,24051979,24091984,24111982,25051983,25071984,27031984,27111984,27121981,28111982,29011980,30111982,31121982,bmw2002,nudity,zoomer,swatch,kareem,blender,present,ducky,slow,merrill,heavy,horseman,midori,bopper,tires,asthma,whale,hummel,nero,wendell,biguns,armstrong,snapshot,darth,vivid,wyatt,wanda,release,nurse,1234abc,chingon,quake3,priyanka,hunter12,sanjay,euclid,tools,east,tahiti,libido,nielsen,branch,buffa,sometime,pilot1,lotus1,ekim,abbey,prestige,homely,corps,1password,loomis,hawthorn,nickie,christo,swiss,optima,aqwzsx,sigmar,lexus1,balboa,greatest,wage,mainland,shimmer,riddler,offroad,bulletin,dutchman,passcode,crown,ramada,striper,sounds,alley,bravo1,camp,worship,carling,dempsey,09081984,tugboat,roman1,regional,bernhard,gregory1,05031981,assmunch,beatriz,cazzo,asslover,rocky123,04041982,diablo1,seville,tiptop,zaq12345,carmine,sizzle,gaucho,buckaroo,puddles,creed,chooch,comp,tonya,sexpot,diplomat,tito,alesha,morrow,kobe,ethan1,karamba,skeleton,corazon,06081983,sexy123,samue,eatme1,winters,futyn007,laker,02101972,mannheim,picher,camaro1,02101970,adrianna,board,bionic,disney1,acid,hackers,dominick,before,wellingt,nash,fubar1,lynette,dancer1,jolly,romania,fernanda,dragon123,manager1,calendar,pennywis,ecuador,komputer,saxman,rudolph,devine,04081978,07121984,teapot,pictere,alonso,07011980,plumbing,07111982,thetruth,rosa,speed1,04081982,06011984,justinbieber,08031980,gulnara,alex01,09111983,madala11,dinero,shakes,punani,nokia5130,quinn,thick,hybrid,kakarot,suntzu,lockerroom,dima1995,09101984,vaness,yeahyeah,ejaculation,pictuers,07101983,debora,craven,nian,wrinkles,poon,dumb,baron1,beeline,loyola,bettyboop,openme,elodie,2300mj,lakshmi,frederick,huan,daydream,friends1,denis1,01121980,breath,vfhbyjxrf,inna,dominika,02021975,153759,333999,3141592,10071980,10081982,11031980,11041980,11061983,11121980,12021983,12031982,12041977,12051982,12091982,12091983,12345123,13031983,13091982,15071980,15071981,16011982,17111979,18061982,18081982,19011981,19121978,20021982,20041980,20071983,21031981,21051979,21061980,21081980,23021982,23071981,23101981,24031981,25011983,25091983,26031982,26101983,26111978,27011982,27111982,28071982,29061982,29071982,30091983,963258741,falling,agent,smoke420,cobra427,marcela,rochard,thighs,reed,kidney,extensa,cherie,excess,embalmer,basketbal,tailgate,salvator,niko,nocturne,sexymama,rebekah,lilman,crane,aassdd,terran,disabled,sonja,12345w,binky,goats,ricky1,papabear,wednesday,lisenok,muffins,shinigami,cajun,panorama,scout1,illmatic,flex,rhodes,tortuga,ticktock,fantasy1,misses,08041980,woodstock,aligator,hocke,hellno,jian,mojojojo,konyor,earthlin,pinch,oldfart,lovejoy,pussy2,reindeer,thomson,shiva,supply,texans,citrus,undertow,sail,05061981,alabama1,freedom2,jewell,indy,monolith,nastenka,123456y,ramon,orbital,meonly,bonghit,fullback,bigworm,evilone,hotmama,elevator,prudence,radar1,privat,neworder,churchil,nonstop,smithy,jigga,goarmy,troubles,zardoz,corbin,l3tm31n,norwood,dizzy,dagmar,maker,fzappa,basher,lukas,sfgiants,pussylover,xxx777,newone,qwedsazxc,lioness,montoya,dabulls,cortez,divx1,worlds,beating,vulva,rugrats,newstart,avanti,contortionist,japanees,reviews,capoeira,javie,gayboy,bonzai,vivitron,dreamcast,fruitbat,legends,michelle1,corn,attorney,admin123,rosie1,mjolnir,fraggle,vbifyz,05061980,insecure,01061982,pushok,08041982,belize,willie1,tom123,caution,bigdad,09031981,saibaba,ramzes,armageddon,csyjxtr,06021981,delphine,casablanca,alejandra,03031982,fhctybq,wdtnjr,123qwe123qwe,ciao,amo,quaker,hustle,myfriend,paola,magdalena,wifes,knickerless,trotter,billabong,discovery,fhvfutljy,my3sons,sperm,seth,cerebus,thumbnils,weenie,s12345,pupkin,slasher,wilma,welcome2,hester,02021972,kraken,lebanon,needle,toulouse,fireman1,linux,delboy,salesman,surfsup,footman,orgasms,woodwork,toasty,03071980,02011972,daedalus,starfox,violator,123412,300465,666555,987789,10021982,10041979,10091980,10101975,10101981,11041974,11101982,12011979,12021982,12041980,12051980,13071979,13111982,13121982,14051982,15041980,15071982,15101982,16041978,18031980,18031982,18061981,18071979,18121979,19051977,19061982,19081982,22071981,22091981,22121978,23041982,23121982,24081982,25011982,25031980,27731828,29041982,29101982,29121982,30051981,30061979,30061980,30071982,30081982,mike69,jasper1,domini,strat,yamaha1,alexis1,q1q2q3q4,04071982,voltron,cecil,zimbabwe,toni,budlite,newproject2004,creeper,shimano,monkey2,wing,catfood,sparty,moochie,creator,serge,amour,redstorm,cantor,aabbcc,schultz,1monkey,luckys,allman,jasons,brisbane,dagobert,xyzzy,gate,murph,bigjoe,sativa,stinger1,fozzie,couples,windows1,luigi,natascha,kennwort,empire1,alatam,barbara1,arnaud,02011973,rammstei,bubba2,wingzero,swampy,3edc4rfv,elmer,lighthouse,fordtruc,letmeinn,grinder,stinks,nebula,destroyer,sublime1,rogue1,athletic,praxis,12345v,chateau,franci,stinky1,lorien,fantasti,jumanji,man,cummer,sverige,michele1,clueless,spamspam,belfast,nigeria,costanza,beyonce,monies,planner,skin,jonboy,morticia,drywall,sunkist,pdiddy,massey,csyekz,campus,boots1,bigpenis,vanity,vette1,devil1,lingerie,reeses,iphone,corky,impulse,diamante,1a2s3d4f5g,shawn1,marymary,alfarome,sledge,shinji,qawsedrftg,prelude1,sinful,shitter,miles1,riverside,03101979,02071972,greentea,iiyama,07041980,marley1,parsons,giveme,imtheman,sharma,09071981,gabby1,qazwsxedc1,evanescence,henti,w00t88,motdepasse,porsche911,alessio,aceman,arrakis,pussy4me,shelter,becky1,rosita,munster,kickflip,emine,gocats,03031981,rodger,boogers,landrove,longshot,wooden,superbow,list,02071970,comicbookdb,prosto,rfhlbyfk,kfcnjxrf,kavkaz,01101979,robots,forge,marlins,scoobie,anthony2,paramore,hfljcnm,buckwhea,pornographic,plokij,03021979,01071978,minnesota,lambchop,chango,money2,silvi,anakonda,cjytxrf,sanjose,arcangel,koleso,j3qq4h7h2v,starbucks,core,allie,mahalo,nigger1,samdog,gfhjdjp,litle,transexual,webcam,bolivi,vfpfafrf,lucian,josie,m12345,petite,archangel,www123,piper1,cheeba,braveheart,myspace,lux2000,paddy,emili,08081981,masturbation,bunnie,collect,tulip,homebrew,whites,boingo,04101980,berserk,fordf350,thrust,pilots,cheesy,leeloo,star12,zealots,camel1,07081981,02071973,milkyway,forester,babemagn,02051971,101077,121281,615243,10011001,11081978,11111978,12111981,13121980,14051977,14051981,14121979,17051981,17101980,19021980,19051981,20011980,21011981,21101981,21121978,22031981,22081981,23051980,24111981,25111978,26031980,27011981,28031981,29071981,29121981,30071979,31051977,31071980,1213141516,ellis,gemini1,swim,maxpayne,google1,bliss,duracell,armored,12locked,alonzo,detect,cashew,krypto,hattie,shrink,custard,mocha,albino,room,spanky1,gates,acdc,singh,xxxzzz,allied,libra,maryam,magoo,billows,chief1,chinchin,benz,sonny1,ronald1,123456789p,heeled,ramstein,coffees,swing,adrock,noreen,burgess,nope,twat,scotts,britt,coaster,altec,scroll,tippy,lesbos,kookie,forall,trousers,cybersex,cows,bugman,wildlife,topspin,terri,pronto,cristin,zzxxcc,shaft,corvet07,tiberian,kevin123,buffer,urlaub,doorknob,monday1,cheste,thanos,faisal,richter,saltydog,bullwink,shevchenko,space1,blanked,darnell,1qwert,mistake,morozova,mdogg,maximilian,opera,sentra,diamant,steiner,sodapop,adria,headache,gstring,hellohel,messier,alvin,arthur1,needforspeed,panache,a123456a,fireblade,ironman1,devilmaycry,tricks,asmodeus,rodent,mikayla,iron,shawnee,bravehea,chemistry,abbey1,vfhnsirf,somebody,sharpie,mypasswo,05081977,vorona,cradle,table,asd456,01011967,pennstat,milfnew,momsuck,cooki,01081978,hotdogs,marsel,cocktail,sosiska,intern,uncle,motherfu,orwell,selmer,marajade,lesbean,pounded,scarab,princeto,fruit,rapunzel,hernande,ytngfhjkz,phones,correct,maximus1,pegasus1,chat,disturbed,bills,iamcool,pioner,balrog,03051980,dreamer1,evildead,aggie,01051979,ltymub,everques,06081979,songoku,deepthro,gfhjkm12,tkfkdg,halo,blessed1,tical,bartok,klopklop,theboys,colt,12345asd,fishface,yankee1,chewey,kjiflm,cntgfy,gretta,m0nkey,nemesis1,gorillaz,kombat,fyyeirf,narut,wine,sevenof9,vicious,sarge,gitara,manhatta,elektra,sixteen,kseniya,ursitesux,sachin,zhan,vova,revival47,detectiv,businessbabe,123456789l,bedrock,rjitxrf,denni,yfnfitymrf,stooges,04101977,fastcar,ibilltes,02091970,dropkick,sk8ordie,otter,montecarlo,peaceful,breathe,flavor,ameteur,veronic,04061980,enter123,christel,09051975,cowboyup,juli,goethe,spiders,fialka,1234kekc,kostik,rdfhnbhf,marishka,vika,555222,630112,753357,837519,1122334,3698741,3984240,10061980,11101979,12011980,12071980,12340987,12345612,13245768,14031978,14031980,14041976,17051979,17091979,18061980,20011979,22334455,23021977,23021978,25071978,27111978,28101979,30031979,890098890,tanaka,apollo1,motors,royboy,margo,turk182,bobb,honeydew,broad,origin,monsoon,outlaws,theduke,cedars,ladybird,quaint,ddddd1,bbbbbb1,cccccc1,fucmy69,puff,breezy,chauncey,smeller,cambridge,sigrid,succes,pass12,ulrich,beebop,fokker,maryanne,perrin,fourteen,aslan,blind,reddog1,borges,derick,washer,janet1,gecko,biker1,llama,avalanche,snowman1,patron,clyde1,banaan,icetea,petrus,shelton,lorenz,scenery,sexyme,bullock,niki,aurelie,mike12,restless,sunbeam,bluenose,not4you,doll,leticia,pork,linus,wsxzaq,cayenne,klaatu,click,vicki,charlie123,fremont,optiplex,123456qq,bulldawg,omegared,caldwell,comment,heathe,chowder,renee1,barnie,howie,1fuck,curley,flange,twin,message,large,bastet,yello,hermann,jelena,fuckthat,candles,123456ab,genocide,charming,losangel,impalass,fartman,realtor,puta,sorrow,pendejo,flyguy,tokyo,lasers,zapata,crissy,locked,123ab,skynet,marybeth,newpass1,seahorse,goodsex,ab1234,zxcvb12345,lorelei,machines,corvett,02021970,cazzone,alla,07041979,monkey123,scumbag,fuckmehard,master123,goldrush,trailers,today1,03071978,adrian1,filippo,capital1,wyvern,lothar,turtle1,rowdy,device,asd12345,qwerty78,whateve,vtldtlm,lovely1,lbvjxrf,09091979,casual,kazanova,magadan,12345k,rktjgfnhf,insider,jazmin,bitchs,spalding,santacru,alisher,01011966,sunderla,1a2b3c4d5e,puma,09051978,08031977,snoopdogg,nokia5230,fktyeirf,everton1,01011965,ghjdthrf,01031976,vfhbirf,bhbcrf,123mudar,kerrie,udacha,159753a,geibcnbr,lovem,hulk,blondinka,child,chees,robyn,pingvin,avery,123456789123,l58jkdjp!,1a2a3a4a,gandolf,hartley,darknes,fever,katya,funtik,product,baylee,bignuts,videoes,beachbum,waffenss,123qweas,braxton,oedipus,quest1,shotokan,02101971,fridge,hulkster,rbcekz,brick,poobear,eatme69,samadams,heather2,mastermi,sammydog,ignatius,redwall,toohot,dragrace,graphic,booter,chris12,monkeyman,slipkno,wrigley,vorlon,lol5,lbtest,1006,141516,222555,665544,10101977,13081978,15031975,19041978,21041978,22011975,22041976,23021975,23051978,23061976,28071978,29091977,43046721,123698741,yoshi,sanity72,niggaz,hussain,03021978,frank123,ingram,naught,thalia,abba,rasta69,poets,drifting,deepak,contests,branden,bowie,skins,glassman,taiwan,xmas,damion,1money,rt6ytere,cesar,homeless,daytek,mark123,zippy1,yourmama,partners,navigato,goatboy,maddux,buckeye1,angel12,costaric,nutella,terrance,janina,barks,allyson,vangogh,angeles,newport1,babel,peanu,caralho,lever,saddle,danman,four20,evergree,minimum,utahjazz,come,xxx666,robson,nickolas,rb26dett,althor,marinka,snowy,jeffjeff,negro,buff,doggys,betty1,lookup,baraka,mummy,topaz,cynthia1,feeling,infinite,crockett,gatito,keesha,ange,thething,loves,swift,bigshow,viking1,jakester,cochise,hazmat,johan,smack,willy1,brenda1,soft,james2,twins2,woodside,hombre,geil,torrent,zzz111,bugsbunn,furious,roach,rosanna,nettie,texaco,bushman,smarty,stripe,skills,pontiac1,anechka,aquila,wishes,manual,ransom,fred1,invictus,sniffer,marnie,rawhide,rosco,valiant,tonto,zoom,wolvie,everyday,russell1,feeder,delsol,candys,angelok,vasiliy,austin316,mitchel,kbctyjr,naples,apple2,biggirl,memories,jesus7,adventur,tequiero,teacher1,asscock,grils,jacqui,abstract,bubblegum,fist,callofduty,dickweed,punjab,porn4me,boohoo,thatsme,hershey1,irisha,bosshog,control1,fuking,housewife,temptress,belle1,dima55,chris2,warsaw,verygood,hogwarts,wingchun,heinlein,01051974,princ,mystical,surgeon,bloods,pavlova,aerosmith,tooth,blackbelt,hotshit,manue,agatha,ethernet,bulls23,qaz741,eightbal,solnishko,01011968,snowflake,firestar,djkjlz,hornyman,manders,girfriend,lebron23,grammy,poppie,timelord,milhouse,kumar,leningrad,caterina,avrora,qwerty99,janeway,cneltyn,sestra,03061977,romanov,cory,shaun,kayla1,allblack,cerber,irakli,anna2614,ulrike,pussyeat,wakeup,mackenzi,danilo,masterbaiting,uncencored,dimple,manifest,songbird,triplets,pamel,devious,sukebe,ghjnjnbg,bdfyjdf,chuan,gforce,pyramid1,submarin,partizan,bettis,dokken,pasta,123456b,choppers,planeta,fuckm,patti,saab900,vandal,snafu,bigboy1,phishy,rewind,manatee,fred1234,yitbos,lovel,vbhevbh,desperado,chewy1,yeshua,fabia,papit,seabass,159852,197777,335577,357753,555333,777111,1235813,10121976,14021977,15121977,18273645,22091977,31071977,callahan,sienna,niklas,sven,nogard,marsh,jacko,deuce,echo,dmband,manuals,vargas,homo,micky,thriller,ilikesex,marina1,antwerp,norma,bulls1,1letmein,barb,ericeric,littlema,boats,rashid,caspe,patrizia,love11,070462,hook,xman,12345654321,wapapapa,sarina,woof,forme,hoser,crafty,mistral,arielle,gravis,nirvan,davis1,1911a1,buick,rayman,hornyguy,carajo,miamor,commerce,necklace,radio1,fifteen,simply,cannonda,seventeen,sports1,bambino,cartier,blackcock,nexus,barracud,pathfinder,sammi,crew,fuckshit,leeroy,scrooge,brunette,parsifal,birthday4,alkaline,chino,shitfuck,muffdive,sage,nfy.irf,bobert,bedroom,boarder,account1,courier,abcxyz,lampard,zooropa,guard,edthom,brians,lemon1,glennwei,antigone,ishmael,mrbill,henley,dragonz,pizda,beepbeep,hotbabes,fordf250,buller,acer,motorcyc,spades,batma,akasha,coolgirl,skulls,rickster,under,omicron,gender,maganda,theshit,hirsch,snowdog,boxter,citibank,delgado,newday,marmite,ozzie,goodguy,gobigred,river1,007700,harrys,oasis1,brutal,professor,fkbyrf,cvbhyjdf,trish,league,biscuits,angele,cassie1,edmund,03041975,vaughan,tenerife,asss,goodlife,qwaszx12,volkswagen,1qazxc,southside,fulcrum,maurolarastefy,gumbo,spartan117,concept,columbo,08081976,miamo,danil,riptide,yanks1,mamont,hedges,tater,yuliya,peregrin,antonio1,munson,nika,jigsaw,feanor,raindrop,bavaria,locker,beyond,perkele,laracroft,novikova,joeblow,fathead,plum,0000000000o,bonnie1,fynjybyf,molotok,thought,12345678900,hotlegs,paranoia,caboose,markiza,degree,porshe,dolphi,sabaka,germany1,fakepass,becool,supernatural,tecumseh,chatham,tonyhawk,skating,francesca,mahalkita,ruben,apteka,nikita1,reborn,maine,thistle,pfloyd,pitures,rover1,yngwie,creepy,rutgers,iloveporn,hallo1,cherry1,falstaff,clerks,shuan,dominate,deborah1,libby,golfman,sigma1,bassin,bastian,hunter2,lancaster,pumkin,gamer,astonvil,jayman,bobmarle,fritz1,natedog,hennessy,produce,elvis123,nonmembe,tramp,full,bonethug,terriers,tooltime,fedorov,sharon1,terrence,zhuan,virgini,krasota,russian7,3004,362514,699669,777000,823762,1230123,1596321,3151020,11122233,12041976,13011976,23021973,fiona,glider,pyramids,koala,leroy1,chas,horn,stands,grime,chili,pixie,roserose,shoot,flare,albert1,view,port,seattle1,saunders,okmijn,lololol,schnuffi,eddy,potatoes,beanbag,joyful,marita,ragnar,phaedrus,skillz,regent,barclay,flashy,marketing,raptors,prima,fear,stefania,ballard,cxfcnkbdfz,adeline,drop,streak,lasalle,guesswho,idiots,lindsay1,davidc,nicky1,samson1,matros,zxcvvcxz,tiff,tonka,epson,joaquin,miki,jamesb,arch,poi098,drinker,passthie,testibil,mueller,muriel,marriott,snookie,summertime,music123,helphelp,theedge,fannie,takamine,woodrow,bigpussy,louisa,balder,parker1,duckhunt,candie,ironhors,bagels,vibrate,dalejr8,mooner,gray,helen1,tulane,niagara,polly1,ronny,lemmings,pluto1,beck,factor,theclash,boromir,sundown,ashtray,primal,unicorn1,shadow01,camino,luckie,sparkey,couple,zappa1,jessie1,hamburger,lucent,ditto,cake,colossus,gotyoass,qwerty2,nixon,class,qaz12345,gohan,satori,bigbutts,zzz123,elbereth,blaster1,lagwagon,gumby1,feniks,davidb,ceaser,fuckyeah,location,corgan,catalog,chiks,modles,penetrating,forgotten,walking,academy,asylum,pokemon123,gbcmrf,optical,faust,thesaint,montero,malakas,element1,amnesia,sonne,morbid,astalavista,nhfrnjh,asdfg12345,05051975,gaelic,hazel,saratov,bhbyrf,elisa,vfkbyf,professional,123123z,hermione,beijing,marketin,segreto,mowgli,misiaczek,shandy,mamo4ka,joung,prick,gymnastic,goodfell,veteran,sexsexse,axeman,gulliver,natal,letters,juneau,01081975,djdjxrf,cristal,rostov,volkodav,02011970,ybrbnjc,bigmama,domainlock2005,muller,dazzle,stefani,youandme,soviet,katten,leafs,riddick,pinguin,dogggg,galeries,scandinavian,pintail,lakers24,flowers1,raketa,bach,jeadmi,rerfhtre,scoote,pappy,edmond,666666a,vepsrf,craft,bilbo1,hell666,macintosh,sober,osama,enough,zaxscd,dhjnvytyjub,killzone,cujo,yamahar6,basebal1,labonte,homer123,grandpri,premiere,ovation,smokedog,ametuer,tahoe,halcyon,left,laure,deicide,garnett,watermelon,rockman,john12,mayfield,masha,hardwork,lance1,skippy1,mango1,staind,cassi,ussy,dog,lasttime,r4e3w2q1,eyeball,peaceout,vivaldi,friday1,1dallas,kimmy,serg,angeline,jaycee,silve,details,express1,katzen,x72jhhu3z,1q2w3,222444,885522,999111,1234569,14031972,147896321,369852147,growler,goody,bookcase,kingtut,cooker,lugano,newhouse,mojave,franck,beaks,domestic,acetate,maciek,muttley,chicco,scorpi,blackcoc,blackboy,barlow,patata,dobber,mathieu,ram1500,doggydog,brock,123456asd,fuckem,numbers,p455w0rd,gisela,mensch,rattle,blair,rabbi,redwolf,mauro,slicer,butchie,complex,william2,nigel,places,1ranger,bobcats,envision,gazelle,!qaz2wsx,67camaro,algernon,12qwerty,cordoba,baywatch,thrawn,byron,defcon,gman,sexyass,01011964,phoenix2,rsalinas,nickels,gomets,blocked,never1,punter,allegra,larsson,rowena,staff,hawks1,dangerou,error,headless,beaumont,evergreen,frasier,last,donut,acura1,bradshaw,osgood,barracuda,tomservo,greatsex,dbrecz,zeke,f15eagle,dewayne,cadman,spaniel,nemo,fool,radius,cedar,rental,go2hell,bolero,yesterda,flippy,zelda1,fuckof,arman,alexei,ginola,jerky,1qazse4,marvin1,monkeyma,aquarium,cbr600rr,movers,mosaic,cronic,cluster,mystuff,arcane,dickey,tomate,kuwait,goochi,repoman,dogma,payton34,bassbass,123456789k,bugatti,blackass,snakeman,marat,genghis,gramps,escher,sincity,canon1,valdez,polaroid,hotman,witch,worldcup,solar,letsplay,slide,deutschland,jordyn,saab9000,amoremio,kjifhf,family1,greta,magics,vaseline,alligator,seventy,learjet,computers,dimension,packard1,crave,nacked,shade,bhjxrf,uhbujhbq,citron,kodiak1,phrases,pomidor,golfclub,ace123,longhorns,holdem,chance1,wellhung,tryagain,killah,colombo,dodges,saddam,alfalfa,january1,blunted,furman,mysecret,pfqxbr,druid,jenna1,qweewq,gopack,zolushka,shayne,copper1,fanatic,catdaddy,stella1,17171717aa,pfkegf,loglatin,gbyudby,barrel,samanta,rigger,girsl,photog,mustang9,chipper1,spide,nadezhda,lite,edinburg,panties1,maripos,dingo1,excellen,sokolov,rjnzhf,dashka,rooter,pandora1,romanova,vfylfhby,eragon,luscious,mayfair,sonyvaio,flipmode,borman,yorktown,states,jbond007,type,777vlad,silly1,hercule,doggystyle,dkflbvbhjdbx,goodwill,sofiya,watching,escobar,handle,holahola,davidoff,mich,prancer,robinhood,machoman,klaudia,henning,debbie1,mccarthy,protoss,tittys,beeker,12s3t4p55,momsanaladventure,fabrizio,humble,strato,foreman,theman1,avengers,kruger,pipe,ivanhoe,october1,dating,tomboy,seal,seaweed,sixtynin,toonces,erica1,reaver,chrisb,soleda,trekker,database,cortina,nichola,twostep,wiggles,gjhjkm,bobbys,easypay,deal,elisabeth,chevy2,goonies,lesbens,cueball,fuckedup,meandyou,hickory,everquest,omerta,fun4me,supers,sunbird,remington,hotter,jason123,olives,manage,01011958,schmuck,kram,evelina,timmy1,lancaste,hd764nw5d7e1vb1,loloxx,3001,25000,123698,224488,622521,747400,852963,10101968,69213124,78963214,briefs,garter,cheyanne,mentos,ortega,ginge,united1,keksa12,juanito,ginscoot,gaijin,abrupt,ub6ib9,kodak,bloopers,bobber,final,maddy,anthem,torque,flubber,mothra,steveo,clara,slam,nolan,snuggle,dshade,policy,gooseman,babushka,123bbb,patterso,fragile,felicity,plummer,bushel,kolibri,goal,blondie1,blueman,crocodil,sport1,first1,section,zzzzz1,social,acacia,bmw320,minute,yahweh,buds,5tgb6yhn,qazwsxedcrfvtgb,camelot1,guilty,helpless,soccer13,jazzy1,nugent,sweetass,sober1,rickie,major1,bootleg,bonzo,getmein,fine,ponyboy,andi,waldo1,sebastie,grove,shibumi,boogaloo,marlow,angelito,carlin,andrej,ebony1,myboys,zztop,hotty,lombard,francis1,gallery,peternorth,freiheit,kindred,valentino,tessa,a1a2a3a4a5,victor1,357mag,000000a,leahcim,hitman47,porn123,getin,winchest,konrad,nicknick,orleans,aleksander,blue44,mille,shades,consuelo,dantes,pimpster,butchy,guevara,dandy,cliffy,lifeisgood,splatter,matias,zxcvbn1,camilo,blower,feetfeet,ferrar,darthvader,ynot,georges,bruno123,wayer,secre,caseydog,amarillo,1basebal,satellit,mustang8,brent1,denton,tiffan,shifty,mate,cezer121,sonya,gomez,theo,romulus,robbins,looper,doomed,kleenex,123hfjdk147,carlotta,oralsex,kimchi,crayon,masterkey,blackbel,caramba,belgium,drjynfrnt,familia,lotus123,happydog,quarter,insertions,buchanan,monkey11,sidewind,missing,fettish,storys,newjob,paroll,bigpun,hannover,langley,politics,assault,cimbom,asdfjkl;,ohbaby,chronos,logical,m0nk3y,pookie1,tylers,4rfv3edc,delphin,vfnbkmlf,eleven11,vishnu,123qwe456,grapeape,andreev,sanane,kthjxrf,654321a,deathrow,merlyn,onepiece,waterpolo,rattler,dragon13,voodoo1,pilsner,donny,peepers,anna123,techniques,rodina,stetson,buratino,distance,facefuck,fabiol,morga,ijrjkflrf,avangard,volkova,naruto1,vineyard,qazxsw12,calculus,rfhfgep,buttbutt,china1,maybe,jack1,morley,zz8807zpl,archon,bignasty,emmitt22,toes,amidala,romaroma,maddison,stamford,dropdead,erasure,britta,lopata,badguy,farrell,hunters,cassius,ericka,tracks,router,123456789012,piss,8phrowz622,swanson,qazplm,balls1,dragon11,hawker,same,blondy,chastity,slippy,lindsey1,hatteras,claudine,ben123,skull,foxcg33,wicket,luciana,corporal,mazda1,index,trucker1,hills,rushrush,gotigers,eatme2,iloveit,ganjaman,meowmix,vegas123,sheets,geology,spice1,lacey,wiggle,rave,tim123,dude123,chelsey,rebbyt34,cletus,imhorny,hawkeye1,chin,mischa,mypussy,slayers,janna,jeffro,lizard1,klopik,123masha,talgat,1hxboqg2,rootedit,3003,123458,999777,100200300,universi,sexyred,sabrin,toyota1,priscill,yanks,okay,b123456,evil666,lexingky,david12,eight8,murdock,steel1,mandolin,teamwork,malaga,c3por2d2,smash,crowbar,dawns,gunner1,carefree,guru,rome,footlove,xrated,redwing1,muskrat,carmen1,giveitup,gspot,wilmer,reno,sexe,cleaning,blowme1,121212q,assface,rastus,andre1,085tzzqi,usmc0311,tanechka,elgato,aguila,fuckall,loveme89,test2,terrible,teufel,goodness,puppys,glenwood,ceckbr,retsam,star1,shiznit,samba,hottub,ufhvjybz,dildos,mongol,crowley,cool1,penal,1shadow,martin6,fulton,allright,goodwin,tucker1,sevilla,bobbi,latex,shift,claypool,car123,checkit,sydney1,vamp,imzadi,gandon,windy,julieann,greyhoun,063dyjuy,trivia,damn,shamil,pushing,reliant,booper,crevice,nyyankee,penfold,calamity,kajak,pagan,conquer,dewey,dillweed,pantyhose,cavalry,golf1,crank,arabella,forces,mauricio,jazmine,gophers,goodison,ayrton,123321z,bucs,loudog,tobacco,spade1,corpse,kayak,plaster,seviyi,ally,luv2epus,moment,12345c,taxi,noob,hackerz,thewall,tigre,alphaman,simcity,bowl300,pedersen,jackdog,feedme,44magnum,apples1,barnaby,written,blank,soledad,assassins,qwerty777,boris123,01478520,jared1,squire,drevil,arse,harpua,angie1,slainte,indy500,marusya,summer12,helpme1,augusto,bachelor,badnaamhere,nevermor,mattingl,lavender,patate,raster,mattmatt,texass,headshot,open1234,topsecre,boot,boobed,mariko,renat,mckenna,brigada,donald1,088011,gordon1,cute,batgirl,hotchick,banks,monique1,willow1,fabiola,alanna,cordelia,boliva,polar,titan1,akatsuki,fresh1,openopen,geraldin,freeland,mike01,rodriguez,princessa,miranda1,federica,5hsu75kpot,gbgbcmrf,ragman,0102030405,fabienne,abudfv,k.jdm,mamita,hellow,babygir,santino,carthage,raul,corsica,moonshine,chrissy1,touch,lucien,brother1,naomi,uzumymw,gooddog,aquafina,carney,voland,dbnfkz,catholic,indycar,bryson,bassett,alexandru,dawgs1,123456abc,police1,loveyou2,deepblue,argent,novifarm,alright,holiday1,black123,ducati99,mannn,selene,moonstar,finnegan,contains,schatzi,amores,nbuhtyjr,sexy12,satanas,johndeere,ultraman,samantha1,ocean1,dbnfkbq,r2d2c3p0,badkarma,teejay,wahoo,funeral,random1,lenin,niggas,swallows,seraphim,bigbad,damned,baldur,wendys,racoon,peter01,marco1,hawkwind,ruffles,hatchet,vwgolf,colts,zydfhm,harding,labatt,tiger7,assclown,crunchy,redneck1,mailbox,jamaica1,cerveza,catalyst,davidd,password3,passwerd,pepsi123,open123,mind,colony,classy,lives,trojans1,blaise,shiraz,fastcars,polinka,rundmc,pantie,failsafe,iris,insertion,modem,dkflbvbhjdyf,passed,hilfiger,businka,bronco1,55chevy,caffeine,klein,cipher,qwerty77,margaux,jacker,igorek,ella,pornpass,smutty,stas,matvey,123258,253634,427900,515253,1725782,12345432,32165498,74185296,3216732167,whaler,michael3,stuffer,sphere,divorced,bartek,anteater,anette,mustang0,redshift,fenton,cableguy,killroy,kingsize,collecti,2w3e4r,buffalos,steve123,resume,bryce,xxxxx1,brutis,warehous,bayliner,axel,catter,crusade,flow,soup,kilgore,shanny,basser,pitt,kilo,charles2,smoked,pattaya,coolboy,solrac,suikoden,year2005,bench,shyguy,lumpy,gangrel,dakine,buffys,billion,develop,bushed,porn69,single1,whoopass,press,0o9i8u,gardens,marigold,kermit1,yyyyyy1,allan1,aqualung,jamison,summer01,arcade,titus,wedge,steamer,perro,ricochet,days,jaydee,liam,woodson,hippos,cumeater,chico1,jesuss,rickey,kasumi,ninguna,112233a,rand,process,pamela1,nicki,ralphy,christy1,1sexy,nichols,goldman,112233q,margit,transfor,hart,roland1,coffee1,papaya,carlson,jackets,arslan,felony,andrew12,haynes,indiana1,strange1,dart,alexandria,alessia,garth,joseluis,centre,leno4ka,saab,learning,kathrin,wolfwolf,thorsten,carol1,luckyman,tennessee,kirby1,needit,hallmark,saturn1,leeds1,tiller,alex11,mahal,gfnhbjn,polarbea,cvbhyjd,louise1,gfcgjhn,blackie1,mostwanted,heretic,loveme1,pentium4,poopsie,all4me,raziel,erwin,1qaz!qaz,anduril,resource,tail,darlin,prime1,broodwar,xterra,jimmy123,golfing1,opensesame,nadegda,ninanina,8phrowz624,chemistr,ward,gulnaz,qwert12,numlock,prison,nitrox,morozov,januar,gfhjkzytn,aeynbr,porky,lol1234,prospero,brownies,flyers1,master01,pipers,mamma,mindless,rakkaus,cobraya,mywife,darker,ytrhjvfyn,percy,licorice,allstars,kosova,angel7,memnoch,lalaland,giacomo,schastie,crfprf,arsenalfc,durden,teabag,alpha7,barakuda,stell,floyd1,westham1,pluton,bondarenko,marykay,anatoliy,wysiwyg,stampede,dane,ananda,myhouse,carissa,loveyou1,saopaulo,tinker1,jamesd,passions,dream1,mexic,loll,freeme,mobbdeep,flintsto,endless,lovegod,covenant,sound1,robert2,tigress,kabuki,capri,dance1,nessie,beers,serial,boober,trophy,zhen,phillip1,lemming,mapet123456,steak,yodayoda,vladvlad,pleasant,vergeten,funky1,calcutta,bmw525,3465xxx,halibut,incest,muskie,vfr750,hangman,yfafyz,manhattan,sailfish,summerti,revolt,righton,foxhound,budget,gunsling,gonads,lusty,h2opolo,coolone,bluedevi,boswell,yess,thornton,patter,boilers,backspac,snacks,rosalie,victo,daffodil,pussylicker,crush,10sne1,magali,chaplin,essence,pochta,redrock,sergej,ghjvtntq,blindax,197,9000,123454,333221,456258,963369,1212121,12041961,13572468,48151623,123321456,rerehepf,niceday,counterstrike,titanic1,burly,forumwp,dolly1,sceptre,mickie,mustang3,alfons,whodat,baphomet,cloggy,lionlion,kasey,bob,longlegs,flora,limpone,oldone,fire1,oilman,gwen,norm,bastos,christ1,abdulla,biff,gato,zxcvb1,kostas,hot123,fred123,starsky,dapper,good4u,lemieux,amador,thunderbird,nippon,invis,falco,conan1,lockheed,voiture,rockroll,regal,jeepjeep,parking,derby,diddle,drink,adam25,sandys,marcus1,adam1,bigtoe,hands,henderson,wicked1,laugh,takashi,ladles,ducksoup,sully,palomino,test11,grey,shroom,buster01,taste,pine,yesterday,maxfli,cabinet,dann,mosquito,buggy,leah,01011963,aruba,sabian,1asshole,26exkp,forklift,number9,jerusalem,dddddd1,dennis1,nomar5,planning,teenie,aquaman,maribel,jesusc,backs,psyche,booty1,hometown,aces,prisoner,sexton,toons,just,bigdave,request,franz,theory,away,quack,ltdjxrf,milenium,vegita,jodeci,kenya,lounge,meltdown,mammamia,caribou,postov1000,world1,anita1,pussylov,flapper,fancy,pops,name,evgenii,pump,elrond,tigger12,berkut,bully,cadets,import,limpbizkit,biceps,saphire,redhead1,theworld,points,ilya1992,culture,user345,juvenile,jumping,omsairam,speedy1,12345678901,whatever1,dustydog,yfnfkbz,afrodita,aria,antoshka,wasdwasd,ambition,raoul,arrow1,gannon,gumball,gillette,champions,acoustic,forums,charlie3,pennstate,reeder,wheel,bball1,smooth1,colombi,khalid,teste,celticfc,tooltool,horsey,hollis,zhenya,bonghits,solidsnake,oldschool,mymother,romana,longtime,01011955,asasin,matter,yfhenj,cumonme,cristiano,nolimits,galaxie,noriko,michael9,tested,delivery,messi10,lotion,essendon,ratdog,legoland,tashkent,skyline1,sargent,plague,rhfcfdxbr,asterios,nbvjif,seahawk,dominator,pleaseme,vicecity,junkyard,nokia3250,aloha1,magnavox,count,investor,amos,connection,focus1,mommie,natha,whoami,lakings,katharin,frenzy,filimon,hellohello,lauras,33rjhjds,bunnys,march13,gogeta,fightclub,franki,1a2a3a,illumina,copenhagen,denny,lopas,metalgear,thinkpad,tkfkdgo,bastard1,fenix,lovesme,swanky,lovefeet,billiard,walters,bareback,cinderella,touchdow,elise,limpopo,gussie,rooster1,coolbean,galadriel,third,rincon,showboat,shabba,creatine,dominica,bones1,intense,dahlia,fucing,123rrr,rainier,truckin,socrate,beeper,sushi1,shipping,sideways,buttplug,sorry,matthew2,searcher,hartman,jenni,chesty,nickle,your,appleton,sandi,garry,getsdown,tandem,goldfinger,pioneer1,volodya,chillout,erasmus,october2,meeting,ohio,danmark,qwezxc,ronaldo7,d12345,westlife,madiso,gfdkbr,prashant,thelast1,vadimka,mateusz,5566,10000,111666,124356,131415,135799,145632,315920,322223,555000,555556,789852,1478520,13576479,159753123,333666999,walter1,tristar,1footbal,rakesh,hayes,sandydog,mustangg,angelofwar,blue69,film,151nxjmt,goheels,puerto,gsxr600,primera,vesper,rubbing,lucas123,smuggles,peoples,cisco1,bethan,cwoui,aaaaaaa1,schneider,ketchup,version,nonsense,psychnau,valdepen,bantam,petter,hateme,memo,charm,dupa,shadow2,kirkwood,dragon99,party1,anselmo,camara,schule,sting1,ultras,weapons,level42,walker1,roygbiv,skazka,fifty,scottt,snoogans,adelaida,1batman,2wsxzaq1,glove,yogurt,noonan,vols,boring,satchel,raisin,wrong,curly,1killer,indica,dina,liver,pick,trustn01,splurge,obrien,chisox,cretin,fairway,crimson1,rapid,alec,kovalenko,passfind,forgiven,wisconsi,letmein22,ballgag,elite1,boss302,carwash,mike11,nata,derevo,makoto,carmelo,asphalt,mavericks,lineman,asssss,stink,nikko,sailor1,azteca,tartan,erfolg,cavallo,agyvorc,warden,twodogs,melon,joshua12,behemoth,price,123321qwe,iloveu2,remy,romain,audi100,tuffy,7hrdnw23,chosen,ghjnjrjk,sixtynine,flossie,swansea,maroon,marsik,horus,bluebear,8ball,titlover,kilkenny,jackel,agnes,glen,reset,mycock,cfiekz,rice80,zaq1xsw2cde3,tuttle,viper123,destroye,zcxfcnkbdf,baraban,teres,satan1,mariano,chocolate1,ashlyn,abigail1,codeblue,dunkin,slayer666,haley1,minotaur,scoop,tales,havoc,goodstuf,argonaut,annabelle,lucky777,number6,leilani,baldrick,nitrous,metropol,hernandez,adonai,footbal1,juancarlo,fuckyou123,pipiska,agnieszka,armitage,bubbaa,indonesia,empires,arioch,favorite8,bartlett,cognac,sauce,master11,apelsin,powerade,chobits,shadow11,parliament,bladerunner,batigol,charms,tracie,firework,language,besiktas,baltika,vfvfvskfhfve,01011962,1a2a3a4a5a,gilmour,mackey,salt,orlando1,isabe,aleksa,gfhfljrc,krasnodar,lunar,blink18,topless,makarov,tarantul,meaghan,overtime,fy.nrf,davecole,jetson,wonton,mousepad,browneye,talent,brenden,schwanz,anderso,violeta,ecstasy,browne,brianna1,nacional,dfghjc,red12345,vfhbyrf,mathilde,doodie,yukon,kiko,venezuel,kochamcie,vthctltc,buddha1,bianchi,favorite7,famili,wildcat1,hounds,aztecs,k123456,andover,goodone,ryjgrf,metalica,skateboa,pieman,shooter1,olivia1,silvana,orange12,redbeard,paulus,louis1,nectar,rocks1,sampson1,colour,schwartz,theflash,perez,natalka,hitter,fucke,nokian70,nfvfhf,tyrell,pass99,lugnut,omanko,gy3yt2rgls,fuckup,oscar123,derrick1,side,grant1,embassy,riviera,nomads,stew,femmes,zhua,puddle,asd123asd,jackman,cubano,carly,myangel,scruffy1,brutus1,bizarre,longdick,network1,clitlick,raffles,1buster,fathom,ghtktcnm,nosferat,fomoco,penn,dumpster,judge,dirtbag,jediknight,nighthaw,rerfhfxf,charlies,dvader,shady1,overload,kitty123,morlii,passw0r,tamuna,ladygaga,hotsauce,dmitry,dimasik,hfleuf,htubyf,100001,123369,124816,233223,333222,444777,500000,1233211,1234432,3234412,3263827,7415963,246813579,eric1,coach1,sallas,lisboa,mnbvcxz1,discreet,diabl,interex,neal,brasilia,birdie1,nvidia,rajesh,access2,amir,posture,griffon,repytwjdf,sheltie,daisymae,killyou,author,gixxer,tacit,fuck0ff,whopper,leone,nascar3,janus,sensual,simpson1,david2,meyer,plus,champagn,birthday1,grifter,vincen,asdfg1,closeup,spinach,autocad,3e2w1q,story,mill,jacks,riker,samhain,iawgk2,aztec,07101962,beethoven,chocobo,katy,greek,adrien,1lover,nelso,fluffy1,clues,eek,discount,wade,mikki,papichul,conman,ranchero,1jennife,dove,auction,waves,sassie,characte,k2trix,eighty,classic1,bodies,lovesexy,thissuck,gunsmoke,crappie,khalil,gohogs,pooch,orca,olds442,jerking,gibbons,darts,maryjo,slut69,shana,bible,gubber,moneybag,masa,cowman,ndirish,bypass,bumblebe,halfmoon,airborn,jim123,gremlins,zzzzzz1,juno,muff,thatcher,jerem,karla,lind,televizor,vostok,telecast,atlas1,davidj,relief,torment,1fuckme,aziz,pelikan,southsid,micha,picker,1harley,mormon,guide,sex1,henderso,mettss,fuckfest,gregg,kylie,chacal,foghorn,hornyboy,retail,farcry,karapuz,print,realms,tities,multisyn,michael8,sector,dagestan,qweqwe123,123456789abc,nubian,yasmine,hellokit,blowjobs,jelly1,toggle,balle,ocarina,booties,cheer,soda,boscoe01,joachim,tristan1,doggone,thematrix,wsxqaz,badlands,galactic,donkey1,commodor,kings1,soccer2,passion1,jamila,mackenzie,knockout,tess,anjali,malcolm1,bigpimpi,sneaker,brian123,winchester,main,snikers,flhtyfkby,carter1,hrvatska,d123456,only,tactical,imcool,nikitin,octavia,svetka,hondacivic,dreamers,spartacu,syrinx,afghan,brabus,marietta,ararat,timeless,sable1,steelhea,ctdfcnjgjkm,watashi,conker,welcome123,myszka,dragon7,lostsoul,jagr68,poopy1,wilso,123456h,rubbish,doodah,angel13,evgeniya,rfkbyf,hibernia,q1234567890,mansion,cashman,seren,loredana,123456789n,kukolka,sinjin,lfhbyf,pi314159,patit,farter,fkmnthyfnbdf,razzle,biggdogg,knife,oriflame,rats,gtkmvtym,totally,crisis,joyce1,daytime,rockydog,pasport,ytyfdbcnm,micke,manana,dimebag,online1,mothe,redfive,georgi,ganesha,internet1,iwantsex,rasta1,tigger01,vitaliy,ghbrjkbcn,mugwump,reporter,chucha,knulla,petra1,ashes,avgust,frontera,bigpapa,grape,tony1,ganjubas,rodion,venezia,signals,pendrago,1234567u,intelligence,haribo,hotbabe,elisha,rocketma,hammerhe,darkmoon,thematri,popsicle,jewboy,boggie,rocketman,hellome,ruger,viola,ratfink,glock17,semen,force1,margosha,geisha,68camaro,ibilljpf,kevins,bigstick,lehman,1bigdog,westie,salad,milford,sweet16,gypsy1,voyage,jukebox,jackso,riches,martino,stephy,shrike,jadzia,passage,democrat,iloveher,otters,milashka,floria,biggest,swede,matt1,hoes,funnyman,sawdust,emachines,rob123,playboys,randal,twiztid,charl,dave123,satriani,lolwut,wobble,lucky2,susann,faulkner,gospel,xavier1,suzie,tables,roderick,bloomin,rjyjgkz,johnn,lowdown,ghjcnjghjcnj,strannik,satin,megafon,thomas12,123123e,marko,ibill01,ghbdtn12,admin18533362,15151,135531,271828,777444,1231231,1233210,1475963,2234562,5641110,7555545,12233445,159753852,777888999,domenow,wowser,stroller,jerryg,014789,tazdevil,dale03,sarah123,crossbow,bigg,rocco1,abc321,08154711,critical,borg,oldnavy,freetime,001100,kingrich,tupelo,funhouse,clarion,lynne,hun999,playful,capt,coop,swat,trader12,parade,dickman,bogie,prasad,heart1,roberto1,billyb,metals,billing,013579,dave1,material,hottie1,toxic,shining,lemond,whkzyc,njdevils,mika,hotwife,hrfzlz,diane1,gravel,thunders,aman,nose,mounta1n,murat,andros,jana,inform,royale,internat,camaroz2,paper1,damager,mage,toshiba1,pinewood,dick69,1qay2wsx,2wsxcde3,nihongo,thinker,trust1,august1,jabba,stockings,elena1,egorov,hiroshi,sure,futures,boobs1,holeinon,mazinger,oneton,empress,%%passwo,vampyre,canad,pokey1,clocks,hooch,jamest,2cool4u,college1,8balls,treacle,ak1234,blazin,bonefish,pass01,islands,homies,xmen,blue45,fairview,bigfoot1,funn,cramer,million1,chewbacca,enfield,piramide,patrick2,juggle,chump,sc00ter,galahad,winter12,bettie,inches,decatur,hatfield,blueline,fishnet,underworld,piranha,nino,lager,freight,catfish1,orland,bourque,bound,maxman,jiggy,yackwin,girlfriend,bateman,interpol,sydne,tide,dandfa,windstar,tenpin,skittle,bluegill,edith,brat,lizaveta,fatpussy,isgreat,stlouis,bereza,baloney,st0n3,beckett,camaro69,wacker,jeeves,gobucs,player69,hommer,therion,cadence,beluga,polgara,samael,josef,crazy8,qqqqqq1,group,warcraft1,a123321,qwerfdsa,income,nutsack,peterose,qqqq1111,viewer,marduk,architect,mansur,mutabor,bitchin,zamboni,123456p,ckfdbr,123456zxc,mofo,allure,mclean,13579-,jacque,smurfs,truffle,marcie,gimme,jack123,qazedc,rosette,centrino,marx,aguilera,amherst,paula1,nikit,sega,photoes,herald,kobe08,wonderland,bingos,memorial,midwest,trashman,danielit,green12,asd1234,fonzie,clubber,invader,artofwar,lexicon,keys,puckett,metal666,dripping,flamer,mansell,flapjack,kassie,123xyz,samwise,raider1,newworld,organic,landscap,verify,cristi,temp1234,23176djivanfros,salamandra,vbkbwbz,ljrnjh,123456789qwerty,null,oktober,deimos,dzxtckfd,sobriety,tookie,casa,angeleye,yecgaa,hotcock,saturn5,thetachi,dickface,iddqd,advocate,nasdaq,schoo,marma,nokia5300,edition,gemstone,minion,nonrev67,amormi,godofwar,smallville,qwertasdfg,dthjxrf,rfntyjr,mashina,audis4,lisa69,stamps,astroboy,woodward,armenia,delores,ubnfhf,cyberonline,galatasaray,vbkfyf,sexybaby,hendrix1,mitsubishi,notredame,blacksun,qazxswedcvfr,vittorio,azsxdcfvgb,tillie,shakti,karamelka,shadow13,capa200,novikov,catalin,qwertyasdfgh,glamur,mobil,cathy1,devils1,patryk,hitomi,dominic1,gallardo,rjyatnrf,imperium,inflames,bugsbunny,nicholas1,vlad1996,arina,jakers,dragon88,connie1,astra1,connect1,ukraina,freezer,piedmont,bagwell,qwe789,grassy,katrina1,davidm,dorsey,blade2,bigdogg,pheasant,blastoff,ginger12,convoy,venus1,steves,pablo1,tuborg,indahous,laredo,ilovemyself,parasite,voltaire,123456j,touchme,delano,banjo,bronte,robinhoo,wallace1,seven77,newage,cummings,shorty1,jimi,polska1,laracrof,bosstone,quixote,tribes,justin12,system32,zebra1,pigdog,bluenote,nibbles,flossy,islam,sk8ter,brentfor,shari,goldmine,wellington,bassist,manner,forty,goodtimes,michi,camill,mousse,colgate,budda,wtpfhm,schwinn,holley,sincere,dewitt,wantit,humpty,exploite,giddyup,dopey,greedo,mewtwo,salute,reverb,morgen,useless,lapdance,cvzefh1gkc,mania,water123,killemall,guyute,joyride,nelson1,matvei,marlowe,driving,velcro,pusher,lfybkrf,craig1,bublik,fantastic,rocking,scooby2,cnthdf,covert,ramazan,gail,iwantyou,repytwjd,radiance,lethal,ruthless,sweethea,peter123,poohbea,volodin,olechka,kapusta,01011957,89600506779,sandeep,pablito,damage11,212223,235711,524645,555444,5550666,748159263,987412365,pissant,michael7,caddis,chicke,country1,pogo,jerrys,haters,cumload,raccoon,epaulson,perils,slurred,hermit,cards1,powerpc,kalle,ariadne,bungalow,drag,patsy,semaj,garten,brandie,tripp,chatte,jjjjj1,gggggg1,ppppp1,loading,stomper,seller,jamal,cafe,1aaaaa,john1234,aurelius,monet,man123,buttsex,gifted,merli,cuba,etienne,grainger,charcoal,eatmee,marisol,xytfu7,stand,vulture,ronaldo9,soraya,kona,homebase,yannick,take,lana,adrianne,1chris,sensatio,1george,1bubba,1diamond,1golfer,burke,mclane,conejo,edwardss,crybaby,3edcvfr4,1qw23e,terence,george12,dune,lazy,playoffs,passe,lovegun,king123,closed,andreas1,month,panchito,frantic,jys6wz,train1,out3xf,picard1,munchie,fellowes,thirdeye,alfaromeo,hellion,isacs155,paige1,joanie,dominus,hubbard,roodypoo,stars1,mcleod,oops,scooters,dbrf134,sludge,paul123,tahoe1,bugsy,etnies,jesuschrist,maverick1,dragons1,ashman,palmetto,sylvania,gerardo,tobago,favre4,hansel,thebes,vertical,psycho1,aurelia,fordman,chanda,callme,w1w2w3w4,launch,proteus,melbourn,desperad,save13tx,relax,angle,hotwheel,bretagne,arabic,trinket,starla,300zx,phatty,caspar,sportste,aida,pickett,terrace,ship,raging,madsen,marcy,vatoloco,ghostman,jedimast,pringle,futura,bungie,prakash,muncher,sunrise1,clinton1,blingbling,pembroke,fatim,arsehole,barret,slayer66,animal1,framer,bored,psychnaut1,bonito,begood,started,mollys,harlan,prairie,braden,odysseus,pizzapie,silver12,desires,alpha12,accent,reverse,driver1,guess1,wargames,elissa,winkle,give,mysterio,darkknight,actor,career,integra1,blondi,westcoast,scotia,xfactor,banderas,4r3e2w1q,crabby,fatluvr69,trilogy,xsw21qaz,denisa,yjdsqujl,felice,slimed123,kawaii,malvina,1q2q3q4q5q,sailormoon,habana,varsity,current,big123,sameer,levi,tele,spanks,indians1,babycakes,sarahs,teddyb,schweiz,mack10,rouge,creativ,scoob,wooster,diesel1,oldham,pussyeater,ghfdlf,nikita123,muenchen,sashok,yana,qwerty22,medicina,gabriella,cristia,alex22,stussy,petersen,mara,cyber1,mercy,den123,izzicam,warpten,nokia3310,samolet,reaction,scott123,whosyourdaddy,prikol,black2,egorova,auralo,japan1,rafae,astoria,carcass,bill1,tagheuer,dexter1,weeble,xthtgfirf,1234567z,kochanie,oc247ngucz,carioca,manish,gianna,orkiox.,kingair,squish,1111111111zz,tired,porn4life,anatomy,snooks,illegal,warped,slimer,littlebi,siberian,limerick,toys,xboxlive,spawn1,ignacio,gaffer,parish,rostik,lunch,baile,mopar1,desk,kratos,prettygirl,calvary,moonpie,thejoker,greeny,coyotes,cleric,riding,cuntlick,metalman,freak1,chantel,pounder,leiceste,osborne,handcuff,warhawk,temper,princeton,trolls,kailua,peaches2,minister,three3,billys,wife,cum4me,sitruc,firestor,rhapsody,nodoubt,angels1,jeronimo,denise1,makemoney,annemari,ironmaid,utvols,chevyman,resist,bungee,ready1,hugecock,refresh,tooshort,primetim,yogi,sylvester,compa,thomas2,lasher,oceans11,tugger,richard2,passing,valdemar,jetaime,bear12,yendor,toobad,goodies,death123,outcast,safe,darkwing,taylor12,wipeout,chrism,jeepcj7,nikitina,abrams,jaws,nickname,yomomma,coopers,cereal,flyaway,caitlin1,slipknot1,muaddib,nelly,123456o,ramone,dima1996,fnkfynblf,skypilot,newstyle,levani,0wnsyo0,123sas,258741,335533,451236,479373,554455,555888,741236,852654,951159,968574,12332112,13579246,96385274,159875321,326159487,789123456,1223334444,alvarez,timbo,luckyboy,mullins,asecret,booby,ramair,miss,2112rush,chicas,duranduran,hiro,gunman,daily,pescator,dte4uw,gaetano,chapin,merrick,linsey,brayden,rulz,police22,giovann,trina,candi,silva,bakers,boner1,burnley,bbbbb1,thebomb,elite11,birdy,sexslave,hobbs,ganster,buckie,bosworth,heinz,mulberry,elohim,willys,purgen,waterfall,skeletor,plant,annett,pulamea,mccabe,caballo,rule,human,disco1,itworks,santo,steph1,idiom,walk,asslick,gaysex,bebop,creep,notice,pepsicola,winamp,octavian,love22,serebro,qwerty00,eeeee1,123123123q,detail,itachi,ilove69,squiggy,w4g8at,macho,montauk,dwarf,terrie,1jordan,4snz9g,hot2trot,blue33,thug,delorean,bianco,matthew7,step,ishikawa,simeon,magyar,baldy,bullets,explode,hash,boggle,burgers,alias,pedro1,primo,document,jessika,retep,zorglub,wilcox,fistfuck,dixon,barnett,fredd,pedros,gfhkfvtyn,omega2,runner1,gorman,sexyguy,seagate,whitney1,jailbird,arrowhea,tainted,sexbomb,casablan,creek,qazxswed,moneymoney,miroslav,dagwood,showcase,bulldog2,barca,omega3,collette,polkmn,sorcerer,sex6969,pato,hemicuda,saber,hotel6,stargaze,funguy,1111aaaa,tweet,polka,weirdo,imogen,bling,adams1,conflict,ironhead,shorts,smarts,bones69,fuck777,moosey,winky,cnhtktw,fktrcfylhjdbx,poppet,char,checks,vfnhbwf,scimitar,nikolaus,mikaela,ashish,oriental,trippin,hellothe,parole,nordic,chatter,reverend,ronaldo1,oven,negrit,whiskey1,edinburgh,gemin,hondacrx,zaxscdvf,latvia,zepplin,popular,voltage,kitten1,slap,rebirth,voetbal,as1234,order,anton123,pervasive,kelly123,goodnews,astonvilla,cheval,milagro,pepper12,stewie,ashley12,cachorro,imback,truckers,sysadmin,olivetti,89015173454,mamedov,petey,rjcnbr,multimedia,daddy123,navarro,manitou,symphony,sanjuan,toronto1,emachine,fktrcfylhjdyf,phuket,asdfjk,danni1,malcom,cnfcbr,regret,scotty1,bonfire,vaz21099,sandals,reklama,violent,slammed,joselui,plover,smarties,healey,wars,roxana,stanger,sunita,hanover,genesi,frankfur,godwin,horny69,gfhnbpfy,bubby,svetlanka,cuthbert,steward,password4,alcat,odette,blue21,stealth1,naked1,declan,nagrom,yardbird,godfrey,morkovka,atdhfkm,gjgeufq,dmitrii,kisska,qwaszx123,virtua,dragon22,arhangel,percival,fresca,minako,kban667,muaythai,whitman,nyknicks,mahalko,yorkshir,rodrig,enkeli,echo45,molina,junction,guitarra,tatian,hereford,sweeper,badger1,tippy1,tightass,metro1,hoddle,jackson2,taekwond,island1,phenix,moses1,millerli,layla,cstrike,123123qwe,staple,qwer4321,division,gr8ful,feyenoord,solid,morrigan,dtythf,hello2u,apathy,parolparol,vermont1,kamehame,round,jake12,arschloch,catlover,whatthefuck,madoka,bigshot,bagger,dogfish,calcio,direwolf,karmen,jakedog,reaper1,1357911q,rocheste,pittbull,hondo,rache,roma123,bethann,jobs,bernard1,terminus,walden,trigger1,pennst,grandprix,future1,drinks,comicbook,japanes,excell,jeanie,sonnyboy,sexboy,bennett1,daniela1,twingo,moneyy,lickem,slydog,rumple,lucinda,logan5,eltoro,parties,lawdog,gibbon,helloyou,gunter,jimmy2,fencer,starks,redtruck,trex,cuties,chevyz71,miko,header,walkman,1nicole,surfin,kosher,kindbud,morrisse,trafford,update,mymoney,match,evenflow,concert,geneviev,marisha,oneshot,konfetka,knowledge,irvine,halflife2,laxman,maus,sk84life,fuck12,versus,123456789w,dawg1,denis123,12344321q,fyutkjr,ghblehrb,lbfyjxrf,dron,lollol1,kurosaki,4000,123333,123666,567765,789321,963741,976431,4637324,11121314,19844891,21125150,132465798,243462536,tommys,brandt,bmwm3,redbirds,mint,skelter,westport,rock1,slacking,crysta,soldier1,hosted,annual,makemone,indiglo,strings,antonius,legal,3some,bogey1,culo,olivi,frehley,eadgbe,talon1,541233432442,dmitri,patriot1,fish1,hoss,weights,takehana,12345e,robert12,ratchet,germaine,chain,becket,rotterda,vicente,fcbayern,pirata,toosweet,love13,nolove,380zliki,knarf,startac,milesd,schwarz,1robert,coast,4free,warhol,figment,bellevue,bayview,prizrak,arigato,sallie,scores,monica2,tiramisu,1daddy,reggie1,mambo,belarus,wetlands,practice,12qwasz,sssss1,luckey,watermel,paulo,platoon,johnmish,orange8,gump,natas,seraph,t34vfrc1991,hecate,melville,stuttgart,fffff1,bolivar,muffi,check1,westgate,hr3ytm,theraven,superdup,folder,skoal,mzepab,maria123,winifred,adagio,benning,abulafia,al9agd,oemdlg,dhip6a,cranky,7uftyx,antioch,trustnoone,papercut,energize,oriole,barnsley,alexan,hoopster,eightball,toughguy,babygurl,moore1,deadeye,fermat,azer,dalila,doctor1,mahoney,circuit,blanket,spooky1,nada,razorbac,paints,schlong,brazzers,cornholi,champagne,singing,yokohama,bigboi,kaya,brew,firetruc,thurston,epiphone,gateways,chicago2,mexico1,transam1,seven11,edwar,proverbs,bulldo,patricio,pionee,good2go,ellen1,brianjo,davida,puravida,shocking,baby1,123456qaz,chasey,warfare,durand,tremere,vfhrbp,glorious,catch,soccer15,strategy,q1w2e3r4t,stallone,payne,nails,jeter,ishtar,bugaga,arisha,sunderland,seven777,a12345a,carrier,sandy123,capitol,stringer,penner,yingyang,kramer1,chevy454,anamaria,ilovepor,ghandi,beauty1,gfhreh,asdewq,ashanti,tough,shannara,kremlin,whatisit,niunia,config,kakaroto,friendship,nurbek,buzzsaw,candid,superboy,cellular,dress,maricon,pacifica,teacup,weedman,annabel,phantasm,antman,salvation,finalfan,cogito,yummy1,sepultura,azerty123,adida,tigerlil,adrenali,hellbent,mina,guderian,samurai1,grimlock,airwalk,playbo,anklet,aenima,pampers,caller,baltimore,render,arena,wilson1,beaut,airforce1,asdasdas,girdle,rebelde,newlife1,batter,texas2,seafood,dahc1,cheesecake,rebecc,testme,swindon,izabella,123qaz123,kardon,brindle,shotgun1,northsta,sherwin,rosetta,kindness,kusanagi,diceman,junfan,alaina,shake,charlie9,malishka,aa1234,szevasz,pepit,robby,iskander,fgjrfkbgcbc,rfgbnfy,katenok,123456789qaz,555555a,a123123,cabrio,home123,dreamy,55555a,aol999,sammyboy,bagpipes,dimarik,4rfv5tgb,reward,ismael,aliska,cjrjkjdf,barsuk,froggy1,3girls,lebron,celtic1,mamit,freedom7,buldog,alyssa1,vfrcbvec,utility,butter1,mello,cfhfnjd,favorit,haha123,kellys,oliveira,tigerwoo,brewers,garrett1,cnjvfnjkju,lover69,cambodia,centurion,anime1,warzone,verity,colette,vfiekz,rediska,neptun,onclick,fidelis,piazza31,boogie1,spandex,1234qwerty,ihateu,liberal,ostrich,doremi,shelia,scooter2,mickeymouse,vjhrjdrf,rainbo,creamer,ilona,rolando,grasshop,snotty,colleen1,bauer,wonkette,ernie1,melonie,vasya,patrick9,jake1,klootzak,jake123,geniu,trouts,vsijyjr,britain,landry,later,bubbadog,mustang7,ghbrjkmyj,makarova,effect,kohler,beto,travelle,tiedup,chevron,deere,elvira26,steelers1,compusa,reject,bootneck,biggin,red1234,watkins,cuckoo,sharo,gohawks,ou812ic,000006,bobby123,nutz,yoohoo,redsox04,ladybug1,fuckslut,bigdee,mcgwire,canseco,joann,hotpants,shaw,slaves,aluminum,grizli,mylene,nodrog,adelphia,frederi,tavern,thomas01,golgo13,crime,mcguire,coffin,password69,supper,lolit,stalker1,matches,panacea,keaton,r12345,portman,prefect,lakeview,jonathan1,medieval,lollo,hammers1,towing,flavia,neogeo,all4u8,longbeac,lina,ravage,networks,joness,cinders,lesbo,jansen,albania,larry123,hansolo1,4904s677075,kirill123,paul1,jemoeder,shadow123,oddjob,reddragon,w12345,respekt,kevi,12345i,dawggy,orlova,natashka,123555,222888,224422,242526,475869,12345671,12347890,19933991,44445555,135797531,1111122222,tincup,mrbrownxx,harley01,007james,flyhigh,sonnet,cordell,love23,strike1,apache1,freestyl,barman,hardhead,l2g7k3,pollock,celtics1,juergen,soccer7,maribe,ballz,yamah,mellons,shadow69,trashy,guns,mitten,weber,andy123,cain,fartripper,ggggg1,eeeeee1,superbee,turkish,knowledg,eyecandy,eugen,engel,topfuel,budice,eatmeraw,asteroid,crewcom,blister,khaled,cheeta,12345f,abcdef1,ellie1,agustin,spectra,doqvq3,kswbdu,browns1,parke,oconnor,cerbera,anselm,sister1,kitty2,divx,phipsi,tomm,maximal,franny,marimba,juster,bulldogg,mavrick,vander,merry,meyers,1william,c6h12o6,1james,flogger,carmex,letitbe,mylord,steeler1,kosovo,bobdog,redhawk,squonk,lamar,sycamore,tigerman,moss,009900,howler,cleaver,squishy,shiny,marky,bethel,pkxe62,2fchbg,ladydog,fun123,pascale,ewtosi,aaa340,mp8o6d,tyvugq,nowhere,hard1,tequila1,hunter01,tzpvaw,diogenes,macros,marillio,xngwoj,realdeal,greeks,larrys,ferrari3,craps,fido,cheeze,chilidog,lanman,winston2,mozzer,regiment,grogan,gerhardt,astana,asdf1,asakura,people1,soccer14,webb,davidl,power2,013cpfza,bmw325i,pompier,fredderf,hodges,nietzsch,bluerose,workshop,bharat,qpwoeiruty,symbol,12345trewq,hillman,woodys,ritchie,defiant1,dustoff,ganymede,chapel,maxie,thelema,clear,satanic,beasts,1234rmvb,freelove,daniel2,aqswdefr,pootie,numbnuts,quetzal,walley,siemens1,love2,juggs,whistle,kakadu,jay123,antigua,amanda18,minidisc,blablabl,voices,razdvatri,sensor,pakistani,maddog1,babygirl1,fylhtqrf,alhambra,alastair,ukflbjkec,gonefish,biteme69,kozerog,xcountry,hakeem,bigwilly,humboldt,faceoff,greenbud,colby,iluvsex,chester2,override,destro,bosnia,blacksta,scooby12,erick,sherpa,godson,rules1,jumpman,joints,biscuit1,beaver1,salamand,chantell,change1,acosta,poli,carmela,jenny69,milagros,kailey,coffe,chelseafc,paroli,memento,gtnhjdf,roxan,10inches,t123456,felip,mikhail,0147896325,lynx,darkjedi,katana1,blackrose,falcon16,godislove,aldo,region,q1a2z3,ghjkju,weronika,rankin,g00ber,agosto,haircut,blue13,vfhvtkfl,primrose,password0,london12,kukuruza,kozlov,rfpfynbg,farrah,jacki,dragon76,gaming,grenade,cristo,brit,kasparov,flipside,kadett,12345g,memyself,gfgjxrf,kidd,doritos,ghbdtnbrb,micros,dashadasha,blue55,wesson,hellya,daniel123,savant,ghbdtnghbdtn,juarez,valerie1,rfhjkbyf,boaz,evely,kukushka,latitude,barbie1,sistema,cthuttdyf,strelec,sonechka,xtkjdtr,chicca,belochka,atlant,atybrc,rerjkrf,gnusmas,rasengan,packman,transport,eater,marjan,ulysse,scribble,cdtnjxrf,jarred,marbella,sparco,landlord,1cowboy,blackber,alvar,elnino,carguy,selen,ameli,packers4,martini1,schlampe,red321,caro,assmaste,capitan,loulo,anasazi,natash,maxim1,mrhappy,golf12,shizzle,jledfyxbr,vika123,churchill,miracles,hoopla,timoha,ricardo1,password1234,07831505,pike,monkee,bigsky,nbvcxw,foolio,saint1,silverfo,lilly1,sabotage,tackle,baller1,spoonman,babyboo,bandera,fred12,cupcake1,swan,congress,chisel,gfhfif,bmw123,xrp23q,leo123,britneys,drinking,sideshow,ppspankp,4life,gearhead,bark,jamies,kamil,rope,hooked,q8zo8wzq,1winner,bassfish,batman99,queer,rider1,accounts,etoile,kinky1,federic,joking,dannon4,stratos,carbine,jigger,gamers,scottish,biggy,temporar,stump,multisync,boing,slinger,hollydog,scribe,neuken,12345678900987654321,bella123,kari,moonie,lovepussy,sumner,kaneda,lexingto,canadien,bluearmy,wrxsti,luzern,knives,bobbo,blythe,laverne,problem,dollface,letitrid,juventu,goodfood,super7,kelsie,peterbilt,getalife,porker,sunnie,shock5,stairway,driver8,rahasia,nakita,bonham,mills,troopers,halfpint,browser,westcoas,deusex,costa,steady,3stooges,toolshed,canes,buddy12,mattman,drdoom,timing,rapids,goobers,pepsis,buttocks,lausanne,sebastien,wildrose,doorman,iwantin,bocephus,loveme2,davi,pats,squeaky,nafets,jeanine,lottery,katina,kenyon,jesucrist,ghbdtn1,skyblue,bestfriend,graeme,qazxsw21,kallie,howard1,favour,kingsley,stacy1,dmoney,washere,greenwoo,problems,debate,sharik,coconuts,ibill123,08522580,florenc,lena123,fussbal,images,harry123,katusha,20001,113322,123234,133113,135792,333888,555111,557744,1001001,1212123,2583458,11924704,12345666,19877891,25251325,43211234,123123321,titsnass,connery,erika1,heaven1,123asd123,haunted,freenet,testme2,mabel,jumble,wallis,gnasher23,regis,greasy,sinfonia,rjw7x4,wavpzt,newguy,birthday21,gabi,dad2ownu,jaspe,fleet,maui,reksio,1pillow,019283,elaine22,mrbrownx,yyyyy1,iiiiii1,hhhhhhh1,curtis1,testy,spenser,dominos,probe,phaser,adolf,wash,matte,moby,suresh,shooting,qw1234,mitch1,hopefull,piotrek,jordan12,dolfan,gnaget,pwxd5x,tron,gotlove,replay,8dihc6,qbg26i,amtrak,upnfmc,herons,bluemax,trotsky,recycle,wiking,manzana,superson,commie,herb,ford1,lamesa,bringit,camell,joonas,serene,intell,leila,abdul,alex13,hyper,qwerzxcv,grubber,canela,ichabod,vibrator,1hunter,hillbilly,westwind,hotline,snowy1,1tigger,iggy,covers,piglets,bronx,frame,yakuza,alex99,154ugeiu,crypto,clarkie,education,gandalf2,corvus,ichiro,duluth,rosalind,paramedic,scenic,111111aa,schnee,opel,downey,lustful,g3ujwg,reddrago,wins,hufmqw,hellou,meddle,likeit,manwhore,mamasita,aassddff,sexme,powerboo,cracksevi,ford150,51051051051,davey,fidget,cup2006,383pdjvl,planetx,pipo,landing,rottweil,playe,karlos,nazareth,gudrun,tercel,paperboy,draper,bochum,adjust,scranton,notagain,2girls,springst,drumline,salamat,lagoon,powermac,woaini,duckling,rellik,iiiii1,canabis,rjynfrn,vestax,burbank,checking,kira,wiseman,african,brendan1,fontaine,wizkid,dragon2,romina,easy123,weiser,hotrod1,mask,jiujitsu,buckey,backlash,quark,pennie,2w3e4r5t,ancient,neuron,porn1,270873_,wells,colt1911,chic,hahah,knocker,myhome,bulova,shingo,thisone,gordito,jennys,judas,kickit,tolstoy,dingus,changeit,winning,possible,fucklove,mozilla,chipie,doma77ns,lostone,hoopstar,alamo,cosita,strangle,venom121293,frolova,corrie,hatcher,blue01,fabregas,ambassador,miria,vacuum,free4all,vbktyf,welkom01,guessit,assa,cuntsoup,12345zxcvb,blackshe,osbourne,catarina,moss84,chalupa,gargamel,anutka,gomer,attica,zealot,madonn,golf18,porno69,coronado,kaplan,chaoss,jizz,commodore,teiubesc,vfvf123,meatman,hellcat,outlook,promethe,baikal,melissa2,anuradha,berliner,jesu,painkiller,reviewpa,pepsione,cass,frieda,montes,salina,black12,slade,gtkmvtyb,rockport,harrypot,clair,newmoon,vodoley,confuse,positivo,teddie,derek1,maid,pflybwf,humper,foosball,kipling,foxtrot1,gonzale,viviana,riker1,saltanat,kjgfnf,vfvfbgfgf,hadoken,syclone,mythos,gigolo,biggs,kelly001,hamburge,duffbeer,jennife1,saywhat,amanda12,webhompass,a7777777,countach,wembley,cumface,piano1,bates,britney1,works,seagulls,grunge,anabel,alfa156,amylee,guatemal,zamora,gtxtymrf,liberta,helpdesk,mazdarx8,gfhjkmxbr,fuckina,gehrig,scamp,cruzazul,giselle,colon,pollito,hermos,lovecraf,darien,alici,castaway,dianka,gecko1,wings1,peoria,breakers,thisisme,master2,sherman1,almera,alpacino,mall,gamera,meadows,louie1,incognito,badone,defence,victoria1,annamari,suzenet,marissa1,rollie,quality1,cnhjqrf,manunite,qwerty21,andree,dockers,purity,package,sarasota,checkmate,boondock,vredina,garci,nokia5310,happydays,landrover,kfvgjxrf,chesterfield,opensesa,crossfire,senna1,apocalypse,thetick,wildblue,dragon66,junker,transpor,spokane,nec3520,locoman0,tenni,submarine,neveragain,nokia6303,moving,cookies1,powerup,galena,moneymaker,westbrom,haggard,autobahn,denver1,shua,cycle,jasonb,gazza,official,phantoms,wesley1,1patrick,benji1,suzy,wester,fatcock,new123,sprinkle,deepsea,samsara,julies,maldini,quick1,purchase,1hello,drivers,client,shayna,interests,mets86,dryden,dothedew,defjam,billy123,felixx,scales,010203040506,number2,binger,nigga1,chicken2,libby1,kevlar,mgoblue,shakey,sparkie,paterson,gizmo123,sandrock,binkie,bubber,shaka,tommygun,hockey12,pimp69,usmc1775,open4me,fightclu,caps,audia3,kasia1,tanja,thunde,gandhi,mauser,lakers32,griff,gorgon,dragon23,bigbuck,heybaby,bridgett,lexi,iloveyou!,society,smokeweed,gibsonsg,firefighter,ozzie1,funsex,seagrave,darla,bourne,madhouse,bookmark,soloman,caruso,sissy1,tristen,[start],mookie1,its420,one,panty,broncos7,windex,dobson,bells,teri,vonnegut,robbie1,drawing,bolivia,fighters,cachondo,kasandra,chelsea2,homersim,eros,syncmast,spirit1,hayward,doraemon,chaotic,nurse1,roxie,vasilii,farting,taras,rodeo1,croatia,john11,lol12,f00bar,alpha3,samsung2,cherish,puller,berries,eugeni,tyler123,rfnthbyrf,tease,handler,pepino,montagne,patel,4wheel,graffiti,smile123,trusting,newports,topgun1,shank,perico,treat,lfiekz,hjvfyjdf,qwe123asd,cresta,sogood,tmoney,woogie,kbytqrf,lost4815162342,kozlova,mobil1,platform,silicone,naresh,art131313,45645,113355,123432,123444,178500,192168,999333,2580456,55832811,98745632,99887766,124578963,314159265,321456987,eagleone,crazyzil,kristal,yssup,dimensio,penney,blacktop,acrobat,kenton,nacho,trap,srilanka,muddy,bedtime,session,tyler2,pimple,jjjjjj1,12345678c,claus,slipknot666,batman69,finley,ffffff1,sqrunch,gobrowns,wellcome,bear123,montague,accessno,sweetie1,123zzz,irland,updown,6string,spicey,patent,tratata,iamgay,christof,buckster,gldmeo,m5wkqf,ratpack,marios,jake01,1martin,giulio,merritt,l8g3bkde,bommel,geirby,waller,sunstar,imissyou,bakery,abbie,ar3yuk3,goober1,4r5t6y,sallad,trial1,pershing,xena,manchu,hcleeb,x24ik3,razor1,scot,dummies,frigid,bobbyy,tawnee,pigs,greddy,sami,ccccc1,hhhhh1,102030405060,marks,patch1,garvey,just4you,antilles,bethany1,deadlift,gordo1,visions,shankar,southend,glotest,brianne,sxhq65,lindas,edgewise,math,abracada,drummers,scxakv,t26gn4,winslow,calhoun,shifter,3cudjz,xqgann,teenager,pxx3eftp,lada,archive,f9lmwd,durango1,hihje863,oakwood,alma,payback,george2,moldova,w0rm1,bonds,jdeere,dapzu455,chucho,password6,gabe,leisure,cuda,hicks,ballon,bare,cool99,123kat,lowlife,lovin,joeboy,alpha06,fiat,mooseman,onkelz,coffey,buckle,skooter,green2,aarons,heath,oneeye,gr8one,qwerty6,juices,merhaba,bowhunt,godboy,scratchy,sex666,postov10,mica,tooter,jimbos,2sexy2ho,cumalot,thaddeus,kassandra,stadium,rama,stjabn,katie123,gabbie,fastback,trails,cfvjktn,phone1,reliable,ohiostat,jellyfis,morons,bigbill,pidaras,brazil1,fuckmenow,bullhead,austin12,1234ab,mira,arsenalf,temporary,ghbynth,lolly,glist,ranger99,vjkjltw,utyyflbq,baguvix,phydeaux,mindy1,sevenup,qwertyu1,numark,lettuce,dummy1,dread,78girl,dionne,mongo1,sylvain,dthyjcnm,skate1,enable,ronal,hellraiser,abpbrf,donger,eminem1,africa1,access12,timex,cidkid86,cortland,aceshigh,kimberle,verizon1,ulisse,gaby,gardenia,beware,boxer1,griffen,biotech,cigar1,secreto,tomoko,testing123,shipyard,orange44,pepsimax,salem1,wolves1,qsdfgh,fall,lyudmila,michaelj,anna12,naruto12,tangerine,loyalty,michelin,telemark,shemales,daisy123,doudo,smiler,adult1,dragon10,starion,claire1,dreamon,happys,hfgcjlbz,cheeto,gemma,shahid,coope,soccer22,anonim,esmeralda,thrill,fabien,taylor2,filipp,ariadna,bluefin,kitana,frdfhbev,ferdinand,winsto,vavilon,caliber,kanada,iloveamy,lynch,gogreen,ollie1,flore,doorway,kaitlin,tallinn,disc,alphaone,cheer1,kamala,censor,centauri,mobius,moren,senha,tori,nataliya,cheap,dbrnjhjdbx,favorite5,nbnfybr,123qwe321,estella,cxfcnmttcnm,supergirl,kennet,rexona,thorpe,lthgfhjkm,wtpmjgda,marlen,weaponx,niceone,gametime,rayden,independent,arian,zujlrf,files,hammarby,grizzly1,allover,lthtdj,pollard,idaho,onyx,obelisk,asdfgh12,florid,cougar1,amanda69,television,oldies,campos,kmfdm,anatol,rockit,madeira,beasty,lovell,teache,google123,charged,planot,myers,indianali,sayangku,myriam,kongen,deadmeat,saruman,apostol,interact,cracker1,letmeinnow,frien,ishot,angelin,monkey7,11223344q,spoon1,skates,sexy1234,master99,ewelina,coldfire,vicki1,ranger01,tenchu,9inches,televisi,sherrie,virtue,climb7,mark1234,hogan1,greeneye,korea,myfamily,pickles1,heathers,paprika,preston1,welles,fiddler,nomad1,rudedog,brussels,gentry,killer7,jeepman,bluegras,darken,wire,barbarian,perfecto,carla1,operation,bartende,blazer1,cart,bobbins,blackbox,charger1,pharaoh,woodduck,coolie,dickless,thales,timeport,clones,johanne,lsutiger,freddie1,verdun,buster11,1234567890s,skytommy,jerrylee,hoboken,cadr14nu,timmie,ready2go,suicidal,well,tokenbad,hotguy,keyser,my3kids,consume,hobo,rossia,scramble,pi3141,jody,shepard,1066ad,review69,deacons,mustdie,wexford,filbert,tania,candy2,hunting1,aragorn1,happy69,paleale,com2,mule,sailing1,excel,ballbag,limaperu,racine,nashvill,kellyb,tropic,pinecone,centaur,scubadiv,tracy71,history1,1summer,nokids,starts,rebeca,raymon,boatman,billyjoe,sheri,bridges,rfrltkf,tazzzz,boness,killing,makers,games1,lions1,yesiam,thrash,nolimit8,inkjet,squids,rhbcnbyjxrf,uniden,marta1,dogbite,oklick,tallyho,homey,lars,parol1,radioman,pirate1,booner,montan,garfiel,satana666,q55555,wall,bonjou,spacey,nx74205,sundin,charmed1,holstein,polaris1,golf72,flaming,savana,mallet,petrol,clemson1,priscilla,stuff1,toro,turkey1,sochi2014,ghostrid,sexmachine,thurman,magdalen,dallastx,docto,powered,gnbxrf,raffaele,starflee,marcopol,dribble,portuga,grigio,doroga,demonic,laughter,asnaeb,gatech,njkcnsq,stepanova,nariman,egor,nikolaeva,marked,123456789g,maksik,littleton,lockwood,stepanov,mark22,nikolaev,vanyarespekt,3008,123345,152535,198200,203040,282860,654456,852147,12312345,18821221,23049307,55556666,134679258,michael6,0070,redgreen,steff,daddio,freebie,123dan,qqh92r,dcpugh,heavyd,opened,muster,danimal,redblue,medium,danthema,odie,basics,walt,level,andriy,katze,zafira,straycat,sicily,elric,johnpaul,fffffff1,lower,zzzzzzz1,wolf666,leonora,simmer,tomcat1,violence,failure,dozer,gtfullam,followme,fritter,andrew2,rudder,1charlie,nimda2k,poilkj,martel,apostle,babette,rolan,picolo,wish,siemen,masaki,d6o8pm,ingeborg,lifter,forensic,7bgiqk,supervisor,nicole2,recoil,wendel,1701d,dgl70460,sosa21,quixtar,hugger,bello,fuente,sussex,cellphon,matman,abel,lovetits,digiview,porche,chubbs,corey1,green3,missile,jacky,wolf1,husky1,ilovemom,redmond,fenster,bondage1,taggart,djgabbab,member1,bangor,herbal,h4x3d,bodine,heel,gert,take8422,christen,rebell,primer,nail,banking,waterpol,hadrian,marconi,packrat,tino,dano,maxtor,bbb747,ch5nmk,withyou,5rxypn,doozer,fuaqz4,mendez,bjorn,jailbait,bono,treeman,lenore,acun3t1x,chgobndg,rasta220,luft4,echelon,phelps,mike13,123456i,fore,omar10,udbwsk,tommy2,redcat,striker1,fernandez,roman123,revilo,macarena,shagger,letmein6,saturno,sexlover,slyfox,jambo,choose,wheat,martyn,octagon,cherr,pasquale,speeds,pegaso,jlaudio,phred,radios,borris,cashmere,molotov,dman,mpower,lookatme,dutch1,bateau,house123,pentax,radiator,1thunder,zoltan,luvfur,mugsy,bangers,vaz2107,alistair,dumber,chinacat,teddy2,gino,jenova,sokrates,maddox,redford,wabbit,asdfas,omegas,vista,gungho,choclate,mass,reese,monaro,matlock,beszoptad,smiley1,sartre,12monkey,miramar,nolimit9,foucault,cities,fktyjxrf,ssssss1,wwwww1,qw12er34,aqswde,fromage,deamon,cochon,tiesto,friendste,pollen,hardcore1,tolik,1fuckyou,apple12,guerrero,woobie,wormwood,saleem,tajmahal,gretel,pucara,demian,student1,aq1sw2de3,aidana,climb,madona,qwerty123456789,paypal,1pepper,gameon,egoist,love143,acidrain,farside1,pepsicol,fortune12,love21,talking,eden,tarheel1,simon123,password7,gander,google12,flakes,farhan,teddy123,serdar,adrenaline,vigilant,lakeland,qwertyu8,aditya,colibri,jessica0,psalms,malamute,megamanx,clare,berenice,123456789x,soccer17,gremio,tampa,kocham,guerra,caesar1,uhbyuj,gross,alyss,rosebowl,noof,lewis1,esperanz,89231243658s,costarica,naveen,millennium,obvious,iseedeadpeople,goblue1,rjdfktyrj,alpha2,douglass,courtney1,suchka,matematika,nikitka,malik,fargo,henry14,vfrfhjys,transformers,olga123,stuffy,tribe1,boobo,ratbag,devilmaycry4,another1,baranov,steinway,rahman,sodium,asroma,zaratustra,dbjktnnf,ghbhjlf,pfchfytw,mama1234,magda1,garand,israe,hellomoto,perros,drgonzo,slaveboy,imperator,dasha123,skyking,anabolic,monstr,booyaa,tigran,bongos,venkat,alligato,chamonix,blood1,ballen,freeman1,weener,kriste,ktjybl,hedwig,trogdor,charlie5,rubies,motivate,golova,ytreza,password5,gracey,celia,deneme,tornado1,secret12,simran,mrpink,mujeres,quiet,eagleeye,vologda,torsten,foxbat,andone,andre123,vehpbkrf,qweasdzxc1,murzilka,solitari,tempus,william3,forest1,lbyfvj,bratan,gfnhbr,fatty1,angler,depechemode,zombies,zanoza,ias100,hosehead,robroy,fuckass,tallman,marcell,gznybwf13,assa1234,vyjujnjxbt,serendip,avenger1,combat123654,arsen,xaccess2,midian,vlad1997,littleman,12e3e456,69a20a,minni,madras,fortytwo,ferari,go1234,huey,minnow,franca,pope,ballss,ilovekim,teflon,paulette,quicksilver,ribbon,that,zinaida,teleport,quint,bigcocks,rimshot,barbos,ghzybr,trespass,nastyboy,mine2306,goggles,bess,earnhardt,cris,startup,qwerty66,peache,trevor1,biotch,1soccer,superd,dfcmrf,curran,feedback,claudius,bassline,xsw23edc,juninho,bathroom,precious1,dunk,wander,dog1,salvatio,piggy1,kkkkk1,ryan1,cozumel,stoops,schooner,robyn1,nikkie,mullin,genuine,chimaera,dispatch,qqaazz,controls,tbone1,spyglass,jack12,poiu0987,summer06,bud420,saracen,gardener,honeyb,tweeter,findme,kacper,rescue1,itstime,good12345,playas,devildriver,kolyan,killer2,pennywise,celestia,rosey,pullings,rimbaud,pentium1,chicky,candycan,wonder1,321ewq,sturgis,hellen,primary,darthmau,cumulus,vinny,gnosis,kewl,jetset,myass,onelove1,ferrari2,bigtits1,hotels,breaks,nalgas,milleniu,mckinley,f150,holder,sunny123,hunger,leandro,paul12,hood,jadakiss,nunzio,harvey1,crowes,toyot,james23,dixiedog,poppin,kati,paulchen,scarecro,rfvtgb,skunky,milwauke,stefa,lucydog,fixit,leglover,dodger1,concha,naciona,maria6,therese,bentley1,s1107d,saints1,smell,cabbie,payment,wetone,tigger69,happyboy,marci,rammer,hoops1,misskitt,xray,theone1,porsch,aalborg,1daniel,relisys,mariso,misha1,rfhfufylf,plastic1,rfnhby,kama,steely,soulman,canes1,tilly,digger1,bladerun,keebler,ginuwine,contrast,crack1,zigazaga,iceman69,sanjeev,intrigue,teetime,gitler,sergeev,brave,radish,paol,farmall,dbrekz,jkmuf,qqqqqqq1,dilshod,gaeta,jmoney,efbcapa201,robbi,intheass,ytcnjh,mikeys,vova123,1dawg,114411,159874,171819,197000,225522,232629,252627,300000,326598,654987,667788,774411,852123,852741,5550123,7550055,9788960,19391945,54132442,456123789,456789123,1112131415,3141592654,deck,james11,michael0,eljefe,squeaker,magda,agenda,johns,gobills,keines,persia,hoop,jennyff,joschi,medlock,elektro,00133,salty,humberto,picasso1,netzwerk,ranger2,wired,art123,souris,heyman,ddddddd1,2002tii,deliver,thunder2,1ginger,proctor,charlie6,tragic,flicka,perv,golde,evidence,podaria,ajem,qwertyytrewq,2hot,badgirls,newyor,smoothy,stromb,putz,loveboat,gonzalo,oneman,ricflair,xerox,snap,milli,silvio,lucifer1,file,nadin,tweeker,monty123,dirtyboy,outlawz,nick12,043aaa,56qhxs,qcfmtz,ugejvp,d6wnro,punkie,englan,super8,1thomas,semprini,sr20det,assist,4meonly,ambulanc,wotan,galaxy1,hanna1,calvert,mutton,farmers,mark12,xakep1234,catt,diese,adler,mybitch,merkin,dogfight,1dick,howdy1,sammy12,2wsx1qaz,fucker69,corran,1orange,wolfer,jimenez,xwing,qwerty5,vatech,marias,subwoofer,seagrams,lbvekz,rudi,jeroen,wulfgar,theron,remark,stephe,arachnid,vanille,hotdamn,.adgjm,pledge,ikarus,jiggle,pockets,casey123,armadill,diabolo,horst,3ki42x,4zqauf,oneway,q9umoz,3mpz4r,yy5rbfsc,lllll1,nochance,w123456,papercli,fhntvbq,skye,dehpye,zsmj2v,david69,redondo,2n6wvq,beelch,p3wqaw,schwein,love4u,buzzers,dolittle,4money,sn00py,2good4u,mihaela,1972chev,cranberr,sesam,dutchy,121212a,beryl,carey,phuong,trickle,nomercy,gossip,susi,screwed,jude,happyme,melnik,uwrl7c,4wwvte,argento,hisashi,gsxr1100,concerto,bubblegu,green5,mellie,ernst,forest11,andrade,tommy123,florin,almost,makita,giant1,diaz,mode,passss,jamesbond007,jobber,defamer,6chid8,ptfe3xxp,roofing,airhead,pervert1,mainman,basses,adgjmpt,waldorf,elmore,cornbrea,123123123a,a987654321,globe,beasley,dont4get,kingsx,golf69,thermal,merkur,duncan1,boone,mehmet,helloworld,colin1,christos,fruits,giorgia,clarity,cheerios,qwedcxzas,tgbyhn,acerview,getty,batterse,snowing,clticic,mof6681,chrystal,rerecz,coupe,jaclyn,saxon,koufax,a55555,goodtogo,letmein7,bayside,torana,donnas,hump,ponce,ferdinan,bigbaby,honeypot,milkbone,ooooo1,umberto,asd123456,chairs,cabowabo,wrinkle5,strekoza,kfylsi,caballer,nanny,kaffee,sleuth,vasilek,jacqueli,smallvil,anna1987,andreeva,rfnfcnhjaf,okidoki,tanstaaf,edelweis,freedom3,birmingham,telnet,abfkrf,superduper,098123,crossing,findout,passer,vfkmdbyf,sadist,guster,matrix2,gold123,123a123,vfvfgfgfz,loveporn,owned,larry33,fcporto,mocha1,sampras,himera,123123qweqwe,julianna,daboss,camera1,doris1,saveme,hinata,easier,mailto,polecat,thatsit,magnetic,karaganda,atrain,elanor,naruto123,brahms,santosh,deathsta,kroshka,9638v,butte,eintrach,healthy,male,vfhcbr,pedigree,quake1,jacqueline,tatanka,note1234,bigal1,campion,sergey1,freeride,alex777,123456789b,asq321,cdznjckfd,pornsite,gfccdjhl,hikaru,geraldine,year2000,andyman,toonporn,pallas,ukflbfnjh,rusalka,jameson1,farhad,flair,luebri,koffie,kinsey,karups,rfhfcm,guita,kristjan,cummin,helicopt,shiver,eugenia,alex32,whitepower,disturbe,mercur,awaken,drakula,anonymou,gala,kryten,mierd,4815162342lost,kami,toodles,rfvbrflpt,sasha1996,ledzeppelin,rkfdbfnehf,hitech,hakkinen,gblfhfcs,1q2a3z,principe,alien1,virgo1,love4ever,falcons1,harrie,pokemon12,elephan,rhfcysq,strokes,arches,plato1,fgntrf,antonell,marusia,xxxman,dfcbkmtd,scarface1,kobe24,modano,angel777,atkins,upgrade,ruffryde,uzumaki,star11,rfn.irf,burgundy,gfdkjdf,ringo1,dannie,anguss,ghjcnj123,imhotep,gjyxbr,snail,ruslana,brooke1,chosen1,redhouse,angel22,fuckmeha,q12345678,veritech,kaos,barbaria,edwina,pongo,studio54,zxcvbnmm,zemfira,orion2,olorin,123456e,brett1,mineral,atlantida,lucky3,mamuka,berserker,antoha,lastochka,recon1,shootme,hobbes1,bh90210,fuji,mosdef,flush,surfing1,memphis1,raja,335533aa,vermin,ruff,professo,999111999q,kfgekz,aspen1,goshen,starling,awsome,f3gh65,shadows1,loveyo,4z34l0ts,tranmere,giuliano,barnet,newell,horns,sugarbea,gonzaga,gallop,passmaster,caviar,schneide,ilovehim,chaucer,kumquat,manta,gipper,banned,fabrice,macduff,stacey1,skipjack,sharkey,barking,horsesho,nokia8800,daimler,coolest,esoteric,test01,leslie1,vitali,other,july23,unlimited,bigbass,majere,loveu2,misty123,treetops,iwanna,coronet,pynchon,herzog,killall,poplar,cuisine,swimmer1,kickme,shimmy,giggs11,candy123,marylou,comic,volition,chinaman,bennet,benjie,king1,rottie,leipzig,jeanluc,fishfood,enzo,marmot,april12,juicer,saving,surround,littleon,sticker,bedpan,lima,juice1,1z2z3z,maritime,hyacinth,flatline,fordham,morphine,thorn,saitek,lancers,plumper,jericho1,slash1,joint,chrisp,brookie,colder,guatemala,maltese,twisted1,witches,grouch,cover,monkey13,tuscan,summer05,willing,drexel,cannot,madzia,blueyes,hotdog1,amber123,hurtme,p12345,bob1,jack1234,phidelt,mcnabb,darrin,hotspot,dogstar,nailer,shlong,fastlane,gobble,ohiostate,jester1,disk,koolio,harvick,glock21,eggs,montego,studmuff,blazed,peeker,protege,ripcurl,negras,count0,superdog,ranger21,blackbea,takeshi,bishop1,sigmanu,djdxbr,sluts1,grasso,disciple,kennedy1,cichlid,kingme,hoseman,march1,carousel,desade,timers,greed,katies,sickan,lasting,jugs,smith123,copycat,maplelea,dragon21,123456789qqq,realtime,inferno1,sanibel,darkwolf,godslove,karpov,travesti,zaragoza,taffy1,boards,kimmy1,jazzbo,siempre,weight,cdjkjxm,090909t,mmmmm1,ness,charlie7,brendon,dumper,ckjybr,jimmyb,melkor,nikole,senha123,allalone,totem,bollock,lolitas,juice2,tower1,sunghile,simbas,lhepmz,nick123,seldom,surrey,shadowfa,madball,crocodile,liverune,suka123,hamradio,vandam,iddqdidkfa,sexyfeet,yhntgb,sandee,geoff,natacha,geordie,martin12,bulgaria,johnso,p00kie,bitch123,cjcbcrf,franko,ballgame,dastan,wrest666,wildroid,cbhbec,qazxs,12345678z,12345as,12qw34,cdtnrf,dont,fabi,evgesha,erhfbyf,nylon,123456789t,qq123456789,kristinka,ilya,78n3s5af,lera,4rkpkt,199,3005,3009,85245,95175,153426,159487,159963,187211,197500,198000,258025,669966,775533,789520,889988,900000,1020304,1233214,12345689,15987532,42042042,49527843,62717315,123459876,555666777,0000001,nokian95,gnatsum,00096462,redrider,computador,bullride,bigtymer,zoloft,makelove,billings,nala,g9zns4,ozlq6qwm,dunn,all4you,pooker,themaster,cabin,pitstop,bruin,hobiecat,novartis,autobot,hardhat,shelly1,angola,amatuers,chelsie,bbbbbbb1,jjjjjjj1,gerasim,mole,barkley1,123www,carolcox,shadow99,topman,antivirus,abcde123,skully,unholy,manger,123fuck,jolie,bless,gwju3g,pzaiu8,gourmet,royal1,shooters,buttons1,redeemed,hugh,368ejhih,57np39,t4nvp7,pieter,1spider,vkaxcs,seventee,808state,trials,rockys,hutton,fatjoe,nameless,guinnes,syntax,87t5hdf,boeder,.ktxrf,bobbijo,kato,jeanna,1andrew,2bad4u,jazzer,masterlo,trustnoo,panocha,1bigdick,savage1,carine,casimir,zambia,asasa,smedley,redrover,bovine,fuel,suffer,grave,maggie11,lifting,angel01,cookie12,spicer,mech,pacific1,topeka,shellie,jochen,legend1,dolphin2,anelka,elfquest,harve,herpes,brooking,infinit,nnagqx,salut,socket,emyeuanh,jurgen,zlzfrh,schorsch,brianb,slowride,3qvqod,hpk2qc,iqzzt580,njqcw4,pn5jvw,whyme,wrecker,cingular,hawaii1,yvtte545,elysium,fdm7ed,cantrell,hostile,ikilz083,cthulu,wpf8eu,cicci,lilred,gallaghe,readme,bridget1,bodyshop,babaloo,zxcv12,nofx,dragan,aloysius,berserke,cohen,554uzpad,vcradq,legsex,hzze929b,uyxnyd,kidder,winter01,jamielee,grimes,turing,cobrajet,horne,babble,gravy,frannie,zaskar,jesusis,photoman,grange,intj3a,kissss,fairfax,trs8f7,issue43,epvjb6,ornw6d,tanman,vasileva,sylvia1,seven1,dime,forgotte,dauren,artwork,sanity729,stewar1,lotus7,pinner,oldsmobi,wc18c2,jodi,wojtek,birdies,rockbott,bashful,mahesh,lovegirl,super2,alicante,juicy1,tripping,flavio,jocker,chop,mongolia,omega7,bustanut,drakkar,painless,vivien,fairmont,harley12,1qwertyu,dunamis,cupid,agony,extreme1,811pahc,read,shaver,pittsburgh,red456,ducker,vespa,kinetic,joker123,concepts,patrick7,theodor,italy1,cocoloco,spaz,shirin,hockey99,martins,lawless,zebulon,wild1,hase,cane,gardiner,sadness,slutwife,eieio,12345678912,timebomb,casandra,kazbek,albundy,feb2000,zenit2011,feliks,josefina,arthu,dank420,hax0red,planet1,muggsy,cbcmrb,badcat,sergeevna,rjcntyrj,gnomes,cubase,abcdef123,westlake,bearshare,sashimi,whatnot,brandon2,kaufman,sword1,affair,aquinas,ahmad,danuta,cadaver,rjnjgtc,asdfghjkl123,pendragon,sexse,watchmen,pizza123,kudos,mateo,quercus,rossi46,vampiro,skater1,theway,limabean,allah1,peaces,1234qwerasdf,adam123,shirak,mafalda,bigten,addams,fuckyou7,mattia,cologne,erickson,chessman,savatage,quake2,sidorov,trade,alex2000,nortel,annalisa,asd12,fighton,sheppard,vittoria,elli,aero,lisa123,pass1word,hopkig,mancheste,blue56,viceroy,zx123456,didit,jg3h4hfn,bigpimpin,nabeel,tinytim,aggie1,calavera,hunter11,crushed,theboy,behind,hazelnut,gaelle,geek,rashad,salavat,asdfgh123,alaska1,qwer12345,airedale,primetime,airline,123qwe456rty,setter,rossi,protein,curve,cuckold,trivial,cierra,tonino,becks,1234567890qw,olamide,vlad7788,alinochka,monkey10,aq1sw2,atkinson,wenger,alfie,goodhead,elizabeth1,surfers,amiga1,monkey99,suerte,rustem,ironpony,88keys,gogetit,tony123,vaz2109,jack11,rjntyjxtr,ghtpbltyn,awards,bueno,aurore,sturgeon,cvtifhbrb,valenti,primavera,stephie,nfbcbz,wantsome,birds,anjing,fynjif,sonic2,bullet1,11111z,sleaze,langer,muffie,nokia7610,tombston,badkitty,g12345,asdfghjkl1,cable1,alskdjfhg,bluess,solnze,00007,poonam,teens1,milen,kokakola,girlss,ibragim,becca1,countyli,djljktq,1234567d,gsxr11,badminton,nervous,kalinka,vjybnjh,lupita,ghjcnjrdfibyj,lollone,gojira,blowme69,semenov,dfktyjr,smitty1,zinedine,lightsab,magister,qapmoc,cakes,lenovo,phenom,dragon5,fedorova,mom4u4mm,hjlbyf,parabola,mechta,danil8098,lookie,orange77,mcdonalds,coorslig,cobblers,redriver,triforce,regular,hecnfv,doggie1,gilberto,guillaume,galactus,reshma,guinea,sevilia1,pebbles1,nfyufh,youwish,r3ady41t,bailee,austi,cutegirl,taipei,blackhol,green11,olddog,davros,oliveoil,sixnine,chiron,fredi,shelley1,omega123,repmvf,bent,heroin,dogbreat,heythere,pikachu1,lovebird,sorrento,maggie2,curtain,underpar,tiger69,santacruz,ottoman,baxter1,carvin,mcbride,doggysty,hinton,condo,simson,techie,goterps,grendel1,jeff24,nitro1,1superma,horny2,welldone,global1,coonass,grady,feynman,pupuce,godisgood,br00klyn,dunce1,gbpacker,sexmeup,bucky1,skeet,broke,payroll,connor1,compaq12,sending,shaggy1,briand,crm114,dynastar,lyle,etower,suntan,sammy2,vision1,chrissie,mudder,chris22,cab4ma99,kitte,klimenko,hotmom,megabyte,strummer,nascar88,bears85,ghostdog,queenbee,m6cjy69u35,froggies,lonsdale,smiling,thor5200,hurricanes,snipe,goodfellas,123456x,kinger,talons,pussypussy,peluche,cherub,rusty123,railway,grommit,diciembr,april10,moody,machine1,sonali,baseba11,mikey123,hardtime,littlee,methodman,tabby,ponies,comcast1,1pass1page,stymie,mckinney,shitbird,heave,sharkman,anus,ouch,tommyt,joker69,summer20,nashville,johanna1,tomatoes,gibby,yasmina,pennys,goddess1,squid1,bomba,slut1,zombie1,winkie,devlin,only4me,cccp,starlet,sweep,brody,aeiou,leviatha,ghbdtnbr1,misato,joshua2,bluecat,dongle,gretsch,draken,lifesuck,kerri,k12345,sade,diego1,santa1,jordans,moveon,bomber1,stomp,ridley,offsprin,ultra1,1qa2ws3e,nbvjirf,blue25,less,ocean11,brend,lepton,provider,hungary,marek,gocanes,fausto,getlaid,3syqo15hil,leonard1,brethart,chrisc,longwood,shaven,sleepers,yamamoto,asterix1,recent,damia,diosesamo,crackhea,sundrop,mexicano,moogle,nosaj,kaizen,fullsail,pallino,azathoth,dantheman,kariya,intranet,masyanya,emanuele,bigdeal,save,webster1,1qazwsx,sense,soap,javaman,tinkerbel,buttmunc,gabriel2,dima12,silky,kamehameha,sellout,essex,bysunsu,huskies1,12345ta,jesuit,stratoca,d1i2m3a4,maverik,lebedeva,njnets,manisha,vjhjpjdf,gjkbyjxrf,zxcvbnm12,kuleshov,freelanc,magazin,external,kamran,rfhfntkm,rizwan,munkey,himmel,ybrjkftdbx,hawkmoon,mironova,budge,gavrik,mixail,asfnhg66,vitalya,mcardle,fhntv1998,8008,75395,78678,123580,147123,161718,181920,430799,444222,555999,557711,616913,666111,4071505,12346789,12481632,19922991,159753258,1122112211,1357997531,mrbrown,drahcir,tabbycat,zxcvbn12,11qq22ww,1sexyred,george01,blader,boome,playgirl,bosley,evad,ha8fyp,slick50,skydog,hhhhhh1,consul,sunray,myxworld4,andi03,hobby,brujah,justina,1test,birthday54,0raziel0,maine1,malena,clubpenguin,evening,buba,bobbyd,michael4,goddog,poke,autopass,deviant,master3,sarahb,dakot,sherbert,nogood,pooki,promote,11c645df,duke3d,dizzy1,pretty1,celest,cheerio,opie,qwepoi,asdlkj,katja,mase,studboy,datalore,vvvvv1,belles,herson,shay,students,womens,obscure,asdfg12,nick1234,eagle123,123red,sonnen,bowers,timber1,lonely1,areyukesc,arlington,genevieve,watch1,14vbqk9p,ab123456,adamant,jamesr,4wcqjn,6bjvpe,863abgsg,qn632o,actors,wilton,bigb,turbo2,braces,psswrd,paganini,elias,corvett1,marcio,master69,osaka,mortar,theroc,bamba,esmerald,pollo,1grand,lama,1lovers,salaam,2bigtits,argentum,radagast,bigload,nohack04,quickie,scatman,pattie,stamp,finest,cn42qj,batboy,babs,extasy,curt,swank,sadler,plokijuh,alana,front,vega,ta8g4w,beatit,backhoe,x35v8l,hamster1,ilovejen,cmfnpu,mwq6qlzo,masahiro,hubble,201jedlz,ndeyl5,mort,qwertyuiop123,geryfe,lzbs2twz,rxmtkp,zxcvbn123,spammy,facesit,whipped,drake1,gangsta1,acls2h,buckwheat,bob1234,yeehaw,griffy,crapola,2kgwai,simhrq,rolex1,sabin,fett,gerry1,ffvdj474,monster2,r29hqq,international,dukedog,richman,mac123,551scasi,arcturus,omega5,lacey1,transformer,golfer23,footlong,azalea,screwbal,independ,slice,celin,outdoors,clark1,pain4me,primetime21,2b8riedt,ssptx452,wanker1,barbi,sunnyboy,tmjxn151,yqlgr667,half,beulah,thunder5,doyle,13579a,raygun,bluered,bree,mumbles,atreyu,stage,michae1,mjordan,fabolous,spring1,michaeld,aldric,stick1,trekkie,gambino,filibert,auntie,pussylic,jq24nc,jardin,schalk,retlaw,qcactw,dflbvrf,matt11,wardog,sasha2,cntgfirf,heathrow,digest,kissarmy,3mta3,chumley,happyone,devin1,michael5,batman01,bowden,mmouse,benedikt,hunter123,klausi,romantik,manny1,chazz,lazer,woodruff,boeing74,millard,1scooter,cronos,mike77,grand1,flights,fourth,hiphop1,paloalto,schnapps,davidk,peterj,elementa,teodor,quickly,kafka,lotte,zeta,dcunited,cubbie,wanger,babes1,horses1,.ktymrf,mecca,submissi,mouton,marcopolo,supersex,azimut,goto,charlie4,kolya,rafiki,1austin,fuckhard,limpbizk,crownvic,poppa,luisito,davido,biggirls,smudger,tbirds,j12345,odense,alan12,aqua,canibus,cheese12,kelly2,glitch,aaron123,hackme,archana,mather,amina,ibill,jonnie,getsmart,masons,urchin,postit,zonker,pass11,money4me,warchild,bmw540,amadeo,ilaria,shadowma,stalingrad,koetsu13,burnside,mamabear,beirut,connecti,cfvehfq,samapi,guyana,viscount,stoke,charmain,beaufort,pericles,dolomite,genera,servus,altoid,vance,bangladesh,jodie,andrzej,james7,monkey77,master22,viper2,atrium,balefire,bowling1,sumerki,revival,desperados,matahari,ybhdfyf,maman,admiral1,gerrity1,netware,support1,challenger,sonia1,maritza,stripclub,patrycja,canberra,tissot,sagitari,djhjyf,splunge,triumph1,invasion,sex1234,chubby1,cojones,flushing,ariel1,gfhjkmm,golakers,237081a,evgenia,zx123456789,hellothere,inessa,soon,saun24865709,kbcbxrf,insuranc,mercury7,jojo12,strutter,aguilar,hopkins1,x123456,love777,salma,novembe,iluvporn,valter,snakeeye,hapkido,pupper,labatts,fiction7,bruins1,noshit,sayana,thirsty,sheffield,bvgthfnjh,tennis12,booze,poop12,apokalipsis,111222333a,cumshots,annelies,aventura,berg,hoot,subrosa,wildthin,666666q,lifesucks,phantom2,palom,shakir,cfvfhf,cthuttdbx,alexsandr,cnhjbntkm,sasha2010,muhtar,lbhtrnjh,rihanna,maldives,m1234567,fallout2,frida,haddock,hbxfhl,perfume,vasquez,mahalkit,modesto,jerico,kalani,critters,spider12,sasha1995,backer,gjhjctyjr,minimal,talley,hotboys,lindaa,1silver,killie,morris1,vfrfhjdf,serafim,sherif,cnhtrjpf,martina1,karsten,cvetok,moremone,sexnow,poopies,swetlana,magica,mom123,goodwood,sdsadee23,solei,1pionee,marmelad,maynard1,qazxcvbn,secret123,nikusha,yfcnz123,anti,calais,madison2,masterca,q1w2e3r4t5y6u7,avatar1,comet1,kirstin,andrey123,thames,dalla,deadwood,woland,corrina,angel11,blasen,mynewpas,cambria,realm,maiden1,vsevolod,pankaj,parrish,taltos,wildwest,teaseme,antosha,4z3al0ts,tekila,shygirl1,salam,wildstar,homer2,arseniy,raspberr,ashland,steamboa,bmw330,buzzy,chicos,phatass,tecate,metros,shelli,arsch,sandmann,peartree,snapper1,idontcare,fridays,killians,dice,scampi,drumset,gagger,pappas,balzac,dupont24,kimber45,heller,letmein0,bangkok1,parris,glock22,bearman,gorilla1,romeo123,clarice,eagle5,liberte,jason2,enigma1,tubitzen,newfie,della,economic,casey2,ville,lilkim,gilgames,akira1,nitwit,pole,123456789f,deerhunter,trippy,brass,batavia,batman2,soccer9,emerald1,nicolai,brittan,battlefield,mike22,pulse,renard,wladimir,dibble,elvin,nnnnn1,orbit,ambush,spawn2,shithole,hello5,strat1,plenty,mittens1,datalife,copeland,boodog,708090a,domino1,summer2,kendal,locke,krueger,pudge,eagle3,lochness,sargon,chimpy,carlos2,snooze,exposure,crotch,hardcor,hermosa,shots,montess,longone,elenka,everything,laundry,jeannine,london22,nemesi,speedrac,sabbat,crippler,lisette,sarge1,777angel,maxwel,mitzi,bitch69,sony123,getiton,mastiff,culver,developer,filipino,gordie,slurpee,hurdle,foxglove,michaelc,sugarray,peniss,nothin,spacer,vbrjkf,pipper,shanks,gear,moleman,mila,mustang4,fatdog,necron,maddie1,chomper,snooky,clambake,sharp1,chochoz,rodolfo,cubfan,familyguy,sales1,manpower,boyscout,scipio,eagles05,binky1,phobos,bistro,loser123,kenny123,evolve,luvbug,alohomora,beard,spade,holler,kimchee,pound,labrat,sheffiel,target1,choco,purple12,diablo66,bumblebee,undies,summer11,london99,karens,seaways,fish1234,undergro,xzsawq21,sellers,kemper,shell1,malibog,foxx,like,vovchik,natusik,cortes,hadley,fucker11,roaddogg,buckfast,cooley,jello1,inspecto,torre,jackdani,1hammer,patrick8,pittsbur,micro1,jamie123,boscoe,hellrais,sharps,ownsu,23dp4x,killa1,torrance,synapse,cardiac,leaving,caterham,1234qwert,masterch,spin,cirque,watts,halley,popolo,mixer,bujhtr,cuddles1,ownzyou,volvos,crazy123,morehead,griffin1,romanroman,valerka,d1lakiss,edward12,soccer3,thomas123,ownz,zaq12ws,hellspawn,yanochka,dantist,doc123,wiggins,098890,mamulya,homeland,programmer,shutdown,dima1997,nakamura,4506802a,qqqwwweee,holden1,lovestory,lenusik,qqq123,dicanio,loveu,fastfood,mimi92139,ghost123,shani,sandal,leanna,jimmyd,mrclean,hendrik,r123456,pierr,pernille,0137485,kodaira52,klingon1,eistee,rebrov,vfrcbr,irontree,olya,ramesh,989244342a,5005,123963,198500,247365,313233,331234,543216,996699,1010101,1123456,1234565,1234576,1598741,2741001,12345600,52678677,55667788,77777778,123456781,0003,doromich,pornoman,gogirl,gracelan,poopface,1wildcat,1compute,chris11,chaz,10inch,letmein9,686xqxfg,04975756,docker,pilot123,folsom,090808qwe,bloom,nastja,artistic,danijela,pajaro,wilfred,klep,reccos,serval,fire777,babe23,cumnow,sunfish,i81u812,workit,warrant,whippet,baum,punky,withlove,starfuck,nederland,xholes,cecelia,burton1,demented,1zzzzz,brando1,1aaaaaaa,pottery,diggity,11bravo,hackman,alpine1,luojianhua,email,comments,smasher,janette,495rus19,jack22,caveman1,wer123,123xxx,griffins,larryb,wiggly,holy,kugm7b,giblet,npyxr5,etvww4,eyphed,pktmxr,vdlxuc,xjznq5,number7,bently,snipes,arkham,karma1,emiliano,majesty,kiefer,redbarch,pravda,operatio,123456zx,vitesse,nokia6120,markos,schiffer,viktoriy,adele,golfin,sweet69,siamese,eternal1,dave12,darrian,acces,drakes,monker,mission1,1eagle,maddy1,bootcamp,user1,gestapo,shilo,gertrud,csfbr5yy,ewyuza,toosexy,royston,pinggolf,jamesc,mifune,twice,lucky5,handbook,jumpin,bingbong,vanman,accident,gandal,ywvxpz,mick7278,9skw5g,vpmfsz,yxkck878,qhxbij,xirt2k,565hlgqo,north1,br5499,extacy,egypt,gimlet,abyss,demeter,4_life,8womys,ms6nud,fx3tuo,luv2fuck,arsenal2,ponder,puschel,7kbe9d,nt5d27,chbjun,gsgba368,ztmfcq,darre,russia1,greeting,utah,pioneers,bartjek,poppies,pussy7,aron,absurd,sieben,annette1,mccoy,twitch,muppets,mako,maggy,dually,erebus,satan66,qdarcv,taboo,pattern,80070633pc,stryder,coolkid,sucker1,alfred1,getnaked,fellini,parallax,vball,orions,kayak1,davidkin,stabilo,tibet,4all,bozeman,satsuma,allthat,wiley,ingram01,klem1,cardenas,plazma,spjfet,thered,freya,sams,whitedog,emotion,audio1,torben,portos,mowerman,lacy,gowest,fylhjvtlf,cabibble,sauber,l8v53x,papi,midnigh,friedman,nantes,fred69,nemisis,minou,ciscokid,makeksa11,kwan,rimjob,camar,nightman,ivanna,medford,multi,schumacher,ragtop,trying,polarbear,whacko,filler,scotsman,pepita,bigdadd,nighthawk,darter,hogs,crooked,johnny69,bancroft,octopuss,nester,bonou2,prentice,stiff,pillar,grandad,a123,allstar1,alesis,fleetwoo,almaz,aa12345,angeliqu,chilton,skank,55555q,poi123,weldon,hacker1,delrio,barely,scarlet1,urban,newpoint,ptybnxtvgbjy,agency,aleks,belial,night1,albatross,star99,briann,abc123abc,qsefth,blackbur,bonit,bahrain,alegria,suzuki1,kannan,lobito,thisis,mcmahon,gfif1991,piggys,palestine,linger,mellissa,jujitsu,lambada,kayaking,alex1996,annushka,mighty1,response,loveable,mariann,mulder1,freiburg,kindbuds,croucher,123as123,jack01,qweas,snooper,gladston,xpress,lickher,blenheim,excalibe,zidane10,tasmania,loopy,gemma1,malaika,tycobb,shearer9,chrissi,russland,bibles,roxette,biteme2,eae21157,score1,chase123,compound,moroni,nite,temporal,123zxc123,tassie,quicksil,bingo123,elefante,hot,rocky6,adriana1,teamo,aa123321,porthos,healing,vertex,forbidde,timofey,fumanchu,levin,psalm23,danville,evgeny,samsung123,asshat,123654a,timofei,sylvan,blue66,rfnfgekmnf,carolyn1,papero,poiu1234,nfvthkfy,wwfwcw,albacore,raintree,demigod,notoriou,anyway,12345l,isobel,yfgjktjy,lawton,pthrfkj,fyabcf,juggernaut,rashmi,aliyah,philly1,wise,aristotle,ghjgecr,gulmira,millers,dallas12,zaqqaz,12345qq,millenni,hoppy,cowbo,dexte,bassman1,shirley1,cinzia,alberto1,barne,redhook,larinso,chile,june22,password13,kamasutr,123a321,karamel,georgiy,angelo4ek,zaqwsx123,alex1990,mydream,undercover,1236987z,antiques,ptktysq,alternative,lavinia,candela,denial,cleavage,highwind,wishmaster,alisa1,viktori,nightwolf,hikari,lovesporn,ponchik,rascal1,mercurio,garcia1,lasombra,jaredleto,lombardi,putang,damascus,pridurok,maggiema,invalidp,madeleine,polniypizdec110211,one4all,sasha12,kaulitz,qwasz,logistic,beehive,rosemari,californi,kendrick,celestin,avalon1,12345n,allanon,gatto,boost,breakfas,dfkmrbhbz,already,qpwoei,holding,bmw520,amsterdam1,pegleg,alvarado,winni,lament,kondor,summer10,patchy,thankgod,1girls,collar,medellin,ducks1,filipe,123456789qw,archibald,roar,asbestos,drunk1,janell,corset,silver7,abcd12,lalal,episode1,buttlove,1qa2ws3ed4rf,stupi,jetbalance,guzman,loophole,moises,blackadd,iamtheone,bonobo,pennies,informat,midnight1,qwertyuiop1,huston,azbuka,carrera4,snuff,dtlmvf,jesus12,zackary,1chicken,strauss,gauntlet,sinead,rawiswar,stronger,ivan123,bannana,potomac,aprils,rusrap,governor,harris1,hutchins,rfghbp,pop123,paradoxx,buttface,lietuva,friend1,dinesh,fenerbahce,kenyatta,hornyone,spanked,hater,maniak,teresita,love2011,vern,skaven,caspian,alizee,bagel,baggins1,bradly,rancho,mouche,petro,ichbins,exit,gertie,amandine,henson,seventh,ferrets,ascona,shortie,slippers,focker,chigger,james01,chiller,biochem,0range,scott2,teardrop,bane,krauss,forte,bassboat,watches,wankers,carpenter,vitara,yeager,warrio,brooks1,farmer1,beachboy,benson1,mayberry,trustee,sudden,simonsay,katerinka,holbrook,kender,district,verycool,prufrock,12345zxc,djamaal,logic,gangst,lizards,bassmast,domin,snider,kettle,holymoly,laramie,zaxxon,hazzard,mcgowan,hamsters,supergir,miata,crafts,m1sf1t,hamburg1,boobies1,nairobi,monmouth,atlast,brady12,foothill,kenney,thehulk,1david,sparky12,bobble,trainman,ruckus,gonoles,tardis1,cruzer,hornie,babycat,oakland1,me1234,retarded,billyd,chunk,canoe,jeff1,dirtyd,jiminy,sandler,sing,fatcat1,serpico,freud,harri,playaz,gadzooks,pornogra,dragnet,marge,beertje,solstice,z123456789,assword1,newpassword,console,gasoline,catwalk,tigrenok,micah,poppen,sexdog,spruce,sacramen,corrine,bonk,lisbon,discgolf,flynn,kmg365,mariachi,tinhorse,rfkmrekznjh,pieces,mannie,guzzi,bigfun,kissass,khorne,saab93,1access,bradpitt,monkey22,timepass,bigdogs,zxc321,community,greenwood,shaner,barons,keeper1,highball,radman,bigdan,mandela,mybuddy,traci,ladyluck,ragdoll,pounds,topflite,bighurt,longcut,asshole2,prettybo,mitsubis,suave,snoops,slither,oscar2,yours,wiggum,favre,fartface,proust,waste,bimini,cocorico,mozart1,proline,v12345,brownie1,1qwerty1,1234567t,spooks,myshit,generation,parkway,bogus1,girlz,blueduck,pussyy,matt123,annie2,dragon0,estela,nokias,melchior,onfire,grind,elfstone,number5,everythi,cops,touchdown,redtail,evets,echoes,tiffani,technolo,bullitt,mine12,pimpin1,stanly,ozzman,paul1234,chiapet,dfkthbq,tissue,leopoldo,jaybee,puertorico,liteon,trajan,noggin,mtndew,carmella,mymusic,justyna,journal,welcome12,sc00by,slowly,friction,collier,coondog,alameda,herrera,brush,speaker1,loislane,proper,newman1,vicky1,rings,burunduk,burnett,gmctruck,1qaz2w,azwebitalia,julianne,mirela,sprewell,spaces,francais,loqse,mullen,stonewall,jonny5,profesor,superman2,rogues,kimberl,choppy,minstrel,turbine,dbrnjhjdyf,pimmel,hotwater,defcon1,callan,jaime1,duke1,fishy1,itdxtyrj,fernandes,jazzie,tatung,fraud,verygoodbot,dragos,guido1,vfhecmrf,pickle1,rfhfvtkm,blue2,rock123,unite,gosia,travi,scruff,ruger1,teeth,indeed,scythe,dietrich,korona,habitat,headcase,123456789zxc,9988aa,dfcbkmtdf,koshechka,mercure,yuki,dima12345,dickson,vitaly,maksimus,wizar,djkrjlfd,leighton,moosehea,elegance,mondo,type40,fyfrjylf,vfkbyrf,pierced,freitag,sambuca,1um83z,ratt,messer,snoogins,origami,seconds,shrooms,ranger11,vjzgjxnf,gangstar,quicken,lerochka,kakka,fighter1,asslicker,layout,musi,shivan,fuckhole,timon,vw198m2n,hanter,paska,zaharov,kaskad,mark69,vfhbif,sigsauer,v123456,maxim1935,sardor,wenef45313,3007,45454,74185,151617,199000,492529,666888,1357900,3364068,10111213,15975321,19966991,19992000,24681357,31121910,34524815,96321478,98741236,159357258,741236985,794613852,00001,espanol,caramelo,munchies,yank,1tiger,doober,maximili,gaines,swampfox,1boomer,skiman,260zntpc,ov3ajy,qguvyt,barty,psylocke,holen1,12pack,grenada,sugarbear,jlhanes,aabbccdd,neuman,blackeye,flyer1,marilyn1,drummond,nocode,costas,syphon,tiki,elviss,suffolk,bigdog69,codfish,lastone,daryl,pentium3,dionysus,charmin,ford9402,tttttt1,tk421,lorrie,silverst,1johnny,creaven,levelone,alona,anon,goomba,scotti,torey,kokanee,qazxsw1,12345678987654321,rrrrr1,desoto,sherry1,caeser,emery,jimm,suze,ashlie,qaswed,plop,johnathan,corvair,strand,adolfo,gold1,sass,hevnm4,jowgnx,fwsadn,draconis,phish420,ibxnsm,whdbtp,bonus,portsmou,marce,sexxy1,para,rockz,veedub,wong,ttttt1,keeley,tempgod,hawkdog79,nora,chaney,adolph,yourself,pepperoni,cajun1,cock1,joey1,427cobra,ardvark,lover2,5t6y7u8i,davina,1angel,stjames,eduard1,warrior2,homes,boop,xxxsex,efyreg,lysander,zaq11qaz,spinal,chris69,pigman,1xxxxx,access20,gotit,hamme,komatsu,squirter,shortsto,mellisa,sleepy1,granger,freestuff,zw6syj,saab95,ndaswf,wu4etd,artman,4dwvjj,vp6y38,bobbyg,watchdog,jo9k2jw2,oqglh565,cyzkhw,razors,honda2,house2,nurgle,fqkw5m,sseexx,arroyo,pmdmscts,640xwfkv,msnxbi,scull,ginger2,bowhunte,affinity,test99,sloopy,bagheera,angel69,beatri,jenner,rincewind,rodents,19mtpgam19,kitt,minette,cubbies1,dorina,mirjam,stunt,rabbitt,holas,woodsink,scorch,axolotl,mopars,calder,p3e85tr,alphonse,c123456,iamthema,magna,rclaki,nitsuj,poet,birthday299,4tlved,c7lrwu,sexisfun,duran,eggbert,parol999,flotsam,asscrack,buxton,fleury,mty3rh,alarm,chato,a654321,alpha5,1234567w,gena,newjersey,conrail,celtic88,djg4bb4b,tulsa,trinity3,69dude,cutie1,pistons1,snook,panama1,phillesh,jamaal,duff,beep,2112yyz,cardigan,sanger,soldiers,ybrbnrf,petr,qweszxc,qwerty88,wookie1,endymion,hund,searock6,hondo1,eyespy,rags,granted,digdug,tacos,aerial,cayuga,ballpark,vwjetta,24pnz6kc,farris,saba,lovergir,ravi,sumatra,deaddog,volt,ranma,nikkii,chris21,fudge1,bump,rally,twocats,slk230,blackmen,hiram,1212qq,mana,arnold1,hibees,omegaman,doria,prettyboy,dasha1,54321a,barclays,kjkbnf,hundred,qweasd12,vvvbbb,333z333,scheme,alemania,redsky,milf,dauphin,turismo,kawasak,husker1,oranges1,alfa147,threat,dracon,steroids,1guitar,tuczno18,playstation3,killer666,scoubidou,anthea,jerusale,trading,newton1,spycams,tm371855,tiberium,carrie1,calderon,iwantit,alessandra,flawless,06225930,roflmao,bakayaro,dropzone,academic,lefty1,newhaven,cascades,mithril,tribute,quantum1,kitsune,harleyd,sonic123,rawks,pimpshit,hades,unforgiven,delta9,rowland,ackerman,sandor,applesauce,31217221027711,prodigy1,irvin,alfie1,sachem,monkey01,123456789qq,buffy123,wisconsin,arakis,asdjkl,waddle,fireworks,fucktheworld,sexybeast,anaheim,utjvtnhbz,hiawatha,joker7,pussy3,rotterdam,mallard1,ahfywbz,joseph10,esposito,pseudo,cocoon,roflcopter,anfield1,cheburashka,ali123,12345x,rochdale,melange,kavitha,variable,goldsink,required,amanda11,cance,amalgam,hshfd4n279,abercrom,prostock,technic,343104ky,luntik,htlbcrf,dvorak,gondor,cordless,shammy,vjzctvmz,mimoza,augsburg,nezabudka,lilleke,masterchief,machin,fury,brisco,tickleme,pargolf,maloney,monkey3,combine,ajtdmw,barolo,svarog,dragon00,cyjdsvujljv,mikola,genie,jewelry,poligon,159753159753,lunita,extrem,innuendo,jacob6,q111111,sarit,deluge,monami,sandoval,komarova,necromancer,habs,jimmer,alex77,159753q,rjktcj,marija,medvedev,initial,catsdogs,king1234,ripken8,impossible,campeon,fkbyf001,rfhectkm,tatooine,ghjcnb,xzibit,guadalup,bluefox,teddys,atilla,explicit,strapon,jason12,rocko,thunder7,imhere,eddies,rectum,ber02,cara,theology,baltic,emanuela,bongo1,deltaforce,rosari,tonic,gtivr6,woodcock,hardman,murder1,monaliza,1jessica,karman,lambrett,iridium,solar1,lehigh,condition,chaton,india1,pharoh,hayastan,ammo,overland,tink,bearshar,vanquish,iaapptfcor,silencer,clayton1,bebit,titanik,isaac1,golfvr6,vfrfrf,masha123,asbury,getbent,hustler1,pear,kimiko,letitia,onlyyou,vecmrf,mrbungle,karoline,pornografia,cubby,hardin,firestarter,colole57,dreyfus,ajcuivd289,birdland,london11,taliesin,applemac,cornet,martyr,pascha,farkle,marysia,aretha,kenshiro,kin,rubyred,oldspice,dima1993,qwe123rty,fdfnfh,w8gkz2x1,godzila,asenna,cigarett,equity,steelman,salt55,hebrew,integer,bigboob,pavell,djohn11,bignose,giggsy,birdhouse,gunslinger,backpack,badboy69,variety,spankit,baghdad,12345b,squad,julieta,timmer,codydog,halo123,jordan11,buckskin,toenail,bruce2,gobama,axlrose,delicious,footer,mash,bandit12,cat,cowboys2,banjo1,words,carnal,fuckyou69,buffie,genova,crab,wichita,vfhnbyb,werwolf,flash123,civil,helloman,sillyboy,veggie,holland1,longview,latter,masonry,hound1,bastion,purzel,nisse,proceed,motoko,freeport,trstno1,darkknig,voluntee,scubapro,tivoli,counchac,bigpig,shadow7,managua,tweety1,7777755102q,biking,said,flutie,poly,fiji,harley11,mudhoney,teatime,darock,testicle,executiv,wiener,thebeach,poll,mrbean,chica,madelein,enemy,dollie,camelia,forty2,matthew8,bigdic,through,trillian,speeder,beer1,jazzbass,cuddle,weather1,poiu123,gojets,rainger,cortex,crayola,tamika,evelin,mander,love77,supra1,plumber1,crichton,lapper,invisible,benjamin1,dover1,catmando,ichigo,benhur,bennyboy,schnecke,friedric,manic,scandal,musique,course,neutrino,kartal,pikapp,hartland,wizz,caleb1,springfield,hutch,pinkpuss,tribbles,liquor,oswego,gilly,south1,1samanth,dictionary,2pac,tbones,sureshot,wooddoor,nowayout,stamina,latoya,lakers34,testit,heyjoe,henri,suckthis,bigtitts,bosto,saltlake,therat,gusher,talker,customs,ideas,delasoul,fallout3,nilrem,bigman1,newt,kickass1,theresa1,mach1,bikerboy,moonglow,sideout,marciano,nascar2,james69,mackay,loverr,valjean,hubby,roscoe1,katmandu,hotbod,paulina1,ryno23,logitec,handy,musics,strumpf,scar,bmw325is,hangover,greendog,pastel,metro2033,tombstone,bruckner,ltleirf,collants,grouper,sivart,inline,smoochie,excellent,dickies,benladen,pitbul,robert3,realty,philmont,blue77,noone,perry1,darknight,knicks1,thegame1,1melissa,bacon1,sweat,convict,finished,modems,ducky1,redskin1,popimp,nokia3230,jimjam,toucan,froglegs,incubus1,zoinks,cobaka,yfnecbr,crasher,users,winnipeg,willo,hello1234,moomin,primaver,fordtruck,yzerman1,charlieb,leicester,setup,pearce,replace,rosemarie,kelsey1,branson,makeup,frank2,buster2,cochran,kayaker,masher,ware,1taylor,1jesus,googl,lora,martin2,spear,yes90125,copter,86mets,marques,ethel,made,dallas21,sex12345,nascar20,kidman,starry,seaton,legendary,rowdy1,justforfun,pereira,pavel1,solange,verga,herpderp,primax,fkg7h4f3v6,mariajos,jada,enriqu,castello,mist,florida2,cottages,red5,lostlove,domina,robo,tumble,paris123,james99,matrix3,performa,supermanboy,rival,specops,dictiona,0okm9ijn,crapper,rhfdxtyrj,june29,jeffer,sample,jenny123,avondale,steels,mace,masturba,sveta123,revelation,telekom,s456123789,tbilisi,pirat,schumach,organ,daking,geforce,sakic19,mylov,careful,skorpion39,kinkos,lyndon,bakugan,mireille,vfylfhbyrf,novice,tralfaz,suzuk,pasta1,dima2010,summer0,green7,smurfy,downlow,marit,dimon,freelancer,tujheirf,stein,qwerty321,mevefalkcakk,f123456,aaaaaas,mendel,dima1234,dima2000,mama12,230857z,ticker,datnigga,dmitriev,irochka,fierce,meteora,gfyfcjybr,p4ssword,fvthbrf,fedor,kali,destruct,olive1,q1w2e,werty1,stasya,magomed,quicksan,igromania,francoi,nissa,spinning,vfhctkm,pashka,kim123,fnord,jimmyg,tarasova,soroka,inkognito,tishka,karinka,kala,jonson,shock123,semenova,hatesyou,m69fg2w,unable,tujazopi,consense,99941,119911,123645,123777,133159,144000,159123,215487,234523,246800,272829,555551,666000,4500455,5552555,7558795,8318131,12332145,12435687,14938685,15975346,38972091,40028922,51842543,123452000,123455432,123456780,333222111,heman,chessmaster,amekpass,007jr,petros,zz123456,chach,martin7,huffman,able,herve,hoagie,emilee,72d5tn,yippee,chow,dragula,airmax,sequoia,jarod,hallow,celebs,amy123,torch,nicolas1,pinga,bassingw,gerda,delia,crocker,b1afra,1iiiii,sparticu,counting,jeanpaul,sobeit,sloth,davidg,jeffie,justin11,fantomen,1starwar,1hockey,cricke,fake,beefy,vixens,1zxcvbnm,starss,elle,innow,roaddog,gobbler,glueck,happy12,motorhea,helloween,reba,21crack,maurice1,elocin,perky,firefly1,123456789aa,epwr49,geeman,underwor,abarth,locksmit,d9ungl,volvos40,7xm5rq,arwpls4u,gbhcf2,sigmund,de7mdf,jakob,alphas,euskadi,rogue2,ziadma,demond,m1911a1,gridlock,lipinski,dora,rainbow2,ou8124me,rulesyou,firetruck,kell,1chance,seminoles,fasted,jessica7,all4u2c,godisgoo,euro,gsxr,seiko,freddy12,candybar,abc456,jona,carla10,cucciolo,cornholio,yyyyyyy1,webstar,inhouse,rivaldo,1phoenix,kattie,calvi,qrhmis,checkout,vetteman,buick1,waqw3p,2004rj,delta4,ptbdhw,orbita,redmoon,guppy,darby,qcmfd454,tusymo,nevaeh,stucco,area,nbvibt,gethigh,kqigb7,2kash6zq,dlanod,spotter,mangas,duke11,finch,pokesmot,amoeba,lenny1,rockfish,md2020,daveyboy,ricker,pyf8ah,1bailey,sandbox,slickric,potatoe,d9ebk7,curves,sangria,wp2005,lagrange,auditor,jalal123,fifth,sometimes,atheist,cossie,nikolaj,deidre,ogre,rileydog,meditate,boutit,i62gbq,tape,civics,bigman2,maples,girl78,foggy,hemi,sharing,ajay,corbett,aster,lunker,slime,paste,hello99,construc,join,jman,elton,luvpussy,dick12,holliste,cxfcnm,braindea,bravos,squadron,baird,noble,goddard,bolt,shore,rola,tawny,marlena,airbag,ipanema,naughtyboy,herschel,xakepy,sky123,phlegm,arnhem,homewood,yukon1,jimmyc,hogger,nobby,bipolar,germania,geelong,tijger,bob666,scholar,texmex,admin2,energie,foley,cockring,replica,steve69,snickers1,milosc,convert,bittle,andretti,oneday,cocteau,happy7,tate,shetland,carlos12,balla,goatman,wellness,sandokan,peedee,pendulum,yummie,chrisd,lawnboy,bobbyb,kinney,ktyxbr,phisig,oldsmobile,davex,nicklaus,dfcbktr,mystere,handel,zorros,kimba,sepultur,sicilia,taka,romeos,manyak,nowwowtg,1a2b3c4,heartless,netgear,my3girls,fktdnbyf,hooch1,shadow1212,soccer21,nopasswo,suarez,elloco,pusser,zara,1joshua,hondaciv,tempest1,alakazam,duffy1,money01,villa1,hej123,team3x,nolimit5,hacksaw,verde,biohazar,bmw323,tellme,august2,borisov,spots3,going,brehznev,casper12,pilar,ilovelife,homedepo,caterpillar,noise,ripoff,sk8board,hannah01,leviathan,janitor,1234567890qwe,peternor,bailey12,peewee1,atletico,cubswin1,academia,acadia,qzwxec,hardbody,bonds25,renton,fruitcak,maduro,dudelove,qwerty2010,freaky1,ecstacy,el546218,fabiana,deion21,kappasig,florian1,anathema,superpuper,gilbert1,birch,casper2,8letters,template,acuari,tvxtjk7r,rubens,xenocide,rutland,sasha1234,barrys,beaver69,nikki2,dcowboys,yessss,overdose,cfdtkbq,kzueirf,blackmag,tuffy1,codeman,gamma1,roger123,g00gle,agbdlcid,jesus3,malawi,vitoria,roshan,hfcgbplzq,1qasw2,rattolo58,green99,batata,merde,dnstuff,april17,glavine,bubble1,passw0rd1,christer,mike2,moosie,football12,dmb2010,king69,h00ters,hedimaptfcor,mateus,calient,tomat,pollit,juehtw,kalima,turk,twisty,richer,azertyu,gotika,pdtpljxrf,assman1,1234567r,angel5,uniform,hockey2,herkules,james12,sausage1,zorba,poopers,sharingan,pozitiv,jaimatadi,mossimo,rfcgth,fuck1234,lovehurts,turd,washing,eric12,juillet,rajeev,football2,sanandreas,lisa01,creosote,amista,piligrim,dragon77,electronic,trujillo,dragonfire,lennie,alessandr,az123456,elenberg,cosmopolitan,cassey,enamorad,alevtina,mancini,gfhjkm2,hip-hop,elektrik,jasond,qazedctgb,kasimir,salama,nadezda,mausi,ilovepus,zxc12345,roadstar,kaspar,sevastopol,annies,autechre,browncow,beautiful1,nazira,rjpzdrf,djkujuhfl,vaz2106,twinz,cheri,lildevil,danube,redknapp,mariela,vito,greats,tester1,milligan,stiffler,1fucker,bill123,altitude,usmc69,alukard,sailer,esteba,iamhappy,bayadera,sashas,pencil1,zachar,sweetp,soccer99,eatcum,ambient,roksana,sony1234,azerty1,zaebali,shitass,inspire,westward,arriva,cyecvevhbr,loreal,jessica8,anamari,frfltvbz,sweethear,erevan,xtvgbjy,geneve,volvo850,evermore,moxie,chelsea0,genius1,drexler,qaz1wsx2,asdasd1,knob,muerte,strider1,sashaa,nihao123,religion,artem1,camille1,aniston,frnhbcf,mechanical,oskar,couch,pomona,dressage,kellyann,1999ar,tommi,strippers,chris99,whip,rulezz,chicubs,antonella,deleted,fragment,money7,severus,redfred,sebastian1,mcgregor,joni,redeemer,bester,rtynfdh,artemon,flood,artie,flameboy,sperry,nathan12,dukester,kenner,scorpio7,athlete,pourquoi,vfrcbv123,shlomo,gues,rocky3,4815162342a,biskit,overture,chutney,nitehawk,kroger,milehigh,crawfish,hornydog,tigerpaw,radost,myopia,oxnard,delbert,evgeni,mathew1,k1234567,bandito,bigrob,tensor,oldschoo,recruit,artiller,00197400,thebull,section8,bandaid,cannes,racecars,kelly69,sessions,mathews,namibia,vovochka,06060,retro,honeybea,11111111a,rangers9,lobster1,belova,damon1,stormy1,josie1,julian1,tally,catty,evertonf,kagome,sangeeta,torrie,starwar1,katt,spring99,outdoor,sock,osvaldo,minnie1,sti2000,herman1,holly123,superbad,ronin,buddylee,pepper01,coates,council,djhvbrc,dirkpitt,golfcart,manitoba,greener,jacinta,jeepcj5,crazyboy,danica,riggs,blitz1,master23,pfeiffer,navarre,1horny,seniors,ucla,gowings,iforgot1,townsend,lawrun,petey1,ivory,tiger01,navyblue,avemaria,viviane,theclown,makeme,roxane,dinmamma,supermar,probert,neener,rosebuds,nottingh,01011901,rfhbyjxrf,ostrov,seed,delta2,sheila1,wayland,kessler,katelynn,blue88,buccanee,chihuahu,mookie12,parachut,afdjhbn,oneill,bergerac,popmart,doherty,jessicas,curly1,varadero,redrum1,ceejay,vivahate,malaya,dieg,sharks1,joplin,carley,lace,civic1,gobuffs,coleslaw,serenade,rastafari,shotguns,trump,breezer,sitting,spankey,diggers,hahaha1,ferreira,bojangle,lyndsay,phase1,pussylip,luckycat,matt1234,notorious,horny123,thuggin,sadiedog,daddie,bigdaddy1,mackdadd,lines,lakers8,good1,romuald,budwiser,iggypop,anguilla,enter2,twinboys,knobby,johnson2,rambo123,handbags,moneymak,norcal,gripper,pentium2,specials,henrys,maggie12,domani,partytim,gracie1,pacifico,reliance,astrovan,collingw,blueballs,vortec,ghhh47hj764,popstar,zagreb,squeek,ajhneyf,ignatz,ugly,merda,january2,gunn,james5,hideaway,isgood,hazel1,oscardog,trinit,luke1,1panther,black13,1slayer,pimpi,cyberman,b00mer,fractal,randi,comeback,bladder,ronnie1,panther2,1matthew,pitbull1,drives,masters1,shelb,freakshow,milkshak,getpaid,izzy,keifer,jock,spector,biscayne,lauryn,priority,oakridge,rockss,weedhead,merle,voodoo2,johnnyb,management,sabbath1,bob101,jillian1,lyndsey,golfers,roberts1,tauchen,bobbyboy,rocket88,seventy7,durant,tazman1,haslo1,plate,france1,cocodog,wuschel,kola,dekker,pionex,boy,ryan11,mycroft,swerve,tiktak,pepper123,matthew9,joesakic,ktutylf,ufkfrnbrf,cyclops1,monger,halogen,waynes,sicnarf,hawking,valeriy,gogiants,crawler,winter11,jackryan,sexylegs,elguapo,majors,1234asd,glori,sc0tland,gaetan,mcdowell,jame,tinfloor,stratton,fishbait,5t4r3e2w1q,1scott,freddd,nougat,thermo,dill,quagmire,carly1,coolbeans,printers,chaka,reinhard,redcloud,killerbe,jewel1,rennie,fetch,fire911,calamari,blanc,calli,domenic,pariah,filters,a1b2c,gearbox,golfe,mollycat,clicker,sanpedro,oldtimer,dogday,jalisco,tayson,dreams1,fairfiel,forfree,carte,starfury,cocopuff,ratrace,smurf1,croft,fullmetal,travolta,malibu1,bmw330ci,neruda,pappa,finster,blueice,where,znbvjd,cannondale,bette,dinkle,kind,b0ll0cks,crackhead,friskie,liveevil,curious1,lancer1,z1234567,asdfasd,period,eldar,delta123,boston12,putnam,greggy,ichiban,wolf69,lvbnhbq1,topdevice,pink123,09877890,grades,slava1,advantag,printer1,pontoon,1john,qwerty10,totalwar,underwoo,123q321,billions,flame1,nfnfhby,danny123,cocky,supertra,rvd420,homegrow,gotti,flipyou,supermen,shad0w,ghbdt,q1w2e3r4t5y6u7i8,gjrtvjy,pedro123,lbyfhf,lime,kaycee,mutual,redroses,bigfella,joy123,rude,gaurav,masterof,www111,killer66,notyou,bilder,ender1,byajhvfnbrf,monolit,sweetgirl,uruguay,cookie59,shinobu,dbityrf,nelli,zqjphsyf6ctifgu,flamenco,fische,maitre,morebeer,klop,edvard,goleafs,skyhigh,suzanne1,ironroad,rhjirf,sandrin,miche,kath,midcon,viktorija,timoxa,exercise,fabrizi,noncapa0,marle,popol,speeding,redstone,olimpia,11qq11,tallguy,madri,fuzz,sanya,prono1,tyrik123,devices,kavita,natalia1,puccini,taters,gthtcnhjqrf,k9dls02a,takagi,1hxboqg2s,lhbjkjubz2957704,pulley,m0rn3,pradeep,sergik,nurik,devo2706,roman222,tamwsn3sja,6000,123423,125678,135711,183461,198400,227722,233391,369147,481516,526452,554433,998899,999998,1232123,1313666,1314520,1596357,7355608,8543852,9632147,13324124,36460341,77778888,81726354,86753099,88351132,88889999,123123456,299792458,481516234,0009,boobis,denman85,binary,napier,roberta1,007,moreland,xeon,55555n,busch,jasper12,dole,nadroj,septic,leetch,cabinboy,shines,ctcnhf,opopop11,134kzbip,gsewfmck,yhwnqc,dzakuni,amadeus1,blucher,teengirl,bellsout,pescado,ace1,freeee,arundel,showers,doppler,belgario,sexxes,rose12,sociald,beandip,1bulldog,1012nw,hypnodanny,wildside,anjana,clive,fromv,flor,eatit,cavern,1ccccc,1xxxxxx,aleksand,qaz123456,chicag,tetons,biteme12,whittier,cavscout,borneo,1qazxcvb,123456782000,1234as,drlove,nerd,1234a,cyrus1,cisco123,alfabeta,123kid,julie456,charvel,cand,yumiko,ontheroc,h2slca,apogee,clapton1,repeat,john69,yakman,hayduke,blingbli,deckard,545ettvy,bjhgfi,2wj2k9oj,alianza,alcapone,cooool,flagship,gjmptw,runway,muirhead,deftone,monica69,nabokov,hightime,natedawg,hodge,hepcat,eastwest,egon,giusepp,lights1,213qwe879,piehonkii,murdoch,footsie,fredo,horney1,chev,12345aa,123456ss,peppy,angles,suzette,nascar99,adena,stores,llib,vg08k714,baerchen,victim,tamia1,coca,warpath,finbar,openwide,insane1,1chelsea,time1,next,1ferrari,anna2000,baby2000,chew,gepard,tifosi,noidea,gfhjkm007,ontime,cq2kph,wvj5np,concordi,grouse,arschloc,qwerta,surreal,cordero,subito,homicide,89172735872,farout,eeeeeee1,dakota12,ferrer,23jordan,timoth,zachery,linda123,tri5a3,3a5irt,yja3vo,pond,1blue,747bbb,e5pftu,y9enkj,magnum1,erich,troutman,andrewjackie,shaheen,knuckle,chablis,5lyedn,zpxvwy,alina1,hot4you,dante123,uiegu451,btnjey,vgfun4,4pussy,7ovtgimc,graceful,seasons,libert,766rglqy,clumsy,tome,feli,sappho,king12,monorail,succubus,warlock1,willia1,xxxxxxx1,beercan,damngood,lalo,pussyfuck,bootsman,lsdlsd12,bmw530,1yellow,bubby1,sonicx,handjob,nujbhc,scorelan,pot420,boonie,mobster,giles,aisha,prometheus,cinderel,armagedo,ewing,brenner,dirtball,cape,tootall,thema,jesusislord,yankeemp,jupiler,zxgdqn,beetle1,sabre1,novembre,megat,sucess,forgive,bigmac1,1qazxsw23edcvfr4,123456zz,jalapeno,rizzo,austen,brandon0,bintang,fence,intimate,comander,itsmine,bootay,nefertiti,incredible,myword,annick,dukes,spatula,faerie,whoops,chakra,alexand,virgins,antler,sloane,valheru,turbodog,speak,amaterasu,mastercard,brides,dorothy1,paddy1,avensis,jbaby,hard4u,cathouse,hajime,cornflak,kswiss,onlyone4,pjflkork,frankfurt,miro,hertha,rancher,catsmeow,8uiazp,kanker,exposed,plucky,packer1,shanty,konijn,guest1,june17,slage33,hairy1,rfj422,split,socball,pirrello,anchorag,biggins,lamers,mulch,rose123,epoch,sergey123,alicia1,3xbobobo,brakes,archives,pirates1,spacebar,burr,cfvlehfr,cripple,madhuri,peekab00,9379992a,hacienda,bad123,nescafe,takeoff,joshua01,packet,shilpa,tigris,sonntag,mistydog,engine1,carter15,thedevil,rjhjkmbien,a9387670a,cellar,barbaros,monday12,dicksuck,abaddon,alex00,fatdaddy,security1,crabtree,raven123,kiran,ktrcec,1fire,sophie12,fred99,vitae,mrjones,tonedup,cutler,sugaree,abuse,episode,pixie1,ares,carton,alison1,1111111q,tops,boopie,soccer20,gerald1,achille,yankees0,love14,dodgeviper,poppys,guitar12,collins1,tequilla,mercedes1,a1l2e3x4,crest,choctaw,2110se,1adam12,holloway,chiken,07070,mummy1,zaq123wsx,ferndale,jam123,ghbdtngjrf,loveee,.adgjmptw,bandung,victoire,zadrot,mano,kingfisher,gaspar,andrew01,fcbarcelona,badbo,beam,ramos,wargod,agents,facile,andron,flutter,dagny,provence,qwerty89,precios,maintain,rhodan,sidewinder,all4u,gorodok,n123456,spelling,mcfadden,alenushka,afric,otello,flick,always1,merton,zsxdcf,slovakia,loveislife,soccer16,brilliant,asdf12345,sondra,colonia,alladin,julieb,scarecrow,bald,icecrea,hockey11,angela12,vbhjckfdf,saluki,smk7366,spray,richland,ak47,mylove1,welcome8,simplex,anna2010,lampoon,snaker,fisher1,bats,percy1,harley2,birthday5,ilikeyou,ulster,loveher,firewood,freshman,flight1,alaskan,goforit1,websters,bellas,auror,frames,putas,apolon,apollon,zmxncbv,rjpthju,kotopes,lena2010,cfytxrf,ghjrehfnehf,hingis,alex69,snowdrop,popov,tickles,4321rewq,123qweqwe,opelastra,werthrf,chelsea6,mircea,melmac,kazakov,monito,lesbian1,sioux,malkav,narayan,qazwsxedc12,teresa1,kjiflrf,hockey10,kentavr,fredrik,napoleo,liverp00l,cessna17,feature,suspende,airjordan,stang1,master10,billard,nyquist,rezeda,diablo666,karan,mizredhe,rfvbkkf,thief,yanshi1982,stargazer,julia123,mandy123,max2000,thissucks,brenton,tianna,andrew123,pass2,fantasma,amrita,winthrop,amylynn,berlit,kilian,djkrjdf,angeli,anneke,killer99,marlbor,honey2,planets,hashem,024680,1andrea,edoardo,skylin,fourier,werthvfy,antique,parool,morgan2,kaktys,koteczek,clemence,caio,apples12,chennai,anima,martyna,emerica,exbntkm,chiva,antone,obsolete,blood123,slowpoke,pimps,jordan01,francy,azalia,luthien,zasranec,studley,chuckie1,thegirls,aries1,samual,armagedd,lilia,raspberry,remedy,arturik,chelios,schaefer,dbacks,sevendus,multimed,vaz2108,dimsum,roxbury,baseline,screws,bitches1,howling,scale1,blarney,bunky,grunts,doglover,bagpipe,seaking,septembr,djembe,jail,alphabeta,letmein3,brewski,keno,david7,kalinina,jake11,vialli,fanta,heskey,geddylee,pantry,gizmo69,brittany1,jasonr,clarks,biggreen,birmingh,tracker1,wagon,chingy,ravens1,bangbus,bcnjhbz,truth1,nations,davidh,honda250,pyramide,august16,xthysq,rikimaru,fred01,grimsby,red1,goodrich,curry,millie1,tazzie,bier,firstone,lurch,hullcity,beachs,seymore,yyz2112,carlie,sidney1,bartender,hawkman,goduke,monamour,my2kids,cuban,camaroz28,wedgie,wheaties,bassie,lupus,mavrik,batman7,camillo,missed,olesia,unlimite,qsawbbs,puppie,gaydar,skimmer,fluke,orville,dario,uuuuu1,wwwwww1,confiden,bobbbb,duke01,charlie8,snoop1,blinds,macsan26,glock23,biomed,britten,hunted,carlton1,avilla,bear69,rfpfym,notime,sunmoon,gocards,shame,programm,fishboy,swamp,haywood,clarkson,judoka,digweed,rofl,hyper1,media1,renoir,bunny123,deadbeat,hol,redcross,danielle1,stanle,bluejean,kayley,idiota,banana12,killabee,rifleman,iseeyou,care,natas666,mutt,moriarty,haring,tomcat14,bigair,begin,chatty,kstate,bootyman,12qw34er56ty,padilla,gunther1,believer,zxcvbnm.,schmoe,pron,verbal,granit,honey123,password00,slicks,fiona1,blinker,dreads,shea,piramid,planters,jolanda,forster,german1,chomsky,sarenna,spiegel,hollyb,bernadet,ment,alex2112,activate,neverdie,manning1,nnssnn,buck1,war3demo,boomtown,cindylou,feldman,biffer,solara,billgate,penalty,tandy,waverly,penis123,scouter,richard7,honeybear,rawdog,mrskin,cheetos,newzealand,trumpets,lorenzo1,volcom1,1fred,trapdoor,sexy11,veracruz,glide,hardtail,corpsman,boss1,octane,racheal,bottoms,23wesdxc,p4ss,blunt420,vero,fuchs,bigjay,1rocks,celtic67,blowjob1,lloyd1,chelseaf,blocker,druids,stimpy1,reddy,copy,nasser,propane,boobman,sanche,twain,hummer1,irondoor,tractors,islanders,billybo,kingdom1,draft,nagual,drunken,christopher1,bitchedup,lucylu,buffett1,osborn,shirt,nivram,aristotl,159753456852,ikke,nando,donegal,awacs,blackpoo,bonny,davion,salazar,shields,t3fkvkmj,huevos,spank1,three11,collant,blind1,fencing,ventrue,perrier,lagarto,golf11,netvideo,exclusive,blumen,shaolin1,philips1,noaccess,mason123,jennyb,godloves,tiger12,bob12345,bobby2,younger,chucks,clint1,carriage,bondar,yonkers,tomwaits,junior2,betsy1,fedora,ludovic,poorboy,geniusnet,tuck,cfrehf,jeopardy,mcintosh,corvet,smacker,grosse,frolic,judson,krazy,demand,tiger99,snorkel,techno1,norcross,silky1,signup,civicex,maisie,collection,password10,33ds5x,tigerwoods,benfic,passio,newjerse,fish123,mikel,mascot,defiance,forgotit,merlin12,intel1,aynrand,chicago7,crocus,isgay,brunner,wolverines,unknown1,7seven,texas123,tattoos,bujhm,archie1,baseball2,longball,junglist,cornbread,panic1,pilatus,acer123,motherfuck,qwerty3,keyhole,porno123,smartie,daisy2,camaron,margo1,chris01,patty1,deltaone,stardog,iowa,hateyou,captiva,arclight,snoopy12,magi,drache,right1,mcgrath,blesse,windsong,toogood,lightsaber,skoal1,lasagne,stavros,skipp,moremoney,123321qq,timewarp,gill,nikon1,joseph12,kerry1,inuyash,toots,supercar,shaitan,ololo,hardline,hass,bassale,whattheh,neverland,cortney,thorns,hashish,orange2,oshkosh,nokia5228,smolensk,jordan22,yeah11,cunt69,myballs,edouard,grunt1,mojo69,metropolis,tort02,leapfrog,accord1,permit,tascam,davidp,kamil1,servant,cash12,freemail,goddamn,dali,zxcvfdsa,mazahaka,djghjc,maitai,sneak,danny2,1234567890w,qwerty666,parol123,love2000,ginger11,treehouse,nugget1,yojimbo,wolfgar,daytona1,riot,uthvfy,krause,matrix12,sssssss1,azsxdcf,cat222,rockyboy,reese1,sirena,wow123,denisov,vfhrbpf,guards,kondom25,1211123a,awatar,tanzania,dumbass1,fantik,dimon4ik,123wer,gfhfyjz,ktybyuhfl,pablos,feelme,flemming,suzieq,screech,juicey,motorhead,123123s,idkfa,playa1,polo1234,kiril,erlan,erbol,123654q,kovalev,siouxsie,password23,sylvi,josh1,vlad1995,slicker,timeline,matthieu,stuart1,sachas,bhbyf,fetish01,wessonnn,lefthand,celti,jeffre,glock19,heatwave,ginny,jansson,geronto,suspect,1bear,nurbol,pitufo,markova,harlow,henrique,kishore,jasonm,sylwia,skipping,warszawa,merc,tamila,maryjoy,ladyffesta,installutil,lekbyxxx,networkingpe,comicsans,pnp0c08,zvbxrpl,tarasov,yuo67,olegnaruto,200,4002,20000,106666,123400,148888,195000,198900,258789,302731,375125,556655,666425,778811,1123581,1236547,1357246,2481632,5782790,12342000,21436587,36987412,66669999,123654987,444555666,1236547890,0002,drogba,shah,1chevy,bunch,somers,wehttam,daddy2,brigade,cr250r,bogies,smallfry,6458zn7a,qvw6n2,hasbro,wolfi,spoony,david01,matild,toobig,birthday3,blakey,satch,kcuf,stace,hines,unicorns,m69fg1w,disease,terrys,scoots,defeat,lynda,pelota,lithium1,1beavis,octobe,pleaser,chippers,karol,nichol1,jjjkkk,penmouse,bearcat1,deli,kisser,vbitymrf,1steve,sp00ky,jerky1,1aaaaaa,123abcd,congo,12345abcde,abcde1,geilesau,lusting,montgome,pompano,cum123,mikes,128mo,1jones,gimp,jasonx,dga9la,v2jmsz,vogel,casey22,cyril,babu,bruce10,sm9934,aristo,kill666,fihdfv,sd3lpgdr,llcoolj,idteul,hardass,hagen,dalglish,mike24,haven,natwest,seat,bmw535,skorpio,1corvett,puntang,olli,jager,impaler,steal,tincan,gatekeep,spurrier,1abc2,669e53e1,karishma,habit,1smith,shack,1clutch,twopac,arrest,avery1,wilco,matt12,phikap,nemrac,1p2o3i,e3w2q1,daboys,gooner1,pugsly,lift,spammer,cecili,freek,brian2,phunky,tension,f1f2f3,1ddddd,1fffff,1yyyyy,schools,schick,donato,larrywn,steffie,gods,f00b4r,manni,len2ski1,schism,yakumo,474jdvff,nella,jmzacf,kringle,symow8,625vrobg,dwml9f,zesyrmvu,ifghjb,damned69,firewire,date,cde34rfv,cqnwhy,cuxldv,jenmt3,vallejo,rincewin,buddycat,big,7pvn4t,yqmbevgk,bloomer,cammie,sh4d0w3d,gfxqx686,boyle,pharoah,2b4dnvsx,takedown,scammer,buzzed,bastardo,golf99,ulises,konami,holida,danika,gobruins,andrew13,manners,matthe1,paiste,pornlove,rainy,fortis,bronco2,darby1,beatnik,killer23,softbal,d2000lb,minded,cheung,wcksdypk,254xtpss,3tmnej,ue8fpw,harmony1,bust,wolf12,kaylie,rlzwp503,fuentes,all4u2,growth,83y6pv,5qnzjx,vita,bayshore,tits1,lasagna,qwerty02,duvall,momentum,1morgan,chung,carr,harp,quant4307,1arthur,dragon3,sexsite,09090,balbes,jearly,mcfarland,austintx,reddawg,red12,aidan,vanish,jgthfnjh,lvjdp383,fuhrfzgc,griffey1,dickme,balling,patagoni,mhorgan,holman,valium,wavmanuk,jetman,rapala,megumi,lois,chyna,evol,toot,falcor,simo,shrike01,broccoli,nivek,charlot,daisymay,plump,asleep,lowboy,qpful542,tamere,alba,egbert,taint,sk2000,melton,fridolin,virus1,rasheed,adastra,mike18,meanone,000009,dreday,togo,sarajane,blue52,schmitt,hea666,leonel,sigtau,northwes,alexa1,borland,trix,toby1,duplicate,philadelphia,pooka,johnny99,pirelli,dontae,sukram,whatthehell,ohwell,tripoli,rosales,merlin69,appels,drewman,charme,saxons,creed1,wide,karen2,kolovrat,manley,escorpion,volvos80,nena,ea53g5,pepper76,r1chard,passward,plonker,minka,nikeair,rafferty,1star,acuransx,gift,piggie,shooby,gunners1,1black,a19l1980,1shot2,89211375759,vagner,abcde12345,1qaz3edc,manso,leafs1,123456aaa,1qqqqq,nutshell,mount,pagoda,jumpman23,mustanggt,hotcum,isabella1,alesia,natura,sweetpe,abused,mumbai,sexylove,giantess,88002000600,lsia9dnb9y,camaleon,lucky12,make,cathleen,you,shasta1,fathe,theblues,sibelius,manon,shane123,natasha2,onering,abramova,walleye1,whytesha,baranova,edgard,briant,deeppurple,service01,everyone,asdflkjh,ace1210,domination,angelique,spaceboy,agamemno,settlers,goldorak,cahill,tickets,kipelov,duffel,jessy,dayan,123456789i,john99,merlin01,gjkbyrf,creative1,breitlin,gohabsgo,spaghetti,beavis69,crespo,parkside,ashford,malvern,dances,addiction,imesh,password8,dare,utjuhfabz,jor23dan,221195ws,oktober7,jehova,serega123,boy123,silver11,melinda1,allo,qwaszx1,tecktonik,pinche,violette,agent99,max777,timberwo,rocky13,bazzzz,asdfjkl1,aezakmi1,kiara,badfish,005500,technology,pelusa,eyeballs,producti,imagine1,monte1,755dfx,warm,fyfyfc,spk666,klipsch,ktnj2010,armond,misskitty,chargers1,agent1,martin11,a1234567890,mike00,bohemian,cruz,armpit,archi,blimey,doroth,wallaby,yard,almira,sarang,z123456z,dfnheirf,aaa555,balsam,morgane,zoidberg,polic,wildman1,honcho,survive,nautique,gfhjkm22,iloveass,monterre,paparoach,twisters,dawkins,dashenka,birillo,severine,alphaomega,hiroko,aaa777,anna1988,approved,stone32,frogger1,angel9,lamp,veryhot,bailey01,ardent,wonders,dalamar,asturias,elendil,bianc,juanit,madcap,12345ab,1qaz@wsx,reanimator,angelochek,artem2010,vekmnbr,benefits,alex21,ranjan,anastasiy,catering,deano,korsar,windsor1,korvin,azaz09,1234554321q,deadman1,dolfin,dolemit1,pokerface,realmadri,whitewolf,quigley,theghost,stellina,tesoro,george11,moulin,dtnfkm,streetball,astaroth,teaparty,monet1,12345zx,vodolei,froinlaven,jagged,mudcat,baseball3,ofelia,berlin1,schaap,chilango,duende,15s9pu03,badge,shaina,weasel1,andy1,amega,brimston,freund,woodlawn,capita,dominant,mydog,loner,kumar1,dimochka,sixgun,splitter,arshavin,cherise,gostoso,krokus,matia,juve,gooners,ivanka,petrovna,qwert54321,verdi,climbon,escada,kennyg,angel6,cocacola1,arie,artem123,spike123,mightymo,hariom,anna1,asparagus,vfuyjkbz,aziza,habanero,freedom5,mariella,foundati,seashore,devilboy,alabala,esperanza,goeagles,quince,telefono,1234567k,firecat,pjcgujrat,dump,april6,cruiser1,getaway,gagher,serkan,peanutbutter,simba123,redsea,rastas,quattro6,hemmelig,chamois,tanith,breaker1,callas,diabetes,artisan,kibble,channing,qwert1234,atari,snaiper,splodge,lolpop,rani,hxp4life,clone,twice2,1player,hellyes,misa,murmansk,boy4u2ownnyc,scum,bear11,bunches,pepsico,killer11,kahn,explore1,hoping,suckit69,surfboar,bosses,prapor,beholder,2bornot2b,miller31,hello9,spuds,baller23,mario123,gellar,crazycat,baltazar,littlebo,buttmunch,gatorman,twogirls,bosox,grappler,harley69,bambush,iamhere,crickets,longbeach,fizzle,rambone,kikker,cantik,deposit,daisys,western1,tenor,roadie,baobab,monkfish,kellym,chameleo,york,barbwire,befree,spiro,overlook,vtufgjkbc,voldemar,bornfree,barnyard,redfire,wetcunt,itchy,oceane,barnum,splooge,micasa,ferrari5,britt1,domi,suckmeoff,constance,1234567b,tarkan,fende,realgood,maxxx,tanisha,sammie1,pipetka,himura,ludlow,vandamme,7xswzaq,bavarian,sarah2,summer00,nastyman,petty,hotwheels,gorams,tailor,golfer12,insure,fern,bowler1,ddgirls,michelob,cowpie,beerbong,chops,love33,logos,vettes,crayfish,stevek,minus,firehous,ferry,1heather,beegee,backspace,frenchfr,rustys,bumerang,pounce,buthead,miked,satans,heslo,bluecar,liberate,fuckyou!,bighorn,schmoo,parkview,2bornot2,shitball,saliva,thayer,nadia1,darksoul,beograd,jordan123,rassvet,roxydog,pronger,skynyrd,sticky1,painter1,hearse,peapod,way2go,clown1,verynice,pauli,jorgen,martesana,wutang36,phoenix7,sally123,c43qpul5rz,invalid,focused,bethie,stiles,159753z,conair,mermaids,777win,rockhead,playhard,principa,tsv1860,shoebox,sooty,farted,jasonp,dallas11,madone,jamesp,jrcfyjxrf,bhutan,muscat,blabl,momma,scared,mcgee,funboy,hugedick,capella,ballers,bigchief,mojoman,cabinets,scoot,dementia,dimwit,poop1,kellen,dogstyle,buda,bigfan,kimberly1,fosgate,larger,getrich,bodyhamm,jasonc,thrice,sintra,starr1,rodney1,chucker,devotion,elbows,bigstuff,majinbuu,joeman,eliza1,winxclub,gunship,misawa,pitbulls,providen,dragon9,maria2,sweater,simone1,marielle,bonded,billbo,suzanna,hobie,diamond3,chipster,toyboy,cheney,phitau,saddie,kansas1,backside,davidruiz,opium,drill,detlef,miners,schlumpf,wm00022,green22,espace,w00t,crisco,bitchedu,eugene1,hangout,cello,yensid,julius1,rounders,numberon,circles,slayer69,blacksex,blackhawks,forzima,witch1,buns,lee123,crossfir,codename,blotto,bologna1,job314,jasmine2,muffler,dalmatio,ranger12,pavlusha,jenny2,suckmycock,741852kk,travel1,funtime1,mybutt,troyboy,millionaire,briley2,jaso,movement,excelsio,ninjaman,dessert,waldemar,mesquite,anniedog,staley,bobbin,redso,peanuts1,d78unhxq,redwood1,marsbar,ankles,trololo,cordova,trudy,snakey,drumss,freakout,spanis,radley,dink,nooner,racing1,plug,graham1,trademan,running1,garfield1,headers,grandmaster,nitrogen,ilovegirls,dapimp,frequenc,trolley,zzr1100,m1chael,stifler,melodie,nokia6230,chilling,ingodwetrust,thunder9,mishanya,littlebit,s4114d,falcon2,minicoop,diskette,cobra2,rocke,k1ller,owens,jasonn,kennys,deadlock,cornell1,geek01d,pepsi2,toxicity,mesa,skeets,moose123,henriett,dohcvtec,hologram,greater,midas,macanudo,dakota01,fidel,tone,creole,charles3,cameleon,canard,granp,moosejaw,offline,costume,clooney,master5,chrisk,bulle,emory,counters,justfun,icewind,enzyme,polymer,minecraft123,finance1,dignity7,leave,chelsea8,jcnhjd,pierrot,harriso,london20,lightbul,products,1ashley,wwe123,ultimo,nightwing,karina1,fornow,davidlee,whatnow,daddyy,danilov,mickey12,sarahc,slaye,4cranker,cure,teremok,goodbeer,whatif,sweeter,catdog1,lifeson,q123456q,duncan21,lerxst,seanjohn,laura123,parker12,longlife,soccer4,mashenka,titani,desant,nremtp,shanice,mayfly,pokemon2,pasha123,fatality,kiska,dome69,horndog1,qw12qw,runescape1,7f4df451,twinky,standart,shami,westwing,tippmann,fatbob,rfnmrf,marquez,composer,intheend,nutty,doedel,commish,davidr,zermatt,monkey5,qwerty111,jeep95,nesterov,rights,kappas,abkbvjy,waheguru,pastas,jobsearc,aw96b6,mika00,drama,geolog,turtoise,orange3,riesling,anastasija,kashif,rfhfynby,karthik,natasa,fisch,morgan12,igor123,goosey,felicida,whisper1,manuel1,rostislav,bear01,dbyjuhfl,roxann,thomas11,nokia3110,gjvbljh,piknik,loshara,namron,paulaner,glory1,kristel,seward,pass69,pfhfpf,kbnthfnehf,ficker,lopas123,generic1,sucram,erkina,safina,volgograd,fk8bhydb,winnipeg261,futur,cegthgfhjkm,manics,whoareyou,digita,motorol,zerkalo,dusty197,renner,ghbphfr,gokart,kkkkkk1,berezuckiy,my2girls,jagua,marina123,ole4ka,pussylick,pigtails,abigai,conehead,negril,sandhya,gangste,hiroyuki,jinx,teachers,mustard1,suns,gulnur,crushme,hfccbz,megapolis,satoshi,modified,vfvektxrf,jasont,12345678qwe,room112,karolina1,sanek94,kairat,scripto,ktr1996,vlasov,digitalprodu,installdevic,berbatov,piter,moldir,p123456,sherzod,2509mmh,123456@,mmm666,7000,36936,78787,113311,123213,125478,158272,179355,197800,198300,199200,222999,234432,332233,339311,345543,392781,442244,444333,444666,446655,556699,557799,600000,616879,697769,700007,703751,708090,852369,888111,889900,975310,1234512,1234578,1453145,1654321,2835493,3334444,3891576,6031769,6666667,6820055,7894561,12332100,12345698,19216801,19899891,19977991,22221111,123452345,159357456,666999666,951753852,963214785,999888777,billyray,gulf,crying,sirens,avocat,selfish,dunham,walte,maarten,yell,vitalina,netcom,alter,xswqaz,minami,dun6sm,zsfmpv,voyager2,crf450,devilish,seemore,chrisa,taxicab,mont,dave69,cobber,nolan1,huxley,joedog,pimpdad,yesman,jazzzz,1j9e7f6f,mott,masterb8,manda,warlord1,hookedup,matilda1,1power,edgewood,richard3,1eeeee,1ggggg,trojan1,1zzzzzzz,ggggggg1,1rosebud,marth,stout,pussy21,wharton,kucing,abcd12345,worth,byron1,motdepas,asdfghj1,rodgers,peep,cameo,joey123,allianz,antlers,angi,metart,melissa6,tennis11,acorn,masterb,4play,paradiso,hotstuf,a131313,tapout,4ng62t,cooling,toront,rembrand,smoky,nqdgxz,wqmfuh,devlt4,dynxyu,mxaigtg5,tinner,dorsai,lipper,soccer18,peterp,samedi,anglia,04325956,tweedy,cheryl1,chet,nashua,spiked,digge,steamy,fortun,an83546921an13,terces,blac,1apple,1buddy,forrest1,1grizzly,observer,1richard,bigjon,1kitty,wolfdog,spain1,tatertot,stanley2,0p9o8i,ronni,amigo1,wank,penthouse,scan,jblaze,katrine,vfhufhbnrf,tanne,bodger,plan,toasted,filth,foiegras,tiffany2,compute1,viper9,lupine,newdelhi,batman11,chris23,containe,peek,meagain,sharif,xswzaq,anna21,toering,mardi,tgwdvu,wallstre,nirmal,305pwzlr,nbu3cd,ikalcr,tbivbn,critic,iyaayas,e6z8jh,zjduc3,yr8wdxcq,luisa,sumitomo,jibxhq,chevell,hilly,notyours,sniper12,iloveme1,diddy,missey,bmw318i,bitem,sterne,azuywe,barrakuda,spawn666,slurp,yelnats,warlords,fcazmj,spaniard,vasili,sam138989,bestia,hoschi,robbin,qwerty33,bobbym,mystikal,drawde,georgetown,extras,catalan,radial9,lame,chicano,scrumpy,uvmrysez,7u8i9o0p,hotmove,gshock,merson,pizzaboy,pinto1,pandor,drowning,rookie1,betrayed,sonar,flashbac,liefde,abramov,gillie,billy2,boon,berty75,minogue,summer04,iraida,trillion,sexisgood,hen3ry,renwod,1house,booya,4mnveh,anakin1,o236nq,agape,rovnogod,isengard,rook,willi1,maps,gotoit,qwe123456,dark123,67vette,hoser1,wesdxc,mcduff,sands,oleander,chronic1,expediti,skelly,master7,1958proman,iago,hippy,flashes,camaro67,454dfmcq,headhunt,pussyboy,yellow12,tbbucs,gathering,marla,nicosnn,hedonist,greekgod,theta,frances1,andy12,gracia,amar,kappa1,franken,markhegarty,daveman,throttle,kristopher,gregori,koenig,oaxaca,ncc170,dummie,brunel,astra123,necro,bingham,aegis,thom,milkshake,1crazy,newhope,office1,joselito,porto,tillman,skunks,arbeit,smoove,123qazwsx,fonseca,tomato1,austin11,gtnhjd,mishima,shaddy,energy1,peach1,yt1300,newshoes,aaa12345,aaaabbbb,olav,qawsedrftgyh,tarantino,diablo11,abhishek,caseys,drawer,qawsed123,punched,cbr1000,rccola,rhett32,antani,badass1,blue02,drums1,gamlet,symmetry,study,doghot,abc123456789,melbourne,samarkand,adilet,abdula,wilkins,ljcneg,estefan,chino1,infernal,ghjuhtcc,bartman1,mohican,rugged,papyrus,vip123,jasmine5,sesamo,amanda01,muffy1,xenon,lumpy1,brampton,rosit,roulette,testing2,access123,executor,offer,alternat,womersle,dblock,emmanue,spaced,777777a,august25,nichol,karandash,tristram,alber,action1,bb123456,yoland,moppel,jemima,alicat,growing,adam1234,jigei743ks,august11,charlie0,locate,charlest,snowfall,towncar,nagasaki,archer1,filomena,rana,steaks,123456789as,preciosa,tommaso,ctvtyjd,advokat,adxel187,toystory,avocado,unicor,mike21,midgard,ellis1,tool69,thomas19,bangalore,kata,idlewild,trythis,silvers,delfi,francisca,graikos,polito,cjxb2014,emerson1,42qwerty42,moguls,luci,dawidek,karen123,wapiti,oldguy,illini1,joker666,veterok,gr00vy,nostra,rammstein1,craxxxs,mithrand,fhbirf,autumn1,aiko,fishka,jabba1,strats,bibble,aldrin,structur,chloe123,dimedrol,alex23,rubina,getreal,chinita,muffdiver,kazumi,godislov,at_asp,pflhjn,cegthgegth,pornography,dionis,yfcnz,gfhjkbot,mare,bernar,7653ajl1,greenie,tigger11,antero,shinto,cecily,ascend,minnette,vessel,green69,campari,biglove,ale,vinograd,samvel,lesnik,qazsedcft,123321qweewq,0987654321a,sereda,alesya,jlbyjxrf,ujkjdjkjvrf,punheta,kbdthgekm,merlino,1029384756q,mrsmith,widder,gatita,merrill1,quiksilver,challenge,isaiah1,belgorod,aristote,1234567v,curitiba,lindeman,crist,tomjones,alices,mixture,picass,chongo,ettore,ashton1,cacapipi,mcgraw,beloit,chich,mrgreen,ramadan,endzone,vtkrbq,noisette,crumpet,allout,shama,lfplhfgthvf,cave,italian1,highfive,love01,chalmers,alliso,ontherocks,poolman,rfhfrfnbwf,soriano,medicin,sneeze,laur,omega9,dorkus,koldun,deandre,chupa,santeria,rekbrjdf,deathstar,moneymon,ericson,punjabi,mystique,crystals,gumshoe,guido8,fvcnthlfv,winne,qwerty69,fuckwit,anvils,ankita,0u812,lodoss,georgin,timberla,033028pw,fuck11,condoms,downing,cdfoli,label,michel1,asian1,m1garand,bilbao,andr,lumberjack,gigante,ghbdfn,priora,maradon,bundas,indigo1,tigers01,northstar,ilonka,bigwill,strain,prober,nekkid,burberry,doogle,krasavica,vfvekbxrf,anna1989,scouse,hernan,butterba,badnews,animation,animator,bethesda,tomek1,espada,minolta,rfgtkmrf,sloneczko,kononenko,bureau,hunter99,gembird,vfnhjcrby,vaz2110,cross1,dillion,trailer1,balalaika,karimov,franchis,nicola1,shumaher,kartoshka,bassss,raid,redman1,ryjgjxrf,isaeva,anywhere,hebert,crevette,corsa,cockman,sophia1,redlegs,fallen1,shutter,linwood,februar,dogballs,basspro,eliana,misterio,jason5,armenian,2004-10-,bigtime1,brookly,kidding,blah123,streaker,spells,include,roadtrip,holliday,strata,stubbs,buterfly,vulgar,eastern1,asshead,1wizard,sikici,gnomik,aureli,austin123,ellobo,boredom,sack,cashed,1please,ghjcnjnf,jbird,baha,futuro,sirene,kalinin,pistache,baileys,passwrd,clean1,bait,thebears,green6,shortys,david3,govinda,direktor,harmonic,merida,narayana,giants56,salisbur,miata1,george3,weezie,patric1,terry2,winnie1,tyghbn,cock69,redapple,brain1,1balls,denison,licked,airsoft,orioles1,bambam1,wicker,finney,plmokn,hipster,brillig,whitetai,kellogg,favorite3,educatio,scraps,saber1,bailey10,robber,batch,junkies,banshee1,banyan,shuffle,sarahm,caracol,rhtfnbd,danial,babcia,passwo,carole1,apeman,basenji,glencoe,grumble,sashadog,maureen1,chibears,barrow,scoreland,truls,nirmala,bouchard,sybil,bradman,roger2,manstein,wanton,batcave,gerrard8,bmw316,hates,austin01,chrisl,clara1,shack1,19371ayj,demolay,windows9,winte,koala1,berman,neworleans,vanechka,far7766,rare,aerostar,titans1,moon123,xxx111,bigboy12,elsinore,mantas,joshie,sosa,caper,gisele,mardigra,auckland2010,brandi1,conni,deltachi,hockey19,veronique,milkdud,pueblo,lubbock,fresher,scouser,zues,digit,celery,nozzle,beernuts,wolf01,guys,c3po,manolito,gazza1,trail,sexiest,belladon,4freedom,rebel2,074401,ironbird,prett,ozone,eveline,gnarly,lordik,beer30,bobster,tarkus,matty1,susie1,davids1,nintendo64,babe69,mufc,wolfman1,univer,joes,satnam,bichon,all4u3,takeit,missy2,wordlife,quovadis,plankton,lurker,eric1234,foofight,diabolic,duhast,omaha,talisker,1234qq,siberia,liebe,straw,jimmyboy,susanb,siren,brianm,pelle,r3vi3wpass,coco123,fucknut,hello69,tbontb,chorizo,breanne,gobuffs2,tipsy,habari,parents,charlee,lagers,raven69,yfltymrf,sacramento,beaudog,canaries,flimflam,bighouse,housepen,dale88,lustig,flyrod,ampere,littlejo,nannie,hotbody,ironmike,blade123,allblacks,green23,ironman2,bimota,bingoo,needsex,oneluv,shonuff,gifford,jason25,booga,lying,bigstud,hellspaw,gococks,dough,juancho,goonie,wallst,darkmanx,neuspeed,billgates,fj1200,engines,buddy7,mrspock,ithaca,august31,jackin,christian1,marlin1,looksee,heckler,ironsink,dairy,closet,pittman,clough,goodgod,norman1,fastone,yasmi,legalize,warbird,wiggin,wahoos,bath,pratt,hokie,karat,iloveu1,****me,lifeline,rainbow7,rhenjq,ladydi,miyamoto,promo,putamadre,honkey,valve,s1lver,browny,haylee,deepdive,phantasy,gansta,steve01,tasman,pushit,stapler,knigh,sawmill,tuffguy,grace123,kathie,breadman,bran,wideglid,treess,naveed,protos,niner,soccer5,zzzzxxxx,mammal,fantasy7,calliope,jerome1,gossamer,thehip,aeiouy,testuser,hello3,shares,braves10,1amanda,sucker69,builders,corkey,monkies,license,cfif123,volker,partyboy,lobsters,harold1,jonny1,donnell,w2dlww3v5p,jakeman,john01,milky,merger,dovetail,goober12,kline,funkster,4me2no,mandragora,leto2010,seesaw,peterb,mytruck,spirou,omgkremidia,hemp,dogbreath,daybreak,norton1,knight12,magoo1,peter12,shit123,salinger,bubbie,timberlake,crickett,telstar,shyster,jacob2,dedhed,track1,megastar,butterfly1,shecky,dollar1,milwaukee,trimmer,charis,skippe,gillian1,jake99,mst3000,pazzword,furry,woodford,eclipse9,jackdaniels,residentevil,claret,forsythe,lockhart,mookey,1merlin,ruthann,javabean,joiner,strait,leader1,heads,happier,patche,wink,bunny2,daffyduc,stoopid,christal,zyltrc,ranger5,6xe8j2z4,applebee,imajica,marceau,lisamari,caliban,tragedy,augus,housecat,requin,fe126fd,nintendo1,gfhjkm11,mackdad,eduardo1,policema,1freedom,dragon25,pelus,carlos123,offense,towson,remus,mancity1,logan123,cutting,ziggy123,qwerty23,casper99,minivan,random123,copier,qazwsxe,dion,minden,blessme,lovesyou,galloway,offset,mancow,redshoes,pondscum,mainer,daftpunk,blackburn,now,shoppin,linus1,demi,helix,grimmy,epic,univers,corky1,counter1,workhard,methane,sunnysid,speech,solomon1,false,redboy,hungwell,greer,peggy1,uconn,olcrackmaster,monkeys1,gamer1,poppy123,hipho,ficktjuv,shar,viggen,smells,oscarr,dayana,ybrjkftd,geyser,jack10,prince12,mayor,aksarben,987654321z,liljon,bnfkbz,cujo31,morbius,smite,killer69,changepa,s7fhs127,spudman,premier1,painted,herbert1,cybernet,cyberia,ryder,vfhbfyyf,kwiatek,novgorod,daulet,karate1,sasa123,albcaz,kevin12,shaun1,hbhlair,john31,ghjcnjrdfif,ebenezer,thaman,hotmale,maricela,sexywife,millenia,1234567890zzz,denzel,rfnz90,harrison1,n12345,mean,kardinal,wolfram,eumesmo,lisa1,estonia,cleodog,lfdbl11,display,megryan,vodka1,dobbin,scoops,go4it,economics,splat,navidad,mariusz,seeyou,minchia,majortom,oxymoron,eliston,leclair,ducati1,zhjckfdf,threesome,dima1992,jacked,tman,benetton,important,perr,putaria,brasi,tango2,qwertyasd,messy,4809594q,hysteria,stuntman,boloto,dooker,dima1990,samuri,dima1999,ufyljy,hone,1mike,joeblack,nuke,jacob123,mudman,taz123,intent,mangust6403,marvi,dozer1,getdown,scat,koks888,empty,upright,freespace,tayler,multik,ester,lizzy1,grasshopper,galax,mouse123,taker,earwig,mmmmmm1,ktyecbr,welshman,zhanna,pasca,satan6,aa1111aa,platin,fann,fulle,seifer,lthtdyz,litter,rockland,fred11,hickey,magnat,1234567s,12345678s,uekmyfhf,martial,jimmyj,newspaper,0p9o8i7u,freedoms,jetta1,gfhjk,vlad1998,schiller,flintstone,redbull1,trunk,unity,qweasdqwe,oddworld,a801016,tarkin,hide,childre,silvestr,greaser,sexdrive,pingzing,snake123,ghjhjr,zcegth,dkflbdjcnjr,j123456,bcgfybz,bunko18,moonunit,whiteman,kils123,junkman,jimmyjam,sportster,lajolla,membrane,sid123,freehand,variant,maks,zaq12w,monkey21,lecture,ekaterina20,vika2010,qzwxecrv,laputaxx,vladislava,fetish69,exploiter,32615948worms,196,5003,7001,66699,123211,135795,157953,198700,213141,267605,276115,316769,405060,456838,464811,678910,741147,775577,777771,789632,824655,867530,908070,995511,1020315,1232323,1234599,1597530,3247562,5681392,6345789,7224763,8902792,13245678,13579135,15975300,19866891,22223333,44448888,92702689,123456788,123456798,753951852,minhasenha,cables,brinkley,namtab,manga1,cadet,mrlover,hurst,dragon64,cbrown,herbst,mariner1,demetria,ingo,vampyr,homesick,leftover,quatro,bogdana,himitsu,miniskir,fahjlbnf,cargo,dashit,wouter,phanto,homerjay,typical,robi,tuesday1,gammas,ewq321,about,aaaa1,1ccccccc,upupa68,invent,regin,basso,senses,morgan01,5432112345,glimmer,45auto,adnama,bulls123,royce,kissy,mono,aphrodite,dimitris,stakan,s1234567,alex12345,bathtub,gold12,lickme69,blowup,jansport,cool11,bill1234,molly12,deleon,slicky,anhnhoem,pension,luckycharm,keithb,slutty3,cinco,greengreen,incognit,mpetroff,wc4fun,maddo,o4izdmxu,878kckxy,oddball,lazyacres,project1,qaz12wsx,jams,gallon,stever,award,nudge,rolf,taylorma,blair1,lesbia,marwan,lacross,very1,kats,1big,ginsberg,cat1,tramps,patrick3,hotsex69,rape,toolong,1cowboys,chap,1rocky,4fun,1pizza,rebound,ryan123,sinnet,bushes,decembe,garden1,burt,mandys,shorter,overton,cher,joop,sex2000,vasily,devil123,vfrcbvjdf,silversi,arnster55,hairless,freddi,dominati,assembly,gwbush1,snowshoe,selwyn,juanas,securit,reform,2196dc,dreamer2,fairlady,1bbbbb,andrea11,xxxx1,rollo,0072563,bullpen,isotwe,crows,94rwpe,luetdi,pvjegu,glock9mm,4gxrzemq,jkne9y,jtuac3my,qmpq39zr,yejntb,4g3izhox,suzjv8,krieger,93pn75,at4gftlw,ljb4dt7n,wmegrfux,maytag,shoulder,000005,lieben,monsta,qr5mx7,duke123,4sex,dolina,fatkid,fred22,marie123,barbosa,4x7wjr,7ertu3ds,u4slpwra,iluv69,poetic,decipher,cazzo1,wooglin,1sunshin,6jhwmqku,humbert,snoopy2,berli,omalley,adel,nanotech,janvier,peppermint,caterpil,norma1,achmed,gauss,shagme,analslut,madmike,chiefs1,b929ezzh,shawshan,aminor,9kyq6fge,hilda,7f8srt,schulz,gedeon,12345asdfg,hevonen,wayfarer,killemal,soloyo,682regkh,peterc,scotto,found,elgin,agricola,leblanc,kimble,murad,leadfoot,cooney,reneee,downfall,tommyd,bastille,crypt,jump23,druuna,marry,charle1,dumbo,lifeboat,russians,conduit,kairos,sender,germa,parkave,imes,minimax,utfp5e,yujyd360,crista,riven,rocawear,ffej,ufgyndmv,freedom4,presari,b7mguk,porsches,piolin,arne,egroeg,guppie,tears,alex007,logitech1,allay,cobra123,gameday,delenn,sr20dett,busdrive,uvdwgt,phoebus,kurgan,stormie,drwho,jtkirk,ariston,shadow3,andrew88,bigwave,cheeseca,retrieve,zzxxccvv,parisien,qazokm,newmexic,everest1,cmgang1,dave13,fritzy,babyhuey,honda99,006900,ashwin,janessa,dontcare,c00li0,fucklife,hunnie,jugger,aaronb,mashed,jason3,7gorwell,buttnut,yelena,paint1,chand,piloto,godeep,tempo,brunos,567rntvm,tunisia,heat7777,harryb,fhnehxbr,smokeit,buddy23,shinigam,randers,cheek,1braves,whitaker,anthony0,mamon,brigit,queeny,catlin,jesus2,lostboy,cabo,apple22,tenore,mercutio,danbury,vehicle,studs,treehous,crawdad,once,pornman,pokers,carter12,a54321,karting,needsome,asdfrewq,matveeva,milion,alex1959,august12,painful,pleas,blitzen,holera,hillcres,kobebryant,lol123456,dark666,sher,sonofgod,rakker,truckman,sunnyd,qazxsw2,jmh1978,merkel,loverbo,kalleanka,mester,1butthea,nbvfnb,alex02,pullman,bugaboo,skate123,temitope,april13,jumbo1,alibek,anyuta,woodwind,harami,sebora64,bachman,1qwertyuiop,crabcake,basile,boeing1,bankone,melin,divinity,goomie,saudan,waleed,pelmen,tiger200,gatlin,viborg,given,foxwoods,slack,pico,dirtyman,lawntrax,swami,dabble,margin,badbob,dinsdale,argo,shalini,wicca,rando,zoulou,unforgiv,sanctuar,rjvgm.nth,southbay,twins1,clipper1,acmilan1,taucher,rfpzdrf,owner,making,matata,method1,mishutka,dorota,relish,atombomb,open1,verysexy,gavin1,black3,finite,hubbahub,sorokina,flavour,franka,ohyeah1,112233aa,2502557i,carla51,chicago0,coleta,cxzdsaewq,legioner,tortue,millertime,erreway,jertoot,dbrown,arcana,ashley11,fylh.irf,artist1,computadora,lafayett,andreea,taliban,123456789e,gordolee85,forever21,mumdad,munchen,serenit,monopoli,mosley,westend,portillo,keving,rfktylfhm,seether,huskie,dovajb,firsttim,sliders,loginova,blackone,gblfhfc,alicja,eurocard,hockey21,timberwolf,ironchef,fucknuts,dignity,mm111qm,vida,kotek1,jabbar,fdhjhf,caraca,parazit,gunny,hydra,ahjkjd,nokia6630,robertso,cerise,bigdo,sentinal,ajnjuhfabz,212121qaz,gjytltkmybr,qweqaz,aileron,aircrew,tesla,virtuagirl,rfkbybyf,peanut12,sunghi,magpies1,anissa,bucks1,pussyca,mukesh,don123,lbpfqyth,winery,geujdrf,badmojo,akbar,zhukov,a1234b,afhfjy,ersatz,cloud1,whiting,borntorun,ilovejesus,wonka,verochka,lamborgini,ilovejes,speculum,fhifdby,lodge,wizard12,rachid,margare,winstons,babilon,hfvbkm,barbra,waikiki,alyona,spagetti,rossella,marlboro1,ruffian,xenophon,salty1,vanes,38gjgeuftd,sasha1988,alekseev,silver2,alex95,sensation,alex1973,vorobey,mama2010,alena2010,harrow,prestigio,napol,chitarra,rebellio,alex1991,corny,machado,helloall,cavalo,sasha12345,rjrfrjkf,paula123,sanches,gwbush,as12345,barmaley,katharina,eveli,jannie,jetblack,sportin,nedved,milenko,parovoz,a121212,alfredo1,venezuela,grizz,karla1,sardar,kameron,habib,ants,alino4ka,tdutif,fabiano,kolesnik,012345678910,kathrine,twenty20,mcintyre,jb007,sorted,tadmichaels,jose1,wyatt1,roselyn,hardon1,nascar03,sexkitte,zydeco,maries,macker,6339cndh,harley99,stronghold,buffy2,fahbrf,alot,lorna,balloon1,grim,thekiller,altavista,vhou812,turandot,infrared,cristopher,scrub,alway,angelo1,shalimar,willa,sweety1,dingos,lapdog,kerala,hairpie,1111111a,pressman,smokers,flashg,asel,jeff1234,justinbiebe,hotel1,1dolphin,stef,aninha,b00ger,matrix69,bioshock,ane4ka,yfcnfcmz,remembe,avocet,antoxa,lisichka,peralta,studioworks,heike,janis,illuminati,aq12ws,matheus,sonnie,vfhnby,state1,guelph,geraldo,andy11,cjytxrj,goose2,howitzer,gfhfdjp,backward,hardaway,angel99,carin,angelbab,shokolad,madison3,pancake1,microwav,sunil,sayonara,tura,anjela,borisova,tkachenko,asdf11,ghjcnbvtyz,fuckyoubitch,antalya,qwerasd,sleipnir,trash1,asseater,avrillavigne,straus,flatland,pizdets,ubvyfpbz,obsession,trader1,asd321,ivan2010,ziff,diablos,tiziana,ara123,shkola,arsenic,yesican,shape,bonjour1,sunsh1ne,socks1,karlmarx,vtufajy,foxs14,gevorg,a32tv8ls,master00,lalala1,godswill,dallas01,konovalov,artyom,sanan,soccer123,ass1,warior,aztec1,felicidad,buenos,lyubov,bacardi1,kaliningrad,rattlesn,automatic,oleg1995,indian1,boombox,lifetec,bills1,brooklyn1,mcgill,bailey2,cellphone,hummerh2,keylargo,1banana,susans,lakers12,manilow,advisor,eagle7,lovecock,graces,diplom,jaydog,partys,fittan,limbo,dollarbi,magma,baloo,free1,vorpal,terps,junior12,x1x2x3,tiger11,matrix13,chummy,julio1,baton,fair,inspector,multiple,nicole11,baptist,geckos,goleafsg,haloreach,gregorio,barbell,funbags,dolls,blonde1,hickman,barcode,shakespe,bridgette,gmcz71,cocoa1,prado,sears,meoff,burley,sasami,barn,1maggie,barney12,beverage,shoelace,freed,kurwamac,catinhat,simpso,katieh,jayjay1,walsh,basia1,inside1,googie,volvov70,basque,lester1,nokia5320,superma1,crazed,spencer2,gambit1,graci,tujhjdf,freckle,beaches1,bertha1,latics,panties2,parkland,whipit,skyhook,madison9,carrillo,hagrid,bernie1,serve,hibiscus,mydogs,snowwhit,elaine1,mitsu,fatal,cheat,santacla,free4me,prescott,chesney,mossad,grizzley,beejay,amistad,calabria,staten,larrybir,1steeler,nikhil,cindys,tombraid,boriqua,kakawka,deerpark,meee,nibble,shred,skylane,flap,production,have,peejay,wildthing,missoula,00000001,searchin,conor,452073t,madhatte,fanny1,fenrir,hendrick,bhbyjxrf,amonte,tommylee,labelle,monica12,veritas1,ayesha,lucky69,largo,incoming,branden1,terras,rexx,polizei,triste,kalamazo,saphir,liebling,rubin,bluefire,pita,woodbird,constantine,elinor,family01,kimo,w8sted,charmer,spoiler,itali,grundy,gostosa,iamsexy,goblues,derrickh,deshawn,hitmen,hunter69,healer,labamba,hotti,money4,neptune1,trevo,ripazha,26429vadim,ripper1,gerrit,flyman,novass,hollys,belmar,weegee,rexdog,pigboy,dave99,master77,piglett,suckmydi,rollout,steeda,blowjo,phoneman,mynuts,facials,tick,neworlea,massimiliano,sasquatc,ibiza,megans,loveone,browns99,chips1,spices,chancey,sam2000,pussy11,call911,redhair,chevy350,wigwam,noreaga,stjohn,election,revere,tylerb,ruffneck,putney,idiot1,smokeone,cadbury,bill99,parcells,emily2,valves,fatrat,lombardo,likemike,trashcan,waylon,mandie,bitchboy,marryher,lady12,coorslight,renaud,boats1,parrothe,redwings1,fritos,cycling,deltasig,insect,birdman1,carlo1,qawsedr,dutches,trench,pursuit,jonnyb,damocles,caroline1,lloyds,slug,blackdic,x12345,chinese1,pugwash,likewhoa,canal,shadow22,tantrum,money111,raylene,godpasi,shallow,p1234567,gucci1,summer07,share,teaching,supermax,reggin,executive,chaos666,burg,schalke0,psycholo,scorpio2,jeans,paperclip,rastafar,salzburg,chianti,blue2000,deirdre,starrr,bonzo1,sintesi07,rey619,vgfun8,clarkken,london2,lucky8,peerless,october8,darin,chelsea4,wormhole,urlacher,topaz1,dodson,lp2568cskt,spicy,sexfun,sp1der,scooba,animate,retina,swell,britton,reynard,skins1,carlsberg,chrisx,melvins,gonzal,proof,easyride,travels,****you,ratface,masami,bakker,cjlove,legrand,bananna,napolean,kevinb,walther,yankees7,macro,beast666,jelszo,cardio,james3,tanya123,phil413,aston,clio,shamanking,partagas,botafogo,sanborn,honky,drains,josefin,oxcart,disorder,venom1,pepper2,proxima,cumsucker,cbr929,chapstic,lammas,cire,itout,secretar,coolguy1,woody123,padre,cumlover,tarbaby,scooter7,nifty,jaba,antietam,sydney12,limit,touring,hexagon,devon1,reunion,ereiamjh,smeagol,clarets,chapter,dulcinea,crutch,canucks1,gnocca,celula,beach69,elbow,nhfdvfnjkju123,friars,crouton,happy100,penny123,elbarto,weeded,mudshark,webman,sallys,golions,1w2w3w4w,truck2,codyman,str8edge,gattone,xcalibur,cossack,veroniqu,gettysburg,bvgthbz,widespre,sunking,gjikbdctyf,c12345,parent,vidadi1,caddie,lesli,barsoom,drastic,cahek0980,iglesias,calvin69,kryptoni,dupa123,guildwars,fairy,lol123123,scottie1,bracelet,candycane,merit,chris3,dima1994,melissa7,iloveyou123,danger1,1mickey,savag,nephilim,pumpki,fats,cliff1,toadie,newhome,poulet,nissan350z,ch33s3,tull,massacre,chalky,pure,montgomery,cabaret,shiney,charmaine,thefox,doomer,chester7,poochy,madagascar,tgo4466,darrow,maddmaxx,pastry,ghosty,bowhunter,gottlieb,leverage,pooder,monkey23,jackyl,kevink,nathan0,rainmake,cracked,potter1,magistr,june27,nutcase,patt,sweet123,frolov,mordred,bromley,xplorer,cableman,gkfytnf,manol,zippy123,daycare,deanne,dude1998,damaris,powerpower,power7,free123,hemi426,redding,waffen,vinter,june21,muffin12,malik1,742617000027,vbnmrf,local,noway1,jeff123,indies,deagle,scuderia,gilman,ripcord,silverfox,chameleon,silenthill,osca,pogiako,ramsay,nilknarf,cyfqgth,knotty,daisie,daisuke,navigate,tigers12,sucks1,twinss,xcat,hogwash,rent,tenshi,newburgh,shin,1mouse,dfhtymt,dembel,shanda,311music,noneya,stephany,toast1,stressed,cristy,perseus,shiva1,isakov,revenant,flute,qazxcvbnm,popkorn,0147258369,xfqybr,jetlag,boro,nessa,campeo,minouche,kukareku,ledzeppe,deadline,denwer,dilligas,pppppp1,deniss,tupac1,rfvxfnrf,leppard,drumnbass,showgirl,eknock,deltic,qqwweerr,744744z,tane4ka,flatbush,suisse,elusive,stalker123,zxc123zxc,metatron,ghostly,dolphins1,honeymoon,cbvjyf,moderator,limpdick,5t6y7u,dinky,protools,teeny,jayman1,uhfvjnf,jersey1,elder,bankai,capture,homeworld,downunde,egyptian,gondolin,1qasw23ed,007008,station1,volvo240,vanilla1,todays,mouseman,dartmout,qazxcdews,dctktyyfz,panthe,moresex,pon32029,1234567l,eric123,dialer,jarman,marcu,lovelov,hitman1,lollipo,examiner,ridden,hollister,primo1,max33484,changing,zenit,juiceman,noclue,putain,radical1,henry123,kaleka,golf56,cryptic,narkoman,q2w3e4r,fifa2008,000777fffa,41d8cd98f00b,undertake,bombo,hfccdtn,goodgame,marusa,necroman,dontask,frosty1,123sex,iamhorny,everlong,katia,4311111q,nudelamb,pinkpant,schach,tombraider,miller2,spots,sacrifice,12345678m,ag764ks,ghfplybr,scrappy1,hoodoo,happyy,lololyo123,shylock,ironside,tricky1,01081988m,1biteme,booboo12,yourname,uganda,jaimie,tomas1,movado,nemvxyheqdd5oqxyxyzi,thunder3,jujube,hellhole,tomkat,porpoise,olympics,redrocke,sanjar,traffic1,jsmith,pololo,jamesk,kalel,sham,malboro,nigel1,juliya,kostyan,bandit01,kapitan,keli_14,pfqxjyjr,vishenka,kolya1,rolsen,sidorova,titova,ulugbek,adv12775,gblfhfcbyf,mochaj,pavlenko,sephan,hovepark,19952009sa,kr9z40sy,aaa123a,4001,9009,34778,45685,56565,123445,123678,137946,147789,155555,159789,197100,198600,222666,223311,246824,246890,284655,316497,443322,455445,526282,555123,579300,666420,667766,779977,785612,888555,926337,1010220,1357642,1726354,3578951,3630000,3657549,4034407,11335577,12123434,12343412,12345670,14071789,19733791,33334444,46775575,57392632,85852008,98798798,123456654,142536789,1133557799,00009999,spycam,hirsute,0006,0010,hermes1,2183rm,scrubs,rotciv,vinyl,maratik,claude1,nursultan,noentry,trouble2,paul01,dmh415,demetrio,raiders2,bunns,choices,moline,248ujnfk,vinbylrj,ycwvrxxh,kcaj,poochie1,1charles,deadend,dutton,7452tr,anatole,q12345q,octave,bruces,0128um,birthday10,grandorgue,kubota,kensai,webhead,prong,pickel,pillow1,peterg,grubby,feuerwehr,valenci,rummy,1jjjjj,passwo1,hussein,eldridge,chubba,wifey200,ololo123,1pass,melena,ilovemusic,boyd,ginseng,321cba,fatback,tapper,camron,dazed,drizzit,luzifer,boby,firstson,ceisi123,gatewa,barrie,medman,boneman,russ120,mylady,rock12,123123f,ern3sto,cious,spine,mozar,susanne1,entering,shiela,florent,f8yruxoj,tefjps,toltec,aftermath,2gether,emilys,ralphs,16473a,leduc,roundup,loser2,jupite,facade,love99,orgasmic,thesnake,stgeorge,david5,swanny,vale,sina,pippa1,thicknes,kristall,encarta,minty,adamo,aircav,49ers1,1truck,1eagles,madelyn,1fender,luv269,acdeehan,freema,linksys,1jeffrey,mac1,mikeyg,slacker1,montagna,willey,ssecca,hondacar,abacabb,zippo1,lovesong,moebius,cyanide,matkhau,motorrad,redoak,tonka1,monda,absinthe,iiiiiii1,pants1,chia,courts,skyblues,456123a,wabash,viperman,alecia,gatekeeper,01234567890,remove,267ksyjf,redvette,ac2zxdty,hxxrvwcy,lardass,alan1,noddy,atwater,arun,simpleplan,rampant,cincinnati,1pookie,cuzz,hj8z6e,x5dxwp,modest,batman23,eyebrow,animals1,lavigne,zomu9q,nokia6230i,snitch,hunt4red,darknigh,cptnz062,ndshnx4s,wnmaz7sd,durandal,8xuuobe4,cmu9ggzh,apple3,angel3,cribbage,dubois,bitche,bearclaw,treats,1diablo,janbam,bigeasy,blink1,ttam,whirling,october3,manoman,bsmith,matilde,mandi,rrrrrr1,chum,snowie,fumble,cabible,moomoo1,summer98,lieve27,mustang69,exocet,nadege,bapezm,up9x8rww,bodega,deflep27,shafted,8vjzus,cornball,lopez1,mama11,1amber,anja,tightend,paquito,snowmass,ayacdc,early,giuliana,chariot,harlee,giuli,andie,keanu,qbert,elkcit,prism,sasquatch,lewie622,essen,fellows,grinders,kzsfj874,bargain,irma,nofags,rustler,devils2,7inches,nimble,armen,soundman,verna,alchemist,april7,hoppers,thunderc,tintable,basilisk,yomamma,kayla123,motoman,a3jtni,12345rewq,nightime,mxyzptlk,ohboy,banter,fatone,trivium,meet,dezember,ledger,molokai,bossdog,guitarma,waderh,photosho,tobia,junior24,silke,arcanum,spit,shilling,ranger69,leica,kellie1,frank12,april22,mekong,carlit,reuters,towtruck,melone,ranger75,toyman,boeing77,suit,gosling,kevin2,tuba,xohzi3g4,kfnju842,0147852369,raptor1,ralston,green77,heyjude,missy123,greenway,maiyeuem,nccpl25282,thicluv,godard,broncos2,gartner,ivonne,norwegen,movieman,deepwate,suki,severe,eshort,buffaloe,baby69,sad123,pipes,villan,705499fh,barbecue,whatthef,123456789y,allochka,finesse,polo12,maggio,spam967888,summer03,aaa12,123321qaz,belous,ponytail,psw333333,ford123,letmein4,fldjrfn,sissie,almas,checked,jens,licks,mungo,graceland,mathis,fuckoff2,character,mathematics,toutoune,pause,1tiffany,rosebu,klinker,vaz21093,audre,path13,shabby,ch1tt1ck,masha1998,vinny1,ghbjhbntn,fitz,gazeta,agamemnon,manor,fortunat,fltkbyf,twink,panget,shyanne,number3,bayonne,bohemia,optics,abroad,moom4242,keen,beginner,aldebara,eclipse2,pass22,cerulean,bonscott,clem,calbears,junky,rainmaker,snakeeyes,bleeding,signature,pandabear,croco,felina,jerald,chrisbrown,actress,dima1985,azzurra,hallway,gemini69,mada,lateralus,chivalry,paravoz,panda123,supercoo,worldcom,barone,mydaddy,1q3e5t7u,lyrics,naomi1,asdf67nm,chiquit,rev2000,tigres,marlo,leona,ximen,anemone,mommy123,asdasd12,mickey01,brentford,puszek,apple13,enduro,smile4me,bashir,keiths,bebop1,felipe1,happyjoy,hrothgar,biggi,aurelio,actros,diversio,marie2,trento,billiam,amarill,luxor,central1,signon,ujkjdf,8928190a,traveller,bartolo,lucifer666,123four,familie,agentx,kaligula,elodi,zidan,portsmouth,boludo,moimeme,yourmom1,ekilpool,puneet,ghjcnjnfr1,jackpot1,ahmet,thedead,123456qwer,destini,nolife,braddock,irock.,sanchez1,loca,alfaro,anger,ranger02,archmage,boneyard,vaz2101,tankist,steve121,rehjgfnrf,ant123,creamyou,bluetooth,mystery1,married1,cairo,surface,thesis,listopad,pepper11,broadband,cfkfvfylhf,available,1michell,corrado1,fghbjhb,kumari,gauthier,alex2010,kuzmich,redemption,blanka,snusmumrik,cytujdbr,allan123,lease,postcard,coolman1,langston,shadowru,killin,marzena,marilena,bo243ns,omega13,diller,richardson,zanuda,hana,chiar,temppassword,neopets,111a111,n.kmgfy,stomatolog,fktrcttd,alekseeva,iecnhbr,gjkrjdybr,sobolev,sergeeva,lomonosov,a123456z,vfhvtkflrf,raffaello,strela,lala123,dannyb,awsedr,costco,serbia,gutierre,beer12,palmeiras,baksik,mindgame,frdfkfyu,june24,chinchil,alex10,rfhkcjy,marakesh,breton,elmer251,kylie1,orthodox,terps1,projects,jake1234,flblfc,wpoolejr,alias1,staticx,qq12345,garnier,1234567qw,andrew22,cobweb,blackpool,salmon1,aliya,serendipity,trees1,inertia,kyliem,alle,appletre,satelite,aliso,fromhell,almat,designs,jeremia,maral,juggalo1,mourning,barnaul,playgolf,romawka,garbage1,sadies,alvin1,zaharova,musick,astonmartin,solutions,helpm,family5,shivani,daruma,deutsche,ford22,crazy4u,annie123,madison0,murphy01,huntsman,aurinko,cube,marica,baklan,shweta,kissme1,fynjybj,p030710p$e4o,museum,weasle,jerom,skywalk,gerlinde,solidus,omgwtfbbq,assfucke,foru,sombra,reamer,0o9i8u7y6t,anders1,celicagt,sarkis,pleomax,godisgreat,chris13,3techsrl,orenburg,80637852730,greyhound,7418529630,andy69,silvia1,length,lateralu,serdce,nemezida,appel,wrexham,stash,guernsey,empathy,botswana,wiktoria,moloch,tanuki,djljgfl,joe,maris,luckies,note,fy.njxrf,aa123123,teddies,tricolor,kikiriki,ranman,stevenso,barbaris,ujhijr,annarbor,fbi11213,senegal,123ert,bagel1,eliot,lauri,rfhnbyf,villas,rhfcyjlfh,turkiye,estefani,firehose,servo,grace17,arbiter,banderos,tatoo,mama1963,punksnotdead,tanner1,tiger6,australia1,keyman,lordsoth,sweetpussy,lool,dude11,multiplelog,milly,iamtheman,jetblue,dubai,gnorman,komlos,ufhhbgjnnth,guild,armour,yamakasi,cabezon,caseih,piglet1,7elephants,a000000,sharkie,yellow22,druss,appleseed,ashok,fynfyfyfhbde,birthday6,bluedevils,omg123,assembler,sergant,festina,twizzler,aamaax,gfhfcjkmrf,barrynov,punt0it,bruno12,vfvfktyf,kasey1,mackdaddy,dancers,mwss474,whitesta,turnb,backyard,caribe,azonic,vetalik,baby1234,sureno13,kluivert,flatus,mickeymo,nicerack,falconer,jackster,bahama,watson1,libras,bahram,raincoat,buzzman,manchild,spurs123,07931505,smokepot,bigwig,scoubidou2,benelli,nimda,jaihind,chihuahua,baldie,bali,missle,jasmina,balkan,karin1,throw,blasters,oiseau,myron,rapido,enjoyit,doodad,khushi,lowe,mantle7,bigbo,nightcrawler,tigerboy,owen10,bandido,superted,bandits,tankers,livestrong,chrisj,smooches,banging,heiko,grillo,spaghett,leopards,bigblue1,trident1,candide,zane,orange99,level1,lighters,baptiste,elvis77,barada,karabas,quiver,samanth1,fodase,harmless,shantel,week,jkl123,sitges,bartek1,bigmack,bogos,rail,gomez1,manhunt,cubalibr,kenpo,rosina,wombat1,paws,sammyy,purpose,haus,fishlips,asdf4321,intoit,ellison,saurus,postage,mapleleafs,welding,brahma,bern,funkey,poptarts,brillo,waters1,winter00,bassplay,eudora,1porsche,porn1234,sebast,bathory,buckwild,monkey20,i81b4u,kimota,murphys,postbank,superjet,duisburg,harrydog,laurab,snippy,raven3,dorothea,sexsex1,extra300,1q2s3c,boobys,tallulah,dowling,booman,ladygirl,isabela,vfiekmrf,buddy3,mahone,alpha01,epiphany,littledo,surfcity,queenb,sameas,mtwapa1a,bengals1,spindle,monkey24,laster,boriska,neighbor,sketch,hussar,doctorj,jeepin,zapped,phish123,jgordon,bear99,tubby,netman,topdawg,candlebo,daniel01,positiv,beauties,warehouse,sam1,hannelor,blue15,meeeee,saturne,pearly,irwin,felder,reggi,5tgbnhy6,jessicam,1johnson,repent,william7,geometry,dunedin,begonia,junior123,themaste,qaz12,somalia,milan1,wolfe,bubba22,7ofnine,pavlin,bulldog7,flea,rainman1,callista,password21,dannon,robinso,segredo,freedom9,cabana,fox123,medvedeva,blondin,fitzer,shaffer,liberty2,jackas,ferret1,araceli,moonlite,p2ssw0rd,freaker,dover,bryce1,donal,moon1,standup,sunnys,himself,orchids,happy5,benita,mitzie,benn,pensacola,eminem12,sissyboy,loraine,takayuki,termin,tall,bergman,cheerleader,cdavis,berta,hemligt,benidorm,portable,murcielago,cums,legolas1,ensign,alone1,sunny7,command1,czar,666satan,rednecks,greentre,daniel4,solnyshko,jellyfish,ford4x4,oleary,baby01,bhavani,playstation2,m0b1l3,coachman,lovey,erotik,michail,sexysex,fedex,funnyguy,tammys,solder,arnie,peacock1,sandown,irocz28,iyaoyas,minor,macabre,bigbro,left4dead2,fuckyou12,wrestle1,degauss,super5,robert01,flicker,smokey12,bearing,alemap,perrito,cool69,lebaron,bigtom,bigpappa,heartbre,bootycal,igloo,kayaks,dicklick,athena1,jarhead1,harbour,boobss,chynna,justic,shirts,blacker,biglou,bigtop,newcar,master13,limp,popeye1,boarding,womack,lucretia,rocky5,stunna,wutang1,nomarg,knights1,reef,shortdog,forsure,tea4two,joyous,icepick,motorbike,swatteam,scarfac,juggerna,hownow,lawncare,bikes,mike44,bilbob,bloomberg,okie,doubles,gawker1,amazonas,dalejr88,jimboy,rhianna,sparrow1,acorns,macdonal,billygoa,asshole3,mess,sparky11,omgwtf,bugeye,smokey01,baskin,crass,fabrika,thump,westsid,kangoo,dredd,engaged,associat,downtime,songohan,snowball1,hooligans,brunswic,safety1,concac,harwood,1forever,krayzie,altosax,tysons,greenday1,black22,hydrant,shazbot,zealand,instruct,blackdick,greyfox,glock1,cmoney,realman,lmfao,shep,shaft1,holsten,iforgotit,particle,gretzky9,bombshel,rifle,celeste1,alderaan,corona1,dado,west123,lowery,whore1,loveman,blouse,compaq3,triniti,carlyle,honker,lokiju,blown,viva,lego,worldwid,extra1,carnegie,fenwick,jordan99,bluetick,k123456789,bob2000,fajita,essayons,bmw320i,sweeti,employee,bob2,tincouch,cindy2,katlyn,miroslava,samso,bosco123,cagney,booboo69,murderer,find,nafanya,spiff,pornlover,movie1,redskins1,bogdan123,123456789.,nicolett,polopol,jmol01,nicklas,1111qq,yfdbufnjh,landis,ffff1,beatles4,mrkitty,graffix,1tits,cerro,bonoedge,donnelly,randy2,wright1,sammycat,skunk1,1234567m,tass,power9,deadsexy,bookert,badluck,mercenar,merlin99,penelopa,dude1,nascar8,joeboo,lizbeth,gjkysqgbpltw,golf123,ernies,garuda,bazuka,stasia,glasss,worksuck,hairdo,partyon,speciali,behave,slip,rainfall,dusty123,dukeblue,reptiles,msdn,1winter,wilshire,tire,john22,cmc09,texan,bettylou,hagakure,pmdmsctsk,pumbaa,schott,flyingv,buffy16,tupper,love269,disneyland,marcelle,youare,durban,lifeguar,perch,stoneman,phoenix8,mishel,witness,mooki,patrick0,muzzle,hale,milkman1,bruder,cornel,applied,nicole12,brodeur,ticketmaster,number20,superfre,cannonba,sandy69,ribeye,coastal,maser,fubu,milla,ducat,teepee,tompkins,gateway3,fuckyou0,hasher,dwell,potion,hang10,carson1,1xrg4kcq,cbr929rr,deangelo,motorbik,hideout,pussy101,camp0017,dugan,co437at,bottles,doormat,timmy123,paolino,hunter22,ceramic,st1100,vvvvvv1,krondor,nenit,gustavo1,eclectic,april26,hamlin,sprin,1green,katieb,steven2,shanon,123456789c,acurarsx,slut543,sequel,inhere,idea,pouncer,fishie,audia8,soccer69,settle,mammoth1,fighting54,mike25,worms,fontana,chaise,vfr800,sordfish,nofate,hellgate,dctvghbdf,qantas,sprint1,wallop,sixsix6,repvtyrj,zxcasdqw,stack,matters,parton,uranium,monkey6,warcraf,pwnage,coleman1,junebug1,targa,cachou,strateg,pullup,trusty,irock,oceano,edmundo,135135ab,psalm69,lorene,elemental,lone,perkman,salguod,viper99,backhand,serrano,dewey1,qwertyas,mailman1,red007,stanky,soaring,module,indoor,bizarro,brick1,michela,preciou,01telemike01,suzann,jarule,scout2,spender,1miller,wendall,forman,martie,yvonne1,psych,ytnhjufnm,electra1,oneida,integrit,strikes,popp,puddy,ruslan123,appelsin,miner,schmidt1,postal1,terorist,rehnrf,vengence,maroon5,juanma,kassidy,greek1,pimpjuice,repytxbr,other1,gen0303,karima,heavy1,02020,dash,palenque,mixing,laika,iamfree,bigears,damir,contessa,kerrigan,danone,yanina,111222q,loveforever,stratocaster,motorolla,ujujkm,123456789zx,stevo,fugitive,poker123,qaz1234,noodles1,lakeshow,soccer33,dark1,nosgoth,redbud,jordan7,hjcnjd,gooses,darren1,icculus,maul,zxcdsa,bluesea,provista,withnail,spiritus,quiet1,cruella,temp1,david26,deliciou,money777,metadata,hyde,shitbag,imfree,gfkmvf,dunca,diana123,mark01,nikita2000,11aa11,llllll1,qwaszxqw,mooooo,klapaucius,ramiro,bear101,vfktymrfz,smokey2,dracul,keith123,slicko,wetass,doofer,tubaman,phase,labels,jimmy69,nfymrf,acting,rjcnzy,demon123,marchenko,de1987ma,mo5kva,bonni,cronaldo,peterman,telecaster,megaman1,neophyte,lmao,stanza,fgdfgdfg,gfgekz,1986irachka,dfcz123,abc125,110491g,dctvghbdtn,niblick,performance,51094didi,majick,robert11,dolby,gfhjkm13,lapin,starik,martusia,vfrcbvev,markov,dogma1,thingy,losenord,evita,jigga1,jungfrau,zxcvbnmz,rottweiler,zxc1234,zero00,menudo,hotfeet,hardup,gamess,kaitlynn,sisyphus,mets69,limo,goof,pascual,eatshit1,olsen,kazak,dragon6,lucky9,kzktxrf,fermer,contacts,alabama123,faye,crazyfrog,anthon1,tiktonik,ferrum,lavanda,dhtlbyf,liana,romai,trantor,g123456,hookah,yoyo123,ghjcnjz,ghost16,gattaca,fotograf,gilber,gbjyth,rosco1,dumpling,flower12,novastar,yfcnz1,blackstar,iownyou,gerd,pi31415,tentacle,fielding,vasilina,lero4ka,1tommy,ididit,jlbyjxtcndj,mike26,wweraw,lukasz,loosee123,palantir,flint1,mapper,virgin1,flooring,calculator,iloveme2,themoon,radmir,ghjcnjqgfhjkm,sheela,spooker,squealer,kees,peace123,zxcqweasd,murakami,processor,harpo,bullshi,krishn,star22,galinka,rbhgbx,messi,rahul,nina123,geemoney,0000000000d,ser123,italien,vintelok,parfilev,grundle,1jack,matthew3,access22,moikka,miguelit,glenn1,vivienne,stason,hfrtnf,mjujuj,nallepuh,imaging,bissjop,rutabega,janeiro,monitor1,kazakova,mistral1,shakal,batman123,selma,5544332211,optimum,kenwood1,pypsik,installsqlst,klubnika,123456789101,jjones,vassar,moogie,vid2600,xfiles1,jeffy,buster22,solovey,generator,ola123,geolog323,a3eilm2s2y,failed,byabybnb,yfcnzyfcnz,twista,ltcnhjth,z1z2z3,monika1,compatible,uto29321,madera,earn381,soreilly,is_a_bot,531879fiz,4007,36363,44556,123579,123852,125412,125521,125689,131517,146969,151500,153351,154263,164379,166666,167943,196400,197300,197600,198910,198920,200001,241455,255225,258147,258654,261397,333000,334433,336633,337733,428054,442200,444000,477041,678901,709394,754321,786110,789551,800500,963147,1362840,1472583,1593570,2521659,5551298,6060842,8546404,11223355,12345611,12345789,19719870,19911992,19955991,85200258,112233445,172839456,369874125,789632147,1472583690,1597532486,hakan,pammy,adidas12,cruel,williamm,blue00,1234567890m,bbbbbb99,tekken3,bechtel,1member,snuffles,billyk,bb334,takako,babalu,exile,tapioca,cbr600f3,grenden,245lufpq,ytdxz2ca,hallowboy,ranger6,bayer,skirts,hartmann,insurance,fatgirls,clahay,hondacrv,outhouse,asap,gotrice,tana,sutter,fuckmeno,rugburn,weihnachte,2twins,heimer,hubbell,jong,megiddo,flori,validate,timoth1,24lover,absent,11111aaaaa,1hhhhh,ccccccc1,bridge1,stagger,jimmy12,greenn,cranes,heating,mario5,ronjon,hotboi,norseman,hilde,sundaypunch,birthday100,gorges,joesmith,john44,glenn74,def456,fotball,bernd,johnnybo,lynsey,blakes,lisa1234,booom,1prince,tudor,sanman,zombie13,bjarne,ancella2,shawn41,pandora2,ck6znp42,retnuh,1herbier,usaf,analfuck,maranell,veronik,1w2q3r4e,emb377,fishe,pass999,claybird,shashi,derby1,fredy,pelvis,chevytru,gismo,arista,ryan22,kitcat,36dd,battle1,kiler,dynomite,beer4me,sonshine,doug1,damnyou,harry2,hopalong,tribune,1fishing,paladine,1world,bulgakov,1wwwww,mycats,hdbiker,anthony3,yourass,breakfast,lory,niger,roof,kowloon,cheroke,dwarf1,33st33,robinh,tonite,asmodean,come2me,calbear,kennyb,dustin23,mistic,snowey,1bbbbbbb,1for,imran,luis1,1happy,crispin,promises,suckmyco,mjollnir,5w76rnqp,caption,farfalla,troika,lecter,4fa82hyx,x4ww5qdr,forum1,barbel,ford01,witcher,kevinc,avril,peter2,talktome,slon,ears,hot1,a7nz8546,fkojn6gb,zldej102,astroman,preteen,testin,vfdhif,kpydskcw,lg2wmgvr,pointers,bone1,unb4g9ty,65pjv22,nhoj,46doris,nicole23,bigsexy1,1surfer,qwerty01,3e4r5t,allen123,heli,zebra3,endgame,unlucky,counsel,petit,littleone,oohrah,krist,angrick,kesha,cba321,wayner,john33,cody1,rosalba,brownlov,pacer,sheet,allister,shader,wltfg4ta,rocket69,blueskie,mandreki,xsvnd4b2,apa195,zip100,vanya,dm6tzsgp,keren,dposton,8i9o0p,rdgpl3ds,kcmfwesg,tenn,1derful,tanis,aquamann,oceanic,sexfiend,guenther,bria,libtech,klaus1,jerry2,4jjcho,racecar1,hacke,wtcacq,gennadiy,nectarin,bigal37,xela,biged,notes,criss,fromme,inheat,rosen,poidog,motorman,boner69,weekly,myheart,jvtuepip,dc3ubn,analyst,swissair,shores,camacho,voronin,currie,dial,bags,timberland,cobb,carp,1matrix,lineback,gggg1,8363eddy,areyou,rosedale,gandalf3,1234567890qaz,pender,mushin,pgszt6md,redlands,startnow,titmouse,johnwayn,nike23,avon,camaleun,peepshow,lizette,1monster,freaksho,tabaluga,fefolico,contrera,levine,shave,robert99,rinker,wack,accounting,coimbra,jimdavis,skywalk1,raman,harr,whine,grip,thedoc,domodo,exclusiv,kimm,gershwin,failte,benefit,gefest,legoman,socal,heidis,wachovia,qwe1234567,i12345,kuma,safeu851,past,longtong,cokeman,magilla,jagman,shannan,baggie,blindman,hermine,debby,mtnman,valerio,asda,cindy69,johnson4,quinton,aura,valley1,scabby,negra,katydid,asssex,bigbroth,quinta,vallon,zanardi,lutscher,buster99,kourniko,finger1,devilmay,stockcar,aleman,haribol,telefone,a23456,b1234567,vasilisk,upload,classact,todiefor,bbbb1,qqqq1,uuuuuu1,nhfnfnf,strike3,andrew11,husain,trebla,ichbin,master55,ilovemylife,joshua3,antonova,valkiria,intelinside,squires,anastas,berwick,garena,belo4ka,cincinna,hasan,rjdfkmxer,goldtree,forbin,balla007,batterie,route,teodoro,12345j,torrente,1elvis,auburn1,faith123,amber2,heracles,shakespeare,abm1224,bennevis,uliana,lowkey,bobbob1,samadhi,jabell,parman,66chevy,monkey00,homie,castles,comrades,americas,shithead1,monument,tremor,verboten,thordog,thespian,modeling,average,mafioso,adamski,britni,rupert1,salle,raju,maranello,sham69,phishin,heffer,rapid1,fishers,scubad,emilyb,lila,sanctuary,thinkbig,fktrcfylh1,twinkles,march2,mymail,flvbhfk,dent,1manager,hidalgo,trendy,falcon11,muchacho,darwin1,matematica,sada,artur1,chicken123,perrit,monkeybu,0sister0,y4kuz4,anallove,maximus2,yjdjcnbf,gunblade,alons,anna1984,eagle99,lisa12,octavius,gcheckou,cbcntvf,asd123qwe,cowabung,amazonka,12341234q,sheeps,fktirf,choucho,pawel1,stokrotka,almaty,ghjcgtrn,foxyroxy,aguilas,florenci,silkcut,cormac,ahead,sandy2,asmara,alinaalina,henry8,rambler1,confidence,12344321a,newbaby,ranger7,poussin,duckey,happens,skylight,decade,batistuta,liebherr,babie,vijay,beaver12,klesko,janice1,snowdon,matulino,howdie,ajnjuhfa,invoice,green8,calumet,blue14,zzzxxxccc,messenge,atljhjdf,rossignol,arlingto,fkbcrf,shark01,konica,penske,ranetka,alabam,butt1,astonmar,kaunas,delta6,autogod,algeria,bigmaxxx,resolute,getfucked,pinguino,scoop1,bammer,bigun,mm259up,celular,archibal,juanjose,charissa,marihuana,sidewalk,eldritch,romer,anto,palmeira,sasha1992,mercator,parolamea,panam,tacitus,aleshka,gfvznm,sasha2000,www333,nastya1995,comando,kuzmina,aftermat,cfif,rudenko,dervish,protection,july20,sharky7,zastava,bristol1,sashasasha,gracias,beta1,sweetdream,123654z,golf01,and123,garibald,galatasara,madalina,nazarova,a666666,cytuehjxrf,knopo4ka,nike1234,elsa,worldwar,4me2know,elena123,giggalo,salvado,milano1,almanac,azucar,antenna,f12345,sokada,princesse,az12345,buckman,honeypie,alphadog,anneli,alsscan,7jokx7b9du,faustus,brescia,tribunal,precise,sparrows,kyle1,depot,andrei123,sundial,matrix01,webguy,bmw318is,elmers,pokemons,money5,blackhole,sun123,rulez1,madhu,chippewa,amparo,maxwell7,fuckyou6,elland,singe,suite,anaell,iluvtits,cholera,kilbosik,desirae,acuario,cheyenn,judges,stuttgar,andreia,vanesa,andreyka,fylhttdf,coulter,flatron1,telefoon,masha1,andrei1,vasco,sweett,frederiksberg,spinoza,velosiped,blackmetal,culito,andrew10,lovergirl,huggies,serenada,cnhtkjr,amberlee,rothmans,anna13,bambi1,vfyxtcnth,appollo,jbruton,qagsud,angelita,maldonado,1knight,dorsett,engine2,vfuflfy,aggarwal,tattoo1,lfytxrf,kot123,aniram,vika1998,juliane,teh012,anna1986,bkmlfh,lamour,matrix7,klimova,usethis1,123abc123,anusha,housebed,hero63,maranda,anyone,maltby,graphix,mlesp31,gurkan,gfgfrfhkj,caldera,send,roxanne1,underwat,conchita,arabia,radiatio,donkeys,snails,koolhaas,sofia1,sapporo,kzinti,nbuhbwf,vjnjhjkf,arkangel,artem777,babyruth,teatro,magical123,gfhjkm135,chanelle,rushfan,screwme,weinberg,q1w1e1,hannah11,twenty1,hellyea,respublika,haslo,biggio,unclesam,thehun,severn,bambou,chubb,villain,rfyfgkz,hpmrbm41,grayfox,baby12,alexis01,marryme,forward1,badaboom,hardtoon,hatelove,mensuck,kickbutt,eddie123,badseed,sweden1,yjdujhjl,babcock,iraq,panthers1,bagdad,charro,buddyy,boobless,russell2,tazzer,superbowl,ironic,tipton,starz,clam,home12,eruption,goon,ujnbrf,dillard,techdeck,busters,1murphy,comrade,kenya1,drumer,jaiden,kleaner,seeme,buttnutt,balls2,baloo1,ironhorse,montenegro,famine,was.here,omnibus,ashley01,greenegg,european,scooter6,spirits,bandana,suzyq,benhogan,lifestyle,bullyboy,bandy,poutine,mandalay,pistol1,hello22,david77,mysite,tampon,ayanna,rebecca2,ipswich1,1edward,powwow,delirium,rugby2,swiss1,lovespor,s5r8ed67s,cowboy22,lively,cum,putt,barney11,jamming,sexpistols,negros,barrera,saviola,groovy1,sanders1,bear2327,latour,quincunx,logica,barter,bronx1,chuck123,iop890,basalt,hammer22,basel,vfvfgfgf123,basil1,mathilda,otter1,cherri,vibes,knuddel,juhani,fetter,galatea,carolina1,22q04w90e,mollymoo,mirella,vlad777,batman13,saxophone,johnsmith,xpressmusic,dima1998,nicotine,tuppence,sexmania,chacho,sevisgur,chick1,kd189nlcih,polkaudi,thoradin,beaner1,ilusha,colfax,yankees3,thomas10,sirocco,1sparky,goldie1,oooooo1,wwwwwww1,plates,mignon,7eleven,cream1,bcrich,budman1,martha1,stacks,elliott1,melissa3,john23,sheep1,slick123,immune,stool,0773417k,august17,eagles20,irie,cyclone1,tigger99,bendog,cookin,mickey7,shanahan,ducati74,whipper,eccles,clothes,beagles,skidmark,fritzz,hunk,grumman,logging7,bears34,stripped,ashley69,roadhog,midge,studmuffin,bold,buckets,beantown,rolls,kurtcobain,sunset1,boodle,love24,beckman,bajskorv,idontno,portvale,relayer,nomoney,lenora,shamen,beefer,monkey66,lingus,pager,brewcrew,mollyb,gillespi,mother2,after,dedalus,footboy,boog,jose98,obsessio,gogosox,bellaboo,bob007,sleigh,cjhjrf,chorus,malvin,vlad1994,billi,ceramics,maruni,broken1,celebrit,elvis69,seppel,estrellit,felix123,krillin,godogs,grolsch,mrblonde,rousseau,rachael1,petal,solitair,natural1,chuchi,dorset,killer01,invest1,siegel,samuel12,booo,melanie2,studio1,rosies,zebedee,harness,aolcom,duane1,sooner1,regis1,thomas13,scylla,violet1,wakeboar,sabers,fresco,bilbobag,oou812,brainiac,bball23,busman,kimbo1,redfish1,know,deep111,bill2,rotor,gallego,carbone,lanzarot,camshaft,christa1,armadillo,trapped,killerb,fatso,bootycall,bigball,lesson,frank69,cari,speedie,1peanut,automag,goodpussy,russel1,jaysoncj,dwdrums,inbed,snowwhite,muscle1,bigfeet,chinito,yesenia,coors1,sophie2,chaching,2enter,onemore,sucka,tiger22,nowayman,hardpack,eman,fireboy,mangoes,skinner1,ruggles,loftus,philip1,sniffy,ratty,halima,phinupi,rocky4,millerti,iwojima,cork,tobi,nomar,1blood,zrjdktdf,blackfly,pretende,lucky6,jazzmin,woodpony,redlion,speed2,maxwell2,clocker,slides,cokeisit,veloce,halftime,guinness1,phoenix3,hammered,rachel69,tony88,icecube1,akitas,inga,billbob,pompon,compress,suger,william0,rich123,cdexswzaq,poohbear1,chessy,binkley,zircon,october6,tiffanie,endure,ducttape,misty2,dragonfi,molley,iro4ka,kruemel,flippers,dgthtl,falcon12,pingu,giancarlo,feather1,biarritz,physical,harada,gevaudan,humme,solidsna,heron,leather1,cumsuck,slobber,dennys,ttocs,courtne,chunli,briank,ashley2,pagedown,grandma1,buddy01,deskpro,condon,yankees4,mattress,temp01,majik,dragon20,dianas,color1,despair,ssvegeta,sneaks,overdriv,cheese2,chane,thechamp,panther5,alanfahy,william6,alianz,dasboot,tassadar,metalgea,william8,c0rvette,prosperity,red911,melon1,helpme2,tangent,ncc1864,honda123,bdfyeirf,nokia2700,waterbed,scoubidou6,spackle,blub,layton,joey21,bollix,crystal2,darcey,stratman,bluesky1,chess1,phatfarm,willows,sheen,millerlite,beverl,dowjones,mickey11,trooper2,tiggers,tierra,gofaster,markus1,mcdaniel,oooooo99,legola,gnome,fifty50,mikehunt,montez,intersta,bugsy1,earth1,ubique,asdfg1234,deez,anvil,ssap,eliza,beardown,hedonism,magnus1,nyyanks,ratten,faktor,sheena1,marrow,negrito,bosch,lytdybr,isabel1,jimandanne,tommyb,mccann,kekskek1,busen,rube,notlob,bolita,bruins77,kallisti,brattax,kalle1,sashenka,frostbit,kwiettie,perverts,daniel3,basshead,celtic1888,bookman,123qwe12,edward2,diamond7,rossco,creek1,booster1,roots,p3nnywiz,borisenko,45colt,heisman,bosshogg,4294967296,catbert,boucher,billet,michael12,materia,muledeer,wills,1doctor,vickers,boywonde,bckhere,pariss,wonderbo,groover,lespaul1,chinatow,starting,browni,gennaro,motorcycle,excellence,price1,mein,breaking,fishhook,wilkes,james00,carolann,gamecocks,chile1,bullwinkle,gasser,jibber,riobravo,snookums,vino,brielle,grog,fanboy,ranma12,rifles,twolves,december1,qazqwe,kendall1,redial,capstan,spunky1,gigantor,cairns,taylor01,brun,mucker,poiulkjh,dear,944turbo,riverplate,fuckmyass,buzzzz,bubba12,bubbabub,whateva,prisonbreak,hondaman,talula,delacruz,bugged,flog,ghjrehjh,karimova,skelton,energizer,cdtnkfyrf,gostate,braves95,3f3fpht7op,porkypig,joakim,rubberdu,donthate,rfvtgbyhn,comatose,clarisse,zodiak,tumadre,caine,bubbles2,cameron2,taurus1,smelly1,applegat,stingers,rockme,fitte,1camaro,culero,unhappy,ssgoku,master21,malinois,yeahrigh,poopee,dopehead,chewbaca,jessee,carla123,medics,fitness1,kyocera,aphrodit,joaqui,happy99,jackaroo,sharyn,depeche1,grendal,politic,lightman,nitemare,cassidy1,kirsten1,panman,dascha,1cookie,machina,pacheco,chumly,balmoral,delray,cnhfyybr,shitty1,ceres,realmadr,malabar,tigerr,alfa155,hjlbjy,sakur,fullred,lopi,diego123,microlab1,shania1,upsman,ram2500,28infern,muselman,juggler,cooking1,qazxdr,chicco22,twoone,darion,claims,vfvf2011,qazwsx1234,171204j,ketamine,buster21,hopeful1,swollen,gjgjdf,bloembol,medici,youngone,berkley,steve2,lui,roller1,cycles,dustin1,tkachuk,civilian,emily123,deploy,corinth,sillyme,gator2,sammmy,hornet1,albator,upper,jami,loranthos,doneit,kungen,debbie69,liverpoolfc,madma,tooling,mikasa,crfnbyf,heinz57,mark11,identity,moriah,mikeyb,josefa,mistery,shenlong,rse2540,greshnik,abundance,odelay,scare,drizzt1,flagman,tiddles,sailaway,starburs,scram,gbrfxe,!qazxsw2,siesta,wetwilly,father1,snoppy,purple01,handsoff,diamondd,scrap,nfqcjy,rodders,duchess1,jonnyboy,robert123,jacobsen,kaluga,liza2000,hangten,model1,wert1234,madam,theworm,espero,linnea,lindros8,sheraton,pudge1,midtown,dumass,rjyatnf,getsum,fallenangel,cateye,feyenoor,lambo1,ltybcjdf,girly,teach,red111,vtkmybr,sharron,55555d,merete,mirror1,diamond6,00000a,stryke,roosevel,d0ct0r,sexxxxxx,pass10,elvina,giordano,david13,virgilio,grissom,warren1,chacha1,dfadan,dima1989,polygon,gritty,davidw,kurupt,racefan,kazu,harddriv,firedawg,darcy1,1a2s3d4f5g6h,black666,celebrat,michaelb,co2000,mets1986,playme,kmfdm1,wilkie,muggins,laforge,pippa,seashell,xenogear,cornfed,daleks,jesusis1,cheerlea,renfield,tessa1,madness1,gary123,eyedoc,4iter,hoodlum,bigsur,natale,noonie,bsheep75,rolodex,rrrrrrr1,almaz666,efremov,sdpass,suggest,cell,whalers,pander,dimidrol,80988218126,dumont,dell123,00998877,dinamite,smythe,118a105b,toenails,newera,vika1996,koller,oooppp,foodie,ljhjuf,godess,constanc,grimm,b00bies,stuffit,fire69,ifufkbyf,elain,sektor,00000007,nigge,tanusha,dochka,1w2w3w,registr,jokerr,mahendra,colts1,cnhfcnm,gooch,wayout,geri,willie12,weeman,hornball,magnu,molly2,cash1,j0nathan,crashed,yankees9,tranzit,12345$,soboleva,teamster,quimby,shockers,elegant,merckx,ladonna,100years,hiromi,luap,mook,sovereign,silas,vangar,jesse123,bonethugs,nick01,dripik,ab12cd34,within,schuster,s62i93,nukem,lena1982,soapy,pointe,justin10,easygo,nonrev,champio,simba2,elina,ninety,katenka,example,17071994a,tktyf,cjkysir,togepi,unknow,gauloise,9lives,leigh1,paintball1,badminto,tourist,parviz,louder,fraise,gautie,guilherme,111111z,blacksab,leann,leachim,secret2,s123456789,marykate,freakme,thinner,shedevil,mousie,slot2009,highgate,pantss,vladimi,crjhjcnm,schuyler,reece,pink1,polopolo09,feuerweh,9noize9,rounds,tranquil,bycnbnen,atkbrc,selfok2013,fullhous,littlebitch,pussybitch,stitches,theking1,sexsells,swinger1,helpful,patman,rhind101,rotter,nord,nicegirl,gumper,tokyo1,suzi,trot,katerin,manna,jimboo,m7hsqstm,stufff,freeones,bombadil,leighann,merl1n,yousuck1,peopl,joker12,angel21,cb207sl,gallo,lennart,max007,tiffy,brucewayne,ivana,gauthie,h2oski,123321s,peggy12,trueno,bailey11,tiern,maxine1,baston,spookie,mine1,lightfoo,punkrawk,wichsen,knight99,dummys,ludmilla,l0swf9gx,hankster,dfktynbyrf,cv141ab,kalyani,eus1sue1,sexybitc,natala,gb15kv99,staci,bimbo38,01478963,phishing,sasha1997,fackyou,tatiana1,jamal1,nexus1,greeneyes,slava123,izumrud,katya123,marlee,123456qwert,pistols,loller,vika2011,mariska,ncstate,verlaat,phatboy,lisabeth,nestea,tom1,ak470000,10987654321,kurosawa,ladybu,valerik,poltava,fuckyouguys,754740g0,juris01,garfild,makarenko,lebedev,vlasova,roma1993,hjcnbckfd,tsubasa,ulyana,spanner1,nikki123,maksat,r7112s,directory,waitron,lizottes,nata123,heckfyxbr,nikita95,zamira,zz6319,shdwlnds,premiumcash,ramil,tos8217,tiribon12,tornike,9004,10048,78978,123212,123342,123452,123589,132333,149521,159456,182838,196800,196820,197430,198206,198207,198701,199103,199430,223366,226622,243122,255555,369741,369874,382436,424365,493949,515069,527952,556644,665259,666222,777222,785001,789963,888777,1011111,1232580,1313131,1357913,1597532,2597174,3440172,4206969,5792076,6969696,8481068,9811020,11111118,11223300,11223311,11251422,12345699,12356789,14142135,14159265,18254288,19755791,19944991,30624700,31415927,36925814,37583867,44556677,45645645,51525354,52545856,58565254,66005918,67390436,78621323,102030405,123451234,123578951,753951456,870621345,000002,0005,0008,derosa,retsub,rewster,tset,matti,sacha,demarco,richar1,golfer01,jegr2d2,noller,hondacr,pass88,littlegi,nihaoma,brittani,67stang,68stang,ds7zamnw,wycombe,foda,stivone,neeraj,titone,tirana,1jackson,apology,hoddling,eggroll,zucchero,rito,brainy,thousand,1001sin,scheiss,informer,1marine,1bill,72chevy,venetian,1simpson,sickle,adpass,letmego,zilla,richy,schlange,1gggggg,bdaddy,1jjjjjjj,newpass3,ermine,308win,drum66,porn11,1brandon,maulwurf,ace1062,naturals,sell,tannenbau,moni,kcng,qwerttrewq,048ro,1super,jose12,mayhew,runvs,supera,1abcdefg,ranita,fritze,tigereye,chiffon,bobbyj,qwe456,123jlb,adobe,akshay,dobbs,events,bama12,phobia,scott12,5string,blanch,q22222,blogger,luners,sexi,andrew6,gisel,sux2bu,sumo,greatgoo,mirko,randie,tonna,pinoyako,marcus2,xufrgemw,sonofsam,cheops,weihnachten,blackros,goobe,g5wks9,zwilling,maandag,asdzxc123,milo17,alic,everto,paraguay,anthony9,raissa,puffy1,watt,boscos,ardmore,piesek,stable,carlsbad,abc1,abigale,baddog1,fish99,255ooo,charly1,denny1,milka,king99,jack99,1ooooo,1booger,kalimera,1warrior,goddes,triplet,nairda,jackhamm,tiger25,nospam,tbear,honda200,hallodu,1carlos,lolopc,yrrim7,rollover,1baby,tehran,moonrake,agile1,melvin1,jdog,wisdom1,regan,hal2000,fuckitall,quart,teagan,vbnhjafy,coolwhip,signatur,sexygirls,aspect,fcc5nky2,rvgmw2gl,dro8smwq,mbkugegs,chris25,whoosh,gunite,myriad,azfpc310,breads,dogfuck,mooch,thetaxi,event,daywalker,mrpibb,apples2,edmonds,alice123,2much4u,bubb,keywest1,wejrpfpu,wwr8x9pu,watchman,tarzan1,gustaf,crue,ngc4565,2i5fdruv,hkger286,qmezrxg4,rz93qpmq,needed,schwab,javier1,skidrow,buzzkill,sierra01,mandel,canvas,nicksfun,jerryb,crock,sommer1,rick1,gibb,passwordpassword,vurdf5i2,xyh28af4,kzkmrf,euro2000,blackwhite,guenter,kmn5hc,ou812a,sujatha,armyof1,siding,saisg002,audra,chery,musket,eklhigcz,icicle,school12,bigboner,branca,rul3z,amberr,158uefas,lifesux,5thgbqi,triathlo,jamshid,teufelo7,germain,gutierrez,gravy1,pulp,wodahs,alexx,ffggyyo,divedeep,laz2937,4ebouux8,poopi,amit,mani,roxie1,cornelius,jonah,athlon64,bebert,psych0,saginaw,doog,winner12,carvalho,grumpy1,handicap,monkey4,r4zpm3,7seven7,hotlanta,schoolgirlie,tami,mvtnr765,ym3cautj,tangle,jaydog472,jjvwd4,cum2me,camry,differen,brice,duarte,still,bama1,vester,numpty,hball,gusman,pens,smalltit,00700,1rangers,passthief,dwl610,balin,foghat,bankshot,hackett,cessna15,thesame,deles,aekara,bbonds,aoi856,dell50,saisha,rueben,4cancel,swisher,doller,123321w,baldman,johnatha,1zxcvbn,blob,dori,spawns,rigid,stoli,tresor,gtnhjdyf,bootmort,purple11,caso,antonio2,harakiri,highjump,amen,nicole18,backdraf,caustic,borodina,hawkey,rallye,baily,maja,bad11bad,104328q,bogomol,souppp,techman,entertai,spec,morocco,cora,sabbeth,99ford,fast1,mommys,connors,table54781,muffer,gjlfhjr,pauly,fregat,fantas,goleta,grabber,ellehcim,albright,comand,gericom,4real,bensam,pardon,marv,whitetail,knudsen,agent86,dagobah,html,groucho1,calpoly,chulo,sanfrancisco,finding,merlin11,brandan,mervin,brucew,paki,tavasz,diamondb,kanako,gorge,aiwa,cando,changer,ownage123,bugmenot,melis,stillher,fourplay,wolfee,razvan,traxxas,entrar,band1t,muleman,bond0007,wow12345,atom,massie,mkonji,eastbay,ramana,turbot,struppi,bimbo1,boxxer,andreika,bigals,pkunzip,belly1,aaron12,joseph2,star77,jennyc,peludo,odonnell,hewson,diem,123qweasdzx,muskan,debussy,sniper01,hamzah,goofus,salima,easy1234,yarrak,abbas,rjycnbnewbz,toontown,checkito,saskatoo,cleo123,dianne1,pumping,z1z2z3z4,mascha,blood666,vesta,very,gotyou,mermaid1,chinky,sklave,sinatra1,hotbot,coolio1,beverly1,anna1985,hogtie,fate,greenlee,cjkjdtq,muhammed,ideal,bigted,dkalis,picket,alysha,aerobics,restaura,xavie,eire,canbeef,allston,ferarri,clownboy,iced,456rty,dock,labour,rockets1,strong1,kodeord,funfunfu,ironlung,latisha,rucker,eatass,alskdjfh,bigdong,htcnjhfy,123a456,black23,mamusia,primes,galvesto,amaranth,corvette1,a1b1c1,lofton,pogoda,cleocat,ilovemar,alex2,89876065093rax,aracel,goodboss,stater,tiburon1,jjjdsl,anisha,adilbek,copland,diadora,cacique,cbhtym,inverse,desember,sl1200,farming,lektor,passw,sdbaker,cthuttdf,kevinm,iamthe1,siegheil,chilis,jorel,jitterbu,sammy7,tronic,rutter,persepho,zaq12qaz,mtgox,wizardry,reviewpass,sambuka,nathan01,msconfig,arianna1,louisian,anarchy1,alphaome,alieva,apex,heather6,anar,fleece,yorkshire,alerts,kohsamui,fatdick,adidas11,horacio,jazmyn,cascada,lanfear,apples123,kulikov,toonsex,piroca,flameon,march11,koskesh,pcitra,agnes1,newzeala,safrane,zoedog,zaphod42,av473dv,sf161pn,transcend,shuriken,saudade,toma,kamilek,poker0,ballast,surabaya,love20,preggo,ahmed1,nastik,dunwoody,dirtygirl,marthe,aidan1,converge,htyfnf,grigoryan,ania,sebring1,airmail,1iceman,aishiteru,shortcut,rangers2,blackhea,rumpole,scorpio6,toto99,praveen,marston,deidara,kristo,denhaag,august24,daniel0,ghjrjgtyrj,akita,answers,larionov,nausicaa,airlines,prototyp,andorra,vangelis,tango123,neelam,walhalla,mansour,vanill,aurelien,remorse,pinoy,glasnost,isaia,lovehina,bestboy,leander,alaric,chante,songs,aerith,quaresma,gizmodo2,weymouth,phaedra,rufuss,arrowhead,classi,faramir,idinahui,conej,alex1995,a159753,rhfcbdfz,konfeta,jumpjet,1234567qwertyu,sorento,liliput,lytghjgtnhjdcr,wonderwall,111222333000,isidor,assa123,alex1985,merengue,chulita,chelsi,alex1987,fiorentina,mansfiel,god123,escrow,areyuke,vaz2115,indahouse,sex777,chiqui,avata,cagliari,ioanna,granat,lucius,fktrcfyl,nhecsyfujkjdt,alford,neumann,qwertyy,mama1961,pornostar,alina123,a123456b,kickin,miledi,mala,brittni,chelsea7,cthlwt,tarelka,ellada,iverso,isthebes,fuck666,walkman555,cowd00d,almeria,joanna1,ataman,ethiopia,17711771s,travieso,aquemini,kristina1,berlioz,sandia,recoba,jerkyboy,gumdrop,icandoit,lenchik,zgjybz,rose1,forest99,wishing,3611jcmg,amazing1,kathmandu,meeker,spring12,kaylin,anisimov,woman1,harlock,tereza,money99,armine,humtum,megha,nottoday,funkie,lucero,kenshin1,gorden,cognit,fsd9shtyu,philo,videoman,bigbird1,ybrjkftdyf,camion,bpvtyf,voronina,locos,zaqwsxcderfv,rebate,flaco1,avenge,hvidovre,dakota2,9638527410,assets,blume,lucky99,ercole,laszlo,fylhtq1,annapoli,misha123,seemnemaailm,anderlecht,tigertig,soccer09,leonov,zebra123,priscila,margret,wake,chula,cactus1,rockshox,missyou,hygge,kazama,baskets,canopy,andzia,anna1990,anetka,anna1997,ybrbnbyf,jxfhjdfirf,5c92v5h6,purple13,qwaszxerdfcv,qweasd1,ataris,giallo,slonko,lucozade,antananarivu,dunno,maywood,gbplf123,pawelek,makeit,anna1994,geroin,gfhfyjbr,fvfnjhb,sucesso,diamond2,philbert,silmaril,venom123,grandson,redhill,listing,antonio3,heimdall,firstone123,karlmasc,sungod,apartment,vermeer,regatta,artimus,plat1num,dick123,dictator,crisp,nell,moom4261,corgi,distant,thoughts,pa$$w0rd,styx,maxthedo,logan2,pushistik,unclebob,cubalibre,armor,(null,canada99,mistie,shipmate,fibonacci,artemis1,bunnyman,kokain,asdfasdf1,cock22,gopnik,bravado,eeyore1,thebeatl,montesa,vaders,assss,glance,sandan,09080706,silver99,vasile,msouthwa,zjses9evpa,ou81269,brandon6,piccolo1,azerbaijan,wahooo,seau55,hergood,hotlove,whipme,outlaw1,misfits1,bilbos,hoghead,ernest1,humanoid,c43dae874d,tarado,tom,mink,penquin,test3,seattle2,kenaidog,department,123123qq,balata,pinkey,minot,demise,natty,june12,himalaya,pinkerto,bigballa,dewdrop,bash,small1,chode,toonami,fuerte,lawina,peyote,robinho,berry1,mypass1,wonderwo,dancer2,notmine,9ball,paycheck,jesussaves,brother2,rodman91,dopeman,apple11,hammock,1penguin,pugdog,micmac,forbidden,caramon,jorden,prophet1,black9,july16,glamis,ninja9,screamin,philosophy,killswit,kegger,rebeld,czekolada,w8woord,racin,hammett,jazzman1,barge,anabelle,bartend,finnland,barnabas,barnard,jayne,rhett,reina,1justin,viper69,demetra,ligeti,diana2,lawnmowe,rockyy,ab55484,papasmurf,ktm250,p3orion,jazzed,calves,gloria1,barstow,neo123,chelsea3,rockandr,bigboys,shellac,burnt,darkness1,happyguy,jaco,greenlantern,polock,untitled,batty,cbufhtnf,python1,nedkelly,sassy123,cams,kreator,lamppost,bonapart,8vfhnf,batman21,joker777,robin123,ventura1,peter22,battery1,phili,bobbyjoe,yomismo,painkill,antihero,carri,spartak1922,boomers,gervais,beeman,cruises,gulnar,goldenbo,bazaar,genoveva,glassjaw,redarmy,redshirt,1loveyou,basketball1,bearcub,nnnnnn1,uuuuuuu1,marley12,wheaton,coronas,chlorine,67mustan,buddy4,poo_,xyzzy1,reynaldo,inandout,tazzman,normand,cousteau,hello6,specboot,hiccup,junior01,castell,goldi,myles,faiths,im2cool,legion1,redsox11,hotfun,0112358,byteme1,qazwsxqazwsx,nikkis,abby123,scottm,floors,cornhusk,bunkie,defcon4,clash,markp,mykiss,linkinpark,soybean,culebra,fuzzie,cantona1,ditka,beastie1,messiah1,kissthis,beatoff,tequil,cymru,cheesey,chomp,hejmeddig,redcard,beckie,intermilan,1light,cakewalk,pitter,clusters,chasmo,osceola,poolside,reeb,beer69,beer1234,gobulls,chimay,yfz450,pimpsta,bernardi,rocket21,000000z,enormous,anit,swansong,helicopter,poulette,theodora,bellows,creams,below,dolphin9,pater,darth1,cookie2,smokee,1ladybug,regedit,good4you,france98,prout,kensingt,inspect,hanger,psychic,billee,scsa316,blue28,dmb2011,without,peter69,private5,teenslut,bombero,pawnee,frogg,eleanor1,ones,piotr,vassago,august15,edgar1,thiago,brandon7,gusto,cheating,tarbit,tippie,landers,bwana,mauritius,hithere1,flexscan,2305822q,nickey,billyg,kawika,tomjerry,iamsam,chrisg,nnmaster,bradle,oboy,belladog,cool1234,gautam,dreamgirl,superman123,manimal,ensemble,hailey1,simpl,baseball12,dirt49,formel1,pornosta,amber69,divine5,bicho,dooper,superdude,arnie1,brucie,biddy,fishbowl,whitewol,dcp500,devochka,littlebear,sparky99,mary1,goshawk,nothing0,suckfuck,john55,mario12,dukies,beanhead,goathead,faith2,johny,tigers11,cannibus,penpal,johnnyd,fastdraw,halford,notme,hefner,daddymac,thibault,potty,morri,promopas,carded,thereds,tarawa,powerpla,wallpape,morgaine,bettis36,aust1n,matt01,palm,thruster,1theman,1bigmac,liberty7,greenery,bigmouth,bigt,dennis2,stoker,dildo1,hangers,march15,johnd,wetworks,crossroa,gunfight,bunky1,rockcity,tingle,heywood,gordy,gutentag,dirtybir,kimbo,willis1,motox,pepote,bushwick,sharon69,mystic1,kink,stat,katiedog,greatdan,hastur,houndog,testerer,schroede,runnin,multipas,lizabeth,chico123,lund,gillis,sayuri,kumar123,channels,shana1,pecos,birdcage,racquel,washear,shameless,rachele,k1200rs,tools1,kissfan,sassydog,yellow5,optiquest,birdsong,forecast,kingss,tirpitz,bison,laluna,mini14,bobby12,cooper12,mistys,byoung,sammy69,toscana,rhode,modify,cleanup,flag,snake2,mymoney1,cntgfyjdf,blackfin,blackheart,brady1,robotec,joker13,grimreap,ashaman,walsall,motoguzz,kathi,money23,peterk,whoa,thekids,temple1,logcabin,thorny,gordan,bykemo,neverwinter,twiddle,breed,stevie1,pinokio,mclarenf1,stickboy,bloodlus,cinta,torrents,blueone,pussy12,boogiema,bnm123,depaul,bluedragon,delay,scorpian,fsunoles,januari,standrew,dolce,87e5nclizry,justin01,astron,flat,ginger123,bmw750il,stronzo,canesfan,welch,kathryn1,gijoe,luvsex,nomis,65mustan,shoeman,britches,stumper,killer13,terrill,fortune1,jojo123,justin123,bobrik,hotdick,boca,cindee,bodie,bren,cer980,rafale,dfyjdf846,futebol,pinarell,nepal,dude1234,jkmxbr,wilmar,pepluv,zantac,fuckthem,mattias,micky1,giampaolo,danny001,shaken,pace,bouncy,puppets,pancreas,tampico,micki,supermario,union1,lollie,lichen,modesty,turambar,hamm,usopen,pretender,chatting,eagle21,myhero,killed,pandoras,hottuna,sever,roofus,buddog,ryan01,satire,balls123,magic2,nosaints,marten,leaf,dukers,mccall,lovesuck,fillmore,brandy12,chevyss,ryslan,kleiner,buster3,barney01,ou812345,paully,conor1,children2,carrion,longford,pub113,sofun,shaky,chink,mcknight,roisin,redhorse,fuckgirl,gordon2,napster1,doodle1,panzer1,amazed,hebron,sasafras,publish,bridger,topten,miami305,antrim,secure1,tosca,letmeino,roboto,lesabre,grizzy,videogam,brucey,tylerj,clubs,wales1,pointman,gehenna,daniel21,gopokes,ranger98,abbydog,lou1988,sathya,wreck,spankme1,buck123,thank,stunts,hammer99,artichok,gthtrhtcnjr,jimmy99,bushmast,filip,sailormo,amersham,samat,coolfool,1bullshi,mmmnnn,void,lucycat,butterbean,pie123,vfrcbvvfrcbv,canman,mahatma,love88,merman,byrne,cgtwbfkbcn,elroy,lacrimos,maude,caball,arisia,mccain,caraj,dameon,teenlove,palace1,seabass1,pineda,taratata,fitta,marmalad,cameron7,mahogany,huntress,redwhite,interior,nbibyf,june28,lechef,mudslide,canoneos,nalini,kahala,icema,finale,rimini,ember,zxc12,image1,erwin1,carrol,path,goater,october7,channel1,naturist,chrish,kilmer,catboy,shapiro,beatty,jayboy,authcode,master0,rusty5,latrice,smith22,kicker1,surfside,glasgow1,rfycthdf,clements,ingersol,daniel11,selrahc,donna123,maryann1,annamaria,taller,baseball9,steph123,donsdad,system12,marcelit,wrestling1,tedd,orange10,lances,choker,arowana,silver33,chris10,delhi,atwork,hobson,scoopy,merced,palpatin,music2,dishes,smurph,silverfi,1beer,stark,corneliu,design1,insignia,thestone,cools,yoghurt,drain,singer1,5411pimo,dima2009,zimmerma,cowboy12,stalke,excited,wigger,soxfan,retired1,sodoff,kolia123,harley13,sarah69,dude69,dyanna,grill,acme34,sigmapi,bigloser,47ds8x,couger,rebenok,fucky,crenshaw,roby,esteem,r1234567,joshman,sputnik1,croaker,ridges,titti,raver,schuey,lexmark1,salerno,cestmoi,sheree,good123,august9,masterma,helter,love4you,ctvtyjdf,passking,sayan,oleg1994,9379992q,samboy,photogra,aachen,stain,awesom,sleeve,quacker,pooky1,capital5,handy1,poppydog,embrace,ferraris,clementi,kenned,punish,singe11,semperf1,maria12,marcin1,fafnir,marquise,feldspar,sthgrtst,tylenol,robert22,hassle,spooty,lovethem,deuce1,killem,thread,short1,qwertyz,kittykit,monster7,french1,ginny1,liveoak,silverma,kolding,clinic,sam,mama12345,1moose,dnevnik,genial,poopoo1,floor,aqwzsxedc,marshal1,greentree,qweqwe12,conley,presence,purple2,drucker,pentagram,hfnfneq,lolita1,njhyflj,margera,pumpkin2,bond00,powerhou,emmajane,terri1,1qazxdr5,sponsor,darkhors,superx,mineonly,redder,electr,torrid,jaylen,dragoon1,timm,lotrfotr34,caffreys,zvfrfcb,serina,gladiolus,ryder1,hotspurs,boutique,disne,driscoll,russo,gettysbu,holeshot,pixel,recover,shazam1,viper7,logans,p0o9i8u7y6,dave1234,ritual,peggysue,jamesw,koresh,till,llama1,herber,mushka,loved,plant1,bogeys,baldhead,nesta,everclea,dctdjkjl,1nnnnn,muse,vbkkbjy,rkbvtyrj,123321aa,terminato,rfghjy,monday2,lolnoob,nextdoor,giga,santorin,hardest,emergenc,awdrgyjilp,thefrog,flibble,papageno,boomerang,555555d,quietkey,skripka,timbuktu,123qqq,kanat,mrbig,hardy1,123lol123,1234qwerasdfzxcv,gordit,korolev,diann,lionsden,pappnase,tweaker,xexeylhf,dougla,qazwsx12345,studly1,arenrone,italia1,gateway9,jesuschr,axelle,eclips,terrific,edibey,money69,honor1,powerstr,bigsexxy,thesims2,drilling,suckit1,dthjybxrf,lbvfcbr,thrall,panasonik,oinker,rory,emblem,polkaudio,xbox36,asilas,nicetry,letici,nermin,salim,agshar,yeehaa,hockey22,111luzer,mongrel,boognish,kierra,kimono,pbyfblf,thx113,gtogto43,lidiya,pepsiman,jason13,eiffel,polonia,fathead1,nola,station2,ps253535,dragon666,mashoutq,nfyz123,alston,dumbshit,toyota91,struggle,newlove,muttly,gonzos,selassie,gatinho,shmuck,iddqdiddqd,bikman,tcglyued,touche,apple5,assmaster,ned467,jamboree,yjdbrjdf,elise1,stockhol,toplay,matrix99,sofiko,a1b2c3d,thvfrjdf,emilka,valenok,bananza,gribble,sat321321,espn,tinti,felecia,hank1,quintana,alexandra1,1234512i,bimbos,jorge1,gfgf1234,apocalyp,b0n3,spiri,starline,raffael,gasto,fabfive,sharona,lovebugs,marcus12,pikach,reape,cepseoun,pinkpussy,cityboy,w1w2w3,321ret32,babyboy1,fastman,morrissey,nintend,mickey22,sasha11,jkz123,nokiax2,guille,niles,ferdi,sovereig,remi,ferrell,qwest123,stiefel,ozzy666,agapov58,ttttttt1,junkfood,nfyrbcn,profiles,ironfist,squeeky,hjvfynbrf,hondavfr,homer69,pens66,cockgobbler,timati,dad123,tornados,oleg123,dude12,mario64,richard0,12345qqq,summoner,mclaren1,gilgamesh,diavolo,cvzefh1gk,marleen,wm2006,hardguy,galleries,nokian,maks123,nikita1998,luster,birder,lucas12,pica,blargh,tetas,furka,godhead,powerr,kumiko,mamula,cimbo,dextur,moll,gass,shithappens,gallus,sergio1,cheetah1,lindy,cornish,rudiger,aimee1,pocono,topcop,iloveboobies,hambone1,abcdef12,kloster,georgy,irina1,gigant,hereiam,janssen,sommar,nick11,irish123,tree1,ghjcnjgbpltw,shahrukh,longboar,margaret1,vfnehsv,luigi1,nomames,puttana,tr1993,w1234567,quantex,mikeee,viktory,phineas,hammertime,mayflowe,avr7000,teeter,heckfyf,jndfkb,hatman,cbr600f4,tv612se,jason22,smacky,bliss7,deskjet1,0cdh0v99ue,mossberg,tuff,miracle1,huligan,cheez,precisio,karpova,napkin,roman777,mmcm19,klaudia1,vfvjyn,roadrash,nara,medical1,crazzy,nokiaa,perfection,lillo,nazarenko,rfhbyrf,hjvjxrf,dctulf,revelati,rfnfhbyf,love2010,importan,jordana,j1234567,zaqwsx1,shaq,lactate,jesus33,burrows,mike34,rafter,gcheckout,rfgecnfcerf,mammy,selector,secured,wooten,lacroix,minddoc,sweeet,maier,mobility,sudhakar,julija,malcolmx,kamal,kakosja,karim,preeti,0101dd,kisa,vlad123,fizika,pangaea,yfl.irf,l123456,nanette,description,accountbloc,octavio,hardwareid,tidbit,scripts,287hf71h,mrmagoo,romanenko,mkvdari,mdmaiwa3,msinfo,osipov,timt42,ybrbnf_25,nurjan,gfccgjhn,svetasveta,havvoc,123321az,losbravo,sanek,thd1shr,shash,imaccess,gxlmxbewym,n8skfswa,ufdibyjd,bubluk,4060,6001,10078,14028,17098,50000,54354,78965,115511,119966,123592,123699,123978,124365,125690,137955,143000,144444,197200,198020,198800,199410,204060,224455,228822,316271,365214,382563,414243,441232,444888,483422,545645,665566,666444,687887,747200,789056,880888,887766,1010321,1233215,1346795,1512198,2022958,2121212,2525252,2797349,3816778,5556633,7085506,7506751,9124852,9556035,11119999,12457896,15975391,19372846,19380018,19822891,19855891,46466452,51502112,55495746,57699434,61808861,87062134,98766789,159357123,159951159,777555333,999666333,2468013579,dclxvi,1digital,a8kd47v5,supercop,stall,enfant,gentleman,ssbt8ae2,jackfrost,doda99,whit,chevyy,christo1,henr,2500hd,mould,themis,000008,shinchan,winder,dimes,peterm,qwerty09,fiocco,nitsua,happie,ibelieve,mchale,knopfler,hanley,parsley,thecure1,horizon1,chucko,walter34,buster88,fastest,wendigo,platina,fordfocus,contro,verymuch,oldpussy,bman,1bbbbbb,1eeeeeee,easy1,zachar1,1xxxxxxx,jasonj,bob111,greese,arlen,al123456,oompah,scottb,purdy,achim,121ebay,arzen,goodjob,shadow88,bigtim,atep1,austin2,dragon98,1asdfghj,coco12,bertone,123test,123boots1,tplate,dav123,opal,sss123,divad,dietmar,softcore,hathaway,camilla1,penfloor,visigoth,leet,bullnuts,elixir,mark13,singapur,scotlan,shadow14,samo,matveev,blue92,alia,elfriede,animal2000,carlos6,7imjfstw,9hmlpyjd,478jfszk,merlin21,hambur,jhereg,algiers,specter,racism,bung,july1,refinnej,nokia7070,jimbo69,imhome,tobias1,crazyd,lalit,elves,lozano,deedlit,nicks,damsel,lichking,hubertus,suspend,pantyman,moman,newyorke,vfhnsyjdf,liza2009,1month,abner,abra,adolphus,bunyan,1rock,1bigdadd,1alex,bombs,2balls,romper,1sarah,gable,delite,littleb,plain,breeder,5alive,taproot,malaria,paolo1,pools,1packers,hammer69,golfer11,1badger,qwe1234,simbacat,yodaddy,thewolf,lightbulb,inout,liar,ignite,altman,filles,lilone,arnol,angelia,buffs,belt,hoffmann,xxxyyy,123321456654,decent,currahee,emanue,nicole3,holly2,truant,pages,aassaa,paule,peni,dkjfghdk,stork,1honda,1creativ,a6pihd,sd3utre7,chkdsk,voice,wrongway,sassy2,reiner,torquay,wunder,demetri,queenas8151,bigbri,damian1,justforf,mccool24,imani,hedj2n4q,ofclr278,dudder,macross7,johnnn,forplay,gilroy,dotson,jeff12,rosebudd,twotone,schwing,wewiz,jabroni1,dukeman,angeleyes,pipeutvj,dorman,lamerz,2h0t4me,wallstreet,tiburo,goodby,gleb,moores,burundi,tabletop,richard9,acehigh,bendis,gorila,billy5,bellybut,12345678i,invernes,medias,conducto,tooting,method7,barrabas,softball1,hooks,voorhees,moonstafa,barabbas,escort1,lgnu9d,mustaine,calimer,summer13,aerdna,1drummer,albert12,tony12,indianer,scanman,panther6,demon6,tico,byers,cope,petera,duramax,sissi,arsenii,doss,accobra,scottsda,brazen,hymen,poppi,dukey,dago,erathia,gera,44mag,perth,aaazzz,adelheid,camel123,jackie69,n7td4bjl,laurenc,lukas1,peking,loploprock,markin,issmall,giveit,josh12,richey,gborv526,yaglasph,blessyou,refer,dsmith,acer12,franzi,mariette,capo,misterme,bine,checkm8,pussy6,connell,1qazwsxedc,whynotme,monteiro,cage,dott,akron,125wm,auntjudy,waltrip,fica,1234567890987654321,blofeld,barnacle,marlins1,felici,legs11,signin,trotters,flyboy1,dudley1,akuma,joxury8f,5speed,fifa2010,gotime,trim7gun,today2,lark,donaldduck,buster123,brande,booyaka,geral,andrea12,capone1,1234567890qwerty,barth,rabbit66,feeds,lomond,abandon,boolean,monster9,hydepark,opening,devil69,george13,azreal,connecte,montse,matthew5,rushman,jhrl0821,handily,kosssss,nightfal,sixer3,phoenix9,anthony5,oslo,armani1,kaufmann,gemeni,snowcat,kissed,flippe,enlighte,david21,elmer1,86chevyx,f14tomcat,relic,29palms,koichi,mali,melt,98xa29,ygfxbkgt,adamson,turbo911,pussy5,jimb,svenska,greyhawk,keri,volante,christiaan,girls69,anchorat,lovess,lilli,sanskrit,ajax01,queens1,hanford,gayman,ending,gimmesum,bigtex,eatmyass,dogbert1,azimuth,truegrit,jeniffer,targa1,edward11,xenon1,totti,q1w2e3r4t5y6u7i8o9p0,honda450,gigemags,a112233,a159357,anna1982,sammons,ghibli,biedronka,dmitrij,gresham,12345678w,techn9ne,shihan,6gcf636i,primus1,playhouse,gangster1,ash123,jerkin,trabant,guitarman,rakas,sportage,denver7,bogdanova,chevy11,ghfgjh,hesoyam1,asher,nottingham,morganstanley,bobbyt,amanda10,airbrush,hubba,milburn,charit,freecell,astronomy,warp,curlew,pakalolo,hockey4,vfrcbvjd,bullard,nevergiveup,anupam,chivas1,andrea99,minim,arenas,romanson,nepenthe,morefun,bela,gonchar,madhatter,le33px,fredrau,access88,eugenio,impossib,scrapp,morelia,scratch1,hollywood1,stewar,sacrific,bmw750,aiden1,siffredi,nantucke,drew1,acme,wiley1,kravchenko,rochester,darksta,sananton,mary69,looking4,angel007,bubbl,wear,adama,adamas,bmw328,mother12,billa,excaliber,bandman,hello101,mishra,sawtooth,a1234a,dawid1,bonn,pistola,theriver,alfonse,basket1,sophieh6,bluewave,koketka,seymur,123321qw,borodin,felicita,freder,azizbek,adios,bankrupt,1arsenal,birthday2,edcwsxqaz,mark3434,sybase,valmet,backwood,sunday1,molodec,larousse,spawn7,nokia5200,taylorc,deflep,mamaliga,kajlas,wowlook1,manchester1,telus01,motel,qqqaaa,natasha123,casio1,sys64738,alex1974,nostradamus,trish1,newborn,al1716,654321z,epervier,afrodite,poopypan,recon7,skydive1,bokser,jawbreak,penchair,kareta,aldebaran,akinfeev,silkeborg,pensacol,g0dz1ll4,sanction,jesuschris,nn527hp,dolla,milkmaid,terrell1,epsilon1,lillian1,crhbgrf,maxsim,cathryn,felicidade,ezequiel,matrixx,ekbnrf,junaid,amira,polly123,number8,vaffanculo,botanik,jhnjgtl12,arxangel,malyshka,barsic,petshop,fhrflbq,0123654789,alltheway,zoltar,maasikas,sunsets,solid1,59382113kevinp,cachero,resort,password!,karizma,ashram,tarragon,mama1964,joshua0,part,silverstone,chaparra,tetley,havok,bums,saraann,pipeman,numb,1chester,reset1,massi,monarchs,asmodey,sarahh,zapidoo,connor11,sane4ek,journey1,9988776655,blue135,jnrhjqcz,daggers,123vika,ilford,1legend,anna2002,tomb,tsunami1,rolltide1,ybrbnjcbr,portishead,free30,redcar27,footie,moskwa,cougars1,blackhorse,petert,ferrina,cstock,av626ss,macedonia,si711ne,robles,dtcyeirf,1234567890p,picture1,column,cartagen,volodia,folgore,alex1975,katemoss,alegna,burzum,alex1981,digitex,fktrcttdf,yfxfkmybr,evropa,123654789a,sasha777,alena1,leshka,glasha,ytpyf.,bloody1,ancona,ander,haustool,cbljhjdf,alex1971,134679a,northside,skyeseth,alex97,frontosa,andress,diamond4,luansantana,blooming,scudder,rondo,tima,fredonia,anya,valeria1,corrigan,jawa350,contrasena,elmwood,qwe123qwe123,change12,yellow3,cubana,ofcourse,romance1,genesis2,fuckthemall,dilara,alina1995,lubimaya,lisica,cardss,happyness,weasels,paranoya,hifive,vbitkm,vinicius,alley1,charleston,titania,alli,boing747,allies,parliame,hunglow,lando,bossss,women1,ufkjxrf,mamada,patient,pookster,parapet,1hardon,shavon,adrianna1,painters,ferrero,lore,stargirl,marist,pennydog,onlyone1,amanda123,ashley123,satyam,green45,fucking1,festiva,buldozer,axiom,slender,pheonix1,amigas,negrita,meduza,heavymetal,bobrov,beb,ashraf,sargsyan,1flowers,april15,laura2,ifoptfcor,miyvarxar,lovable,anahit,anais,truelov,flavi,varsha,dekal,stimorol,potapova,anatoli,lubimka,fylhsq,cathrine,dorcas,carro,mazepa,147258369a,qw12345,andrew99,fargus,halle,clarkkent,andrey1,gjkzrjdf,betmen,yfeiybrb,bumhole,luvbekki,sparky01,holcomb,derren,jakes,amberdog,persona1,multiscan,beloved1,hotbitch,advert,varela,dannyd,truskawka,angel17,sascha1,eatmeat,v00d00,tagada,anil,yoshiko,anime123,sanna,outpost,antonioj,flyvholm,fhutynbyf,berner,aaa123456,sone4ka,donkeykong,gtnhjpfdjlcr,gowron,hurryup,into,lovepuss,susan69,sexy22,owns,avtoritet,antonia1,conny,ninjutsu,red100,dima777,mansikka,modem1,odt4p6sv8,zxcvbn123456,gjpbnbd,imac,apache64,aessedai,aperture,sultry,monitor2,totenkopf,dogphil3650,chicago5,fine1,arabian,putangina,love15,tony45,babyphat,artful,jason11,hanibal,dontgotm,undone,veruca,vehxbr,arjuna,arkasha,pouch,asslicke,philippines,cantina,wideopen,chitra,run4fun,molecule,unseen,barsch,hakuna,davinchi,zxcasd123,scrapland,methanol,bmw328i,frog1,spiderman3,phezc419hv,imelda,reviewer,blass,werty123,lassiter,comicbooks,64chevy,astonv,zcxfcnkbdfz,perrine,1video,borealis,a333444,zsecyus56,awake,bigbone,booboo11,d50gnn,rjirf,4815162342q,zzaaqq,thuglove,rkelly,badder,leto,bear13,recess,baer,raptor22,bltynbabrfwbz,pest,poacher,medtech,baba123,vaz2114,1explore,robbob,america2,ricci,masterba,baja,bmw528,nelly1,greenlan,chopsuey,kokot,balance1,pussy4,moondog1,moise,meeko,bard,flynavy,hayman,cotton1,layla1,katuha,destiny2,happy6,ironfish,tracey1,jasmine7,betrayal,mcgrady,ballroom,geetha,kronik,chitty,oneputt,humpin,stonehenge,lazer1,munchy,zacharia,pedal,bananas1,flute1,brille,1frank,punto,warhammer40k,tnt123,boxman,hemingwa,cjymrf,hello23,cobra12,jordan45,furnace,canto,generale,mine11,march17,killer77,williamj,jimbo2,letterma,war123,olson,steroid,peanut11,seamless,rugbyman,plywood,dany,franco1,kriss,execute,xanth,angeldog,potters,hatrick,shenmue,grandam1,layer,rosehill,tucke,parson,zackery,1cricket,fences,swift1,kinglear,cessna172,calla,baroque,gbpltw123,shadowman,rstlne,mockba,olga1976,pd25,bowie1,myhoney,guadalupe,1bastard,baseball7,cottage1,homerun1,bleu,spike2,greenda,monkeybutt,farts,jays,syndicate,something1,craiger,passwordstandard,pierre1,dorothee,bastogne,brandon3,iamgreat,358hkyp,overflow,siddis,coffee2,marcia1,chancy,fairchil,hits,batmonh,doody,wildon,batteries,tom204,vonnie,exciter,sundog,gti16v,ottom,rataros,tonchin,joesph,chicken0,missys,dell11,bodhi,maprchem56458,magnit,paswoord,leedsuni,dance123,bballs,ppppppp1,1kkkkk,1lllll,city1,mmmmmmm1,nnnnnnn1,elessar,bobo123,user123,bobolink,gandalf0,beckys,1giants,udders,freezing,chappie,maddawg,hextall,amiga500,hotcunt,scubas,diet,further,infotech,moose69,motoxxx,righty,gundam00,speck,bermuda1,tylerd,maersk,vending,blight,camelo,backd00r,cheyenne1,1king,drumming,tgbxtcrbq,lovezp1314,buster69,twistys,whatluck,riptide1,kalo,playgrou,construction,tangsoo,brewery,thanku,ortezza,killas,beatbox,slutfuck,ostsee,beatme,kiddo,corp,momoney1,eager,fractals,polkadot,prince11,seemee,milner,bigtitty,form,kimberley,slavery,optimus1,iluvu,pickens,london01,steamboat,emely,comfort1,sammy11,brianc,litebeer,hampster,smalldog,realsex,romann,cartman2,blasted,jeep99,sunburst,engels,toby12,mugen,albertjr,0101198,wantsex,egoiste,pjkeirf,maddog69,object,belinda1,omni,elvir,gammon,emma01,awesome2,maximu,thicker,stoked,cosmodog,bijoux,falls,beltran,ben1234,pooped,fatmike,mamadou,benwin,michou,bend,medicus,justine1,bendix,morphius,biplane,goodbye1,brillian,kirbys,wrote,snaggle,kenji,lankford,pr1ncess,glass1,laotzu,nuaddn9561,benner,metalhead,mamapap,jollymon,field1,janets,trompete,matchbox20,rambo2,benzene,bozo123,lifestyl,bobi,pachanga,drool,buzzword,bugg,gfhfpbn,adaptec,halloo,roslyn,grenoble,mariana1,green420,spring00,help123,vitalik1,papas,gavrilov,123qwe1,steve22,dermot,indig,cody11,cassie12,underhil,fireplug,bobcat12,overcome,bruce123,knowles,poole,g1234567,usmc1,rust,brianw,lokomoti,pegas,nightwis,sleddog,red333,jamesm,onizuka,melony,scooby11,brody1,noir,obvious1,kelton,basura,policeman,jamese,bautista,zzzz1,bicep,emporium,kolort,chevy3,1nascar,patriots1,chrisrey,padawan,eather,pinky123,stud69,thc420,golf1234,girl1,fucktoy,pinkfl,loreli,bigbubba,2letmein,ilikepussy,godsgift,june14,chevy69,technica,dummer,flinders,bouvier,elway07,james6,bige,liljoe,gravedig,jakeyboy,longboard,highspee,saralee,jaded,12inches,grizzlie,hockey69,biggums,leghorn,bigjake,tomtom1,goskins,jekyll,gaffney,mackin,monkey9,nigger123,lilmike,snappy1,bigo,gomango,mantaray,whitehea,push,ray123,redhawks,newcomer,hondas2000,steve12,dickster,ruddy,skinny1,sunburn,cumshot1,bonkers1,doors1,convair,kyjelly,flabby,ford11,throatfuck,imladris,himmler,hiker,mcnair,85bears,hots,waiter,12play,partner1,july21,nibiru,communit,mitzi1,alucard1,latham,bantha,jackoff1,madnes,clitty,spider10,cabledog,figa,eagleman,tidwell,peggie,drachen,lzhan16889,tight1,ladeda,chest,bitten,igor1994,unison,champ123,brooksie,frogman1,lasse,bubbaman,august22,passsword,noodle1,stang50,coco11,brennan1,1cherry,magic7,twinturb,pamplona,tangos,claws,pasture,sling,boycott,baseball11,welcomes,scc1975,nailed,krille,cunt1,harumi,douchebag,fuhrer,rossigno,nuggets1,youngman,blazing,billly,clothing,doggy123,craigs,krakatoa,snowstor,church1,orange11,chester3,motdepass,zymurgy,leyton,harryp,bloomers,wisper,dale3,equine,selecta,fatman1,humans,fuckuall,mamasboy,zaire,purple69,shopping1,delta7,moon69,blue24,miyuki,juvis123,noremac,icewater,damiano,blurry,joshua99,imagination,viper01,dood,ramman,apeshit,crimea,kenpo1,shit12,007000,richard8,lompoc,estes,urbana,irene1,quad,mcclure,freedom8,nephew,coppers,flash2,carrot1,2big4u,5nizza,latenite,789456123a,imperia,bubba11,pasha1,nikolaevna,nokia6131,evenpar,hoosier1,kwiatuszek,gtnhjczy,fjdksl,inter1,nokia6500,spuddy,kiba1z,vova1994,chicony,english1,bondra12,meatwad,fatfree,congas,sambora,foreign,stonie,busta,ohmy,fahayek,boobs69,snack,write,piper2,pimphard,cootie,belluno,booty69,boochie,green4,bobcat1,wintermu,rjnjatq,iberia,born,j0shua,beckham23,delerium,1rabbit,caseyboy,sleazy,redsox20,justice2,debbi,venomous,scorpius,boundary,edit,gondola,stabbin,toybox,fight1,denn,va2001,ladylove,sniffles,eintritt,lanesra,navyman,slang,ascent,jessica3,vanhorn,platinu,cookbook,darb,storm7,bradbury,kanmax1994,thunder0,gundog,pallina,duck1,roach1,cubby1,holde,isbest,taylor9,reeper,hammer11,compaq123,fourx4,hockey9,7mary3,busines,socorro,wagoneer,danniash,markham,david11,infidel,shockey,caring,hammer12,burlpony,ram123,platonic,nels0n,angel77,sarcasm,kenseth,hassel,max1998,science1,lawn,cabin1,ox3ford,platini,sparkle1,service321,christi1,brunob,bot2010,retter,cooper11,iraffert,guillermo,hammie,gnasher,cleaners,wooody,tiedomi,sveiks,wifey1,yams7,johnna,flipoff,snazzy,abc123a,janie,dave55,1christi,pothole,man1,jack5225,vwpassat,burltree,mornings,cosmo123,thomas21,tonto1,jaden,1snoopy,pocus,caveat,subzero1,julias,sanson,oaktown,rodder,bullrun,happyhap,yasacrac,discord,coma,greenhouse,shampoo1,reiter,qwerty32,tiziano,candance,coloring,twincam,supermom,easypass,porkpie,mannix,undernet,endeavor,pablit,wireman,talavera,tobasco,rodeos,vault,karmann,shameles,taylor11,chippie,guthrie,retrac,brevard,gamemaster,bpgjldsgjldthnf,cassis,casting,niagra,dearborn,strikers,effects,xiaoyua123,writerspace,passwd1,pantera6,tttttt99,manageme,hornets1,sosexy,ciccione,regal1,emokid,chaika,jumpshot,aekdb,sharper,clockwor,starrs,katiebug,chills,pincher,reynald,guybrush,music101,tabaco,fleur,maxcat,ewing33,control2,toadman,trixie1,marmalade,beerss,arsenal0,jasmine3,speedy2,kamaz,clancy1,janne,cooper2,deuce22,th0mas,zpflhjn1,jimbob1,hunden,claw,1rocket,elbert,confetti,coorslit,12monkeys,slavko,matrix123,helens,earlgrey,shabazz,wildchil,throne,countess,anthro,coven,marzipan,coyote1,sofaking,1crystal,gfhfvgfvgfv,eetfuk,mouse2,gonzo123,standing,solus,beagle1,klepto,craig123,cutlass1,cram,jimbo123,flappy,sign,milliona,sactown,1horse,kryptonite,rocksta,creativ1,darksun,saved,wisteria,mustang67,scene,sanjos,69er,123456789j,08080,einstei,sofi,marcos1,repmvbx,pass1wor,queball,sparda,fondle,roy123,matthew0,hoyasaxa,posse,punchy,worf,waring,gamgee,methodma,saladin,lisaann,holiness,prince2,prisma,damilola,kolawole,richard4,jesus4me,lostboys,rabies,qwerty789,shadow10,marge1,samar,atwood,ghtlfntkm,barabash,1lucky,rugby8,triton1,cnfhsq,kasia,tigerfan,oliver2,moparman,cuddly,izzard,9z5ve9rrcz,rocker1,razer,jackmeof,mamma1,ringwood,1gandalf,kahless,splatt,disable,cathay,tickled,sexy21,rbhjxrf,greta1,rustyboy,mood,fietsbel,hitch,one2one,dippy,wales,hotshot1,cynthi,acheron,ev700,gfg65h7,goldenboy,d1d2d3,kgvebmqy,vader123,slava2,gizmo2,falcon69,athene,xfhkbr,scarlets,dogman1,pfhbyf,pongo1,dopamine,laverda,dumbfuck,duke12,graphite,pimper,raque,tigers2,dimo4ka,fiveiron,wilber,jade1,blowme2,mine69,katyusha,green55,snoopy69,haileris,dandelion,jumbos,6846kg3r,denis1988,topnotch,skanky,spinners,azerty12,jerbear,assass1,prints,intercom,cheezit,1rainbow,caritas,brondby,fifa2011,1q2345,pioli,ashlynn,looking1,tyson123,kramit,windward,morrowin,changeme1,gdansk,lifeless,darcy,faber,123qw123,yukiko,lexus300,12345abcd,jungle1,sword123,janus1,wetsex,wharfrat,bespin,heavymet,mountains,soarer,andiamo,gfghbrf,lfiekmrf,paraiso,1q1q1q1,tlbyjhju,d1234567,sony12,windows2,david4,rattlers,hershe,david10,palmer1,world123,superdav,roth,gruber,1golf,anadrol,hauser,dolore,spartacus,jan123,larkspur,tashas,mudbone,blessings,lexxus,loc,hippo1,is3yeusc,dobie,fearme,qazxcdew,cannon1,oakville,nhfkbdfkb,sugardog,enigm,nothanks,1996gta,dwells,kalleank,5678ytr,ujhjl312,scanner1,fourstar,whome,ilike69,partyman,star1234,kissa,joshua19,steveh,bricky,kotova,boss429,bdfysx,notch,ivan1985,canada12,kappaman,chiro,sahalin,fordgt,demona,den12345,deni,gaudeamus,satur,vivia,kolonka,taganrog,gash,1muffin,stuffing,soccer19,rosebush,1assword,ziffle,hannah12,skyfir,poker2,franke,dimon95,lamb,mailer,danang,zse4xdr5,guss,kaizer,ghjtrn,qwertgfdsa,pyramid7,uplink,prisca,commandos,sloeber,fuckit1,qscwdv,diapason,dinamit,drumandbass,hanswurst,yfcnzvjz,dinky1,torito,tulipan,tsmith,dixon1,0147852,dlanor,shavkat,toppdogg,flywheel,xxxjay,staples1,rockytop,pewter,mixers,7777777s,maguire,dupree,marino1,fiend,huskerdu,sokol,pilsbury,fatbitch,emma22,donatello,tamada,mesohorny,doming,gram,mike99,suitcase,kailayu,kaka22,stuffed,brasco,mancha,uaeuaeman,donttell,rifraf,sergei1,industry,wolley,gunny1,surfer69,safado,s0ccer,gree,tallest,iampurehaha2,dukenukem,samatron,pussykat,trekbike,stopper,headhunter,racerx1,schenker,bounder,semaj1,19851985p,ptichka,muncho,quarks,ohlala,rf6666,felixxxx,mickey2,carpet1,buffal,scooper,1falcon,eagles12,shadowfax,brandnew,102030q,shocks,economist,armastus,granvill,134679q,munkee,elaman,elena2010,maks2010,gerbera,jones2,mamma123,qwer1209,dontforg,wxcvb,kevin69,tdfyutkbjy,surfe,jkbvgbflf,kolosov,peterburg,q1a1z1,qazxswedc123,footslav,power666,river123,limits,456asd,hallo12,vlad1234,freedom0,kafedra,hunny,restore,isaacs,nastya2010,maremma,floren,jayhawk1,foster1,counte,searock,sierr,marque,mexicali,dead13,mathie,stargat,hesoyam123,invisibl,morse,green17,tupacshakur,fyutk,startre,ghjcnjabkz,decembre,pengui,romantika,qwertyuiop10,noon,farrier,racket,cheetahs,fatgirl,playground,position,1989cc,shalo,redsand,7777777z,hfcnfvfy,assasins,hollyy,engine3,ginnie,cvbn123,jpthjdf,dune2000,nano,zxcvb1234,grazia,fevral,4rzp8ab7,waratsea,nokiadermo,njhvjp,borden,michiko,blankman,a123654,walls,abkbgg,james22,nadano,1gateway,hour,colbert,stinkyfinger,cuntfinger,littlewhore,12step,flashnet,fletch1,ultra123,littlegirl,bladez,123-123,blackmor,frame1,busybee,fuckyou8,schalke04,whalen,sukkel,pretoria,tanushka,schecter,mike12345,turn,larina,heathen,c00kie,fuels,jasmin1,groundho,april21,falco02,karel,basta,jutta,sexfreak,homefree,snowhite,rouges,igor1234,masturbate,blackhat,voivod,butthea,gbljhfcs,24gordon,winam,soni,nicolas2,supras,sextime,gridiron,helge,losfix16,ilovecock,red222,lill,cartma,qwsazx,blue10,sanyco,mile,turtl,zwezda,cjdthitycndj,viper12,dewar,homero,rockbottom,southwes,haze,glock40,gavaec,1s1h1e1f1,chinna,mariami,shandi,grafton,condos,fyfnjkmtdyf,heidie,gould,enkidu,dugan1,gintonic,konnichi,mohan,glad,plethora,maestro1,alabaste,qazxswe,uhtqneyu,superhero,guy123,tiger8,gusev,4077mash,vergesse,hooker1,1qayxsw2,jeffery1,jerrod,sheikh,kkk666,pele10,higgins1,terry123,toccata,sexytime,postie,thespot,troop,pedrito,home77,leia,ferrara,rambos,kat123,syrup,limbaugh,eybdthcbntn,qazwsx11,fktrcfylhjd,june26,ravshan,slayers1,mobila,tracy123,weezer1,kirpich,greatwhi,kompas,formatters,espinosa,irina123,metoyou,melnikova,saqartvelo,veronda,jessica6,kmdtyjr,tautt1,jake5253,sewanee,zimmerman,vakantie,pill,joaquim,roanoke,rapeme,lovesick,calender,jossie,traxdata,flyfishi,maktub,outbreak,tedbear,ayi000,jordan18,maitland,thebeatles,madmax1,spurss,mynewbots,michaell,zagadka,cjfrf,mandarinka,thekiwi1,walera,kbpjxrf,villevalo,runfast,mariupol,likesit,pornlo,vishal,soloma,nfnmzyrf,odinthor,triada,icam4usb,completed,vfif123,parts,fancy1,netnwlnk,iloveluc,maniek,luxury,mashamasha,adapters,ravers,webtvs,1matt,bodiroga,netsnip,pchealth,pngfilt,413276191q,lennon1,asdcxz,protected,savina,performing,corperfmonsy,controller,predators,paulinka,servis,krimml,25563o,trevoga,westin,richi,talonesi,vova12345,fjnq8915,fylhtq95,dei008,saveliy,neel21,wafer,vladimir1,02551670,tony_t,zavilov,4030,5001,6070,10020,15058,26058,54545,77879,109876,117711,123888,124536,125000,125267,135642,136900,141592,142500,145678,147456,159000,165432,196100,197010,197101,197700,198505,198520,199020,201980,223355,258046,311420,342500,420666,444111,500600,511647,543211,552255,552861,645202,777123,789512,888889,963214,1111112,1169900,1231230,1237654,1357924,1597535,2580258,6942987,8520456,8538622,8807031,9933162,12213443,12758698,13467985,15253545,15975312,19216811,19801982,19821983,19831985,19833891,19921993,19932916,24688642,24861793,31021364,31359092,36985214,55378008,56836803,76689295,112358132,123987456,147369258,147852963,213546879,794613258,824358553,987654123,1234562000,1346798520,shante,deadmoin,6043dkf,roast,coon,bigwaves,0080,gameplay,gomes,%e2%82%ac,quintain,lommerse,centra,spook1,reppep,selur,kpcofgs,jockstra,porsche2,avalon11,jennyk,commo,nosredna,swizzle,chrisbl,4speed,barbarossa,madarchod,time123,katoom,bebeto,48n25rcc,centric,nounour,merry1,1861brr,captaink,dubesor,fried,yawetag,oglala,kontiki,1sexsex,rhfcyjzhcr,kare,monica01,lockedup,bertie1,schnuff,scuba10,bobbybob,nitti,karuna,timexx,v55555,1ffffff,1jjjjjj,1zzzzzz,1iiiiiii,bigasses,sorrel,****er,luckystr,olaf,weihnachtsbau,hoppie,net,agate,matic,rufus2,1234567892000,fredric,jamesa,1234567887654321,nikos,1abcdef,jaxson,andrew17,12345678d,flippo,spandau,crackpot,forced,toshiro,n0th1ng,1spanky,max,1asdfgh,dino12,lucy11,erdfcv,mice,basia,spasm,133andre,chingada,purge,liten,clock1,fun,10293847qp,parks,rmfidd,a22222,goran,z3cn2erv,hazel5,hull,wwjd,biene,enhanced,loveland,maraca,kiddie,centro,dasein,maria3,8seconds,beet,crooks,gage,ansel,diablo23,salsa1,ace111,anonymer,maha,lucy1,manutd1,tevion,weetabix,2000jeep,godless,abagail,malloy,1fish,glock9,1sucks,1montana,expired,1vader,mobile1,oldno7,1rachel,br1ttany,gigantic,lickme2,1tigers,lamina,leggy,reiko,1august,stigma,2wsx4rfv,ogoshi,tampa1,girls4me,1irish,james4,cqub6553,baldeagl,andy2000,bboy,dweeb,piet,josiew,cabbages,tani,sexybeas,truong,kraft,icebear,blueroom,antonin,ranger9,farber,tremble,gilead,opinion,peewee51,rockwood,groin,chello,every,mrmike,bart316,zapato,movies23,critter1,bg6njokf,entrada,benno,auguste,wetdog,mollusk,marky1,donking,jzf7qf2e,vkfwx046,ballad,naumova,arrive,cannelle,1angela,molten,none1,august29,happy8,aaa666,stupid12,1qwe2,trevon,forsale,love98,nsync,5gtgiaxm,odgez8j3,pqnr67w5,mazdamx5,macondo,discman,allana,rapide,300zxtt,312mas,kman,debeers,palace22,djctvm,rfvbkm,divin,scurvy,bedbug,squidly,babyfac,tdeir8b2,arab,guitar69,brillo021,fincher,meetoo,skyman,mickael,tenorsax,lupe,brooze,providian,alex1983,minfd,supratt,ukqmwhj6,dsobwick,sassycat,dmfxhkju,46and2,posh,2children,bishkek,combs,somali,hobnob,pudding1,pissword,connolly,letmeon,howhigh,juntas,grow,drone,addpass,kewell,cause,chancho,holio,kevinn,whitecat,gautier,okaykk,marantz,denali1,elaina,snow123,spanners,tanzen,semtex,spike69,jgtxzbhr,newmoney,purgator,h9iymxmc,2ykn5ccf,passpage,mayflower,noskcaj,primas,jambos,mogli,stickdaddy77,canno,lorna1,yardman,manoj,harlot,ebonee,spacebal,abcd1,sanja,crate,sumter,madrigal,rolyat,lopesk,khongbiet,pudder,paigow,speedster,azzurro,captain2,1therock,anomie,slevin,1little,bubbly,sweetu70,defend,blank1,geronim,mickeys,gkfdfybt,zaqxsw123,muppet1,coffee11,pentable,drakcap,123456789000,marinus,havefun1,highest,bob69,chicho,hello11,123max,stride,facial1,megaton,implant,014702580369,lynnette,birthday26,enron714,asad,luanda,jed1054,heydude,samsam1,spotligh,riordan,timid,wilbur1,flake,tsalagi,76ers,james10,dak001,mama777,saransk,blue72,7654321a,purcell,shibainu,pidoras,cant,georgia2,marimar,orphan,wholesale,capri50,bayamon,honeydog,bruise,grisou,aldrich,martinet,nutt,ang238,bigrick,maint,123qwaszx,brutu,44e3ebda,bernadette,scary,daishi,money100,spuds1,shwing,asdfgh123456,guitare,jayz,dorene,laser123,fall99,raunchy,pyro,slammin,fila,bahia,honda01,greetings,profits,segovia,3bears,teen1,appeal,paul11,artefact,stoppedb,ronson,daffyduck,compass1,urgent,veget,jordan20,chevy01,aa123456789,mygal,wasdwasd1,durdom,assmonke,alex74,masson,tyrese,saraht,fozzy,lvbnhbtdf,joshua5,1cassie,chica1,thomas0,spartan11,4seasons,hockey14,kinsella,stthomas,aass,vert,toby22,syndicat,greatman,god666,jamesy,m7n56xo,honey12,five55,afghanistan,jennan,tremblay,california1,furnitur,necronomicon,oligarh,samuraix,liudmila,isdead,esbjerg,abercrombie,hollister1,bellamy,asha,araujo,encounter,aeneas,ridder,welcome01,folgers,riggins,showoff,palevo,antanta,angel20,rafaela,tlaloc,connard,sexual1,calipso,sslazio,bri5kev6,lilac,airborn1,matrim,borracho,2vrd6,sungam,olesica,alex111,usermane,tubby1,serious1,mauric,azure,tocool,stella12,c0l0rad0,bryana,jyothi,soho,bacteria,saraha,dynamics,detective,sport123,sayaka,acumen,moonshot,rayner,fatal1ty,hyman,venture1,appleby,fooey,moscow1,santana1,1234aa,litespee,football123,open12,vfufpby,retype,adam01,sigge1,tony69,boogle,deepika,menards,passat99,lemuel,lawler,csm101,adebayo,adelante,1mercede,alex15,junior13,brooms,laketaho,dartmouth,cool-ca,katter,icebaby,capitano,adjuster,89032073168,daxter,genetic,monk3y,vans,ackbar,economia,hershil,heather9,anthony8,adriane,orange88,f1f2f3f4,fenomen,deisel,howlin,yfhrjnbrb,andyboy,qwer11,seatleon,dimanche,login1,schreibe,apollo12,passover,kristof,happen,rajah,outside1,fiero,qazqaz123,beegees,affe,metlife,amizade,ghjuhfvbcn,dfktyrb,break1,obafgkm,rfhfnt,afrika2002,afroman,qqqqwwww,tapestry,myst,agatka,ctrhtnyj,zipdrive,motaro,agathe,patino,seemann,alex1982,kneecap,zontik,sluggy,ganges,parlay,schloss,sagittarius,bobo1,preludes,aguil,profil,titan2,bomberman,alex1976,1albert,youth,yokosuka,commercial,mami,victory7,bertuzzi,mundell,daniel6,golive,fishpond,zse45rdx,1234554321a,aigerim,arson,mortalkombat,warspite,black10,ramir,cessna1,operate,bangalor,harley03,hedge,gineok,jedi01,qweras,akademia,mishmash,santan,peacemaker,cycle1,shaq34,artema,mylover,lucky4,dale33,tony22,arkady,1oliver,trabajo,akmaral,nesterova,calgary1,vtldtltd,frxtgb,askar,horosho,candoo,pfuflrf,lloo999,artem1995,alex1998,h200svrm,love3,abeille,rynner,prodojo,bismilah,fort,guitar01,alton,animalsex,raines,alydar,clermont,bydand,darkfire,pa437tu,alina2006,eleonor,pujols,mustek,meiling,chicago9,vernost,torres9,reza,beyblade,wlafiga,stormbri,balaton,walstib,badboyz,ciccia,alex1989,bagman,atalanta,legends1,emotions,karlito,gemini12,lobzik,minotavr,sorokin,123qwerty123,al1916w,palladin,soccer6,papirus,chanel5,alex88,fostex,cucina,csyekmrf,alex24,alexand1,lexa,jitters,lestat1,chicago3,colins,burro,gendalf,1carolin,prelude9,san123,fgjcnjk,proghouse,thegod,sookie,diesirae,qwaszx11,flaquit,happylife,winston6,emergency,victoriya,potapov,1secret,breeze1,alina2010,millan,jackson9,ingres,lickpussy,obsessed,cesa,wasp,rfcgthcrbq,kellyj,voshod,lovebu,rejoice,tinchair,money77,alina1998,alina1994,alina2011,gjgjxrf,marco123,nata1980,poznan,q1234q,dinah,divina,anastacia,contex,123456789zz,pondus,mama1970,kamakazi,cookie123,aris,arashi,lkjhgfdsazx,escaflowne,sigma2,jarret,mendoz,default1,joselit,systemofadown,briane,june15,wahine,sahar,hijodeputa,themack,thunder6,alpha69,play2win,bidule,casita,stunner1,porosenok,nopasaran,tontos,altec1,altezza,14ss88,andrew9,michell1,imaloser,sara123,ihateyou1,wolfone,qaz123wsx456,highway1,1speedy,muchacha,awo8rx3wa8t,xiomara,dulce,money1234,atlanti,tallboy,babyblu,horndogg,wpass,vespucci,nimrod1,samant,amin,rajput,sodomy,toasters,neverman,soloy,asem,teamomuch,devotee,newblood,kareena,trace1,rmracing,kizzie,pornclub,naumenko,anabe,chanel1,wer138,verbati,tulpan,nastyanastya,sistem,qazwsxc,angelangel,cinque,avogadro,angelz,hoangen,lambert1,stratus1,fengshui,bonaire,forzaroma,nurich,superme,andy76,chimp,houghton,jackiech,express2,andrey1992,artem1992,rosenrot,thugstools,lohotron,pandemonium,tubgtn,thesun,yelrah,luton1,supafly,028526,foundation,storey,karenw,kvartira,angella,tile,redwin,cameron0,plhy6hql,spieng,diamond0,bk.irf,infix,violett,songline,doghead,morale,anitha,czarny,thegirl,samsung9,nazaret,vigor,destruction,bringiton,privet123,fynjyjdf,quicksand,gadina,gaylor,dfymrf,arno,fufnfrhbcnb,annoy,carino,chinadol,anthony4,vjqvbh,armyman,henry5,eddie666,bodo,babare,nokiae51,008800,santa234,2boobs,findus,mogul,lincoln7,fusilier,marcelin,bacons,roza,bodybuil,aquatic,hyderabad,wroclaw,bazongaz,eusebio,pakistan1,pasion,leonor,geeque,madalena,questor,contax,zxcvbnm123456789,f22raptor,yggdrasi,chris200,gulfstre,mononoke,arvind,tootsie1,kovacs,meditation,mybabe,jas4an,baby22,james13,latrobe,deadsoul,kalash,privado,aaaa1122,mallards,2278124q,hjvfy,lollol12,tray,yelhsa,elgordo,prevail,lover123,rattrace,azores,alla98,birdbath,impress,egypt1,auger,34erdfcv,darkseed,nikolay9,azat,bravada,bujhm123,kasperok,notgood,queequeg,1vampire,keats,potvin,cool22,nytimes,buffon,ikmvw103,irina1991,mudbug,memem,ashley19,ripley1,bailie,booboo2,cookie13,love4eve,baka,street1,peyton18,longman,thresher,opusone,steffan,zxcvbnma,chaplain,hfpdjl,frasse,grail,melly,rauchen,ferre,1celtic,masonic,keating,snot,ball1,124c41,dagger1,gayguy,ba25547,patito,flyers99,cookie11,firedept,heather7,walker2,lemmon,splits,bananana,me2you,dfhtybr,puertori,bryan123,warhorse,ashes1,jaffa,patatina,bangbros,uptheass,37kazoo,megan2,bearss,fred20,muffin11,mykitty,stepside,smoke20,bouboule,tram,daystar,covingto,warhamer,niccolo,rhtyltkm,satchel1,chri,barbaro,oldfield,tamar,peter7,peppino,moviebuf,marder,smile2,mostro,yamaha12,trips,jabari,expresso,wartburg,trill,irnbru,bakesale,charlus,bugger1,mattylad10,1barney,lullaby,chicc,bocman,sekirarr,hesse,kerberos,franky1,weave,sweetpus,jasmine9,conditio,krysta,lexington,essential,karloff,bars,cdtnf,deeman,brace,bleacher,pimpman,falcon3,dragonla,nomi,burmese,brause,sixflags,dennie,pitcher1,torock,jeffrey4,catchme,spangle,preppy,dakota99,shakers,basse,motzart,turner1,patat,freakboy,tuller,hofner,amman,killerman,bjork,darknite,magic69,robin2,heehaw,ilovelucy,grocery,mildew,gothic1,gallen,radiant,bordello,britania,preserve,triston,tommyy,bayard,kablam,bayou,baytown,burrito1,kilowatt,dedham,wallie,momanddad,megan123,tiger23,stjohns,twenty2,pass111,paramount,leedsu,badmofo,breakdance,process1,1dakota,sturm,blockbus,david9,kiersten,court1,july27,vaduz,chessmas,spittle,brett123,bigboy11,evbukb,coin,potsmoke,nodnarb,blademan,tafkap,eric99,blackwoo,1qaz0okm,notepad,bueller,com,lauren12,colts18,camneely,ooicu812,chispa,theband,money21,orion3,wspanic,esthe,blome,stars2,woodchuc,yomama1,airways,parker01,militar,keksa2,clk430,dog2,jackfros,sight,andrew23,beardog1,clitring,osasuna,curtains,1newlife,codered1,cocotte,sexstuff,ludvig,peck,welcome4,tigre1,ashley24,cathie,singles,lokit,newyork2,smitten,godown,figvam,hoppel,michal1,sunshin1,plaza,bisous,petty43,tanelorn,expos,snatch1,manteca,lunacy,luckyy,ribs,roleplay,kips,upskirt,pecan,alcoholi,john10,whassup,innate,hecto,isgod,sharipov,jordan9,algore,orion123,suomi,gandalf7,institut,lilacs,svoloch,bell1,bellini,runne,much,07078,vijaya,under1,breadfan,mitsou,pablo123,roseline,fourkids,robot1,deebee,ramire,santini,coal,sperme,virgos,vgfun2,palermo1,spider7,sunny2,ships,9hotpoin,lovinit,carpe,cinemax,penguin8,asshole123,santana5,satisfaction,oakdale,kkkddd,faucet,europ,rooney10,latinus,lexusis,bultaco,ahjkjdf,telescop,kobayash,cfiekmrf,berger1,artcast2,bigbull,kelse,berni,monrovia,technik,trafalga,bink,butane,bigberth,fuesse,quartz1,firegod,kiss123,lise,biafra,flopsy,moorea,eric11,danno,gullit,better1,buttss,thebus,raven13,rockstar1,gfhjkm777,drones,robben,crazyj,deadfish,ragtime,fitzgera,kl?benhavn,biggame,enigma2,quackers,chiphi,magichat,lightspe,bruiser1,kenneth2,thinline,blue30,innova,blackboo,shara,goodstuff,gopinath,bosslady,chimaira,connelly,snooch,chinnu,sataniv1993,joshua10,fourty,fortran,symantec,turntabl,intrude,hobbes12,bieber,1234567890d,peruan,farmland,88mike,rugby123,coffee12,iambigal,brentwoo,bigdon,nipples1,l12345,boating1,kingshit,magical1,dogleg,bigmax,doodlebu,teenfuck,justme1,shatter,pimpjuic,macdad,ow8jtcs8t,countryb,needajob,chelsea5,angus123,tuscany,chris5,vanburen,pokerman,prevert,delta5,sexy4me,smokewee,sassys,cumhard,bigfoo,solana,threee,cheeseburger,debra1,darvin,jazz1234,surfboard,bigkev,kipper1,berlingo,cherrypi,gmac,chicklet,maximize,jagr,livefree,sexpics,sheldon1,fubar123,vannasx,violentj,brenda69,xtr451,panther8,bigrig,bigsam,acuracl,wazoo,pureevil,stuffs,pimpin69,cherry12,love5683,happytim,cbljhtyrj,brownn,adapter,burton12,crystal0,raindog,miller01,dukenuke,amex,sindhu,stillers,sanchin,phoenix0,password22,willee,shemp,derrek,grump,passssap,blanks,analysis,jenson,quail,forgetme,boredboi4u,yyyy1,warrior3,mankind1,cunthole,sawadee,decline,fagget,coralie,boobies2,kotton,cavalla,tine,onelov,albatro,snakebit,michael123,1hotdog,linette,heresy,daniel9,pabst,dgoins,warman,blowj,bisquit,bloodred,rideme,hardc0re,justonce,porol777,ethics,jkelly,rockhopper,silver77,samba1,supercat,drew11,patch123,nabisco,patten,hpvteb,cubsfan,worldnet,chaser1,hotchkis,packers2,kalamazoo,scully1,blaat,1panties,likeme,max1,nickers,plastik,thorne,lowers,martijn,wrapper,nosmas,talk87,madinina,manning18,regency,montblanc,roadrage,hitme,1yamaha,tinroof,aaaassss,abuela,stoner1,elephant1,kociak,regula,corpus,jamesdea,glowworm,bluedevil,explorer1,changa,k.ljxrf,1brian,poes,mingle,caleb123,bliss1,chevalier,tolkien1,blackb,coolbree,catapult,sonoio,cosimo,chunks,takeme,bobby18,hijinx,chech,sunse,nicole01,hilliard,keepsake,riogrand,chamberl,bluedog1,musiclover,yacht,libertin,anamika,blues2,mike2000,kd5396b,ween,blumpkin,joliet,frankly,grappa,exceed,april14,fiver,hard69,nbhtqa,bigsmall,clove,hamada,1friday,suck1,lovelady,godsend,elsie,tarmac,mikey2,mamiya,bonker,digital2,b26354,logout,good4me,redsox19,killit,hammer01,bobjones,krypton1,gbkbuhbv,nothere,folio,fulhamfc,carreras,not4u2c,wert12,sadomaso,banaan123,henrie,789qwe,boilerma,indien,cyklone,dipascuc,red666,water12,lisbeth,hiheels,ohotnik,slickone,otherside,casper123,countr,timer,thefly,nitros,hornys,mikejone,boodie,dragon4,pumba,sexxybj,2dumb2live,wu9942,booking,fetus,ladder1,omnislash,hakaone,sketchy,lotto,redsox99,delta88,12qwer,amberly,redsox12,popart,diploma,minutes,corcoran,conklin,ipvteb,gogolf,spare,delonge,ganibal,founder,boyfriend,yannis,adkins,death6,antiflag,brianp,adroit,catrina,equate,killer00,ralliart,frodo2,yanni,bigtee,landscape,fzr600,brandon8,halsted,brea,recife,parkhead,braun,fodder,bravo7,lorie,dizzle,chart,kamikazi,breakout,cowboys0,hotdog12,boofer,simferopol,jeebus,juanpabl,jeremi,subscriber,002200,black5,crossman,usmc01,april9,monkey14,evan1,silverch,glock45,toluca,4nick8,praline,chuluthu,salom,reisen,pookie11,shazaam,freeway1,mountie,helga,brogan,burrfoot,malacon,boise,elway1,free12,krakow,summer02,bronwyn,brood,demetriu,orosie1,radio123,chris33,reid,feeney,raven11,ridered,goniners,kyle123,dragstar,randle,chloes,landau,kareltje,q12we3,willyboy,burned,cagiva,jackie01,bugssgub,kendo,animes,fires,rawr,orange6,midiland,ford50,money3,manara,charlize,budster,671fsa75yt,1harry,buffy1ma,hunt0802,pizzle,welcome0,constantin,tremendo,kessel,22tango,king11,hfpldfnhb,passin,farina,bushwack,dimitry,pene,jblpro,a1s2d3f4g5h6,mahina,cbhtqa,bvlgari,lately,masque,fortknox,tanyshka,chris999,corsair1,papier,sleeps,yolande,prunes,zipcode,camster,kazuya,monoxide,tamera,cia123,cochino,spinnake,brave1,skyclad,yamada,karolin,jamesl,chuvak,lafleur,eddie2,2hot4you,jaytee,ogden,advice,testament,guano,howl,canter,revel,gogetter,canario,murciela,yoda123,startrek1,cody123,newto,zemanova,pa55wd,playboy6,minnesota_hp,washingto,intubate,marocas,caution1,coupon,catania,mendes,mko09ijn,pineapple1,glacius,tomatoe,rehman,samfox,moo123,bulldozer,rachell,pippolo,olemiss1,livid,not4u2no,squat,strongbo,nathalia,zorro123,wham,miah,reggie31,tree123,conno,peugeo,lickin,zola,enolagay,gfgfif,youngs,tort,celos1,silence1,bigtuna,leftie,cfdbyf,chinga,mythic,allard,newlife2,iloveyou11,shanta,quell,chuckd,cx18ka,wrist,charliem,collect1,tony44,amoroso,parachute,lovegame,pfizer,madman1,princesit,jinxed,gulla,ashcroft,stepashka,chernov,alto,bellend,beano002,mainstre,paolit,woking,united99,chinni,fanclub,yjhbkmcr,cartmen,hideki,draco1,a1s2d3f,ilikeporn,matsui,gawain,antichrist,jesica,unicron,spammm,elenor,nikkita,select1,l0nd0n,1cooper,fun4all,cassell,jenelle,g0away,yeti,rcfhlfc,colin123,typhon,command2,jacobson,1escobar2,koontz,asguard,atease,babybo,sasha1993,tigger3,shivers,fucker12,lukas123,harsingh,sooty1,kangol,tachyon,tama,winner69,hooters6,scott11,mrmojo,coastie,branford,arminia,rattrap,fender12,potte,jedimaster,nantucket,digits,steam181,steamforums,rhonda1,loveline,adidas69,unions,420smoke,cressida,topanga,lovehurt,toreador,hellbound,gimpy,matrixxx,jhonny,cronus,percussion,space199,gwendoli,thoth,thor99,jacuzzi,fannies,flowing,abiodun,destinee,kracker,bassey,shockwav,sweaty,wcrfxtvgbjy,asdflkj,tigger13,dylan2,iloveyou12,cnfnbcnbrf,122333444455555,makenna,norwalk,2401pedro,polkilo,montage,tileman,macbook,sexiness,kudos4ever,disarm,1linda,marillion,cunningh,phelge,69pussy,latching,nastya123,cuyahoga,poopo,regine,sydnee,digler,pippo1,ludic,summer22,just4u,lovejone,e12345,ruiz,valent,network2,vfvf12,erxtgb,kreker,vladimirovna,rank,ousooner,jackson6,sweet666,jlettier,ruffin,bodean,55555r,wolve,delfino,favorite4,defect,yoshi1,legshow,llbean,rampart,donke,sakic,ichwill,111222333444555,djtiesto,s1s2s3s4,whatis,132forever,ddd123,tgkbxfgy,indonesi,dddsss,lfybkjd,mmxxmm,dr8350,blunder,shit1,davidt,dreame,watchout,march23,moms,socool,assert,lachesis,1time,dame,1-oct,imissu,lol1,wrinkle,zippos,cumquat,temujin,tubular,babo,joanne1,silver22,opelgt,irelan,divine1,popcor,buhjvfybz,ecosse,tiger5,oldskool,daniel7,lilmama,marmaris,porno2,daniel5,kevin11,tart,pokemon00,savannah1,dracula1,cerebro,hektor,ilovemyfamily,julemand,kingman,dannym88,roos,mello1,bigelow,welcome5,indiana7,sou812,microbe,770129ji,drongo,cheats,jilly,remmus,kevinr,dave01,dasha2010,lakers08,escrima,empire11,teamlosi,fredie,deadmau5,tiger21,fernie,1andonly,lbvekmrf,racer2,michaeljackson,humanity,prorok,starfleet,sarah7,2legit,firdaus,padrino,david777,emilyann,teal,philou,success2,call06,squad51,dresser,6yhn7ujm,epstein,jaguarxj,passit,corone,peugeot406,dewars,decibel,gocart,kornet,euclid90,barmalei,poiuyt1,myturn,elites,baldeagle,glenny,gerasimova,chances,werken,stainless,demoman,grinding,copernic,munson15,xxx12345,jack2000,jokerjoker,matthew6,kcid,ironcity,patti1,1mmmmm,123llll,domovoy,dylandog,donaldo,robotic,phoenix5,middleto,lena12,hatebree,consulta,dadd,difference,cumberla,aquariu,sulaco,mazdarx,frontline,corine,ifiksr,sarmat,spam69,stupor,sapo,doom12,jeffhardy,liziko,clave,yeahright,corkie,werule,elric1,freude,dragonage,valmont,denis1984,marial,dessar,hockey13,robert8,ukrnet,federer,depp,donn,server1,ummagumma,lozinka,ginette,recipe,osito,rfpfyjdf,chanc,thomasd,curiva,exorcist,fuckmylife,misha1111,vfhbyfvfhbyf,qwaszxedc,lollol123,duce,evh5150,onetwo12,cecilia1,howies,yeababy,insulin,oleg1996,mushrooms,dianochka,roma1990,folly,biggus,duper,sito,hokuto,digi,sharlene,nargiza,masiania,diman,1234567890o,qwertyuiop12345,trfnthby,1qa2ws3ed4rf5tg,savchenko,fenomeno,krystle,freyja,tabby1,gfdkjd,ditty,weeks,zion,homyak,kacie,vbhjh123,chipmonk,winter2,federov,sig229,iluvme,nirvana9,pfqxtyjr,doohan,doogie1,cobbler,koalas,castill,dragon05,ilkaev,pitboss,vaz21074,qwerty4,newpassw,happy13,yuitre12,partridg,dragon19,ilovetits,tybalt,jacklyn,april24,pallet,al1916,fliper,qscesz,ervin,thatguy,marisela,scrapy,111lox,fleabag,fromvermine,selhurst,phase2,utrecht,topshelf,nyyankees,sympathy,supert,gfitymrf,hanako,dylans,blackdra,fire13,kevind,poekie,trunks1,snowden,thedream,penman,trrim777,nicolette,bdr529,hornier,scatter,sasha2011,quadra,lindac,time2go,qwerty999,ruffus,rbgtkjd,yodude,power5,pumpk1n,frost1996,penhorse,netpass,woodfish,kita,lainth88,minority,dutchie,am4h39d8nh,jackme,kki177hk,orion7,sanders2,koblenz,opelagila,flhrci,madmax11,thecount,widespread,bigjuggs,rfntyf,bhecbr,quixotic,cranston,olesja,tusk,gibso,lovedick,03038,prive,websolutionssu,nosliw,ratiug,el345612,adonis1,amadeusptfcor,jacopo,kuolema,win123,makavel,julie123,babochka,pimp1,jasmi,souths,djkxbwf,muffinman,qwertasd,ninja123,luthor,qwerty100,studen,spinne,misiek1,uthvfybz,pimaou,silver01,martin01,vfrfhjd,macross1,lazarev,starwood,yamahar,good4now,cleary,gerar,wretched,ladle,fotze,frown,dogs1,qazsew,bibigon,honey69,qwerty8,fallengun,lindam,phalanx,falloutboy,uhfdbwfgf,fanatik,hawai,london123,kelli1,1inside,l1750sq,canalc,testdrive,harsha,surrende,fatboy1,kalender,point1,glossy,ueptkm,tema1234,eriksson,toeman,kernow,mongini,rfvbkf,killerbee,sirius1,nfkbcvfy,cbarkley,justlook,filmstar,gruppa,happyface,mayo,icequeen,presidente,fest,fkrjujkbr,kkkkkkk1,9085603566,stocker,bumsen,spritzer,nissen,filatova,minicooper,houser,sony1,mister2,rush211,baggio10,littlefuck,littleminge,guitar11,tommycat,fitnes,mike31,recluse,smallvill,lords,byrjuybnj,iubire,scally,visit,kershaw,joseph11,oriana,scholes,nfhtkrf,laptop1,musik,stanisla,myth,racecar02,grass1,eight888,thepower,ab12345,dead1,grossman,punter12,waves1,sonja1,skiller,kingrat,zygote,alondra,walnuts,isolde,pills,kevinh,shannon2,engineering,icebox,tiikeri,moody1,mavis,thering,shrek,frogss,adalbert,hanse,kabuto,jawbone,fruitcake,yjdbrjd,jamaic,grits,stratcat,sexybo,suckmy1k,massive1,yoshio,winter0,grapple,miniclip,skinnass,shibuya,smile4u,grego,money8,ilovedick,niewiem,gabriel12,mirand,vikin,gosha,turga,kisulya,gomer1,galen,onlin,caiman,manut,soren,medin,gayathri,ginger69,snowbal,jayde,alskdj,goducks,stangs,summer08,prostreet,junior8,kemp,gators96,maxie1,castle1,hoople,screwu,katie2,gbljhfc,meister1,rosalia,carleton,goodmorning,maslova,greatzyo,herbie1,hacked1,threepio,duke33,jamesg,mickey69,sinnfein,quiksilv,lava,geiger,mooser,sueann,newspape,ramina,colucci,mommy2,ollieb,rami,keyword,sambo1,shant,john77,zeratul,gladbach,bundle,gromova,kiborg,johansen,jamesh,lizzie1,zucker,sb211st,kennel,love55,pukimak,thesims3,katinka,murena,jahbless,stormin,miller12,trigger2,jasong,cezanne,sexy01,lida,valerian,repmvbyf,trinity7,doctorwh,sadman,nine09,cometh,tinkle,volunteer,specialinsta,sweet2,naumov,tahira,111111w,vthrehbq,madara,123456789asd,goahead,brandon00,karolinka,vfcmrf,cthulhu1,drugs,juancarlos,jimmyz,troutbum,kalambur,taison,trillium,tijuana,msvcr71,neveraga,nhfycajhvths,rfnthbyf1988,lllooottt,lissalissa,hollage,kbpfdtnf,.kzirf,nthtvjr,kravitz,jimmyp,00000ty,cdtnkzxjr,trixi,jack23,stockpor,stumps,fidodido,mcclain,starbase,harlequi,nufc,satcom,jasonk,switzer,joshua11,mike007,nietzsche,matt21,kimber1,superman12,makenzie,technical,transits,muneca,theword,willow01,phantom3,nymets1,sweeties,jimmy6,nudegirl,pangit,tiara,jocko,green33,messages,estrela,julietta,darthmaul,rollrock,curzon,ksyusha,kamelia2011,khalif,yelena03,pundai,leolion,yfnecz,vlada,klara,tails,o123456,rock69,5element,luger,qwertyu123,njkmrjz,123456rrr,komarov,dbrbyu,vika1995,max2010,nastya1996,bond9007,passout,metal123,nadya,paraklast1974,maryjan,shagg,mdmgatew,serjik,lapo4ka,michaelm,begemotik,sunbanna,yarddog,serafima,blade55,settings,rhfvfnjhcr,fairless,jscript,mailliw,s12345678,webuivalidat,advantage,nataxa,ja0000,tomass,msorcloledbr,phenmarr,f56307,inetcfg,nondriversig,browseui,sasha1994,mike1969,asdasd22,zaq!2wsx,photowiz,tanguy,freeclus,aregdone,123456789qwer,manifold,wordz,20091989q,nikita99,ojp123456,pivkoo,zhipo,v123456789,9085084232,lolkin09,sarvar,bypop,fm12mn12,vovan,tu190022,8096468644q,zverev,8090,9001,9007,14038,14058,18068,20038,20068,26028,29024,45632,65656,78791,108888,118801,118811,119955,123569,129834,132546,132613,135798,136666,136913,143333,153246,159630,197901,198305,198603,199308,199500,199508,200007,212325,231456,232222,233307,234561,235555,246801,248624,258012,266643,321671,400000,423956,432100,486255,523252,663366,666123,718293,741776,744637,773400,774477,776677,963210,1112223,1231233,1236798,1239056,1371280,1478523,1766734,2008200,2323232,2505198,3434245,4258195,4707570,4930321,5318008,5455555,5557940,6741314,8522003,9001668,9104587,9293709,9512369,11012566,11114444,11234567,12345656,13467982,13571113,14314314,15935746,19761977,19801984,19841989,19891959,36169544,45678912,51501984,55443322,67899876,78978978,88887777,91328378,98256518,102938475,123123789,123456321,159357852,212009164,1212312121,1928374655,jgjesq,0020,elena1971,hawkwood,dnomyar,sexaddict,cool23,yocrack,sissinit,123ewqasd,kaytee,dannii,arsenal9,sexyred1,google10,rate,papo,dknight,loveall,crust,remmah,maxsam,freeuse,dandelio,spiller,pmtgjnbl,qcxdw8ry,affirm,dbm123dm,reports,123joker,financia,euroline,leyden,jimkirk,ameritec,topazz,geoffre,music11,baffle,lilcrowe,oldmans,likesdick,showit,zhv84kv,charles0,bitter1,lechat,prost,sparkplu,savoy,10121v,timoteo,q1w2,muie,nobull,diode,mexican1,several,juanjo,lies,drafting,1shelly,1autopas,autopas1,wwww1,1ggggggg,tallen,frozenfish,morello,nuggett,haines,yellow7,raide,a13579,dranreb,harish,matrix19,12345672000,onetwothree,boop4,house12,narf,pimp13,tuesday2,tarrant,stpiliot,car12345,098poi,asdzx,hiller,96328i,henry12,14u2nv,templar1,outbound,zoro,yasuhiro,cataract,erdna,zsergn,justinb,wazzkaprivet,aliev,ralf,ouachita,funone,dabl1125,nollie,eldest,ezra,sandburg,cousins,scorcher,tahoes,charless,jeanmarc,1701ab,monalis,debugger,jason69,lewiston,sysman,kain,cashin,willer,myemail,inca,canis,jonass,epatb1,weihnachtsbaum,mrwhite,socken,bayern1,19delta,bernal,adore,agusta,bowl36,1bigfish,getinnow,trav,drako,1hawaii,1peaches,1vette,chief123,1sierra,theme,1kevin,evil1,rounder,1winston,sugar2,mopar440,dishwash,artboy,nonnahs,captai,2wsxxsw2,illwill,1qwerty2,rasca,djfpass,bashar,xenia,1alexis,userpass,iman,drumme,llabtoof,fired,gangsters,belind,dawg69,n2deep,pivo,nosnibor,oregano,vital,safonova,beaversx,above,andy22,yesyesye,rowboat,jabo,hotstud,hamdan,taro,skarlett,fliege,hamid,venise,yougotit,gargle,aloevera,jack2,khmer,kurgn01,hzgg9umc,tobyto,ch3cooh,ahab,dmarink,quasimod,physic,hpsalgay,5daxb,anni,frankzap,thesmith,lupin,oct2888,regime,fossil1,benz12,fleetwood,andrea2,2access,stjude,damasta,floods,fjysk762,vre2nc3z,hearts1,tanager,falcon5,fores,1beaver,zwt2sbzl,jacobb,1private,chandos,viglen,1212aa,brannon,sazd,webby,passtrader,gateee,123dog,norsemen,runrig,adumas,oaken,jjjj1,catman1,knute,as5ffz17i,yusuke,cdgirls,q4n2jdeh,vmdnygfu,merlin2,groggy,perron,avdeev,mcfly,audit,robertos,bigboy40,packer4,kazman,venger,reece1,prosser,admins,gasper,watchers,lbnjgtmp,mung,wedge1,e2fq7fzj,alon,sportsmen,dallen,dackel,holywood,sykes,shipley,fuckyour,dogmatic,final4,willson,sharon12,jiffy,bumfuck,hayden1,bowlin,falcone,nikey63,quicky,mooo,cindyl,lada2110,allycat,bruxelle,alex26,babaji,tvmarcia,chiles,seattle7,super412,march21,3kings,takecare,logon,4teens,peterd,152geczn,farragut,bikeboy,tastee,jammie,frank51,golgotha,herc,shantell,pikey13,introubl,chris198,eatpie,antona,lupo,trickster,eckerd,toby11,kaye,zlatan,robinb,shianne,chester9,gypsum,spiros,joshua7,ryleigh,adman,donvito,kravin,ichiro51,groovin,august19,zeek,cooke,animales,sophie3,penile,niemtel,test22,johnboy1,andrew69,mayurs,wicke,fickdich,bruce69,mocajo,apos,jwest,parisi,ingri,greekboy,slutz,billy69,legato,asuka,trieste,fucka,shumway,mark77,naylor,westies,tomch,blah1234,69stang,mandms,orange9,00948230,bondone,tr2amp25,bettyp,dtrain,yoman,wamozart,8428ld,spongy,damp,giampi,orestes,rjpkjdf,arthur69,buffy44,chinatown,wheeling,yolanda1,a1111111,greenwav,911rsr,kazakhstan,waylande,mabuhay,ppooii,onspeed,rational,hornyme,chuck2,gasanov,deluca,97ford,dakary,olds,autism,vtr1000,foamy,james8,teamase,probegt,optiques,piffle,prince55,sdh686drth,allahuakbar,pianino,argos,deering,rjhjdf777,sadie2,avenged,anton1992,ford99,sutvsc5ysaa,qaz26101778,bbb111,aaa333,revlon,123mmm,jeremias,artemartem,bailbond,holton,sexsites,passwordd,gurpreet,aegean,radial,sanek123,porndog,joshua123,flowers2,snares,njqjnf,amicus,pillage,badgers1,march20,kamchatka,jacobus,goliat,kalamata,tejano,splendor,marylee,123abv,babe1,goofy123,abadan,shadowrun,annieb,beeble,fkmabz,april4,onetwo3,bryony,daniel69,bemine,chuch,cesare5,wsx123,mkjhfg,bucket1,ramfan,wordpas,duplex,potolok,turke,likethis,robe,lachlan,acidbath,dallas88,tatarka,1homer,abogado,foxxx,leclerc,vtec,tallis,lancelo,lizar,66mustang,progon,chauncy,lovecraft,utythfk,perkin,merlin10,gyozo,user1122,sunspot,denis1987,killer9,derfla,barata,robert0,access10,fatcow,samurai7,suleiman,cabot,vivian1,smoken,mouloud,silvergo,akimova,shazia,forza,booge,acolyte,alex98,salamon,moneta,alastor,maximill,activex,actuary,rovert,elsalvador,adam21,nulife,john21,outrider,fukoff,ghostrecon,lauretta,necron99,gearsofwar,football6,apple9,terranova,ulrika,dass,chieftai,mercede1,adelya,dalia,bongtoke,aspirant,hotness,granata,yoda69,admin12,bunia3,lilo,suka,browneyes,admira,virtuoso,admirer,photoshop,june23,laurita,almonds,gjdtkbntkm,supercal,dontdoit,farooq,babys,advance1,catrin,sicilian,escola,harry5,qqq777,panatha,rfvtym,useful,flux,pucker,aeroplane,vaz2105,kfgecbr,saretta,knick,laranja,afhvfwtdn,trans1,vovan_lt,pfeffer,fktrcfylhjdf,lunar2,ever,alex86,canadiens,cghfdjxybr,narine,kamilka,lenina,aishwarya,taburetka,andrey12,ghoster,vthokies,vbhjndjhtw,stroud,alin,serafin,pichon,rada,hola123,aniolek,agusti,crm0624,hockey123,rjdfktdf,dotnet,kbkbxrf,farouk,alina12,gadfly,matt23,antoin,sweetman,aksana,roma1995,newmedia,rhbcnb,esmith,shashank,maddog01,hyperlit,swapna,ovaltine,bitch2,axle,mcitra,diablo69,dogggy,nabila,ohyes,ghbcnfd,milker,wonderbr,uhjpysq,purina,bunnies1,fylhtq123,bullgod,akimov,barmen,zxcv4321,static1,ou81234,cbkmdf,libra1,gipsy,sasha13,chicken6,fanfare,violin1,alan123,galan,positano,sanremo,shippo,panther9,tibbar,st123st,forty1,blowjob69,savanah,xtcnth,wesker,reglisse,ferien12,1coffee,fhbyjxrf,nicolle,zhongguo,prokuror,cfymrf,gorbunov,pronin,pfhfnecnhf,peresvet,aliona,dfkmltvfh,irkutsk,pasword1,nhfrnjhbcn,djkrjd,love007,alena123,carisma,podarok,baster,gznfxjr,pride1,xtutdfhf,toolkit,dfkthbr,troll1,problemas,sapito,alex06,alexsander,alex2009,kamakiri,marsala,host,touareg,cfnfyf,revell,ntktgepbr,ronaldo99,z1x2c3v4b5n6m7,gaviota,frosya,micael,palacio,ethereal,heccrbq,konoplya,ghjgfufylf,giotto,numeric,reddevils,biolog,buheirf,alkash,nokia5610,edifier,fyfnjkmtdbx,pepsi12,duetto,understand,nyranger,aspirina,kemerovo,alhimik,nicole123,traitor,montella,peachfuz,holdon,great123,ucht36,lzlzdfcz,alina2002,fifnfy,prohor,domodedovo,ybrecz,halfway,danilova,roseanne,222222a,darkmage,werrew,nhfkzkz,lindalou,ghjatccjh,bulldog5,shortman,diabolik,google2,qqqqqqw,splicer,stoffel,modaddy,wapbbs_1,ghjnbdjcnjzybt,555aaa,bigguy1,secreta,polla,evander,locutus1,elke,vepsrfyn,rockers,grafix,protozoa,puissant,access01,fynjy,gorilla9,alternativa,matthewd,metalcore,jordan10,dctvcjcfnm,hannah22,homer22,amarok,hightech,cobra5,qwertyuiop12,blog,gerri1,livia,mumford,tracksta,dejesus,ambulance,calida,hindustan,kurama,aminka,ramin,stiffie,furelise,kalifornia,subspace,ammonia,02588520,amorcito,orange01,nautica1,lovebaby,dragonma,sonnenschein,magal,katinas,peggys,energia,ballsout,claudiu,servette,anand,06068,corporat,king10,arsenal123,sapato,hawkes,levent,anastasya,ufkxjyjr,gjlcnfdf,balinor,sexkitten,s9te949f,mamou,moderato,bulldoze,nemiroff,asa123,andranik,arachne,nobody1,apacer,tima123,jaroslav,fktrcfylth,micaela,andy01,stokecit,aotearoa,gkfnjy,egor123,anka,zxc123456,artemi,yoshimi,jasper2,phooey,1sugar,anna12345,karol1,anxiety,zasxcd,rincess,travka,rebon,angel8,angel18,dolphin6,forgetmenot,proverb,montero1,turnkey,computer12,12345qazwsx,francia,gazette,madison4,136611gt,jen123,mcmaster,crosby87,beatrix,1sluts,belldandy,kapriz,sharpie1,dentman,jaan,astra334566,palamino,bright1,diebitch,demonio,parkur,margherita,spartak1,martymar,anubis1,00000000a,ghjnbdjufp,malishi,mando,risky,infalicall,vicenza,vacances,pluck,applejui,ashlea,trains1,appraise,kungsan,april27,marinaro,hakim,controll,dracos,aram,ashole,policia,dodobird,amoremi,audubon,qw3rty,arenda,birthday36,argus,universidad,tinmouse,vonsclan,qwerty0,frazer,laputa,electronics,caballero,cheburek,cloud69,polis,chidori,noser,batten,ximena,artem1994,artem1991,zxcvbnm1234,cunning,tutti,astronom,scuba123,pratibha,guitarist,wapku1,navigation,tijean,ashat,uhtvkby17,matelot,xxxwow,pumps,positron,allah786,asdqwe12,bollock1,betito,rfhvfyftd,asuncion,tempo1,angelfac,myspace2,sharpy,auxerre,elevatio,avinash,zolushka2,24beers,bulldog8,shel,fabfour,zorrope,badd,voodoo69,linear,rattlesnake,nitrate,sushis,megafon77,ivette,ahamay,southwest,baggy,mariss,jc05595,ballsy,steer,maveric1,yasmeen,kojack,hejsan123,guide1,hogfan,moller,akella,balerina,jetboy,piledriv,lampard8,flattop,waster,clapper,adder,wool,sasha111,ball123,sonic593,smaller,blowpop,fantasm,palani,sombrero,armchair,haguenau,kuken,prolong,bananaman,peeler,rugby9,santande,agustus,chief2,anointed,fuckstic,smurfett,realhard,feast,banjoman,ditch,makena,calvin12,specialist,bluntman,graycat,rococo,banzay,reymysterio,mudpie,campo,havanna,espagne,chases,corrupt,04088,love10,satin1,working1,barca1,2hot4me,lazyboy,huntin,duval,thegreat1,mibbes,barf,blarg,chris6,bandar,refugee,sparky69,lena2011,minimax1,futball,missydog,rocinant,sonne1,barrett1,rosado,inventor,barrier,1turbo,schnitzel,barros,lavern,terrano,blacke,polimer,beergood,ubitch,smuggler,oliver01,sixtysix,bardot,ganteng,berna,kyleregn,eliezer,daniel19,checkin,q777777,kearney,tigger22,faulty,baske,baobab6,tedesco,jackfrui,marijane,final1,tubbie,789456123q,batcat,eliane,green42,bathgate,thejam,fatass1,tiger3,starcraft2,timothy2,underwea,pinkyy,battlestar,laufen,danziger,shiner1,mccallum,bearden,bayley,sregit,rainforest,lifeis,divine2,wwwooo1234,lilmac,airjorda,markers,thunder12,lawsons,jack13,beatles6,augie,michaelp,cincy,vandread,politika,bluebir,gooding,ken123,black6,bobby4,sargeant,rekmubyf,latte,nursery,kill123,bubba7,hello7,utmost,furtado,go4broke,david6,bbwlover,goldtop,skidmore,crown1,lockup,cnttcb,brandy2,bill2455,ozwald,weider,golfer69,chipotle,atherton,evanston,musicbox,cupcakes,floyds,binker,picabo,beachy,versace1,codyboy,ronster,50cents,huck,superj,pass1821,benny2,beanies,smooth15,greybear,kelly12,alberta1,grudge,anytimetoday,sorpresa,confess,beastman,password88,accounta,zrx1100,tanlines,melod,specialp,butthea1,betsie,machone,f0cus1,klovn,leather9,d41d8c,rashley198,multisca,lipid,assfucker,beckham1,cloak,kimba1,jeffbeck,spider2,caladan,overseas,jeffers,gunnison,burford,clickit,yes123,bonanza1,enfuego,woodbury,gotribe1,jordan98,saloon,figona,weiss,ev7000,shitman,beeswax,frost1,thenet,shanee,boba,panther7,hangtime,bellum,nimajneb,papote,salgar,belfour,belladonna,malo,brune,jareth,murph1,wonderwa,belong,doubt,enders,danechka,amours,lobster2,daddy3,xwing1,marrero,dragonman,shawns,sveto4ka,nadnerb,tagman,moneybags,caddy1,libertas,pook,heston,assfuck1,trevino,starwars123,footloos,espoir,boffin,kalle123,garcia12,ledzep1,briang,eddings,prussia,indurain,superbob,beotch,fiction9,beppe,quarters,hjcnbr,eingang,tigger7,clear1,lucky10,blcktrn,mecano,panthera,beast11,moolah,liane,bernie51,getitnow,jesus01,nanner,illicit,radar123,noelia,janel,11king,saline,calamar,hosty,berti,ferrarif,hackaren,stblow,tatyo,tater1,spazz,spider8,cadmus,beth69,sarah13,sheppy,sony678,pete14,nikopol,redtop,goin,powerof3,chesss,poolboy,marsbars,gungrave,grave1,123321i,chevette,scooby69,bojack,ratliff,metalhea,twine,myjdxtcxks,bouboune,lumpkin,firebir,idontcar,4peace,shiloh1,groan,tennis01,develope,ntktdbpjh1994,1ussy,oilcan,jonny123,krishna1,rover123,pelado,gizzy,biblioteka,ghana,boris2,philemon,boots123,cooldog,blackgir,wiskers,cooky,doggod,lcrastes,zzztop,goldone,daria,keefer,toothpic,hertz,mistycat,voyager7,cloth,snakeyes,tnvols,bigdik,38dd,devante,bigbug,macy,morph,brian12,bigbud,firewate,nick1234-rem936,wetpuss,bigcock1,emmarose,jasona,pumped,reddick,weeds,duckbutt,daniel00,1flyers,evenstar,blocks,bakerman,lickpuss,ishard,1booboo,johnie,chevvy,mestre,warrior6,tyra,ravenlof,altera,minger,hooray,kickbox,donahue,vegasman,foulball,tellurid,ashley10,foods,shawty,futile,falcon01,tyrone1,topside,james19,smarter,slurpy,crazy2,lovelace,attack1,fries,markis,timmay,cantstop,feller,1nissan,mossyoak,conrad1,nicnac,carrick,summary,tamiya,oliphant,estreet,home1,papasmur,guesss,hasbeen,timdog,timmys,dandie,fleshbot,suckem,hobbits,yonder,tense,nichelle,winbig,hawaiiguy,garters,transalp,carper,dimabilan,spill,daniel10,elevation,sarita2,shatner,titian,cium,koufax32,privates,jettas,algerie,ssnake,connor12,william4,silkie,12string,stauffer,amoco,brown2,freakin,resin,mudhen,choc,faces,redsox24,camry1,excel1,horsepower,promo1,nadine1,miasma,meetme,laila,binford,colo,gfhfyjqz,extra330,reggio,1birdie,tristin,beast123,keegan1,samcat,paramoun,cheeser,cardman,hattori,treech,locksley,maxmotives,nina1,toolfan,seminar,metal69,bitwise,hockey33,thomas7,kook,headroom,katiee,ozzmosis,sloop,tolkein,cochrane,purple3,dreadful,fireston,catch2,serena1,moshe,camilit,blackdragon,96ford,2500aa,dragon33,blunt1,need4speed,irish88,tbird1,plugger,malaki,blackwid,soylent,bacall,leonardo1,snuggles1,nightshade,1234567j,choppe,babylon6,anal69,blaze420,jetboat,1accord,potpie,bleed,chard,blur,cassiope,hogg,oi812,blotter,magicone,polopo,delta12,xbox,chandle,wolf123,hellhoun,argon,japan10,collecto,redsox3,blowhard,knitting,brunodog,whodaman,x002tp00,fishead,soccer77,foxes,radium,lakes,compac,raider12,sniff,bluelight,gaynor,bundao,scott3,vice,redrobin,j10e5d4,roaches,cobra777,blueboys,bluewate,boomer12,jitter,cowdog,awesome123,crystal7,strip4me,1trouble,bandit11,m_roesel,maclaren,m123456789,wethepeople,111zzzzz,beaulieu,nevins,vett,bobbobbo,bobob,boney,bobo1234,blackpus,bobo12,turbo6,duckpond,narendra,pimpdady,wirenut,iceman11,goose5,nji90okm,theman22,puffdadd,newmexico,suck69,hubris,moist,frigate,skagen,rsturbo,nikko1,bobsmith,statistika,cypress1,jethro1,others,malaka1,netware1,resipsa,sheer,kutter,desdemon,timoshka,bolat,kulikova,vinegar,fujimo,pippone,vitamine,spears1,buckles,wallace2,sex4free,head1,renob,hoskins,mandog,bonita1,zero000,happyhappy,scooter5,chester8,bouche,camus1,pussy9,buggie,boogyman,kittykitty,hortense,portnoy,open321,boomba,chrisw,cdtnkfy,all4u9,valid,corsano,kantot,lopotok01,boosted,shocker1,butttt,nikki69,ruben1,iluvit,shadow23,200190ru,bubba8,bore,hogans,temp12,webpass,volvos60,passive,vlad2011,pagans,princip,boobear1,maccom,norwest,bobbyorr,fynjy123,wolf100,boston11,yeahman,swordsma,mama22,zxcvbasdfg,plokiju,slipper1,hardwick,pickwick,bowling3,hagler,wombats,minkey,boxster1,987654321g,megama,delila,shazza,wolf13,kfgeirf,prozak,jourdan,orange22,robert19,owen11,renrut,puente,vsythb,knothead,aikman8,nemesis2,philli,chaddy,1junior,shelby2,rock22,pinky2,goodlove,choirboy,vikes,qwaser,cocomo,brasil1,stony,vikings2,anastaci,jimmypag,welcome7,spitz,amitech,harley20,kenmore,dvdcom,vitalogy,rfybreks,trick1,visionar,pussygal,cheaters,turtle2,kimmi,nunya,landman,august20,paul99,brinks,magnoli,olivier1,lackey,imperato,fire1234,april16,vehvfycr,mypuppy,bigjohn1,robust,septiembr,cisco69,brothel,jenkin,robert23,h397pnvr,logoff,olin,risky1,unified,goteam,hibernian,robertr,amazon1,rosebud7,wilson2,enrique1,ghislain,compost,salo,build,milfhunter,ma123123123,priory,samia,xjy6721,natalie2,roykeane,shire,mamatata,crazyc,mikie,jackie2,bubbah,hackedit,duggan,clause,buck13,bronc,godflesh,pornog,iamking,dale38,buffa1,saul,green15,nona,q123123,gungadin,steveg,chinaski,faithy,storm12,toadfrog,westover,rabid,automati,squirtle,cheezy,burbon,llebpmac,slavic,camus,burrell,chikara,durex,plowboy,imbue,hormone,wagner1,thepro,letmein5,duder,scale,fastfun,conner1,stinker1,seek,reston,syoung,dugway,rojo,whole,kafka1,catsss,campus100,shamal,nacho1,fire12,eldon,rangerover,mohamma,skyblue1,canales,roamer,morgans,lope,logjam,fifty5,capa,broward,ingenier,ranger3,daddy69,capulet,ford350,tiger00,energy12,march14,murphy11,lydia1,parasha,nielson,saxo,tobbie,pilote,heather4,leones,charisse,carmina,vergil,colegiata,lincol,smoothe,carwash1,latrell,eider,bubblebox,loquit,stanhope,wiseass,nutsac,1qazxs,enjoy1,earnest,1pumpkin,phantom7,superpower,dogdays,u23456,silvan,slagelse,twothree,dannyg,bftest,ballsdeep,alphasig,cccdemo,fire123,claire2,august10,lth1108,1rusty,goirish1,bxdumb,rabbit69,travail,chantal1,greenpea,bergen09,petticoa,classe,ceilidh,salter,lucidity,manure,centrum,qaz321,chileno,masked,cexfhf,99ranger,estoppel,carter80,rustic,unit,herder,fcgbhby,gimmie,sunitha,onslow,menard,cast,flagpole,nicole0,chisholm,souschef,cater,riverat,makalu,publius,dancin,chez,thomasj,bmw540i,nazi,signs,kasi,shoots,stacker,late,iceman44,nicely,vengeance,chris100,chris24,cosette,clearwat,chumpy,koolkat,jamesjames,ckflrbq,j1964,streams,18n28n24a,coasters,shergar,nautical,ringo123,reach,tanita,economy,johnny12,halberd,dillinge,divide,fatb0y,c00per,cosenza,sloboda,mooman,marion1,arsenal7,sunder,need,daimon,ezmoney,chesters,aiden,hugues,patrick5,aikman08,robert4,elspeth,roenick,writer1,foxmulder,jamjar,scurlock,dinkus,icon,1sailor,nalgene,snarf,allie1,cracky,henkie,1friend,quique,bandicoot,death13,wiggy,master4,jr1234,hillary1,rumba,bloodlust,shadow00,bambina,yummies,melany,cutoff,freehold,funnel,grammar,matthew4,itdoes,mnemonic,fubared,dannys,nikifor,scubaman,saavedra,dtheyxbr,shirle,letssee,tamplier,gorillas,pelican1,fiction6,thwack,onetwo34,gunsmith,murphydo,fallout1,spectre1,jabberwo,tactics,redryder,fights,dean1,jesusgod,kicking,musical1,loppol,josepha,rebel12,organist,toshka,dangit,archimed,springsteen,wowsers,peeing,yamoon6,dangel,miruvor79,falcon7,miatamx5,dogpile,dfcz,haruka,birthday28,crowns,sten,georgio,sinaloa,willy123,jumpup,llabesab,clique,vicelord,lenard,hopper1,gerryber,fiasco,fre_ak8yj,nahlik,epson1,dumpy,jergens,itsasecret,takeout,mountai1,wurst,bongwater,1london,fords,heroine,pepper14,rays,dereks,qweqw,molar,fordgt40,rfhfdfy,hallelujah,hunnybun,prank,megamon,tuffgong,gymnast1,butter11,123xyi2,tatarstan,oussama,fianna,technici,schweden,throbber,jacksons,pilgrims,tech1,deadzone,kahlan,dethklok,xzsawq,cybrthc,buck01,qq123123,williams1,c32649135,flash33,spacejam,holycrap,daman1,tummybed,nusrat,daniel26,sevenn,kingpins,dima1991,macdog,spencer5,usagi,thecakeisalie,slushy,sophie01,penny2,meesha,magik,jerry69,daddysgirl,irondesk,jasmine123,tomuch,mosias98,esenin,raleigh1,heady,daisy3112,zootsuit,rubyrose,parallel,vova1992,dave2,jeffry,hardee,letizia,duty,vfhfnbr,1986mets,dilly,enclave,mafia1,boomer22,swifts,edwards1,fyodor,gemini13,montee,eagles11,snafu2,cintaku,mossman,maks5843,lincoln2,acess,gre69kik,core2duo,ublhjgjybrf,ashe,daniel20,massim,hardcor1,orochimaru,hjlbntkb,paradoks,ghjuhfvvbcn,doright,bkmyeh,figure8,freda,fuckya,scamp1,ontheoutside,louis123,moonwalk,mercury2,amenra,richelle,lafrance,detour,hosers,5150vh,sexking,alomar,wealthy,jahlove,ringding,apollo8,nefertit,morrisey,tailhook,bujhmbujhm,thedark,meteoro,felicia1,tinuviel,istina,lolz,lgkp500,grandkids,darling1,redhed,dazzler,chuckle,jager1,plumpy,vsajyjr,vbhjckfd,zcfvfzkexifz,max1234,1dave,loggins,pangolin,marhaba,latin1,dave22,salford,fiscal,escape1,fairbank,grepw,ernes,desi,yield,soundwav,greg78,sexmad,elvis99,rooney1,chiefy,pilsung,dennis12,demolition,logistics,davin,philos,lavonne,whizzer,upiter,bluejay1,kosta1,sustanon,kyla,tiptoe,medley,marine21,nasa,winsome,dctvgbplf,xxxp455w0rd5,lllllll1,ooooooo1,gammel,devan,1jerry,death2,qwertasdfgzxcvb,vegeta1,brigham,maxxam,mooose,ilovetit,illest,debi,doesit,vallarta,abby12,longjump,littleguy,magritte,dilnoza,saltwater,kokaine,spore,dream2,destiny7,dragonss,klaipeda,suckme1,scitra,delights,smellyfe,reyes,deutschl,harley88,birthday27,embalm,vfvekmrf,kristie1,kelebek,99strenght,denis2011,stalker2,popey,1stunner,jessejames,molars,madlen,west1234,jeter1,judit,silver69,green9,twentyon,drstrang,yannic,jenna123,malinda,civic97,rusty21,shineon,cabins,buyer,wonderwoman,kanabis,wert21,fktif6115,kakaha,54gv768,826248s,leecher,kinkysex,geekboy,62vette,scuba2,bunter,ussy1,towser,semmel,dochenka,fujiko,nadja,firebug,snake12,starbug1,querida,meester,diggit,parcel,outland,zsexdr,hotty1,dalto,pcgamer,dima3452,maksimov,dima2011,dolphin5,kakdela,p1nkb178,warranty,pointblank,dinochka,mama1965,1scorpio,dios,measure,seitnap,rfnz123,ghjatccbjyfk,witchy,gestalt,eatadick,discordi,onward,salsas,cider,jackhammer,nasca,helping,lamer1,sicher,ether,player21,soccer23,robert5,sirrom,deadfred,cornelis,br5490,cntgfyjd,ciara,iloveyou22,1startre,jasper01,gromov,melita,nfhfctyrj,wonderla,cygnet,berlin1945,starkey,missions,maxmax1,sort,ramble,novato,felixcat,vbhjyjdf,aksjdlasdakj89879,dominik1,tiger10,docter,0000aaaa,pussylips,polo99,lucious,senorita,waimea,cjhjrbyf,diamond8,criket,terror1,valetudo,geno,monit,junito,doublej,sup3rman,tigr,stryper,papa12,101054yy,rbceyz,jehuty,weiland,kovaleva,pelham,isdaman,mandala,percussi,varken,sallydog,naruto010,1maddog,sissy123,artanis,thimble,june1503,raptor01,poppers,mercy1,eamonn,rs2000,23wkoa0fp78dk,evgen,sumsung,yhnujm,amerik,lucer,olga12,1488ss,palacios,triad,1sophie,erkebulan,northpole,marinamarina,fdfyufhl,balou,gbgtnrf,fifa,mastert,gille,ershov,reddead,estefania,hopping,saki,ibragimov,tenor1,radist,albuquerq,juliett,timofeeva,semperf,grace2,carame,jackpot3,champo,lazareva,ramse,trev,christoph,reptymrf,nextgen,guitarhero,50cen,hellboun,quinten,evrika,00198,valiant1,nokian82,tortilla,skytel,fatima753357,clemen,paloalt,segundo,telegrap,elemen,bigbrother,redhat50,longfell,marijke,lyrical,cucciol,tropico,misti,pascal1,firema,redma,pendej,faceman,poirot,123qwa,mirinda,twats,tiger77,bkmifn,nthvbyfnjh2,algebra1,zugang,falken,luka,samson12,allways,pjkmabhz,leandra,terrorist,islamabad,sixpence,6inches,rockster,bluegreen,205gti,readynow,thing1,itsme2,ilyas,porridge,lacrosse1,galleon,sakina,prolinea,meloman,osiri,c7e4f8ezqh,probably,lead,footsy,112233qq,move,stas1992,pina,rasha,lexus11,dkfcntkby,justin2,zafhjdf,rjkjrjkmxbr,hcir,pizarro,turin,maggie01,samura,latexx,123vv123,farmhous,gthcjyfk,weyfvb,octobre,jackass2,fusion1,duckhead,filial,star21,showbiz,juanch,jama,regina1,jordan00,fghghgh,fireice,birthday133,dirtycunt,jizzeater,naughtya,rebeka,shamroc,t66hks,fisheye,asdf0987,ryan12,parma,passman,irongoat,satyr,sultana,robert00,roses1,howareyo,1magic,bebita,forreal,takefive,reinhold,w3e4r5t6,lovegirls,powe,polkan,pomme,foo123,ilovefee,wkmcpmn,protecti,mansfield,rocket7,vaz21083,ardennes,porsche8,my_pass,wacko,trek5200,klinger,gamer123,goodnight,francis2,pinpon,george123,sarakawa,drawoh,germano,jake69,wilma1,jeannett,ohiost,freddo,michiga,cumin,tour,storm123,strosek,freeky,mama1,xcat_xca,picaso,sheetal,satine,sondheim,love0,udinese,gurken,6215mila6215,przemek,girasole,datho,marku,tommy55,il2fw2,smd123,lizardki,loh123,funker,lutz,seeing,futbo,seniseviyor,maudit,5unshine,quasi,quinn1,adi7id5,traills,jobsearch,fitzgerald,halt,gaura,garik,bmvm3e46gtr,howie1,galatasa,miguel1,mail123,mary12,joshua23,girls2,bible1,market1,pinklady,1florida,guardia,nymph,blackadder,zkexifz,dallas33,gary1,flirt,ethan123,hamlet1,gauhar,newpass2,priroda,girish,koukla,2606642yra,kgmtva,capucine,mahoomar,iloveyou143,mastery,shango,schokk,valentinka,varenik,saipan,poutana,111222a,russi,sandi1,shit1234,buttock,maisuradze,xsw2zaq1,uthfcbv,2008m2009,greger,123b321,babuin,kensington,maggie10,zaq12wsxcde3,kenn,oskar123,shaka1,glue,greg13,dufus,goga,oliver99,goodboy1,pinkys,googly,publix,koss,qqq11,gq361hy,grifon,satisfy,pageup,mags,shebadog,inxs,tucano,diagonal,john13,smeg,fgjkbyfhbz,grind1,whenever,happiest,letmein123,genius123,chinchilla,hockey77,gvanca,keener,gates1,othello1,hhhh1,twain1,vfvfif,suzie1,loli,harvest1,rjhjyf,shaunc,1q3e5t7u9o,padova,kaylynn,roskilde,hepburn,herbert0,ratmir,pol123456,proud,hiroki,latinos,juice5,astros1,kippy,tariq,murasaki,hubcap,scorp,rowley,pampa,indi,k9vvos0a,masha2011,ronaldo123,soccer01,upland,iamawesome,love4me,eisbaer,plushka,katushka,jokerman,imbored,rollers,tropicana,sergeevich,logging,diamond9,access16,sandy12,t1234567,autocar,paycheck1,kissmy,debaser,rajendra,cthdbc,vfubcnh,jamdown,viole,voronov,blitzkrieg,irairaa,ubvyfcnbrf,bushmaster,pilipenko,kmdbwf,mirumir,pcmcia,minarets,hjvfirf1,lera2000,123456zzz,thommy,nathanae,popochka,bardak,kallis,kalman,decision,brookes,kelloggs,jake13,kalyan,mj2345,silver5,jhonatan,mike33,puckhead,ridgeway,motera15,robb,worldwide,jammers,timpani,backhome,candyfinger,stayrude,akvarium,johan1,starscream,patricia1,jasonh,kimmer,prolog,salvage,onlygod,deathblo,b0hica,johnjr,lakerfan,kevin7,boxsters,june1,rommel1,angora,jerry123,sachiko,stephen2,lani,thesimpsons,born2run,maddi,nouveau,sigchi,redbird1,padlock,petrik,quelle,greatnes,mariamar,tomasz,mascitti,feeble,sexwax,toshi,todd12,gohogsgo,aaa123aaa,kurwa,210689n,makcim,dtybfvby,keneand,size,spork,nahtan,icefire,siddhart,mst3k,rajkumar,kiselev,volodja,rock1234,talented,hammerhead,katebush,gznybwf,surge,kozanostra,malysh,maga,loveme12,zadnica,vfieyz,ohrana,1234567890l,samy,skotina,mark10,marinochka,minina,sahtm069,bcnbyf,polyakova,maintenance,raptors1,misia1,love12345,ljkkfh,papa123,vfhmzyf,carnaval,vladivostok,bigrod,sale,wxc123,zoey,azsxdc123,larryg,robert6,lavrik,1raiders,sqloledb,adding,yfcnhjtybt,vitalik123,oink,scooter3,gjhjlfcjqrb,rustik,leon123,natron,cabeza,matt22,nixon1,candyeater,jammygirl,littleslut,mocelot,overmars,carlsber,makayla1,moeman,7samurai,helpctr,nexxus,m1m2m3m4,love777321777,rellim,corratec,sniper123,mjbnbna1,yoshimitsu,superm,cscomp,max12345,masha2010,reddawn,eventlog,vfif1986,activation,1shark,wminet,citbanna,mutiny,podiatry,messina,nicki1,192837465q,beller,okmnji,vjkjnjr,gfhfdjpbr,mostafa,luggage,voronova,osipova,123456789aaa,setting,ieinfo5,poopie1,nfyz,kopa1994,nastya1997,cnthdjxrf,nurgul,oksanka,4815162342lf,nepbr2009,swetik,vardann,rahul123,rasul,snh4life,zalina,w74156900,celt29,pfqwtd27121988,zxcvbn3215,serda,sergey7,sssata,tekkon,16fretb,timote,cnfc35762209,221133z,hassagjs,4050,4080,9008,10088,14078,19038,20058,24048,26048,29038,29048,33669,89586,96385,113411,113456,114466,116211,123233,123478,123498,124563,125480,125896,127266,127576,134267,134652,135789,138500,147000,149200,157359,159654,172165,177777,179328,187420,196500,197506,197610,197802,198100,198510,198620,198707,198802,198803,198810,199004,199090,199404,199406,199520,199610,213456,222221,222223,226688,232123,246642,246969,286685,345123,358853,361619,369987,422119,444455,456963,495812,542678,551155,552233,565758,567432,636332,696977,699999,741369,776655,777007,787899,887788,888666,901234,907629,951623,997755,999555,1213456,1234556,1236951,1258963,1478965,1590753,1593575,2236345,2580147,2947251,4050328,6657684,7106189,9035768,9517883,12101492,12141618,12341231,12345543,12378945,12601196,15161718,15541632,19688691,19811983,19861987,19888891,22224444,22228888,22360679,33331111,33445566,41513042,45683968,56259090,66778899,71727374,74125896,78789898,91929394,123234345,123258789,147963258,222222000,383295502,451236789,741963852,789951123,987321654,1324354657,1994200414,2143658709,holt,headspin,0040,erskine,merlin7,effie,tdfqugl5,membe,123happy,hahahah,march10,geneseo,yooper,66stang,giucil,robbieh,smilie,closter,swivel,copperco,wsbadmin,randyb,ramtough,lindsay2,digby,pernell,marmo3,kassa1,ass904,bird333,spearman,kg5698,percent,pebbles2,brands,blakeca,combos,1mother,fox1,chapper,lovesazz,quartet,hohner,natalee,bigbos,farrar,yllek,infra,nikol,1dddddd,franway,1hhhhhhh,guppy1,buttboy,carmen2,sensitiv,easley,ecnirp,amc20277,namrepus,adamss,garp,jimmi,assess,12345677654321,arron,jj9999,kekkut,pornboy,shkiper,kitty7,bacchus1,chester123,ron123,firstaid,canopus,chantelle,falkland,hayashi,incident,schnucki,green13,lovers1,km83wa00,danton,riverman,ilikeike,aaron2,fetisch,mc6288,perrys,paris75,amg921,carlos68,billyjo,blueprint,1531bs,zcgihlke,einstien,omysut,arden,gotten,trebor1,gismo1,serpent1,raritan,calibre,gus123,doorbell,efrai,poochi,monde,emmaus,jerr,button1,wildfir,alvarito,caesars,guerilla,gooner01,vitebsk,nordman,cubs1,utyyflmtdyf,alfetta,mite,absolut1,attilio,exciting,busstop,goodall,atonal,andrew00,lampshade,lesya,paulita,6y7u8i,korgm1,asta,andrew8,gameman,1badass,78ford,1casey,coke1,redlover,monchi,tamu,tatum,alex55,haha1234,hamal,luckyday,zxcvbnmmnbvcxz,code3,rocket01,1stephen,merde1,genlee,1viking,wsxcde,recneps,edisni,5seks7,1uuuuu,1hundred,1magneto,vipper,1cock,siva,monkey19,angel200,billy8,desig,falcon21,sorbet,fuckinti,abakus,jack55,climber1,lyons,undergroun,limeligh,aral,123321l,bowles,fink,skidder,baseball21,okk34125,sylviahans,meijer,castilla,suckmydic,spyros,ajones,addition,pass23,shadwell,21952q,bodensee,goffer,fubu05,amstrad,pvhpx6,greenber,kippax,marinas,lemont,choccy,callie1,altern,tankman,0187541,aladino,root138,m0ntlure,allpro,a1b2,debtfree,redflag,visiting,nzceg251,pibzk431,zmpimeje,boonedog,allende,accoun,wtsfjmi7,twinpeaks,forlorn,pimpdogg,austin97,zippie,herbi,msujoe,altamira,katie12,mong1ni,jokker,bad1,schoen,gfhjkmrf,lynch1,kyoto,alesi,whitlock,asil,caesa,andrew21,brijam,lucerne,lbvfhbr,sesso,greencat,berty,bigballer,bose,rdq5ww4x,donita,matthew10,bigboat,randys,zenden,mech6666,fernwood,omytvc15,astrolog,monkman,seltzer,bittner,bunner,cgzfrhuf,acotec,neggy,boracay,uxmdzi4o,ashley22,andrewb,angel66,lvd9341,bearboon,dekcah,civilization,rustyw,scrubber,daphne1,rebbecca,keiko,aryan,blackwell,hann,rmpop,bigsmurf,wwwxxx,johnno,cmigtvo7,tiger86,h72sfibbnl,mutt22pu,bjones,rathbone,arguments,andrewj,logo,brolly,cobble,music5,swain,onelife,afriend,dessie,tina1,charlied,sally2,housing,chicane,kincaid,paid,jerkit,leading,sgegukbm,slaine,roni,cartoon1,hendrix2,george10,gilbert2707,curioso,yama,spares,123poi,miker,seeall,imemine,wtpmjg,sandma,ydnarb,hobbe,monreal,tspeter1,srawrats,undne,chelly,karend,indobokep,espiritu,honda2000,nfgbpltwq,fuckersss,avantis,adders,12345love,carros,burgerki,63chevy,looner,seadoo96,roebuck,sarah200,akira123,mspaul,tigertiger,qwqw1212,thomas3,jrracing,freesurf,acinom,bryguy,kanus1,as2579,66mustan,kinshasa,shanker,brasov,98stang,exupery,champion1,eagle69,4girls,lolomg,oldgold,rancid1,abbeyroa,forfar,gavilan,slainte6,sloogy,subskin,updrop,simonova,nicole69,tescos,pizzaa,nicosia,gateway7,jizzman,nagging,ilovebri,wildcat7,matt25,w1408776w,greenwic,katman,4sure,trucks1,fuckyoua,joeyjojo,vgy78uhb,gatinha,babe12,dbrecmrf,taifun,cumsalot,avarice,jjames,schroeder,sexy23,boogs,david25,michaele,polka1,nekromant,mounds,plato2,textile,deepred,sandrita,mucus,ripe,ujhjljr,vortech,geranium,getback,norge,soslite,dan,longing,qwerty56,light2,turboz,solo44,poopdick,amilcar,bassi,geddon,nani,sandy3,bertil,ritz,98cobra,puregold,78vette,slappy1,4p9f8nja,sapiens,anna88,77sunset,aaurafmf,hasmik,goldz,studios,buddy111,1pamela,bujinkan,mustang66,bb1234,9874563210,rogets,aa1998,aaabbbccc,aaaddd,moon12,dundee1,kokoro,pharaon,misiaczek1,inbhkbw,adnan,meerkat,batman9,harbinger,333333a,scandisk,bigmoose,1blaster,natasha5,aaron8,conn,joeseph,pinocchio,oliver12,heckle,outkast1,boink,august28,maurer,bayarea,bravo20,noway123,shivam,iskandar,hfcnbirf,malmstee,getin1,alihan,switcher,ab123,bma2002,iverson1,winter07,cuco,janusz,kamera,mamata,abbasov,abbie1,murano,holl,abbot,coco1234,december2,abe5,prova,behold,bastich,thegreek,alex1980,maldonad,1peter,abidjan,rehana,booooo,123456789*,malay,grandkid,doingit,hughjass,as123,muhamma,erunda,123123qw,diana2002,fdsaf,alimov,gfnhjy,denisz,abubakr,jones123,alphabravo,certified,beamish,lucydog1,lurcher,ewanko,snapple1,s211278,alysia,avionics,eriepa,kristi1,michael13,lange9x,kerygma,crazyhor,poiqwe,marine12,copley,sukhoi,april30,progres,reset123,kottayam,danknugs,triathlon,joshua04,cruzeiro,darkroom,tgif,ranger82,andrea10,alize,blacklabel,alaine,myway,propel,fanta123,bobbles,anakin99,andrew33,2n3055,meribel,thug4life,fixed,glassic,paragon1,gibralta,bloodhou,tilleie,coldone,badhabit,louise01,evaluate,findaupair007,redros,mets1,emmit,sasha5,qq123321,annetta,anthony12,adil,whipple,kambing,teenies,fungible,serge1,alina2009,ozzyman,ktyj4rf,corsar,alani,adidas23,adidas99,youporn,strohs,bfltua,xnttcb,dragon06,allpass,america7,daddy21,mario6,onlylove,pp04a,stutt,wtiger,want,gjkjdbyrf,q7w8e9,blitzkri,rosana,hardkore,ffviii,jixian,maric,biologia,shaoli,eric69,saiyajin,movies1,between,heffner,syndrome,naughty2,lesta,cervantes,courty,palladio,prowler1,galapago,african1,ichiban1,catsup,chrisn,e214fre21,vindiesel,afnbvf,andres1,ultimatum,fifa2000,1turtle,mercedez,afterglo,agata1,astra12,ltybc123,navillus,caillou,hamtaro,marksman,santorini,glucas,carmen00,jedidiah,abhtqa,ironma,anna1979,motylek,vernie,hurts,themann,capsule,swine,sas123,alva,30seconds,thegr81,bevis,adg123,aika,akerke,babyko,smoki,kabanchik,aimhigh,vasilev,ulrtab,33333v,fruit1,predator1,airtime,mudddd,dirac,vfeukb,labuda,flashme,supermac,biturbo,sanmarco,dominoes,alex73,hillel,yessongs,jensen1,holle,blahbla,sung,catullus,vadim1995,lusaka,meltin,nodnol,autobody,q3dm17,akiko,star33,limonad,7777777f,cassy,kayode,malachy,football10,fkmnfbh,warhawks,anna1992,balabama,1qaz2wsx3,barchett,alacran,bosco2,canoes,lovesu,claddagh,alpha135792468,baroness,wren,allora,aubie,louisvil,boeing747,alania,parol12345,wetland,nata1977,italias1,nokia12,sandra69,voyager6,seabird,hv120dv,es206en,mitico,roseann,liberdade,lathrop,artur4ik,palladium,inshallah,dfktxrf,ghtdtlvtldtl,newyork0,batman00,olga1991,alena1992,aleister,edwardcullen,amoros,alejandro1,fktrcf,vfrcbvtyrj,vtnhj2033,s1a2s3h4a5,fkbyf123,azerok,123alex,alex87,alkogolik,zxc123qwe,njnjirf,w1w2w3w4w5,kfdfylf,klubnichka,20162016up,vjqfyutk,restart1,gordienko,lena22,kardelen,alex555,buggerme,outlet,alex1992,polanco,rodionov,1katie,fafyfcmtd,alex1993,gfhfktkjuhfv,qazwsx123456,alex66,55555s,april29,pyfrjvcndj,sexo69,moskow,anytka,millioner,soares,comida,gofsu338,amber12,princess2,147369a,right4,reading1,drusilla,sweetdreams,asdfvcxz,maia,tomasa,strasse,70780070780,umisushi,wingtsun,strom,cancun1,harley4,tomson,nicaragu,gerasimov,bapass,voldemor,trotter1,cosmin,budda1,nokia1600,alina2000,lena1234,annemarie,petruha,azerbaycan,alisaalisa,alisha1,1gemini,lutheran,stepka,azlk2141,alla123,artem2000,h0lygr41l,nation1,salon,xxx999,jiggly,freejack,parsnip,diya2003,ragweed,tawny20,anfiska,elmhurst,allis,carolynn,m0nkeyb0,alpha6,casillas,podstava,2-oct,06251106,elia,hanalei,lytdybrbdfvgbhf,gypsydog,raver1,wolf99,jagger1,rabit,alouette,element2,grace7,saxon1,1sally,yasemin,hathor,providia,santander,success7,peace2,denis1989,carols,anasha,tindoor,0406198,karrie,joao,amaranta,senhas,sandies,banjos,neckk,ziegler,hegemon,asd123asd123,parola12,room101,putana,figtree,jordan6,hulahoop,mibeb,02143006,astrodog,amulet,aeroflot,sahil,korvet,paredes,august21,z12345z,flurry,senthil,magius,mexico2,fashist,biller,lovegood,scooter8,tendulkar,amy1,october31,evette,mousemouse,milking,04098,techn,arte,domingue,7777777q,solly,shalom1,ivanko,julit,astri,azaliya,robert24,svensk,filofax,bettina1,schmid,santamaria,ferraro,passwordassword,andrea00,meloni,rono,qweasdzxc12,andrea69,nightfall,rest,ronaldinho10,grusha,fernando1,gostosao,belomor,hotice,babnik,zxcvqwer,amant,ctdthysq,andria,bmwpower,audirs4,anny,consult1,usa1776,abuelita,holdup,cosmetic,caledoni,a2345678,anushka,croc,funnies,angel2010,bombarde,girlygirl,drake2,carmona,goosie,angelface,ingress,k1f4c8,angelie,chippe,demon13,hernando,ladoga,fr33d0m,vfvfxrf,zakaria,anna11,anna1998,anna77,annabella,zoopark,pavel123,rosalita,supe,malib,meli,yjuufyj,canarias,not4me,attempt,rfvbgt,patricks,vincente,mironenko,salvia,kfrhbvjpf,lxdumb,germes,slackers,svensps820,pogosyan,shakeel,apart,equal,pifagor,buzzard1,scampy,distal,mclarenf,12andriy14,charade,123vvv123,onimusha,underwater,barriste,seaquest,miser,caliburn,labyrinth,#name?,bujhtdbx,cristobal,crepusculo,muckel,epidemia,chupakabra,mascara,fortyone,maryse,montreux,jorge123,arsene,000999888,edna,p@ssw0r,artem1998,theman2,chiemsee,belmondo,artur123,refused,yakudza,maksimuss,ipo54tj45uy856,s123456s,aznpride,uhoh,kerstin1,askari,3616615a,un4given,laudrup,phatazz,gaping,dogmatix,astras,avalo,budlight1,qazxsw22,badboy123,ishorny,becker1,financial,kaviar,puddin1,tulley,stern1,autobus,cfgfa03,1jake,vlad12,jedi99,slimey,snakepit,baby31,ktc110,solids,isthebest,b1t3m3,gfhjkl,therocks,brianf,june30,upyachka,badstuff,chinos,waterfalls,raffle,kurica,zippers,every1,stix,baggage,oceania,jimmmy,reality5,buggsy,privetik,branston,gohabs,fdjtsa,shitfire,boulevar,1maveric,chamorro,frick,calif,cookman,rossman,nightcra,maranath,pumpitup,baldwin1,groom,shadow20,farme,punt,keks,westside1,piero,seve,amoureux,kent1,cavaliers,bananen,famille,bret,burp,lick1,stalion,ballzz,mervyn,kazoo,jonah1,stone2,schnitze,1brother,brothe,horner,drdre,rtyu4567,banana69,splash1,ke12fe13,dentista,hayek,wannasee,vivace,blue18,bangcock,chris77,sofa,kronic,bangme,banky,imjakie123,cruising,fork,green75,snook1,chouette,blaster2,blather,moisture,bantu,zapp,nhatrang,april18,1billy,wolcott,nickster,gemini6,jackasss,college2,rubberduck,kaka123,macavity,hal2001,louiss,rikki,checkup,nikegolf,kotyara,robertson,tress,garbo,blaker,bowzer,platinum1,bdog,1purple,larryboy,legendar,warpig,h0ckey,incorrect,bisho,barr,villeneuve,rosalina,laughs,rasberry,heeler,cassey1,blueee,asianlov,kakka12,1white,timezone,newberry,patches2,santas,1driver,saskia1,bassmaster,moneysho,unnamed,bart01,sesame1,chefdom,booobs,fantasie,marlene1,jamessss,muadib,november1,1yankees,loxpidr,1sucker,killer21,cedar1,compete,bass1234,snappers,hummer99,mamour,bloop,bass11,hobbiton,sheehan,lbyfvbn,wrath,pitman,pharma,suckme69,batman22,mcmillan,gospurs,babygirl2,kamina,berrie,aramat,12q34w56e,returns,batman3,jedi1,triade,bator,winter13,bmx4life,stucker,wjc200,mirrors,stasha,tamper,exhaust,whitne,agnostic,gracchus,davison,bolo,momo123,recorder,sex4ever,american1,lattice,godzill,gateway5,rovers1,slammer1,bubba99,weed123,bball15,black47,elite2,castings,xz33333,lovecat,sabrosa,jeremy2,2short,boodles,watson0,buddy9,poptart1,brian5,russell7,sammysos,lanky,bobby5,lookat,charter1,1molly,habbo123,horned,go49ers,bigdawg1,godzils4s7,nuttin,ashburn,psycho72,brianl,falcon4,jimmy11,billyc,chem,testo12,fuzzbutt,ultracash,beerguy,megan7,email1,booby1,yankees23,maceo,wanda1,jhendrix,edwin1,quorum,despina,sun32,rocket2,beach2,cbreeze,wikinger,dorkboy,ruggiero,robert71,bleh,billll,earwax,meanie,skiing1,12345678l,casper13,dan3,wood1,girlfrie,mrfish,tame,bears2,taylormade,wedges,dick11,zerohour,silentbo,gasket,boston99,londres,nathali,sarahd,charles9,butterbe,kittycat1,decay,follett,winston3,ozone1,xtvjlfy,ecurb,codie,gwar,bunsen,blowjob6,flanker7,qaz123qaz,hops,shoehorn,radford,eroica,95jeep,sheffwed,georgie1,adler1,hunter5,benj,rachel7,jake00,towanda,moose7,tweezer,berik,fleck,armyofon,rustang,boudin,thorin,dstars,cocklover,bubba13,lyric,vf279sm,brooklin,svenja,kippers,1tennis,jazmi,angel100,carita,blue222,compose,kunt,metaphor,norwich1,rutledge,glastron,mangoo,ziggie,dunlap,biloute,muddy1,babylon1,copyright,leodog,killer45,benni,chris26,holyman,calle,tigger10,karupspc,illusions,bailey99,89semtsriuty,joshy,oliver123,bjc210,rhumba,holly12,juicebox,celt,wick,berl1952,gareth1,evelyne,amarant,beret,neely,asante,pana,bergeron,pitts,nosleep,david99,lucia1,geminis,1voyager,babe1987,viruss,duffydog,library1,zipzap,goodguys,kissm,ragers,mach,dunker,icenine,cody01,daywalke,gateway6,schatje,druhay17,talus,vika12345,foreveryoung,james777,fordfocu,sierra12,nosbig,broker1,jazzmine,hondac,shout,badboys2,harlie,souleater,punany,hoyas,jiggles,gonad,wend,bryan2,biznes,bigmac12,tris,discos,beasties,camano,vandy,flannery,purple7,ytrewq11,valer,baseball10,vasser,maggie123,fw190d,taarna,sandusky,waycool,thai,ching,super21,jackson4,soldout,march3,chodu,ziggydog,sauces,dakotas,pointbreak,maxxum,filly,sunoco,blackand,bianka,exxon,jive,23843dima,iluvatar,gherkin,bs2010,blue16,blue20,love6,carolin1,reel,rinker1,tatas,peter3,daisies,fishing4,nyisles,fuckher1,bigwilli,getsome1,breizh,concise,jennah,blizzard1,gizmodog,faithless,katrinka,packing,tryme,bigtimer,martin21,palle,scarred,tarquin,cumtome,bluegrass,thumper2,butkis,steve3,bigc,7elephant,scrump,chiquito,moxie7,longhaul,bullshit1,2times,gayle,sdicmt7seytn,playboy3,1bigtits,maxxie,theblack,54chevy,diverdow,titsass,irishboy,1bigman,bigdog2,casey12,ramcharg,shittt,justin99,buffalo7,iamsocool,savings,carpets,fevers,bigfish1,newbury,goodlord,gdog,pharmd,alltime,whoppers,tony99,fazer,footfuck,willian,thedude1,biggy1,phantom4,666xxx,zeeshan,sridhar,bratpack,mitino,bigjack,12inch,pixels,killeen,cbr600f2,moose23,bigkahun,kennedy12,happy21,optional,suprise,kathy69,texasboy,bigpimpn,grizzle,holla1,hardie,humber,deedee1,schlitz,clayman,synchro,1joseph,thelove,catskill,moran,thebean,jerker,cccc1,yellow8,itsmee,budz,tylerca310,hogwild,cyclist,cougar11,goliath1,threeday,52xmax,frodobag,ranger13,herbs,phigam,shaney,asdasda,djeter2,bill063,sex101,hellowor,arther,snafu1,paddler,bristolc,farrow,nudge1,scamper1,hoopty,asteria,chalice,cipolla,technician,dabear,sadiemae,ph0enix,goblet,stuck,opusxx,allybong,swearer,jannik,nixons,montie,jayme,bulldog6,harleyma,brad22,rebels1,babybird,laden,brassy,zheng2568,omglol,burgos,tacos1,potent,moretti,tractor1,boogey,emoney,giancarl,please12,westfiel,gmcjimmy,blondie2,truly,cary,bobman,killer22,olsson,podruga,chowmein,blacktie,leee,ranch1,dusted,petrie,kaitlyn1,tiger9,dylan123,dalton1,mover,table1,aolsux,weed1,nolose,black99,powder1,burritos,shakazul,paul04,death66,blacksonblon,trickste,cigarette,sasuke123,derelict,talbert,kumite,hellsbel,rallen,brandon5,manson1,1nstant,bravo123,floral,magic12,black69,shoeless,hyrule,saidin,cowboys3,entre,fritolay,bigbear1,tottenham1,thirteen13,italie,mensos,tabryant,greenguy,camman,budligh,72305z,sunglasses,groves,saufen,rosie123,saddles,couga,chimera1,420842084208555,zork,sexypass,drew123,frankzappa,rmanis,nsnabh76,ladies1,secret99,rfnz11,nightmare1,organs,lantern1,orochi,chrisi,slayer123,goodnigh,mrblue,aztlan,blossoms,11jack,kerplunk,cutout,blows,shipman,ed1234,blue333,ch3ch2oh,sprit,bluebox,tomcruis,royals1,wer234,grasss,mariamaria,elzorro,eldora,1special,buddy5,tenors,dogbones,cooder,gizmocat,rebecca9,casin,glenna,saspurs,tgacb,belushi,itsme1,macon,fishfry,tammi,boggy,poop11,paper123,ru4692,pheobe,research1,igmtva,gris,struck,xehrf2011,aussie1,sammyjo,captain7,bobbi1,thea,april11,daffyd,gateway0,newport2,philadel,secret00,howareyou,texas69,eldred,carmelit,bmfc2353,ponch,master32,ineedsex,chimney,666hell,astaire,stogie,jazziz,gallup,explosiv,michigan1,boner2,tadpole1,tungdom6,mcfarlan,bobbyv,mohinder,clk320,giovani,19thhole,spunker,mybaby1,cancer69,pucci,quepasa,manon1,forestman,worr3619,maffia,corporation,vinson,therams,rjvgjn,ellswort,ckfdrf,lion12,chad1,ortho,jamesj,mute,bonjov,taylor10,lousy,f67342,cammer,coby,dooby,down1,text,bookem,flatboat,gaggle,flatbed,cuminme,quit,crooner,concern,2w93jpa4,leveller,dude22,dee123,pelosa,looped,hpesoj,0px,jeri,paperman,takethat,corney,carlas,gusset,carmine1,globe1,hagar,liz8tysiu,artillery,wetzlar,stiller,bot_schokk,limonade,ireland3,samsa,dinkie,sapphir,lita,copies,coleen,martin19,boxerdog,knocks,bedas1,max528,kyle11,silvermo,fish12,lung,free99,00seven,2br02b,chimps,teague,muddog,arrogant,stup1d,shadoe,lisalove,wynter,texas5,hondaa,peaches3,gobucks1,goredsox,wind0ws,mudd,kukaracha,kiley,oneil,football7,idontknow1,wett,dakota11,ballin23,hidden1,bulldog3,hockey30,brazilia,donatella,mindspri,arriba,dddd1,taylor6,spionkop,pedr,mikesch,karola,aerospac,bldass,sweetiepie,katiew,gorky,brentwood,dogtown,jordy,emmons,edwardo,qualcomm,rastlin,rufino,twinkies,pingeye2,richard5,sewell,dekalb,cade,max666,maker1,tunisie,janos,chloedog,ghoti,jamie12,supple,skyhawk1,womba,manolis,obninsk,ravenna,cyrille,butler1,prune,routine,conroy,fdfsfaf,s11111,kalvin,chipchop,kittyhaw,mansoor,arbuckle,jazmine1,akinom,bastrop,onme,asdf456,benno007,dusti,dexter12,chelsy,texas22,roadrace,ratcat,pauley,penwindo,winston9,jasmine0,dryfly,bear98,redcoat,green88,alkanaft123,m0nster,liberty9,carrera1,andrew7,cavid,jktrcfylh,bubba111,tropics,notrub,wormy,play123,julia666,smoopy,moonbar,gatorfan,illiad,turntable,dienstag,starshin,candy69,dyexrf,funforme,loves1,3children,gunz,kevin9,think1,mays24,tatonka,chevy57,rocha2,decoy,cajuns,antonino,slaphead,bully1,lokator,coolin,star23,murmel,lxgiwyl,pantat,yves,char4u,gordy1,kinski,bushka,snort,camryn,redlabel,richardc,locdog,june16,sawblade,rubber1,asdfzxc,woodbine,dubbie,jake22,animas,havasu,crazyhorse,payless,madd,ktjynsq40147,1a2a3a4a5a6a,lolman,q123321q,jamieb,loafer,hfgbhf,bullnuts2003,stasis,burner1,heath1,dopey01,littlefo,poorman,nelson11,soltero,candle1,statue,popcorn2,totti10,ratbert,05058,duke13,shauna1,clinch,champy,catbird,one23456,slapnutz,lukester,wait,charles7,frank21,miquel,palito,zippo123,pass3s,catseye,cameron9,rassilon,hackney,freemont,bj200ex1,niblet,cappy1,cappy,simonn,sensible,feel,arnette,pokie,turnbull,krista1,kokopell,redtide,finals,emirates,buzzy1,cumbria,vidaloca,carlos10,miami123,gastone,delong,storm2,carnivor,toolman1,icky,jackruss,pegase,rafa,casado,mundo,ilovesam,cdog,cowsrule,boojum,wheels1,chasm,dundas,charles4,greyson,tennis22,longtail,mukkula,senior1,eddieboy,svtcobra,9231wcf,chicago23,njptya,blueskies,hogdog,sunflower1,nicebutt,cchaiyas,honors,master9,assorted,cderfv,goyanks,absalom,vent,cecil1,red555,jason23,leaders,mangus,tofu,gjyjvfhtdf,niceboy,cerf123,ranger66,qwertyui1,fleshy,lumber1,yankee23,ninety9,pooh1,swing1,spikers,hocuspocus,riceman,nagshead,chiper,chandu,rakkasan,kikowu,coolidge,creditca,diehard1,3times,charizard,bhatti,bbnyxyx,helpme96,ace2luv,garrick,fourtrax,chasman,chien,suman,elastic,connecto,annina,pino,cameron6,fernan,hjvfynbr,blue34,leihak,casta,chika,masala,simonsays,love4,chinadoll,jackdaw,lanier,ks1977,workers,suka11,taekwon,gefccga,buggin,1cobra,west12,uiorew,heimlich,janeen,martys,stooges3,puppy3,batfink,tankdog,passwort1,nice1,cometa,sleeper1,noonehackme,psycho78,rhh8319,azul,cielo,foxrun,lothlorien,1xavier,toptotty,backoff,billie1,ozarks,peter11,constanta,casbah,twinstar,theborg,67chevy,cody13,1psycho,values,poot,scaffold,aa111111,carmack,bother,pernilla,lexx,b0nehead,sergiu,am56789,1boston,value,mita,foutre,iceman01,jasonlee,johnmc,tomto,charlotte1,schedule,croydon,anniee,polo123,cjdtcnm,legend2,roper,ssword,montana2,lynyrd,dyno,whack,nonnie,laplace,rossini,fling,crease,phantom0,ginger01,gthang,1rules,1cracker,stickit,jamaican,sprite1,nohope,rach,blacksheep,shelle,preview,lantana,gems,lbc999,drift,cranberry,tl1000,julie2,tumbin,cuteako,cum69,hondo17,addidas,homage,fsid3n,madruga2,demon2,bellaire,bulldogs1,pauline1,moocher,lion123,t5r4e3w2q1,confed,linton,guam,bollen,pussy420,deeann,felix2,verne,starwars3,retreat,bebito,raven666,crocket,serafina,1jasmine,saturnin,plasticp,ss6z2sw6lu,roads,frugal,neurosis,fivekids,snoopy13,connex,against,wimbledon,ryebread,sevenout,cruzan,eagles5,twinks,phoenix6,emma123,cjkytxyfz,angies,sporto,quincey,foofer,nouvelle,2sexy4u,catolica,spy007,zman,frostbite,kelly5,cursor,stoney1,sitepass,pederast,tasha123,tangled,goggle,1raider,goherd,amstbb,cubans,george99,cuca,kneel,broadban,thecult,widew,cumstain,rjvfhjdf,hijack,lick69,super99,longest,hightide,1mountai,starzz,sweetboy,shirow,iddqd88,beisbol,1service,showme1,iforgoti,cherokee1,supermod,dawnie,harol,jessup,x1y2z3,drugfree,alex8899,maide,tupacs,pelon,oilers1,lesley1,shelbygt500,usnret,kaleigh,dmiller12as,1mookie,maelstro,poison1,erotica1,red1sox,gurumayi,rhett1,rockandroll,issexy,omen,evgenij,caesar12,goldstei,salas,again1,poul,salomon1,alpha9,dima77,face2face,050605rostik,01470258,demonik,happycat,ngentot,denise01,grandmas,footballs,mikell,richardo,19960610ilja,deshon,djljghjdjl,ranier,lfieyz,jake02,bundy1,1faith,bkqtza,hand2000,7410258963,freesex1,dailey,tazzy,dakotah,morena1,kar120c,earnhart,august30,harveys,jesusfreak,tompetty,kristofer,1texas,opaque,monro,devil66,damirka,darnit,loserkid,cthueyz,tiffanys,gooliner,unleashed,dinodog,oldboy,hotporn,dave11,ripken08,drac,lineage123,jeter02,danna,persist,madelin,hammer00,1dancer,ketchum,steps,marina15,sexy2,noeli,mj1234,andrews1,tryout,hecmax,tarantula,1jackie,hotboy1,pantera2,sandra11,sanderso,kursant,dfhrhfan,permanent,123123w,escorpi,siena,dari,july31,aline,dange,jeffwsb1,hippies,moggie,bonnies,qwe123321,revenue,123456zxcvbn,fabio1,dragon18,trueman,goodfella,fizban,dumars,ericcc,canino,liberia,suzan,darkie,pfchfyrf,kaioken,booyeah,thebat,blah12,lachen,shitt,leonida,gordita,trent1,selanne,tish,1carmen,nikonf5,berkshir,money13,vfkmxbr,dtynbkznjh,roman12,darya,123321d,ribalka,lamonte,superbik,jellyman,marche,kalpana,mydear,smokie1,poopster,smile101,sex4fun,thankful,yesplease,theseus,dreher,dave77,july12,neuroman,animal2,lizzy123,dave41,lucille1,catriona,audir8,david22,diebold,crip,summer09,coachk,pizza2,whoopie,deuce2,writing,gizmoe,superdave,horseshit,80361665abc,ginger99,morning1,morgue,daxada,powmia,maricopa,raiser,flash5,calloway,voodoo22,sasuke12,winner2,nacnud,thegoat,rogelio,8218yxfz,textbook,sawa212,faustino,adrenolin,mark2,0123698745,kamelot,evillive,lillys,joker2,vintage1,eric1132,samogon,drdeath,servic,wedding1,luckee,april2,martell,rocko1,frogface,marcs1997,2q3w4e,paramon,12345qa,sonnys,harryhoo,nalani,deepsix,dogmeat1,foolish1,deivis,irishlad,1angels,klavier,toad24,hongfund,dogbutt,canfield,lionhart,afternoon,zergling,deniska1,1dollar,arcadia1,deltatau,jktujdbx,demidov,demchenko,sillyman,kosmonavt,abcd123456,demiurg,relics,iceman22,forestry,102030a,garvin,ferenc,vjhjpjd,emerso,fournier,denis1983,den040791,oberst,copperfi,maggie99,mccloud,puppy123,roma2010,lonley,eghfdktybt,nokia5700,barnhart,fred66,monster123,9731553197,nadi,lufthans,fuckthroat,santafe1,sammie01,galactica,master66,rt3460014,torpedo1,pencils,schroder,fatpig,sportsca,omen666,mtdew,astronaut,thebrain,upinya,pabl,jennyy,bvncnbnvvbn,elates_y,gundamwing,special7,aurora1,arizon,1bandit,simens,hjvfir,truitt,letmeout,elenas,oren,marcuseckos,nicholas9,bergie,patton1,didenko,feets,dispute,florencia,kamel,gripe,hamann,digdog,beeldbuis,weare1,josh123,drills,dima13,dimka,avtomat,werty12345,dima1983,housemusic,duffie,mazda123,fucktard,dinho,plutoniu,hobgoblin,dustman,d36rkqdff,usual,srbija,djeter,mantha,9953rb,mixmaster,ak471996,george69,guapo,progressive,chris8,fantazy,porshe911,juni,snejana,rulezzzz,youssef,pass28,wolf22,iwillwin,kukuruku,ncc-1701,passwurd,zxcqwe,1hardcor,apollo17,pppooo,laural,rhbdtnrf,gtnheirf,tallica,goals,ljcnfkb,pmedic,doc_0815,gabbana,happy11,hothead,volga,draw,vegetabl,dustbin,tinsel,dreamonline,89057003343,edik123,poesje,poise,gosselin,electro1,wordpass1,tasker,plhfdcndeq,angelfir,gtynfujy,iddqd890,olliedog,winstonone,dozzer,dragon44,monkey42,coppe,jojoba,dorthe,pumice,fitzroy,dragon35,sewers,general2,shafty,drea,restrict,lalala123,dreamteam,soma,sureno,delta3,ferdie,superuse,jigaboo,edinorog,check6,sixstrin,lacsap,e6pz84qfcj,vladlen,lipps,mucsaj,grommet,squiggle,eminem11,z1x2c3v4b5n6,deshaun,kingring,e123456,smokey22,salida,872rlcfo,manly,eagle9,rewards,facelift,sole,h1d2b3,eddie3,retard1,jjj123,dahmer,marcel1,89181502334,gremlin1,telecom1,samuele,suvorov,entertainment,elena1975,oclock,sexs,ifkfdf,elayne,shrdlu,tube,fairytail,estell,fantasy8,runo,vocals,pimpit,abcabc55,platter,pingi3,ad12345678,sept,estrada,maiso,murcielag,singl,branco,lacuna,doulos,gothi,rjkmwj,mor_pass,121212z,janin,greengre,123as,fox12345,evets1,rdflhfn,uhfyfn,vesuvius,qsefthuko,minnie2,360moden,safronova,lakers2,lampar,john2,mand,boogers1,159357q,mathild,rabbit12,forget1,maxin,neron,fuckstick,eyesonly,yeoman,griggs,laetiti,telefon1,hennepin,0606198,berth,multipass,audia,bill22,fabius,cochabamb,rafal,playstatio,peluch,amali,lucie,now0new,kobebrya,89063032220m,johncen,acca3344,freewin,nassar,lifted,vadim1996,mariah1,phill,sulta,pickl,stalingr,vfhbz007,5858855abc,ivory1,polin,fallacy,osirus,resolve,renaldo,yfhrjvfy,only4u,acts238,winter98,hector1,nesterenko,fdnjhbpfwbz,farah,ragger,bantik,fcnfkfdbcnf,shabnam,jcyjdf,farmvill,silver21,lucky22,dauntivi,toofast,diablo123,harleys,zipper1,millen,randee,hasty,tzeentch,xuaujb,espinoza,lazio,megabass,fedotov,fomina,soccer8,917190qq,tummy,wes123,chicken4,fuck99,fish11,gustave,plaisir,retraite,felton,kevinl,ybrjkftdf,ferch,calypso1,puto,bobbie1,peter5,ferrari4,john25,mojojo,q12we34r,cntkkf,hush,badiman28200,a3930571,hjpjxrf,wwwww77,ujyxfhjdf,franklyn,goutdb,ludo,lammer,gitanes,blackwol,mazdamx3,arsenal14,zexts364325,filatov,filippov,vlad2010,123ewqasdcxz,fuckoff666,pollys,denture,fiorell,cvyx76h,sprunt,merzario,charlie111,bdfyjdyf,hawk12,kingkon,party01,plumb,beck69,westpoin,loginov,jess1ca,javert,tyler12,jenn1fer,golfer20,s1s2s3,nhbujyjvtnhbz,gay,mike10,schultz1,adv0927,weakness,miami99,1stella,telaviv,moons,michaelt,fquekm,haha12,maestr,pokus,siskin,1united,pies,tofuck,superdut,zzz777,twiste,allofit,grimreaper,devastator,ge0rge,ubnkthrfgen,vgfun,foxdie,mankato,clubbing,rossy,junta,freakdog,yavin4,saoirse,merdes,juliana1,pontia,fubar69,biggen,maiden666,rangersf,winter09,tee0s,frederico,freemind,squad1,globes,guarra,gopackgo,jimmy5,susubaby,lothian,frem77,manzey20,hein,shrine,natalja,moroz,brushy,kassel,polniypizdec1102,ufptkm,than,ninja2,gmoney1,marigol,vfvjxrf1,truc,mihael,yakima,redbank,star6767,killer6,monik,wetlips,suffering,venecia,pfunk,funnys,fenerbahc,trever,sasuk,furby,piaggio,mura,2004-11-,ne_e_pod_chehyl,molli,tryit,hotdo,hayle,bhbir,gunit,belgarat,1gabriel,wilkinso,mustikka,sapfir,dengad,sandhill,89132664230,walkers,7mmmag,kartina,mama1960,ybrjkfq1,retriver,kev123,1billion,naruto0,salamanc,redbul,colours,lotti,go4itnow,diario,toblerone,mohamme,.hjxrf,happy200,h12345,teacher2,sisko,irina1989,britne,schnell,getajob,mazatlan,truelies,rosi,thundercat,modular,oldblue,hasting,lupit,ignaci,tommyk,steve0,rocket12,salohcin,burden,1w2e3r4t,hella,gregster,genetics,squats,possum1,mdxpain,folders,mrcool,dragonforce,naruto99,trixter,runner12,vanina,80camaro,peppie,cobra99,risk,invite,vfvfnfyz,nthk12345,010203a,betty123,skillzz,000000q,gunner01,tbone69,gurami,tomomi,kabouter,clubmed,111000z,redpoint,greenlea,raser,sunshine69,sandi1172,rjpkjljq,hd764nw5d7e1vbv,royjones,moon1234,jos,sandlot,firewalk,riccard,shutout,ileana,yfltua,nobunaga,tothetop,stud1,o1l2e3g4,fyfcnfcbz1,golos1,golovin,mutate,alumni,gorbunova,ltybc,heidiho,saturn2,hispanic,number10,typhoon1,bmwk75s,king13,seabrook,hold,rockdog,tdavis,pussy24,retep1,power01,traci1,mable,huckster,zeynep,koston,verner,q26606,agahaja,mistik,hp189dn,haker,4ever4,pappy1,knucklehead,harringt,eagles22,is211tn,pm209mt,aezakmi123,hemant,leftee,randyman,voodoo3,prostotak,pinker,lastcall,cairn,marusy,fafyfcbq,molly13,applejuice,fucku1,love200,coverall,dbnfkbyf,thomsen,jett,pljhjdmt,89614774181,annada2,dickens1,maki,1reddog,toshib,grayson1,gfgf123,brown123,citabria,trashed,leopard1,pony76,buicks,schnuffe,brandonn,mayumi,football5,sana,terra1,dfhbfyn,faggot1,dragon17,silentium,rfkbajhybz,njkmznnb,twoods,jaycob,lollipop1,bioman,villegas,rita123,guyver1,bushra,086421,ametist,1qwerty7,popi,123123asd,cole12,cbcmrf,superstr,jason01,okocha,stanthem,x123456x,redass,teddybeer,trannies,jelway,shadow9,kolomna,jasonw,hotrods,hendri,olga1234,stephanie1,indeep,jktcmrf,system58,mortars,swimbike,gfhtym,kasatka,siren1,pepperon,userexecute,uniqueness,pauljr,irena,volvofh12,irusik,spesional,marusja,termit,12345ss,normal1,rc.irf,petrushka,brussel,motilda,antwerp1,ivan1996,ivanivanov,n1a2t3a4,madrox,rutger,izabela,papichulo,amber01,justin3,shelbygt,kris123,lifeguard,shmily,sloan,jeanett,jdavis,kissit,lucciano,fixitman,jazman,babalola,jamie2,mango123,sam12345,twelve12,phipps,wankher,sexy101,raiders0,potsdam,poli10,annelise,sigurd,lee,matthewj,sallyann,metree,knight7,kayleen,simon12,lesmis,kss2773,purdey,jaykay,voyeur1,jitendra,troubl,sadie123,treker,piddle,putty,marshall1,betsey,josephphone7,rocky11,towel,freyfvfnfnf,hottsexx,nicelegs,jjohnson,nascar08,kaisar,funnycar,maryan,rutabaga,0l8kchek,mel123,jiggas,nagoya,like123,minimo,vbkzdrf,whoareyo,max1992,vazgen,thetford,semperfi1,selling,arequipa,templer,joe999,sakura1,johnpass,ranger10,trekstar,carsca,clubcapt,jose123,69mustan,ramon1,gandako,yk2602,haider,looping,as12az23,belzagor,loonie,rona,macys,ufdhbr,vicious1,rushhour,ziomek,karasik,justmine,karter,nizmo400r,amanda96,katyakatya,divider,juttu123,kenichi,urracco,vespa123,lirika,kirillov,kiseleva,sladkaya,starchil,kite,valakas,kiuhnm1,ukfveh,valera123,a789456123,061096m,opossum,saucer,z11111,novosibirsk,vfhxtyrj,1success,diamand,penguin6,malutka,ravnos,kotik,80972694711,kondrat,konovalova,russian6,sahtm131,mdmolic,signed,certclas,mass234,nikotin,qewret,krasavchik,krishnan,bowen,m1m2m3,cdbymz,cvtnfyf,sss555,poohead,stockholm,taff,biglips,paul10,ihateyo,olga1979,12345qwert7,zapotec,luisfigo,rachel01,huckle,purple77,angel10,rundll32,summer7,7somba,quietman,rossiya,kirusha,potenza,underage,thurber,mexica,fishfinger,5345321aa,adm15575,dietpeps,melissas,enchante,cache,acdc123,riki,pol123,surgut,kordell,local1,locura,peanutbu,doublet,pietje,gthtrfnbgjkt,1122qqww,montydog,nils,sasitare,aa123456s,vtlbwbyf,santi,sahtm038,dunnowho89,moschino,mahmud,oleaut32,nosorog,maks1995,viggen37,neyland,vika12,stevens1,maslov,mt73sb,urlmon,mdmsii64,apppatch,htmlctl,packages,netnovel,configuratio,mdmnttd2,syssec,mdmgl004,ehidkbd,sahtm082,compiling,msoracle32re,pansy,patrick4,tuvieja,pilchard,britanni,component,mdmnis1u,vika1234,knows,sacoremsg,anitas,sasha1991,spiffy1,syste,morales1,mtgl5r,sharan,setupenu2,jaws1221,interrupt,pass2012,tory,pika,pitmans4,communic,msdasc,mtr1996,boy1cool23,melvin69,sizinici,gbfcnhs,oleg1985,navisite,ckjytyjr,gbpltw147,strelka,4solomon,sasha1998,rick69,5f68t9,vgbh12,minntwin,rednose,redball,vinogradov,podvinsev,shopmenu,kobold,3dwe45,saimon,rauf123,higashi,roma1996,shuhrat,serik,nadler,krebsen,mylake,ma1lc0,stratp,dedbol,bhrh0h2oof6xbqjeh,voxstrange,ka12rm12,193570356033,87654321vv,2012qw,dimazarya,xpcrew\".split(\",\")},n={azerty:{0:[\"\\xe79\",null,null,\")\\xb0\",\"pP\",\"oO\"],1:[\"\\xb2~\",null,null,\"\\xe92\",\"aA\",null],2:[\"&1\",null,null,'\"3',\"zZ\",\"aA\"],3:[\"\\xe92\",null,null,\"'4\",\"eE\",\"zZ\"],4:['\"3',null,null,\"(5\",\"rR\",\"eE\"],5:[\"'4\",null,null,\"-6\",\"tT\",\"rR\"],6:[\"(5\",null,null,\"\\xe87\",\"yY\",\"tT\"],7:[\"-6\",null,null,\"_8\",\"uU\",\"yY\"],8:[\"\\xe87\",null,null,\"\\xe79\",\"iI\",\"uU\"],9:[\"_8\",null,null,\"\\xe00\",\"oO\",\"iI\"],\"\\xb2\":[null,null,null,\"&1\",null,null],\"~\":[null,null,null,\"&1\",null,null],\"&\":[\"\\xb2~\",null,null,\"\\xe92\",\"aA\",null],é:[\"&1\",null,null,'\"3',\"zZ\",\"aA\"],'\"':[\"pP\",\")\\xb0\",\"+=\",\"$\\xa3\",\"\\xf9%\",\"mM\"],\"'\":['\"3',null,null,\"(5\",\"rR\",\"eE\"],\"(\":[\"'4\",null,null,\"-6\",\"tT\",\"rR\"],\"-\":[\"(5\",null,null,\"\\xe87\",\"yY\",\"tT\"],è:[\"-6\",null,null,\"_8\",\"uU\",\"yY\"],_:[\"\\xe87\",null,null,\"\\xe79\",\"iI\",\"uU\"],ç:[\"_8\",null,null,\"\\xe00\",\"oO\",\"iI\"],à:[\"\\xe79\",null,null,\")\\xb0\",\"pP\",\"oO\"],\")\":[\"\\xe00\",null,null,\"+=\",'^\"',\"pP\"],\"\\xb0\":[\"\\xe00\",null,null,\"+=\",'^\"',\"pP\"],\"+\":[\")\\xb0\",null,null,null,\"$\\xa3\",'^\"'],\"=\":[\")\\xb0\",null,null,null,\"$\\xa3\",'^\"'],a:[null,\"&1\",\"\\xe92\",\"zZ\",\"qQ\",null],A:[null,\"&1\",\"\\xe92\",\"zZ\",\"qQ\",null],z:[\"aA\",\"\\xe92\",'\"3',\"eE\",\"sS\",\"qQ\"],Z:[\"aA\",\"\\xe92\",'\"3',\"eE\",\"sS\",\"qQ\"],e:[\"zZ\",'\"3',\"'4\",\"rR\",\"dD\",\"sS\"],E:[\"zZ\",'\"3',\"'4\",\"rR\",\"dD\",\"sS\"],r:[\"eE\",\"'4\",\"(5\",\"tT\",\"fF\",\"dD\"],R:[\"eE\",\"'4\",\"(5\",\"tT\",\"fF\",\"dD\"],t:[\"rR\",\"(5\",\"-6\",\"yY\",\"gG\",\"fF\"],T:[\"rR\",\"(5\",\"-6\",\"yY\",\"gG\",\"fF\"],y:[\"tT\",\"-6\",\"\\xe87\",\"uU\",\"hH\",\"gG\"],Y:[\"tT\",\"-6\",\"\\xe87\",\"uU\",\"hH\",\"gG\"],u:[\"yY\",\"\\xe87\",\"_8\",\"iI\",\"jJ\",\"hH\"],U:[\"yY\",\"\\xe87\",\"_8\",\"iI\",\"jJ\",\"hH\"],i:[\"uU\",\"_8\",\"\\xe79\",\"oO\",\"kK\",\"jJ\"],I:[\"uU\",\"_8\",\"\\xe79\",\"oO\",\"kK\",\"jJ\"],o:[\"iI\",\"\\xe79\",\"\\xe00\",\"pP\",\"lL\",\"kK\"],O:[\"iI\",\"\\xe79\",\"\\xe00\",\"pP\",\"lL\",\"kK\"],p:[\"oO\",\"\\xe00\",\")\\xb0\",'^\"',\"mM\",\"lL\"],P:[\"oO\",\"\\xe00\",\")\\xb0\",'^\"',\"mM\",\"lL\"],\"^\":[\"pP\",\")\\xb0\",\"+=\",\"$\\xa3\",\"\\xf9%\",\"mM\"],$:['^\"',\"+=\",null,null,\"*\\xb5\",\"\\xf9%\"],\"\\xa3\":['^\"',\"+=\",null,null,\"*\\xb5\",\"\\xf9%\"],q:[null,\"aA\",\"zZ\",\"sS\",\"wW\",\"<>\"],Q:[null,\"aA\",\"zZ\",\"sS\",\"wW\",\"<>\"],s:[\"qQ\",\"zZ\",\"eE\",\"dD\",\"xX\",\"wW\"],S:[\"qQ\",\"zZ\",\"eE\",\"dD\",\"xX\",\"wW\"],d:[\"sS\",\"eE\",\"rR\",\"fF\",\"cC\",\"xX\"],D:[\"sS\",\"eE\",\"rR\",\"fF\",\"cC\",\"xX\"],f:[\"dD\",\"rR\",\"tT\",\"gG\",\"vV\",\"cC\"],F:[\"dD\",\"rR\",\"tT\",\"gG\",\"vV\",\"cC\"],g:[\"fF\",\"tT\",\"yY\",\"hH\",\"bB\",\"vV\"],G:[\"fF\",\"tT\",\"yY\",\"hH\",\"bB\",\"vV\"],h:[\"gG\",\"yY\",\"uU\",\"jJ\",\"nN\",\"bB\"],H:[\"gG\",\"yY\",\"uU\",\"jJ\",\"nN\",\"bB\"],j:[\"hH\",\"uU\",\"iI\",\"kK\",\",?\",\"nN\"],J:[\"hH\",\"uU\",\"iI\",\"kK\",\",?\",\"nN\"],k:[\"jJ\",\"iI\",\"oO\",\"lL\",\";.\",\",?\"],K:[\"jJ\",\"iI\",\"oO\",\"lL\",\";.\",\",?\"],l:[\"kK\",\"oO\",\"pP\",\"mM\",\":/\",\";.\"],L:[\"kK\",\"oO\",\"pP\",\"mM\",\":/\",\";.\"],m:[\"lL\",\"pP\",'^\"',\"\\xf9%\",\"!\\xa7\",\":/\"],M:[\"lL\",\"pP\",'^\"',\"\\xf9%\",\"!\\xa7\",\":/\"],ù:[\"mM\",'^\"',\"$\\xa3\",\"*\\xb5\",null,\"!\\xa7\"],\"%\":[\"mM\",'^\"',\"$\\xa3\",\"*\\xb5\",null,\"!\\xa7\"],\"*\":[\"\\xf9%\",\"$\\xa3\",null,null,null,null],µ:[\"\\xf9%\",\"$\\xa3\",null,null,null,null],\"<\":[null,null,\"qQ\",\"wW\",null,null],\">\":[null,null,\"qQ\",\"wW\",null,null],w:[\"<>\",\"qQ\",\"sS\",\"xX\",null,null],W:[\"<>\",\"qQ\",\"sS\",\"xX\",null,null],x:[\"wW\",\"sS\",\"dD\",\"cC\",null,null],X:[\"wW\",\"sS\",\"dD\",\"cC\",null,null],c:[\"xX\",\"dD\",\"fF\",\"vV\",null,null],C:[\"xX\",\"dD\",\"fF\",\"vV\",null,null],v:[\"cC\",\"fF\",\"gG\",\"bB\",null,null],V:[\"cC\",\"fF\",\"gG\",\"bB\",null,null],b:[\"vV\",\"gG\",\"hH\",\"nN\",null,null],B:[\"vV\",\"gG\",\"hH\",\"nN\",null,null],n:[\"bB\",\"hH\",\"jJ\",\",?\",null,null],N:[\"bB\",\"hH\",\"jJ\",\",?\",null,null],\",\":[\"nN\",\"jJ\",\"kK\",\";.\",null,null],\"?\":[\"nN\",\"jJ\",\"kK\",\";.\",null,null],\";\":[\",?\",\"kK\",\"lL\",\":/\",null,null],\".\":[\",?\",\"kK\",\"lL\",\":/\",null,null],\":\":[\";.\",\"lL\",\"mM\",\"!\\xa7\",null,null],\"/\":[\";.\",\"lL\",\"mM\",\"!\\xa7\",null,null],\"!\":[\":/\",\"mM\",\"\\xf9%\",null,null,null],\"\\xa7\":[\":/\",\"mM\",\"\\xf9%\",null,null,null]},dvorak:{0:[\"9(\",null,null,\"[{\",\"lL\",\"rR\"],1:[\"`~\",null,null,\"2@\",\"'\\\"\",null],2:[\"1!\",null,null,\"3#\",\",<\",\"'\\\"\"],3:[\"2@\",null,null,\"4$\",\".>\",\",<\"],4:[\"3#\",null,null,\"5%\",\"pP\",\".>\"],5:[\"4$\",null,null,\"6^\",\"yY\",\"pP\"],6:[\"5%\",null,null,\"7&\",\"fF\",\"yY\"],7:[\"6^\",null,null,\"8*\",\"gG\",\"fF\"],8:[\"7&\",null,null,\"9(\",\"cC\",\"gG\"],9:[\"8*\",null,null,\"0)\",\"rR\",\"cC\"],\"`\":[null,null,null,\"1!\",null,null],\"~\":[null,null,null,\"1!\",null,null],\"!\":[\"`~\",null,null,\"2@\",\"'\\\"\",null],\"@\":[\"1!\",null,null,\"3#\",\",<\",\"'\\\"\"],\"#\":[\"2@\",null,null,\"4$\",\".>\",\",<\"],$:[\"3#\",null,null,\"5%\",\"pP\",\".>\"],\"%\":[\"4$\",null,null,\"6^\",\"yY\",\"pP\"],\"^\":[\"5%\",null,null,\"7&\",\"fF\",\"yY\"],\"&\":[\"6^\",null,null,\"8*\",\"gG\",\"fF\"],\"*\":[\"7&\",null,null,\"9(\",\"cC\",\"gG\"],\"(\":[\"8*\",null,null,\"0)\",\"rR\",\"cC\"],\")\":[\"9(\",null,null,\"[{\",\"lL\",\"rR\"],\"[\":[\"0)\",null,null,\"]}\",\"/?\",\"lL\"],\"{\":[\"0)\",null,null,\"]}\",\"/?\",\"lL\"],\"]\":[\"[{\",null,null,null,\"=+\",\"/?\"],\"}\":[\"[{\",null,null,null,\"=+\",\"/?\"],\"'\":[null,\"1!\",\"2@\",\",<\",\"aA\",null],'\"':[null,\"1!\",\"2@\",\",<\",\"aA\",null],\",\":[\"'\\\"\",\"2@\",\"3#\",\".>\",\"oO\",\"aA\"],\"<\":[\"'\\\"\",\"2@\",\"3#\",\".>\",\"oO\",\"aA\"],\".\":[\",<\",\"3#\",\"4$\",\"pP\",\"eE\",\"oO\"],\">\":[\",<\",\"3#\",\"4$\",\"pP\",\"eE\",\"oO\"],p:[\".>\",\"4$\",\"5%\",\"yY\",\"uU\",\"eE\"],P:[\".>\",\"4$\",\"5%\",\"yY\",\"uU\",\"eE\"],y:[\"pP\",\"5%\",\"6^\",\"fF\",\"iI\",\"uU\"],Y:[\"pP\",\"5%\",\"6^\",\"fF\",\"iI\",\"uU\"],f:[\"yY\",\"6^\",\"7&\",\"gG\",\"dD\",\"iI\"],F:[\"yY\",\"6^\",\"7&\",\"gG\",\"dD\",\"iI\"],g:[\"fF\",\"7&\",\"8*\",\"cC\",\"hH\",\"dD\"],G:[\"fF\",\"7&\",\"8*\",\"cC\",\"hH\",\"dD\"],c:[\"gG\",\"8*\",\"9(\",\"rR\",\"tT\",\"hH\"],C:[\"gG\",\"8*\",\"9(\",\"rR\",\"tT\",\"hH\"],r:[\"cC\",\"9(\",\"0)\",\"lL\",\"nN\",\"tT\"],R:[\"cC\",\"9(\",\"0)\",\"lL\",\"nN\",\"tT\"],l:[\"rR\",\"0)\",\"[{\",\"/?\",\"sS\",\"nN\"],L:[\"rR\",\"0)\",\"[{\",\"/?\",\"sS\",\"nN\"],\"/\":[\"lL\",\"[{\",\"]}\",\"=+\",\"-_\",\"sS\"],\"?\":[\"lL\",\"[{\",\"]}\",\"=+\",\"-_\",\"sS\"],\"=\":[\"/?\",\"]}\",null,\"\\\\|\",null,\"-_\"],\"+\":[\"/?\",\"]}\",null,\"\\\\|\",null,\"-_\"],\"\\\\\":[\"=+\",null,null,null,null,null],\"|\":[\"=+\",null,null,null,null,null],a:[null,\"'\\\"\",\",<\",\"oO\",\";:\",null],A:[null,\"'\\\"\",\",<\",\"oO\",\";:\",null],o:[\"aA\",\",<\",\".>\",\"eE\",\"qQ\",\";:\"],O:[\"aA\",\",<\",\".>\",\"eE\",\"qQ\",\";:\"],e:[\"oO\",\".>\",\"pP\",\"uU\",\"jJ\",\"qQ\"],E:[\"oO\",\".>\",\"pP\",\"uU\",\"jJ\",\"qQ\"],u:[\"eE\",\"pP\",\"yY\",\"iI\",\"kK\",\"jJ\"],U:[\"eE\",\"pP\",\"yY\",\"iI\",\"kK\",\"jJ\"],i:[\"uU\",\"yY\",\"fF\",\"dD\",\"xX\",\"kK\"],I:[\"uU\",\"yY\",\"fF\",\"dD\",\"xX\",\"kK\"],d:[\"iI\",\"fF\",\"gG\",\"hH\",\"bB\",\"xX\"],D:[\"iI\",\"fF\",\"gG\",\"hH\",\"bB\",\"xX\"],h:[\"dD\",\"gG\",\"cC\",\"tT\",\"mM\",\"bB\"],H:[\"dD\",\"gG\",\"cC\",\"tT\",\"mM\",\"bB\"],t:[\"hH\",\"cC\",\"rR\",\"nN\",\"wW\",\"mM\"],T:[\"hH\",\"cC\",\"rR\",\"nN\",\"wW\",\"mM\"],n:[\"tT\",\"rR\",\"lL\",\"sS\",\"vV\",\"wW\"],N:[\"tT\",\"rR\",\"lL\",\"sS\",\"vV\",\"wW\"],s:[\"nN\",\"lL\",\"/?\",\"-_\",\"zZ\",\"vV\"],S:[\"nN\",\"lL\",\"/?\",\"-_\",\"zZ\",\"vV\"],\"-\":[\"sS\",\"/?\",\"=+\",null,null,\"zZ\"],_:[\"sS\",\"/?\",\"=+\",null,null,\"zZ\"],\";\":[null,\"aA\",\"oO\",\"qQ\",null,null],\":\":[null,\"aA\",\"oO\",\"qQ\",null,null],q:[\";:\",\"oO\",\"eE\",\"jJ\",null,null],Q:[\";:\",\"oO\",\"eE\",\"jJ\",null,null],j:[\"qQ\",\"eE\",\"uU\",\"kK\",null,null],J:[\"qQ\",\"eE\",\"uU\",\"kK\",null,null],k:[\"jJ\",\"uU\",\"iI\",\"xX\",null,null],K:[\"jJ\",\"uU\",\"iI\",\"xX\",null,null],x:[\"kK\",\"iI\",\"dD\",\"bB\",null,null],X:[\"kK\",\"iI\",\"dD\",\"bB\",null,null],b:[\"xX\",\"dD\",\"hH\",\"mM\",null,null],B:[\"xX\",\"dD\",\"hH\",\"mM\",null,null],m:[\"bB\",\"hH\",\"tT\",\"wW\",null,null],M:[\"bB\",\"hH\",\"tT\",\"wW\",null,null],w:[\"mM\",\"tT\",\"nN\",\"vV\",null,null],W:[\"mM\",\"tT\",\"nN\",\"vV\",null,null],v:[\"wW\",\"nN\",\"sS\",\"zZ\",null,null],V:[\"wW\",\"nN\",\"sS\",\"zZ\",null,null],z:[\"vV\",\"sS\",\"-_\",null,null,null],Z:[\"vV\",\"sS\",\"-_\",null,null,null]},keypad:{0:[null,\"1\",\"2\",\"3\",\".\",null,null,null],1:[null,null,\"4\",\"5\",\"2\",\"0\",null,null],2:[\"1\",\"4\",\"5\",\"6\",\"3\",\".\",\"0\",null],3:[\"2\",\"5\",\"6\",null,null,null,\".\",\"0\"],4:[null,null,\"7\",\"8\",\"5\",\"2\",\"1\",null],5:[\"4\",\"7\",\"8\",\"9\",\"6\",\"3\",\"2\",\"1\"],6:[\"5\",\"8\",\"9\",\"+\",null,null,\"3\",\"2\"],7:[null,null,null,\"/\",\"8\",\"5\",\"4\",null],8:[\"7\",null,\"/\",\"*\",\"9\",\"6\",\"5\",\"4\"],9:[\"8\",\"/\",\"*\",\"-\",\"+\",null,\"6\",\"5\"],\"/\":[null,null,null,null,\"*\",\"9\",\"8\",\"7\"],\"*\":[\"/\",null,null,null,\"-\",\"+\",\"9\",\"8\"],\"-\":[\"*\",null,null,null,null,null,\"+\",\"9\"],\"+\":[\"9\",\"*\",\"-\",null,null,null,null,\"6\"],\".\":[\"0\",\"2\",\"3\",null,null,null,null,null]},keypadMac:{0:[null,\"1\",\"2\",\"3\",\".\",null,null,null],1:[null,null,\"4\",\"5\",\"2\",\"0\",null,null],2:[\"1\",\"4\",\"5\",\"6\",\"3\",\".\",\"0\",null],3:[\"2\",\"5\",\"6\",\"+\",null,null,\".\",\"0\"],4:[null,null,\"7\",\"8\",\"5\",\"2\",\"1\",null],5:[\"4\",\"7\",\"8\",\"9\",\"6\",\"3\",\"2\",\"1\"],6:[\"5\",\"8\",\"9\",\"-\",\"+\",null,\"3\",\"2\"],7:[null,null,null,\"=\",\"8\",\"5\",\"4\",null],8:[\"7\",null,\"=\",\"/\",\"9\",\"6\",\"5\",\"4\"],9:[\"8\",\"=\",\"/\",\"*\",\"-\",\"+\",\"6\",\"5\"],\"=\":[null,null,null,null,\"/\",\"9\",\"8\",\"7\"],\"/\":[\"=\",null,null,null,\"*\",\"-\",\"9\",\"8\"],\"*\":[\"/\",null,null,null,null,null,\"-\",\"9\"],\"-\":[\"9\",\"/\",\"*\",null,null,null,\"+\",\"6\"],\"+\":[\"6\",\"9\",\"-\",null,null,null,null,\"3\"],\".\":[\"0\",\"2\",\"3\",null,null,null,null,null]},qwerty:{0:[\"9(\",null,null,\"-_\",\"pP\",\"oO\"],1:[\"`~\",null,null,\"2@\",\"qQ\",null],2:[\"1!\",null,null,\"3#\",\"wW\",\"qQ\"],3:[\"2@\",null,null,\"4$\",\"eE\",\"wW\"],4:[\"3#\",null,null,\"5%\",\"rR\",\"eE\"],5:[\"4$\",null,null,\"6^\",\"tT\",\"rR\"],6:[\"5%\",null,null,\"7&\",\"yY\",\"tT\"],7:[\"6^\",null,null,\"8*\",\"uU\",\"yY\"],8:[\"7&\",null,null,\"9(\",\"iI\",\"uU\"],9:[\"8*\",null,null,\"0)\",\"oO\",\"iI\"],\"`\":[null,null,null,\"1!\",null,null],\"~\":[null,null,null,\"1!\",null,null],\"!\":[\"`~\",null,null,\"2@\",\"qQ\",null],\"@\":[\"1!\",null,null,\"3#\",\"wW\",\"qQ\"],\"#\":[\"2@\",null,null,\"4$\",\"eE\",\"wW\"],$:[\"3#\",null,null,\"5%\",\"rR\",\"eE\"],\"%\":[\"4$\",null,null,\"6^\",\"tT\",\"rR\"],\"^\":[\"5%\",null,null,\"7&\",\"yY\",\"tT\"],\"&\":[\"6^\",null,null,\"8*\",\"uU\",\"yY\"],\"*\":[\"7&\",null,null,\"9(\",\"iI\",\"uU\"],\"(\":[\"8*\",null,null,\"0)\",\"oO\",\"iI\"],\")\":[\"9(\",null,null,\"-_\",\"pP\",\"oO\"],\"-\":[\"0)\",null,null,\"=+\",\"[{\",\"pP\"],_:[\"0)\",null,null,\"=+\",\"[{\",\"pP\"],\"=\":[\"-_\",null,null,null,\"]}\",\"[{\"],\"+\":[\"-_\",null,null,null,\"]}\",\"[{\"],q:[null,\"1!\",\"2@\",\"wW\",\"aA\",null],Q:[null,\"1!\",\"2@\",\"wW\",\"aA\",null],w:[\"qQ\",\"2@\",\"3#\",\"eE\",\"sS\",\"aA\"],W:[\"qQ\",\"2@\",\"3#\",\"eE\",\"sS\",\"aA\"],e:[\"wW\",\"3#\",\"4$\",\"rR\",\"dD\",\"sS\"],E:[\"wW\",\"3#\",\"4$\",\"rR\",\"dD\",\"sS\"],r:[\"eE\",\"4$\",\"5%\",\"tT\",\"fF\",\"dD\"],R:[\"eE\",\"4$\",\"5%\",\"tT\",\"fF\",\"dD\"],t:[\"rR\",\"5%\",\"6^\",\"yY\",\"gG\",\"fF\"],T:[\"rR\",\"5%\",\"6^\",\"yY\",\"gG\",\"fF\"],y:[\"tT\",\"6^\",\"7&\",\"uU\",\"hH\",\"gG\"],Y:[\"tT\",\"6^\",\"7&\",\"uU\",\"hH\",\"gG\"],u:[\"yY\",\"7&\",\"8*\",\"iI\",\"jJ\",\"hH\"],U:[\"yY\",\"7&\",\"8*\",\"iI\",\"jJ\",\"hH\"],i:[\"uU\",\"8*\",\"9(\",\"oO\",\"kK\",\"jJ\"],I:[\"uU\",\"8*\",\"9(\",\"oO\",\"kK\",\"jJ\"],o:[\"iI\",\"9(\",\"0)\",\"pP\",\"lL\",\"kK\"],O:[\"iI\",\"9(\",\"0)\",\"pP\",\"lL\",\"kK\"],p:[\"oO\",\"0)\",\"-_\",\"[{\",\";:\",\"lL\"],P:[\"oO\",\"0)\",\"-_\",\"[{\",\";:\",\"lL\"],\"[\":[\"pP\",\"-_\",\"=+\",\"]}\",\"'\\\"\",\";:\"],\"{\":[\"pP\",\"-_\",\"=+\",\"]}\",\"'\\\"\",\";:\"],\"]\":[\"[{\",\"=+\",null,\"\\\\|\",null,\"'\\\"\"],\"}\":[\"[{\",\"=+\",null,\"\\\\|\",null,\"'\\\"\"],\"\\\\\":[\"]}\",null,null,null,null,null],\"|\":[\"]}\",null,null,null,null,null],a:[null,\"qQ\",\"wW\",\"sS\",\"zZ\",null],A:[null,\"qQ\",\"wW\",\"sS\",\"zZ\",null],s:[\"aA\",\"wW\",\"eE\",\"dD\",\"xX\",\"zZ\"],S:[\"aA\",\"wW\",\"eE\",\"dD\",\"xX\",\"zZ\"],d:[\"sS\",\"eE\",\"rR\",\"fF\",\"cC\",\"xX\"],D:[\"sS\",\"eE\",\"rR\",\"fF\",\"cC\",\"xX\"],f:[\"dD\",\"rR\",\"tT\",\"gG\",\"vV\",\"cC\"],F:[\"dD\",\"rR\",\"tT\",\"gG\",\"vV\",\"cC\"],g:[\"fF\",\"tT\",\"yY\",\"hH\",\"bB\",\"vV\"],G:[\"fF\",\"tT\",\"yY\",\"hH\",\"bB\",\"vV\"],h:[\"gG\",\"yY\",\"uU\",\"jJ\",\"nN\",\"bB\"],H:[\"gG\",\"yY\",\"uU\",\"jJ\",\"nN\",\"bB\"],j:[\"hH\",\"uU\",\"iI\",\"kK\",\"mM\",\"nN\"],J:[\"hH\",\"uU\",\"iI\",\"kK\",\"mM\",\"nN\"],k:[\"jJ\",\"iI\",\"oO\",\"lL\",\",<\",\"mM\"],K:[\"jJ\",\"iI\",\"oO\",\"lL\",\",<\",\"mM\"],l:[\"kK\",\"oO\",\"pP\",\";:\",\".>\",\",<\"],L:[\"kK\",\"oO\",\"pP\",\";:\",\".>\",\",<\"],\";\":[\"lL\",\"pP\",\"[{\",\"'\\\"\",\"/?\",\".>\"],\":\":[\"lL\",\"pP\",\"[{\",\"'\\\"\",\"/?\",\".>\"],\"'\":[\";:\",\"[{\",\"]}\",null,null,\"/?\"],'\"':[\";:\",\"[{\",\"]}\",null,null,\"/?\"],z:[null,\"aA\",\"sS\",\"xX\",null,null],Z:[null,\"aA\",\"sS\",\"xX\",null,null],x:[\"zZ\",\"sS\",\"dD\",\"cC\",null,null],X:[\"zZ\",\"sS\",\"dD\",\"cC\",null,null],c:[\"xX\",\"dD\",\"fF\",\"vV\",null,null],C:[\"xX\",\"dD\",\"fF\",\"vV\",null,null],v:[\"cC\",\"fF\",\"gG\",\"bB\",null,null],V:[\"cC\",\"fF\",\"gG\",\"bB\",null,null],b:[\"vV\",\"gG\",\"hH\",\"nN\",null,null],B:[\"vV\",\"gG\",\"hH\",\"nN\",null,null],n:[\"bB\",\"hH\",\"jJ\",\"mM\",null,null],N:[\"bB\",\"hH\",\"jJ\",\"mM\",null,null],m:[\"nN\",\"jJ\",\"kK\",\",<\",null,null],M:[\"nN\",\"jJ\",\"kK\",\",<\",null,null],\",\":[\"mM\",\"kK\",\"lL\",\".>\",null,null],\"<\":[\"mM\",\"kK\",\"lL\",\".>\",null,null],\".\":[\",<\",\"lL\",\";:\",\"/?\",null,null],\">\":[\",<\",\"lL\",\";:\",\"/?\",null,null],\"/\":[\".>\",\";:\",\"'\\\"\",null,null,null],\"?\":[\".>\",\";:\",\"'\\\"\",null,null,null]},qwertz:{0:[\"9)\",null,null,\"\\xdf?\",\"pP\",\"oO\"],1:[\"^\\xb0\",null,null,'2\"',\"qQ\",null],2:[\"1!\",null,null,\"3\\xa7\",\"wW\",\"qQ\"],3:['2\"',null,null,\"4$\",\"eE\",\"wW\"],4:[\"3\\xa7\",null,null,\"5%\",\"rR\",\"eE\"],5:[\"4$\",null,null,\"6&\",\"tT\",\"rR\"],6:[\"5%\",null,null,\"7/\",\"zZ\",\"tT\"],7:[\"6&\",null,null,\"8(\",\"uU\",\"zZ\"],8:[\"7/\",null,null,\"9)\",\"iI\",\"uU\"],9:[\"8(\",null,null,\"0=\",\"oO\",\"iI\"],\"^\":[null,null,null,\"1!\",null,null],\"\\xb0\":[null,null,null,\"1!\",null,null],\"!\":[\"^\\xb0\",null,null,'2\"',\"qQ\",null],'\"':[\"1!\",null,null,\"3\\xa7\",\"wW\",\"qQ\"],\"\\xa7\":['2\"',null,null,\"4$\",\"eE\",\"wW\"],$:[\"3\\xa7\",null,null,\"5%\",\"rR\",\"eE\"],\"%\":[\"4$\",null,null,\"6&\",\"tT\",\"rR\"],\"&\":[\"5%\",null,null,\"7/\",\"zZ\",\"tT\"],\"/\":[\"6&\",null,null,\"8(\",\"uU\",\"zZ\"],\"(\":[\"7/\",null,null,\"9)\",\"iI\",\"uU\"],\")\":[\"8(\",null,null,\"0=\",\"oO\",\"iI\"],\"=\":[\"9)\",null,null,\"\\xdf?\",\"pP\",\"oO\"],ß:[\"0=\",null,null,\"\\xb4`\",\"\\xfc\\xdc\",\"pP\"],\"?\":[\"0=\",null,null,\"\\xb4`\",\"\\xfc\\xdc\",\"pP\"],\"\\xb4\":[\"\\xdf?\",null,null,null,\"+*\",\"\\xfc\\xdc\"],\"`\":[\"\\xdf?\",null,null,null,\"+*\",\"\\xfc\\xdc\"],q:[null,\"1!\",'2\"',\"wW\",\"aA\",null],Q:[null,\"1!\",'2\"',\"wW\",\"aA\",null],w:[\"qQ\",'2\"',\"3\\xa7\",\"eE\",\"sS\",\"aA\"],W:[\"qQ\",'2\"',\"3\\xa7\",\"eE\",\"sS\",\"aA\"],e:[\"wW\",\"3\\xa7\",\"4$\",\"rR\",\"dD\",\"sS\"],E:[\"wW\",\"3\\xa7\",\"4$\",\"rR\",\"dD\",\"sS\"],r:[\"eE\",\"4$\",\"5%\",\"tT\",\"fF\",\"dD\"],R:[\"eE\",\"4$\",\"5%\",\"tT\",\"fF\",\"dD\"],t:[\"rR\",\"5%\",\"6&\",\"zZ\",\"gG\",\"fF\"],T:[\"rR\",\"5%\",\"6&\",\"zZ\",\"gG\",\"fF\"],z:[\"tT\",\"6&\",\"7/\",\"uU\",\"hH\",\"gG\"],Z:[\"tT\",\"6&\",\"7/\",\"uU\",\"hH\",\"gG\"],u:[\"zZ\",\"7/\",\"8(\",\"iI\",\"jJ\",\"hH\"],U:[\"zZ\",\"7/\",\"8(\",\"iI\",\"jJ\",\"hH\"],i:[\"uU\",\"8(\",\"9)\",\"oO\",\"kK\",\"jJ\"],I:[\"uU\",\"8(\",\"9)\",\"oO\",\"kK\",\"jJ\"],o:[\"iI\",\"9)\",\"0=\",\"pP\",\"lL\",\"kK\"],O:[\"iI\",\"9)\",\"0=\",\"pP\",\"lL\",\"kK\"],p:[\"oO\",\"0=\",\"\\xdf?\",\"\\xfc\\xdc\",\"\\xf6\\xd6\",\"lL\"],P:[\"oO\",\"0=\",\"\\xdf?\",\"\\xfc\\xdc\",\"\\xf6\\xd6\",\"lL\"],ü:[\"pP\",\"\\xdf?\",\"\\xb4`\",\"+*\",\"\\xe4\\xc4\",\"\\xf6\\xd6\"],Ü:[\"pP\",\"\\xdf?\",\"\\xb4`\",\"+*\",\"\\xe4\\xc4\",\"\\xf6\\xd6\"],\"+\":[\"\\xfc\\xdc\",\"\\xb4`\",null,null,\"#'\",\"\\xe4\\xc4\"],\"*\":[\"\\xfc\\xdc\",\"\\xb4`\",null,null,\"#'\",\"\\xe4\\xc4\"],a:[null,\"qQ\",\"wW\",\"sS\",\"yY\",\"<>\"],A:[null,\"qQ\",\"wW\",\"sS\",\"yY\",\"<>\"],s:[\"aA\",\"wW\",\"eE\",\"dD\",\"xX\",\"yY\"],S:[\"aA\",\"wW\",\"eE\",\"dD\",\"xX\",\"yY\"],d:[\"sS\",\"eE\",\"rR\",\"fF\",\"cC\",\"xX\"],D:[\"sS\",\"eE\",\"rR\",\"fF\",\"cC\",\"xX\"],f:[\"dD\",\"rR\",\"tT\",\"gG\",\"vV\",\"cC\"],F:[\"dD\",\"rR\",\"tT\",\"gG\",\"vV\",\"cC\"],g:[\"fF\",\"tT\",\"zZ\",\"hH\",\"bB\",\"vV\"],G:[\"fF\",\"tT\",\"zZ\",\"hH\",\"bB\",\"vV\"],h:[\"gG\",\"zZ\",\"uU\",\"jJ\",\"nN\",\"bB\"],H:[\"gG\",\"zZ\",\"uU\",\"jJ\",\"nN\",\"bB\"],j:[\"hH\",\"uU\",\"iI\",\"kK\",\"mM\",\"nN\"],J:[\"hH\",\"uU\",\"iI\",\"kK\",\"mM\",\"nN\"],k:[\"jJ\",\"iI\",\"oO\",\"lL\",\",;\",\"mM\"],K:[\"jJ\",\"iI\",\"oO\",\"lL\",\",;\",\"mM\"],l:[\"kK\",\"oO\",\"pP\",\"\\xf6\\xd6\",\".:\",\",;\"],L:[\"kK\",\"oO\",\"pP\",\"\\xf6\\xd6\",\".:\",\",;\"],ö:[\"lL\",\"pP\",\"\\xfc\\xdc\",\"\\xe4\\xc4\",\"-_\",\".:\"],Ö:[\"lL\",\"pP\",\"\\xfc\\xdc\",\"\\xe4\\xc4\",\"-_\",\".:\"],ä:[\"\\xf6\\xd6\",\"\\xfc\\xdc\",\"+*\",\"#'\",null,\"-_\"],Ä:[\"\\xf6\\xd6\",\"\\xfc\\xdc\",\"+*\",\"#'\",null,\"-_\"],\"#\":[\"\\xe4\\xc4\",\"+*\",null,null,null,null],\"'\":[\"\\xe4\\xc4\",\"+*\",null,null,null,null],\"<\":[null,null,\"aA\",\"yY\",null,null],\">\":[null,null,\"aA\",\"yY\",null,null],y:[\"<>\",\"aA\",\"sS\",\"xX\",null,null],Y:[\"<>\",\"aA\",\"sS\",\"xX\",null,null],x:[\"yY\",\"sS\",\"dD\",\"cC\",null,null],X:[\"yY\",\"sS\",\"dD\",\"cC\",null,null],c:[\"xX\",\"dD\",\"fF\",\"vV\",null,null],C:[\"xX\",\"dD\",\"fF\",\"vV\",null,null],v:[\"cC\",\"fF\",\"gG\",\"bB\",null,null],V:[\"cC\",\"fF\",\"gG\",\"bB\",null,null],b:[\"vV\",\"gG\",\"hH\",\"nN\",null,null],B:[\"vV\",\"gG\",\"hH\",\"nN\",null,null],n:[\"bB\",\"hH\",\"jJ\",\"mM\",null,null],N:[\"bB\",\"hH\",\"jJ\",\"mM\",null,null],m:[\"nN\",\"jJ\",\"kK\",\",;\",null,null],M:[\"nN\",\"jJ\",\"kK\",\",;\",null,null],\",\":[\"mM\",\"kK\",\"lL\",\".:\",null,null],\";\":[\"mM\",\"kK\",\"lL\",\".:\",null,null],\".\":[\",;\",\"lL\",\"\\xf6\\xd6\",\"-_\",null,null],\":\":[\",;\",\"lL\",\"\\xf6\\xd6\",\"-_\",null,null],\"-\":[\".:\",\"\\xf6\\xd6\",\"\\xe4\\xc4\",null,null,null],_:[\".:\",\"\\xf6\\xd6\",\"\\xe4\\xc4\",null,null,null]}}},8388(e,t,a){var r=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))(function(n,i){function s(e){try{l(r.next(e))}catch(e){i(e)}}function o(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){e.done?n(e.value):new a(function(t){t(e.value)}).then(s,o)}l((r=r.apply(e,t||[])).next())})},n=this&&this.__generator||function(e,t){var a,r,n,i,s={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){var l=[i,o];if(a)throw TypeError(\"Generator is already executing.\");for(;s;)try{if(a=1,r&&(n=2&l[0]?r.return:l[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,l[1])).done)return n;switch(r=0,n&&(l=[2&l[0],n.value]),l[0]){case 0:case 1:n=l;break;case 4:return s.label++,{value:l[1],done:!1};case 5:s.label++,r=l[1],l=[0];continue;case 7:l=s.ops.pop(),s.trys.pop();continue;default:if(!(n=(n=s.trys).length>0&&n[n.length-1])&&(6===l[0]||2===l[0])){s=0;continue}if(3===l[0]&&(!n||l[1]>n[0]&&l[1]0?setTimeout(a,t):a(null)}}window.addEventListener(\"storage\",s),e.addToWaiting(s);var o=setTimeout(s,Math.max(0,t-Date.now()))})];case 1:return a.sent(),[2]}})})},e.addToWaiting=function(t){this.removeFromWaiting(t),void 0!==e.waiters&&e.waiters.push(t)},e.removeFromWaiting=function(t){void 0!==e.waiters&&(e.waiters=e.waiters.filter(function(e){return e!==t}))},e.notifyWaiters=function(){void 0!==e.waiters&&e.waiters.slice().forEach(function(e){return e()})},e.prototype.releaseLock=function(e){return r(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,this.releaseLock__private__(e)];case 1:return[2,t.sent()]}})})},e.prototype.releaseLock__private__=function(t){return r(this,void 0,void 0,function(){var a,r,i,c;return n(this,function(n){switch(n.label){case 0:if(a=void 0===this.storageHandler?l:this.storageHandler,r=o+\"-\"+t,null===(i=a.getItemSync(r)))return[2];if((c=JSON.parse(i)).id!==this.id)return[3,2];return[4,s.default().lock(c.iat)];case 1:n.sent(),this.acquiredIatSet.delete(c.iat),a.removeItemSync(r),s.default().unlock(c.iat),e.notifyWaiters(),n.label=2;case 2:return[2]}})})},e.lockCorrector=function(t){for(var a=Date.now()-5e3,r=[],n=0;;){var i=t.keySync(n);if(null===i)break;r.push(i),n++}for(var s=!1,l=0;lr});function r(){for(var e,t,a=0,r=\"\";atypeof window&&window.crypto&&(t=window.crypto),\"u\">typeof self&&self.crypto&&(t=self.crypto),\"u\">typeof globalThis&&globalThis.crypto&&(t=globalThis.crypto),!t&&\"u\">typeof window&&window.msCrypto&&(t=window.msCrypto),!t&&void 0!==a.g&&a.g.crypto&&(t=a.g.crypto),!t)try{t=a(8488)}catch(e){}var t,r=function(){if(t){if(\"function\"==typeof t.getRandomValues)try{return t.getRandomValues(new Uint32Array(1))[0]}catch(e){}if(\"function\"==typeof t.randomBytes)try{return t.randomBytes(4).readInt32LE()}catch(e){}}throw Error(\"Native crypto module could not be used to get secure random number.\")},n=Object.create||function(){function e(){}return function(t){var a;return e.prototype=t,a=new e,e.prototype=null,a}}(),i={},s=i.lib={},o=s.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty(\"init\")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},l=s.WordArray=o.extend({init:function(e,t){e=this.words=e||[],void 0!=t?this.sigBytes=t:this.sigBytes=4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,a=e.words,r=this.sigBytes,n=e.sigBytes;if(this.clamp(),r%4)for(var i=0;i>>2]>>>24-i%4*8&255;t[r+i>>>2]|=s<<24-(r+i)%4*8}else for(var o=0;o>>2]=a[o>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,a=this.sigBytes;t[a>>>2]&=0xffffffff<<32-a%4*8,t.length=e.ceil(a/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],a=0;a>>2]>>>24-n%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join(\"\")},parse:function(e){for(var t=e.length,a=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new l.init(a,t/2)}},d=c.Latin1={stringify:function(e){for(var t=e.words,a=e.sigBytes,r=[],n=0;n>>2]>>>24-n%4*8&255;r.push(String.fromCharCode(i))}return r.join(\"\")},parse:function(e){for(var t=e.length,a=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new l.init(a,t)}},h=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(d.stringify(e)))}catch(e){throw Error(\"Malformed UTF-8 data\")}},parse:function(e){return d.parse(unescape(encodeURIComponent(e)))}},m=s.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var a,r=this._data,n=r.words,i=r.sigBytes,s=this.blockSize,o=i/(4*s),c=(o=t?e.ceil(o):e.max((0|o)-this._minBufferSize,0))*s,u=e.min(4*c,i);if(c){for(var d=0;d>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;o<4&&i+.75*o>>6*(3-o)&63));var l=r.charAt(64);if(l)for(;n.length%4;)n.push(l);return n.join(\"\")},parse:function(e){var t=e.length,a=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var i=0;i>>6-m%4*2;d[h>>>2]|=p<<24-h%4*8,h++}return n.create(d,h)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"},e.exports=r.enc.Base64},3515(e,t,a){var r,n,i,s,o,l,c;i=(n=(r=a(1513)).lib).WordArray,s=n.Hasher,o=r.algo,l=[],c=o.SHA1=s.extend({_doReset:function(){this._hash=new i.init([0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0])},_doProcessBlock:function(e,t){for(var a=this._hash.words,r=a[0],n=a[1],i=a[2],s=a[3],o=a[4],c=0;c<80;c++){if(c<16)l[c]=0|e[t+c];else{var u=l[c-3]^l[c-8]^l[c-14]^l[c-16];l[c]=u<<1|u>>>31}var d=(r<<5|r>>>27)+o+l[c];c<20?d+=(n&i|~n&s)+0x5a827999:c<40?d+=(n^i^s)+0x6ed9eba1:c<60?d+=(n&i|n&s|i&s)-0x70e44324:d+=(n^i^s)-0x359d3e2a,o=s,s=i,i=n<<30|n>>>2,n=r,r=d}a[0]=a[0]+r|0,a[1]=a[1]+n|0,a[2]=a[2]+i|0,a[3]=a[3]+s|0,a[4]=a[4]+o|0},_doFinalize:function(){var e=this._data,t=e.words,a=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=Math.floor(a/0x100000000),t[(r+64>>>9<<4)+15]=a,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=s._createHelper(c),r.HmacSHA1=s._createHmacHelper(c),e.exports=r.SHA1},6306(e){var t=Object.prototype.hasOwnProperty,a=\"~\";function r(){}function n(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function i(e,t,r,i,s){if(\"function\"!=typeof r)throw TypeError(\"The listener must be a function\");var o=new n(r,i||e,s),l=a?a+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],o]:e._events[l].push(o):(e._events[l]=o,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function o(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(a=!1)),o.prototype.eventNames=function(){var e,r,n=[];if(0===this._eventsCount)return n;for(r in e=this._events)t.call(e,r)&&n.push(a?r.slice(1):r);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},o.prototype.listeners=function(e){var t=a?a+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var n=0,i=r.length,s=Array(i);n1&&(\"/\"===d||void 0===d)&&(\"/\"===m||void 0===m)?(n+=\"((?:[^/]*(?:/|$))*)\",c++):n+=\"([^/]*)\":n+=\".*\";break;default:n+=a}return l&&~l.indexOf(\"g\")||(n=\"^\"+n+\"$\"),new RegExp(n,l)}},8488(){},7193(e,t,a){let r=a(1249);function n(e){if(e.startsWith(\"int[\"))return\"int256\"+e.slice(3);if(\"int\"===e)return\"int256\";if(e.startsWith(\"uint[\"))return\"uint256\"+e.slice(4);if(\"uint\"===e)return\"uint256\";if(e.startsWith(\"fixed[\"))return\"fixed128x128\"+e.slice(5);else if(\"fixed\"===e)return\"fixed128x128\";else if(e.startsWith(\"ufixed[\"))return\"ufixed128x128\"+e.slice(6);else if(\"ufixed\"===e)return\"ufixed128x128\";return e}function i(e){return Number.parseInt(/^\\D+(\\d+)$/.exec(e)[1],10)}function s(e){var t=/^\\D+(\\d+)x(\\d+)$/.exec(e);return[Number.parseInt(t[1],10),Number.parseInt(t[2],10)]}function o(e){var t=e.match(/(.*)\\[(.*?)\\]$/);return t?\"\"===t[2]?\"dynamic\":Number.parseInt(t[2],10):null}function l(e){var t=typeof e;if(\"string\"===t||\"number\"===t)return BigInt(e);if(\"bigint\"===t)return e;throw Error(\"Argument is not a number\")}function c(e,t){if(\"address\"===e)return c(\"uint160\",l(t));if(\"bool\"===e)return c(\"uint8\",+!!t);if(\"string\"===e)return c(\"bytes\",new Buffer(t,\"utf8\"));if((h=e).lastIndexOf(\"]\")===h.length-1){if(void 0===t.length)throw Error(\"Not an array?\");if(\"dynamic\"!==(a=o(e))&&0!==a&&t.length>a)throw Error(\"Elements exceed array size: \"+a);for(d in u=[],e=e.slice(0,e.lastIndexOf(\"[\")),\"string\"==typeof t&&(t=JSON.parse(t)),t)u.push(c(e,t[d]));if(\"dynamic\"===a){var a,n,u,d,h,m=c(\"uint256\",t.length);u.unshift(m)}return Buffer.concat(u)}else if(\"bytes\"===e)return t=new Buffer(t),u=Buffer.concat([c(\"uint256\",t.length),t]),t.length%32!=0&&(u=Buffer.concat([u,r.zeros(32-t.length%32)])),u;else if(e.startsWith(\"bytes\")){if((a=i(e))<1||a>32)throw Error(\"Invalid bytes width: \"+a);return r.setLengthRight(t,32)}else if(e.startsWith(\"uint\")){if((a=i(e))%8||a<8||a>256)throw Error(\"Invalid uint width: \"+a);n=l(t);let s=r.bitLengthFromBigInt(n);if(s>a)throw Error(\"Supplied uint exceeds width: \"+a+\" vs \"+s);if(n<0)throw Error(\"Supplied uint is negative\");return r.bufferBEFromBigInt(n,32)}else if(e.startsWith(\"int\")){if((a=i(e))%8||a<8||a>256)throw Error(\"Invalid int width: \"+a);n=l(t);let s=r.bitLengthFromBigInt(n);if(s>a)throw Error(\"Supplied int exceeds width: \"+a+\" vs \"+s);let o=r.twosFromBigInt(n,256);return r.bufferBEFromBigInt(o,32)}else if(e.startsWith(\"ufixed\")){if(a=s(e),(n=l(t))<0)throw Error(\"Supplied ufixed is negative\");return c(\"uint256\",n*BigInt(2)**BigInt(a[1]))}else if(e.startsWith(\"fixed\"))return a=s(e),c(\"int256\",l(t)*BigInt(2)**BigInt(a[1]));throw Error(\"Unsupported or invalid type: \"+e)}function u(e,t){if(e.length!==t.length)throw Error(\"Number of types are not matching the values\");for(var a,s,o=[],c=0;c32)throw Error(\"Invalid bytes width: \"+a);o.push(r.setLengthRight(d,a))}else if(u.startsWith(\"uint\")){if((a=i(u))%8||a<8||a>256)throw Error(\"Invalid uint width: \"+a);s=l(d);let e=r.bitLengthFromBigInt(s);if(e>a)throw Error(\"Supplied uint exceeds width: \"+a+\" vs \"+e);o.push(r.bufferBEFromBigInt(s,a/8))}else if(u.startsWith(\"int\")){if((a=i(u))%8||a<8||a>256)throw Error(\"Invalid int width: \"+a);s=l(d);let e=r.bitLengthFromBigInt(s);if(e>a)throw Error(\"Supplied int exceeds width: \"+a+\" vs \"+e);let t=r.twosFromBigInt(s,a);o.push(r.bufferBEFromBigInt(t,a/8))}else throw Error(\"Unsupported or invalid type: \"+u)}return Buffer.concat(o)}e.exports={rawEncode:function(e,t){var a=[],r=[],i=32*e.length;for(var s in e){var l=n(e[s]),u=c(l,t[s]);\"string\"===l||\"bytes\"===l||\"dynamic\"===o(l)?(a.push(c(\"uint256\",i)),r.push(u),i+=u.length):a.push(u)}return Buffer.concat(a.concat(r))},solidityPack:u,soliditySHA3:function(e,t){return r.keccak(u(e,t))}}},7487(e,t,a){let r=a(1249),n=a(7193),i={type:\"object\",properties:{types:{type:\"object\",additionalProperties:{type:\"array\",items:{type:\"object\",properties:{name:{type:\"string\"},type:{type:\"string\"}},required:[\"name\",\"type\"]}}},primaryType:{type:\"string\"},domain:{type:\"object\"},message:{type:\"object\"}},required:[\"types\",\"primaryType\",\"domain\",\"message\"]},s={encodeData(e,t,a,i=!0){let s=[\"bytes32\"],o=[this.hashType(e,a)];if(i){let l=(e,t,s)=>{if(void 0!==a[t])return[\"bytes32\",null==s?\"0x0000000000000000000000000000000000000000000000000000000000000000\":r.keccak(this.encodeData(t,s,a,i))];if(void 0===s)throw Error(`missing value for field ${e} of type ${t}`);if(\"bytes\"===t)return[\"bytes32\",r.keccak(s)];if(\"string\"===t)return\"string\"==typeof s&&(s=Buffer.from(s,\"utf8\")),[\"bytes32\",r.keccak(s)];if(t.lastIndexOf(\"]\")===t.length-1){let a=t.slice(0,t.lastIndexOf(\"[\")),i=s.map(t=>l(e,a,t));return[\"bytes32\",r.keccak(n.rawEncode(i.map(([e])=>e),i.map(([,e])=>e)))]}return[t,s]};for(let r of a[e]){let[e,a]=l(r.name,r.type,t[r.name]);s.push(e),o.push(a)}}else for(let n of a[e]){let e=t[n.name];if(void 0!==e)if(\"bytes\"===n.type)s.push(\"bytes32\"),e=r.keccak(e),o.push(e);else if(\"string\"===n.type)s.push(\"bytes32\"),\"string\"==typeof e&&(e=Buffer.from(e,\"utf8\")),e=r.keccak(e),o.push(e);else if(void 0!==a[n.type])s.push(\"bytes32\"),e=r.keccak(this.encodeData(n.type,e,a,i)),o.push(e);else if(n.type.lastIndexOf(\"]\")===n.type.length-1)throw Error(\"Arrays currently unimplemented in encodeData\");else s.push(n.type),o.push(e)}return n.rawEncode(s,o)},encodeType(e,t){let a=\"\",r=this.findTypeDependencies(e,t).filter(t=>t!==e);for(let n of r=[e].concat(r.sort())){if(!t[n])throw Error(\"No type definition specified: \"+n);a+=n+\"(\"+t[n].map(({name:e,type:t})=>t+\" \"+e).join(\",\")+\")\"}return a},findTypeDependencies(e,t,a=[]){if(e=e.match(/^\\w*/)[0],a.includes(e)||void 0===t[e])return a;for(let r of(a.push(e),t[e]))for(let e of this.findTypeDependencies(r.type,t,a))a.includes(e)||a.push(e);return a},hashStruct(e,t,a,n=!0){return r.keccak(this.encodeData(e,t,a,n))},hashType(e,t){return r.keccak(this.encodeType(e,t))},sanitizeData(e){let t={};for(let a in i.properties)e[a]&&(t[a]=e[a]);return t.types&&(t.types=Object.assign({EIP712Domain:[]},t.types)),t},hash(e,t=!0){let a=this.sanitizeData(e),n=[Buffer.from(\"1901\",\"hex\")];return n.push(this.hashStruct(\"EIP712Domain\",a.domain,a.types,t)),\"EIP712Domain\"!==a.primaryType&&n.push(this.hashStruct(a.primaryType,a.message,a.types,t)),r.keccak(Buffer.concat(n))}};e.exports={TYPED_MESSAGE_SCHEMA:i,TypedDataUtils:s,hashForSignTypedDataLegacy:function(e){return function(e){let t=Error(\"Expect argument to be non-empty array\");if(\"object\"!=typeof e||!e.length)throw t;let a=e.map(function(e){return\"bytes\"===e.type?r.toBuffer(e.value):e.value}),i=e.map(function(e){return e.type}),s=e.map(function(e){if(!e.name)throw t;return e.type+\" \"+e.name});return n.soliditySHA3([\"bytes32\",\"bytes32\"],[n.soliditySHA3(Array(e.length).fill(\"string\"),s),n.soliditySHA3(i,a)])}(e.data)},hashForSignTypedData_v3:function(e){return s.hash(e.data,!1)},hashForSignTypedData_v4:function(e){return s.hash(e.data)}}},1249(e,t,a){let{keccak_256:r}=a(5376);function n(e){return Buffer.allocUnsafe(e).fill(0)}function i(e,t){let a=e.toString(16);a.length%2!=0&&(a=\"0\"+a);let r=a.match(/.{1,2}/g).map(e=>parseInt(e,16));for(;r.lengthuH,pay:()=>uZ,removeCryptoKey:()=>c2,createBaseAccountSDK:()=>uB,getCryptoKeyAccount:()=>c0,base:()=>u$});var c=JSON.parse('{\"UU\":\"@base-org/account\",\"rE\":\"2.0.1\"}');let u=\"https://rpc.wallet.coinbase.com\",d=c.UU,h=c.rE;function m(e,t){let a;try{a=e()}catch(e){return}return{getItem:e=>{var r;let n=e=>null===e?null:JSON.parse(e,null==t?void 0:t.reviver),i=null!=(r=a.getItem(e))?r:null;return i instanceof Promise?i.then(n):n(i)},setItem:(e,r)=>a.setItem(e,JSON.stringify(r,null==t?void 0:t.replacer)),removeItem:e=>a.removeItem(e)}}let p=e=>t=>{try{let a=e(t);if(a instanceof Promise)return a;return{then:e=>p(e)(a),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>p(t)(e)}}},f=e=>{let t,a=new Set,r=(e,r)=>{let n=\"function\"==typeof e?e(t):e;if(!Object.is(n,t)){let e=t;t=(null!=r?r:\"object\"!=typeof n||null===n)?n:Object.assign({},t,n),a.forEach(a=>a(t,e))}},n=()=>t,i={setState:r,getState:n,getInitialState:()=>s,subscribe:e=>(a.add(e),()=>a.delete(e))},s=t=e(r,n,i);return i},g=e=>e?f(e):f,b=g((i=(...e)=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},{chains:[]}),{keys:{}}),{account:{}}),{subAccount:void 0}),{spendPermissions:[]}),{config:{version:h}}),{subAccountConfig:{}}),s={name:\"base-acc-sdk.store\",storage:m(()=>localStorage),partialize:e=>({chains:e.chains,keys:e.keys,account:e.account,subAccount:e.subAccount,spendPermissions:e.spendPermissions,config:e.config})},(e,t,a)=>{let r,n={storage:m(()=>localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...s},o=!1,l=new Set,c=new Set,u=n.storage;if(!u)return i((...t)=>{console.warn(`[zustand persist middleware] Unable to update item '${n.name}', the given storage is currently unavailable.`),e(...t)},t,a);let d=()=>{let e=n.partialize({...t()});return u.setItem(n.name,{state:e,version:n.version})},h=a.setState;a.setState=(e,t)=>{h(e,t),d()};let f=i((...t)=>{e(...t),d()},t,a);a.getInitialState=()=>f;let g=()=>{var a,i;if(!u)return;o=!1,l.forEach(e=>{var a;return e(null!=(a=t())?a:f)});let s=(null==(i=n.onRehydrateStorage)?void 0:i.call(n,null!=(a=t())?a:f))||void 0;return p(u.getItem.bind(u))(n.name).then(e=>{if(e)if(\"number\"!=typeof e.version||e.version===n.version)return[!1,e.state];else{if(n.migrate){let t=n.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(\"State loaded from storage couldn't be migrated since no migrate function was provided\")}return[!1,void 0]}).then(a=>{var i;let[s,o]=a;if(e(r=n.merge(o,null!=(i=t())?i:f),!0),s)return d()}).then(()=>{null==s||s(r,void 0),r=t(),o=!0,c.forEach(e=>e(r))}).catch(e=>{null==s||s(void 0,e)})};return a.persist={setOptions:e=>{n={...n,...e},e.storage&&(u=e.storage)},clearStorage:()=>{null==u||u.removeItem(n.name)},getOptions:()=>n,rehydrate:()=>g(),hasHydrated:()=>o,onHydrate:e=>(l.add(e),()=>{l.delete(e)}),onFinishHydration:e=>(c.add(e),()=>{c.delete(e)})},n.skipHydration||g(),r||f})),y={get:()=>b.getState().config,set:e=>{b.setState(t=>({config:Object.assign(Object.assign({},t.config),e)}))}},w=Object.assign(Object.assign({},b),{subAccounts:{get:()=>b.getState().subAccount,set:e=>{b.setState(t=>({subAccount:t.subAccount?Object.assign(Object.assign({},t.subAccount),e):Object.assign({address:e.address},e)}))},clear:()=>{b.setState({subAccount:void 0})}},subAccountsConfig:{get:()=>b.getState().subAccountConfig,set:e=>{b.setState(t=>({subAccountConfig:Object.assign(Object.assign({},t.subAccountConfig),e)}))},clear:()=>{b.setState({subAccountConfig:{}})}},spendPermissions:{get:()=>b.getState().spendPermissions,set:e=>{b.setState({spendPermissions:e})},clear:()=>{b.setState({spendPermissions:[]})}},account:{get:()=>b.getState().account,set:e=>{b.setState(t=>({account:Object.assign(Object.assign({},t.account),e)}))},clear:()=>{b.setState({account:{}})}},chains:{get:()=>b.getState().chains,set:e=>{b.setState({chains:e})},clear:()=>{b.setState({chains:[]})}},keys:{get:e=>b.getState().keys[e],set:(e,t)=>{b.setState(a=>({keys:Object.assign(Object.assign({},a.keys),{[e]:t})}))},clear:()=>{b.setState({keys:{}})}},config:y}),k=\"0xf85210B21cC50302F477BA56686d2019dC9b67Ad\",v=[{inputs:[],stateMutability:\"nonpayable\",type:\"constructor\"},{inputs:[{name:\"owner\",type:\"bytes\"}],name:\"AlreadyOwner\",type:\"error\"},{inputs:[],name:\"Initialized\",type:\"error\"},{inputs:[{name:\"owner\",type:\"bytes\"}],name:\"InvalidEthereumAddressOwner\",type:\"error\"},{inputs:[{name:\"key\",type:\"uint256\"}],name:\"InvalidNonceKey\",type:\"error\"},{inputs:[{name:\"owner\",type:\"bytes\"}],name:\"InvalidOwnerBytesLength\",type:\"error\"},{inputs:[],name:\"LastOwner\",type:\"error\"},{inputs:[{name:\"index\",type:\"uint256\"}],name:\"NoOwnerAtIndex\",type:\"error\"},{inputs:[{name:\"ownersRemaining\",type:\"uint256\"}],name:\"NotLastOwner\",type:\"error\"},{inputs:[{name:\"selector\",type:\"bytes4\"}],name:\"SelectorNotAllowed\",type:\"error\"},{inputs:[],name:\"Unauthorized\",type:\"error\"},{inputs:[],name:\"UnauthorizedCallContext\",type:\"error\"},{inputs:[],name:\"UpgradeFailed\",type:\"error\"},{inputs:[{name:\"index\",type:\"uint256\"},{name:\"expectedOwner\",type:\"bytes\"},{name:\"actualOwner\",type:\"bytes\"}],name:\"WrongOwnerAtIndex\",type:\"error\"},{anonymous:!1,inputs:[{indexed:!0,name:\"index\",type:\"uint256\"},{indexed:!1,name:\"owner\",type:\"bytes\"}],name:\"AddOwner\",type:\"event\"},{anonymous:!1,inputs:[{indexed:!0,name:\"index\",type:\"uint256\"},{indexed:!1,name:\"owner\",type:\"bytes\"}],name:\"RemoveOwner\",type:\"event\"},{anonymous:!1,inputs:[{indexed:!0,name:\"implementation\",type:\"address\"}],name:\"Upgraded\",type:\"event\"},{stateMutability:\"payable\",type:\"fallback\"},{inputs:[],name:\"REPLAYABLE_NONCE_KEY\",outputs:[{name:\"\",type:\"uint256\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"owner\",type:\"address\"}],name:\"addOwnerAddress\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{name:\"x\",type:\"bytes32\"},{name:\"y\",type:\"bytes32\"}],name:\"addOwnerPublicKey\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{name:\"functionSelector\",type:\"bytes4\"}],name:\"canSkipChainIdValidation\",outputs:[{name:\"\",type:\"bool\"}],stateMutability:\"pure\",type:\"function\"},{inputs:[],name:\"domainSeparator\",outputs:[{name:\"\",type:\"bytes32\"}],stateMutability:\"view\",type:\"function\"},{inputs:[],name:\"eip712Domain\",outputs:[{name:\"fields\",type:\"bytes1\"},{name:\"name\",type:\"string\"},{name:\"version\",type:\"string\"},{name:\"chainId\",type:\"uint256\"},{name:\"verifyingContract\",type:\"address\"},{name:\"salt\",type:\"bytes32\"},{name:\"extensions\",type:\"uint256[]\"}],stateMutability:\"view\",type:\"function\"},{inputs:[],name:\"entryPoint\",outputs:[{name:\"\",type:\"address\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"target\",type:\"address\"},{name:\"value\",type:\"uint256\"},{name:\"data\",type:\"bytes\"}],name:\"execute\",outputs:[],stateMutability:\"payable\",type:\"function\"},{inputs:[{components:[{name:\"target\",type:\"address\"},{name:\"value\",type:\"uint256\"},{name:\"data\",type:\"bytes\"}],name:\"calls\",type:\"tuple[]\"}],name:\"executeBatch\",outputs:[],stateMutability:\"payable\",type:\"function\"},{inputs:[{name:\"calls\",type:\"bytes[]\"}],name:\"executeWithoutChainIdValidation\",outputs:[],stateMutability:\"payable\",type:\"function\"},{inputs:[{components:[{name:\"sender\",type:\"address\"},{name:\"nonce\",type:\"uint256\"},{name:\"initCode\",type:\"bytes\"},{name:\"callData\",type:\"bytes\"},{name:\"callGasLimit\",type:\"uint256\"},{name:\"verificationGasLimit\",type:\"uint256\"},{name:\"preVerificationGas\",type:\"uint256\"},{name:\"maxFeePerGas\",type:\"uint256\"},{name:\"maxPriorityFeePerGas\",type:\"uint256\"},{name:\"paymasterAndData\",type:\"bytes\"},{name:\"signature\",type:\"bytes\"}],name:\"userOp\",type:\"tuple\"}],name:\"getUserOpHashWithoutChainId\",outputs:[{name:\"\",type:\"bytes32\"}],stateMutability:\"view\",type:\"function\"},{inputs:[],name:\"implementation\",outputs:[{name:\"$\",type:\"address\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"owners\",type:\"bytes[]\"}],name:\"initialize\",outputs:[],stateMutability:\"payable\",type:\"function\"},{inputs:[{name:\"account\",type:\"address\"}],name:\"isOwnerAddress\",outputs:[{name:\"\",type:\"bool\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"account\",type:\"bytes\"}],name:\"isOwnerBytes\",outputs:[{name:\"\",type:\"bool\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"x\",type:\"bytes32\"},{name:\"y\",type:\"bytes32\"}],name:\"isOwnerPublicKey\",outputs:[{name:\"\",type:\"bool\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"hash\",type:\"bytes32\"},{name:\"signature\",type:\"bytes\"}],name:\"isValidSignature\",outputs:[{name:\"result\",type:\"bytes4\"}],stateMutability:\"view\",type:\"function\"},{inputs:[],name:\"nextOwnerIndex\",outputs:[{name:\"\",type:\"uint256\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"index\",type:\"uint256\"}],name:\"ownerAtIndex\",outputs:[{name:\"\",type:\"bytes\"}],stateMutability:\"view\",type:\"function\"},{inputs:[],name:\"ownerCount\",outputs:[{name:\"\",type:\"uint256\"}],stateMutability:\"view\",type:\"function\"},{inputs:[],name:\"proxiableUUID\",outputs:[{name:\"\",type:\"bytes32\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"index\",type:\"uint256\"},{name:\"owner\",type:\"bytes\"}],name:\"removeLastOwner\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{name:\"index\",type:\"uint256\"},{name:\"owner\",type:\"bytes\"}],name:\"removeOwnerAtIndex\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[],name:\"removedOwnersCount\",outputs:[{name:\"\",type:\"uint256\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"hash\",type:\"bytes32\"}],name:\"replaySafeHash\",outputs:[{name:\"\",type:\"bytes32\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"newImplementation\",type:\"address\"},{name:\"data\",type:\"bytes\"}],name:\"upgradeToAndCall\",outputs:[],stateMutability:\"payable\",type:\"function\"},{inputs:[{components:[{name:\"sender\",type:\"address\"},{name:\"nonce\",type:\"uint256\"},{name:\"initCode\",type:\"bytes\"},{name:\"callData\",type:\"bytes\"},{name:\"callGasLimit\",type:\"uint256\"},{name:\"verificationGasLimit\",type:\"uint256\"},{name:\"preVerificationGas\",type:\"uint256\"},{name:\"maxFeePerGas\",type:\"uint256\"},{name:\"maxPriorityFeePerGas\",type:\"uint256\"},{name:\"paymasterAndData\",type:\"bytes\"},{name:\"signature\",type:\"bytes\"}],name:\"userOp\",type:\"tuple\"},{name:\"userOpHash\",type:\"bytes32\"},{name:\"missingAccountFunds\",type:\"uint256\"}],name:\"validateUserOp\",outputs:[{name:\"validationData\",type:\"uint256\"}],stateMutability:\"nonpayable\",type:\"function\"},{stateMutability:\"payable\",type:\"receive\"}],x=[{inputs:[{name:\"implementation_\",type:\"address\"}],stateMutability:\"payable\",type:\"constructor\"},{inputs:[],name:\"OwnerRequired\",type:\"error\"},{inputs:[{name:\"owners\",type:\"bytes[]\"},{name:\"nonce\",type:\"uint256\"}],name:\"createAccount\",outputs:[{name:\"account\",type:\"address\"}],stateMutability:\"payable\",type:\"function\"},{inputs:[{name:\"owners\",type:\"bytes[]\"},{name:\"nonce\",type:\"uint256\"}],name:\"getAddress\",outputs:[{name:\"\",type:\"address\"}],stateMutability:\"view\",type:\"function\"},{inputs:[],name:\"implementation\",outputs:[{name:\"\",type:\"address\"}],stateMutability:\"view\",type:\"function\"},{inputs:[],name:\"initCodeHash\",outputs:[{name:\"\",type:\"bytes32\"}],stateMutability:\"view\",type:\"function\"}],_=-32004,j=-32602,z=-32603,S=4001,I=4100,A=4200,E=4900,C={\"-32700\":{standard:\"JSON RPC 2.0\",message:\"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.\"},\"-32600\":{standard:\"JSON RPC 2.0\",message:\"The JSON sent is not a valid Request object.\"},\"-32601\":{standard:\"JSON RPC 2.0\",message:\"The method does not exist / is not available.\"},\"-32602\":{standard:\"JSON RPC 2.0\",message:\"Invalid method parameter(s).\"},\"-32603\":{standard:\"JSON RPC 2.0\",message:\"Internal JSON-RPC error.\"},\"-32000\":{standard:\"EIP-1474\",message:\"Invalid input.\"},\"-32001\":{standard:\"EIP-1474\",message:\"Resource not found.\"},\"-32002\":{standard:\"EIP-1474\",message:\"Resource unavailable.\"},\"-32003\":{standard:\"EIP-1474\",message:\"Transaction rejected.\"},\"-32004\":{standard:\"EIP-1474\",message:\"Method not supported.\"},\"-32005\":{standard:\"EIP-1474\",message:\"Request limit exceeded.\"},4001:{standard:\"EIP-1193\",message:\"User rejected the request.\"},4100:{standard:\"EIP-1193\",message:\"The requested account and/or method has not been authorized by the user.\"},4200:{standard:\"EIP-1193\",message:\"The requested method is not supported by this Ethereum provider.\"},4900:{standard:\"EIP-1193\",message:\"The provider is disconnected from all chains.\"},4901:{standard:\"EIP-1193\",message:\"The provider is disconnected from the specified chain.\"},4902:{standard:\"EIP-3085\",message:\"Unrecognized chain ID.\"}},P=\"Unspecified error message.\";function q(e,t=P){if(e&&Number.isInteger(e)){var a;let t=e.toString();if(T(C,t))return C[t].message;if((a=e)>=-32099&&a<=-32e3)return\"Unspecified server error.\"}return t}function O(e){return e&&\"object\"==typeof e&&!Array.isArray(e)?Object.assign({},e):e}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function U(e,t){return\"object\"==typeof e&&null!==e&&t in e&&\"string\"==typeof e[t]}let M=e=>W(j,e),R=e=>W(z,e),B=e=>W(_,e),N=e=>K(S,e),D=e=>K(I,e),F=e=>K(A,e),L=e=>K(E,e);function W(e,t){let[a,r]=H(t);return new V(e,a||q(e),r)}function K(e,t){let[a,r]=H(t);return new G(e,a||q(e),r)}function H(e){if(e){if(\"string\"==typeof e)return[e];if(\"object\"==typeof e&&!Array.isArray(e)){let{message:t,data:a}=e;if(t&&\"string\"!=typeof t)throw Error(\"Must specify string message.\");return[t||void 0,a]}}return[]}class V extends Error{constructor(e,t,a){if(!Number.isInteger(e))throw Error('\"code\" must be an integer.');if(!t||\"string\"!=typeof t)throw Error('\"message\" must be a nonempty string.');super(t),this.code=e,void 0!==a&&(this.data=a)}}class G extends V{constructor(e,t,a){var r;if(!(Number.isInteger(r=e)&&r>=1e3&&r<=4999))throw Error('\"code\" must be an integer such that: 1000 <= code <= 4999');super(e,t,a)}}function J(e){return\"object\"==typeof e&&null!==e&&\"code\"in e&&\"data\"in e&&-32090===e.code&&\"object\"==typeof e.data&&null!==e.data&&\"type\"in e.data&&\"INSUFFICIENT_FUNDS\"===e.data.type}function Z(e){return\"object\"==typeof e&&null!==e&&\"details\"in e}function $(e,t,a){if(null==e)throw null!=t?t:M({message:null!=a?a:\"value must be present\",data:e})}function Y(e,t){if(!Array.isArray(e))throw M({message:null!=t?t:\"value must be an array\",data:e})}let Q=`Base Account SDK requires the Cross-Origin-Opener-Policy header to not be set to 'same-origin'. This is to ensure that the SDK can communicate with the Base Account app.\n\nPlease see https://docs.base.org/smart-wallet/quickstart#cross-origin-opener-policy for more information.`,{checkCrossOriginOpenerPolicy:X,getCrossOriginOpenerPolicy:ee}={getCrossOriginOpenerPolicy:()=>void 0===o?\"undefined\":o,checkCrossOriginOpenerPolicy:async()=>{if(\"u\"{ei(`dialog.${e}.shown`,{action:ef.render,componentType:ep.modal,dialogContext:e},eg.high)},eo=({dialogContext:e})=>{ei(`dialog.${e}.dismissed`,{action:ef.dismiss,componentType:ep.modal,dialogContext:e},eg.high)},el=({dialogContext:e,dialogAction:t})=>{ei(`dialog.${e}.action_clicked`,{action:ef.click,componentType:ep.button,dialogContext:e,dialogAction:t},eg.high)},ec=`\n@font-face {\n font-family: \"BaseSans-Regular\";\n src: url(\"data:font/woff2;charset=utf-8;base64,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\")\n format(\"woff2\");\n font-weight: normal;\n font-style: normal;\n font-display: swap;\n}\n`,eu=\"BaseSans-Regular\";var ed,eh,em,ep,ef,eg,eb,ey,ew,ek,ev,ex,e_,ej,ez,eS,eI={},eA=[],eE=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,eC=Array.isArray;function eP(e,t){for(var a in t)e[a]=t[a];return e}function eq(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function eO(e,t,a){var r,n,i,s={};for(i in t)\"key\"==i?r=t[i]:\"ref\"==i?n=t[i]:s[i]=t[i];if(arguments.length>2&&(s.children=arguments.length>3?eb.call(arguments,2):a),\"function\"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===s[i]&&(s[i]=e.defaultProps[i]);return eT(e,s,r,n,null)}function eT(e,t,a,r,n){var i={type:e,props:t,key:a,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==n?++ew:n,__i:-1,__u:0};return null==n&&null!=ey.vnode&&ey.vnode(i),i}function eU(e){return e.children}function eM(e,t){this.props=e,this.context=t}function eR(e,t){if(null==t)return e.__?eR(e.__,e.__i+1):null;for(var a;tt&&ek.sort(e_));eN.__r=0}function eD(e,t,a,r,n,i,s,o,l,c,u){var d,h,m,p,f,g=r&&r.__k||eA,b=t.length;for(a.__d=l,function(e,t,a){var r,n,i,s,o,l=t.length,c=a.length,u=c,d=0;for(e.__k=[],r=0;r0?eT(n.type,n.props,n.key,n.ref?n.ref:null,n.__v):n).__=e,n.__b=e.__b+1,i=null,-1!==(o=n.__i=function(e,t,a,r){var n=e.key,i=e.type,s=a-1,o=a+1,l=t[a];if(null===l||l&&n==l.key&&i===l.type&&0==(131072&l.__u))return a;if(r>+(null!=l&&0==(131072&l.__u)))for(;s>=0||o=0){if((l=t[s])&&0==(131072&l.__u)&&n==l.key&&i===l.type)return s;s--}if(os?d--:d++,n.__u|=65536))):n=e.__k[r]=null;if(u)for(r=0;re$(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:e$(\"path\",{d:\"M0 2.014C0 1.58105 0 1.36457 0.0815779 1.19805C0.159686 1.03861 0.288611 0.909686 0.448049 0.831578C0.61457 0.75 0.831047 0.75 1.264 0.75H14.736C15.169 0.75 15.3854 0.75 15.552 0.831578C15.7114 0.909686 15.8403 1.03861 15.9184 1.19805C16 1.36457 16 1.58105 16 2.014V15.486C16 15.919 16 16.1354 15.9184 16.302C15.8403 16.4614 15.7114 16.5903 15.552 16.6684C15.3854 16.75 15.169 16.75 14.736 16.75H1.264C0.831047 16.75 0.61457 16.75 0.448049 16.6684C0.288611 16.5903 0.159686 16.4614 0.0815779 16.302C0 16.1354 0 15.919 0 15.486V2.014Z\",fill:\"blue\"===e?\"#0000FF\":\"#FFF\"})});var e1,e0,e2,e3,e9=0,e5=[],e6=ey,e8=e6.__b,e4=e6.__r,e7=e6.diffed,te=e6.__c,tt=e6.unmount,ta=e6.__;function tr(e,t){e6.__h&&e6.__h(e0,e,e9||t),e9=0;var a=e0.__H||(e0.__H={__:[],__h:[]});return e>=a.__.length&&a.__.push({}),a.__[e]}function tn(e){return e9=1,function(e,t){var a=tr(e1++,2);if(a.t=e,!a.__c&&(a.__=[td(void 0,t),function(e){var t=a.__N?a.__N[0]:a.__[0],r=a.t(t,e);t!==r&&(a.__N=[r,a.__[1]],a.__c.setState({}))}],a.__c=e0,!e0.u)){var r=function(e,t,r){if(!a.__c.__H)return!0;var i=a.__c.__H.__.filter(function(e){return!!e.__c});if(i.every(function(e){return!e.__N}))return!n||n.call(this,e,t,r);var s=!1;return i.forEach(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(s=!0)}}),!(!s&&a.__c.props===e)&&(!n||n.call(this,e,t,r))};e0.u=!0;var n=e0.shouldComponentUpdate,i=e0.componentWillUpdate;e0.componentWillUpdate=function(e,t,a){if(this.__e){var s=n;n=void 0,r(e,t,a),n=s}i&&i.call(this,e,t,a)},e0.shouldComponentUpdate=r}return a.__N||a.__}(td,e)}function ti(e,t){var a=tr(e1++,3);!e6.__s&&tu(a.__H,t)&&(a.__=e,a.i=t,e0.__H.__h.push(a))}function ts(){for(var e;e=e5.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(tl),e.__H.__h.forEach(tc),e.__H.__h=[]}catch(t){e.__H.__h=[],e6.__e(t,e.__v)}}e6.__b=function(e){e0=null,e8&&e8(e)},e6.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),ta&&ta(e,t)},e6.__r=function(e){e4&&e4(e),e1=0;var t=(e0=e.__c).__H;t&&(e2===e0?(t.__h=[],e0.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.i=e.__N=void 0})):(t.__h.forEach(tl),t.__h.forEach(tc),t.__h=[],e1=0)),e2=e0},e6.diffed=function(e){e7&&e7(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==e5.push(t)&&e3===e6.requestAnimationFrame||((e3=e6.requestAnimationFrame)||function(e){var t,a=function(){clearTimeout(r),to&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(a,100);to&&(t=requestAnimationFrame(a))})(ts)),t.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.i=void 0})),e2=e0=null},e6.__c=function(e,t){t.some(function(e){try{e.__h.forEach(tl),e.__h=e.__h.filter(function(e){return!e.__||tc(e)})}catch(a){t.some(function(e){e.__h&&(e.__h=[])}),t=[],e6.__e(a,e.__v)}}),te&&te(e,t)},e6.unmount=function(e){tt&&tt(e);var t,a=e.__c;a&&a.__H&&(a.__H.__.forEach(function(e){try{tl(e)}catch(e){t=e}}),a.__H=void 0,t&&e6.__e(t,a.__v))};var to=\"function\"==typeof requestAnimationFrame;function tl(e){var t=e0,a=e.__c;\"function\"==typeof a&&(e.__c=void 0,a()),e0=t}function tc(e){var t=e0;e.__c=e.__(),e0=t}function tu(e,t){return!e||e.length!==t.length||t.some(function(t,a){return t!==e[a]})}function td(e,t){return\"function\"==typeof t?t(e):t}function th(){return window.innerWidth<=600&&window.innerHeight>window.innerWidth}let tm=()=>{let[e,t]=tn(!1);return(ti(()=>{let e=()=>{t(th())};return e(),window.addEventListener(\"resize\",e),window.addEventListener(\"orientationchange\",e),()=>{window.removeEventListener(\"resize\",e),window.removeEventListener(\"orientationchange\",e)}},[]),e)?e$(\"div\",{class:\"-base-acc-sdk-dialog-handle-bar\"}):null};class tp{constructor(){this.items=new Map,this.nextItemKey=0,this.root=null}attach(e){this.root=document.createElement(\"div\"),this.root.className=\"-base-acc-sdk-dialog-root\",e.appendChild(this.root),this.render()}presentItem(e){let t=this.nextItemKey++;this.items.set(t,e),this.render()}clear(){this.items.clear(),this.root&&eJ(null,this.root)}render(){this.root&&eJ(e$(\"div\",{children:e$(tf,{children:Array.from(this.items.entries()).map(([e,t])=>eO(tg,Object.assign({},t,{key:e,handleClose:()=>{var e;this.clear(),null==(e=t.onClose)||e.call(t)}})))})}),this.root)}}let tf=e=>{let[t,a]=tn(0),[r,n]=tn(!1),[i,s]=tn(0);return e$(\"div\",{class:(0,eY.$)(\"-base-acc-sdk-dialog-container\"),children:[e$(\"style\",{children:'.-base-acc-sdk-css-reset{-webkit-font-smoothing:antialiased;pointer-events:auto !important}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2147483647}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-container *{user-select:none;box-sizing:border-box}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:20px}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-backdrop{align-items:flex-end;justify-content:stretch;padding:0}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog{position:relative;z-index:2147483648}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog{width:100%}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);width:380px;max-height:90vh;overflow:hidden;transform:scale(0.95);opacity:0;transition:all .2s ease-in-out}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance{touch-action:pan-y;user-select:none}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-hidden{transform:scale(0.9);opacity:0}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-hidden{transform:translateY(100%)}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance:not(.-base-acc-sdk-dialog-instance-hidden){transform:scale(1);opacity:1}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance:not(.-base-acc-sdk-dialog-instance-hidden){transform:translateY(0)}}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance{width:100%;max-width:100%;border-radius:20px 20px 0 0;box-shadow:0 -10px 25px rgba(0,0,0,.15);max-height:80vh;transform:translateY(0)}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-hidden{transform:translateY(100%);opacity:1}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance:not(.-base-acc-sdk-dialog-instance-hidden){transform:translateY(0);opacity:1}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0 20px}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header{padding:16px 20px 12px 20px}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-icon-and-title{display:flex;align-items:center;gap:8px}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-icon-and-title-title{font-family:\"BaseSans-Regular\",sans-serif;font-size:14px;font-weight:400;color:#5b616e}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-cblogo{width:32px;height:32px}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;border-radius:6px;transition:background-color .2s}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close:hover{background-color:#f5f7f8}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close-icon{width:14px;height:14px}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close-icon{display:none}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content{padding:20px 20px 16px 20px;font-family:\"BaseSans-Regular\",sans-serif}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content{padding:8px 20px 12px 20px}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content-title{font-size:20px;font-weight:600;line-height:28px;color:#0a0b0d;margin-bottom:10px}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content-message{font-size:16px;font-weight:400;line-height:24px;color:#5b616e;margin-bottom:0}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-actions{display:flex;padding:16px 20px 20px 20px;flex-direction:column}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-actions{padding:16px 20px calc(20px + env(safe-area-inset-bottom)) 20px;gap:6px}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button{font-family:\"BaseSans-Regular\",sans-serif;font-size:16px;font-weight:500;line-height:24px;border:none;border-radius:12px;padding:16px 24px;cursor:pointer;transition:all .2s ease-in-out;width:100%;margin:4px 0}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button:disabled{opacity:.5;cursor:not-allowed}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-primary{background-color:#0a0b0d;color:#fff}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-primary:hover:not(:disabled){background-color:#1c1e20}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-primary:active:not(:disabled){background-color:#2a2d31}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-secondary{background-color:#eef0f3;color:#0a0b0d}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-secondary:hover:not(:disabled){background-color:#e1e4e8}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-secondary:active:not(:disabled){background-color:#d4d8dd}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-handle-bar{position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:64px;height:4px;background-color:#d1d5db;border-radius:2px;opacity:0;animation:handleBarFadeIn .2s ease-in-out .2s forwards}@keyframes handleBarFadeIn{from{opacity:0}to{opacity:1}}'}),e$(\"div\",{class:\"-base-acc-sdk-dialog-backdrop\",onTouchStart:e=>{th()&&(s(e.touches[0].clientY),n(!0))},onTouchMove:e=>{if(!r)return;let t=e.touches[0].clientY-i;t>0&&(a(t),e.preventDefault())},onTouchEnd:()=>{if(r)if(n(!1),t>100){let e=document.querySelector(\".-base-acc-sdk-dialog-instance-header-close\");e&&e.click()}else a(0)},children:e$(\"div\",{class:\"-base-acc-sdk-dialog\",style:{transform:`translateY(${t}px)`,transition:r?\"none\":\"transform 0.2s ease-out\"},children:[e$(tm,{}),e.children]})})]})},tg=({title:e,message:t,actionItems:a,handleClose:r})=>{var n,i,s;let[o,l]=tn(!0),[c,u]=tn(!0),[d,h]=tn(null);ti(()=>{let e=window.setTimeout(()=>{l(!1)},1);return()=>{window.clearTimeout(e)}},[]),ti(()=>{(async()=>{var e;let t=null==(e=w.account.get().accounts)?void 0:e[0];t&&h(await eQ(t)),u(!1)})()},[]);let m=(n=()=>d?`Signed in as ${d}`:\"Base Account\",i=[d],tu((s=tr(e1++,7)).__H,i)&&(s.__=n(),s.__H=i,s.__h=n),s.__);return e$(\"div\",{class:(0,eY.$)(\"-base-acc-sdk-dialog-instance\",o&&\"-base-acc-sdk-dialog-instance-hidden\"),children:[e$(\"div\",{class:\"-base-acc-sdk-dialog-instance-header\",children:[e$(\"div\",{class:\"-base-acc-sdk-dialog-instance-header-icon-and-title\",children:[e$(eX,{fill:\"blue\"}),!c&&e$(\"div\",{class:\"-base-acc-sdk-dialog-instance-header-icon-and-title-title\",children:m})]}),e$(\"div\",{class:\"-base-acc-sdk-dialog-instance-header-close\",onClick:r,children:e$(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEzIDFMMSAxM20wLTEyTDEzIDEzIiBzdHJva2U9IiM5Q0EzQUYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+\",class:\"-base-acc-sdk-dialog-instance-header-close-icon\"})})]}),e$(\"div\",{class:\"-base-acc-sdk-dialog-instance-content\",children:[e$(\"div\",{class:\"-base-acc-sdk-dialog-instance-content-title\",children:e}),e$(\"div\",{class:\"-base-acc-sdk-dialog-instance-content-message\",children:t})]}),a&&a.length>0&&e$(\"div\",{class:\"-base-acc-sdk-dialog-instance-actions\",children:a.map((e,t)=>e$(\"button\",{class:(0,eY.$)(\"-base-acc-sdk-dialog-instance-button\",\"primary\"===e.variant&&\"-base-acc-sdk-dialog-instance-button-primary\",\"secondary\"===e.variant&&\"-base-acc-sdk-dialog-instance-button-secondary\"),onClick:e.onClick,children:e.text},t))})]})},tb=null;function ty(){if(!tb){let e=document.createElement(\"div\");e.className=\"-base-acc-sdk-css-reset\",document.body.appendChild(e),(tb=new tp).attach(e)}return!function(){if(document.head.querySelector(`style[base-sdk-font=\"${eu}\"]`))return;let e=document.createElement(\"style\");e.setAttribute(\"base-sdk-font\",eu),e.textContent=ec,document.head.appendChild(e)}(),tb}class tw{constructor({url:e=\"https://keys.coinbase.com/connect\",metadata:t,preference:a}){this.popup=null,this.listeners=new Map,this.postMessage=async e=>{(await this.waitForPopupLoaded()).postMessage(e,this.url.origin)},this.postRequestAndWaitForResponse=async e=>{let t=this.onMessage(({requestId:t})=>t===e.id);return this.postMessage(e),await t},this.onMessage=async e=>new Promise((t,a)=>{let r=a=>{if(a.origin!==this.url.origin)return;let n=a.data;e(n)&&(t(n),window.removeEventListener(\"message\",r),this.listeners.delete(r))};window.addEventListener(\"message\",r),this.listeners.set(r,{reject:a})}),this.disconnect=()=>{var e;(e=this.popup)&&!e.closed&&e.close(),this.popup=null,this.listeners.forEach(({reject:e},t)=>{e(N(\"Request rejected\")),window.removeEventListener(\"message\",t)}),this.listeners.clear()},this.waitForPopupLoaded=async()=>this.popup&&!this.popup.closed?(this.popup.focus(),this.popup):(ei(\"communicator.popup_setup.started\",{action:ef.unknown,componentType:ep.unknown},eg.high),this.popup=await function(e){let t,a,r=(window.innerWidth-420)/2+window.screenX,n=(window.innerHeight-700)/2+window.screenY;function i(){let t=`wallet_${crypto.randomUUID()}`,a=window.open(e,t,`width=420, height=700, left=${r}, top=${n}`);return(null==a||a.focus(),a)?a:null}var s,o,l,c=e;for(let[e,t]of Object.entries({sdkName:d,sdkVersion:h,origin:window.location.origin,coop:ee()}))c.searchParams.has(e)||c.searchParams.append(e,t.toString());let u=i();return u?Promise.resolve(u):(s=i,t=null!=(l=null==(o=w.config.get().metadata)?void 0:o.appName)?l:\"App\",a=ty(),new Promise((e,r)=>{es({dialogContext:\"popup_blocked\"}),a.presentItem({title:\"{app} wants to continue in Base Account\".replace(\"{app}\",t),message:\"This action requires your permission to open a new window.\",onClose:()=>{el({dialogContext:\"popup_blocked\",dialogAction:\"cancel\"}),r(R(\"Popup window was blocked\"))},actionItems:[{text:\"Try again\",variant:\"primary\",onClick:()=>{el({dialogContext:\"popup_blocked\",dialogAction:\"confirm\"});let t=s();t?e(t):r(R(\"Popup window was blocked\")),a.clear()}},{text:\"Cancel\",variant:\"secondary\",onClick:()=>{el({dialogContext:\"popup_blocked\",dialogAction:\"cancel\"}),r(R(\"Popup window was blocked\")),a.clear()}}]})}))}(this.url),this.onMessage(({event:e})=>\"PopupUnload\"===e).then(()=>{this.disconnect(),ei(\"communicator.popup_unload.received\",{action:ef.unknown,componentType:ep.unknown},eg.high)}).catch(()=>{}),this.onMessage(({event:e})=>\"PopupLoaded\"===e).then(e=>{this.postMessage({requestId:e.id,data:{version:h,sdkName:d,metadata:this.metadata,preference:this.preference,location:window.location.toString()}})}).then(()=>{if(!this.popup)throw R();return ei(\"communicator.popup_setup.completed\",{action:ef.unknown,componentType:ep.unknown},eg.high),this.popup})),this.url=new URL(e),this.metadata=t,this.preference=a}}var tk=a(6306);class tv extends tk{}let tx=e=>\"message\"in e&&\"string\"==typeof e.message?e.message:\"\";function t_(e){return Math.floor(e)}let tj=/^[0-9]*$/,tz=/^[a-f0-9]*$/;function tS(e){return`0x${BigInt(e).toString(16)}`}function tI(e){return e.startsWith(\"0x\")||e.startsWith(\"0X\")?e.slice(2):e}function tA(e,t=!1){if(\"string\"==typeof e){let a=tI(e).toLowerCase();if(tz.test(a))return t?`0x${a}`:a}throw M(`\"${String(e)}\" is not a hexadecimal string`)}var tE=a(3601),tC=a(1591),tP=a(3599);let tq=256;function tO(e=11){if(!r||tq+e>512){r=\"\",tq=0;for(let e=0;e<256;e++)r+=(256+256*Math.random()|0).toString(16).substring(1)}return r.substring(tq,tq+++e)}function tT(e){let{batch:t,chain:a,ccipRead:r,key:n=\"base\",name:i=\"Base Client\",type:s=\"base\"}=e,o=e.experimental_blockTag??(\"number\"==typeof a?.experimental_preconfirmationTime?\"pending\":void 0),l=Math.min(Math.max(Math.floor((a?.blockTime??12e3)/2),500),4e3),c=e.pollingInterval??l,u=e.cacheTime??c,d=e.account?(0,tP.J)(e.account):void 0,{config:h,request:m,value:p}=e.transport({chain:a,pollingInterval:c}),f={account:d,batch:t,cacheTime:u,ccipRead:r,chain:a,key:n,name:i,pollingInterval:c,request:m,transport:{...h,...p},type:s,uid:tO(),...o?{experimental_blockTag:o}:{}};return Object.assign(f,{extend:function e(t){return a=>{let r=a(t);for(let e in f)delete r[e];let n={...t,...r};return Object.assign(n,{extend:e(n)})}}(f)})}var tU=a(7717),tM=a(9266),tR=a(3575),tB=a(5925),tN=a(5103),tD=a(1236);function tF(e){if(!(e instanceof tN.C))return!1;let t=e.walk(e=>e instanceof tD.M);return t instanceof tD.M&&(t.data?.errorName===\"HttpError\"||t.data?.errorName===\"ResolverError\"||t.data?.errorName===\"ResolverNotContract\"||t.data?.errorName===\"ResolverNotFound\"||t.data?.errorName===\"ReverseAddressMismatch\"||t.data?.errorName===\"UnsupportedResolverProfile\")}var tL=a(9398),tW=a(2845),tK=a(904),tH=a(1746),tV=a(8828);function tG(e){if(66!==e.length||0!==e.indexOf(\"[\")||65!==e.indexOf(\"]\"))return null;let t=`0x${e.slice(1,65)}`;return(0,tV.q)(t)?t:null}function tJ(e){let t=new Uint8Array(32).fill(0);if(!e)return(0,en.My)(t);let a=e.split(\".\");for(let e=a.length-1;e>=0;e-=1){let r=tG(a[e]),n=r?(0,tK.ZJ)(r):(0,tH.S)((0,tK.Af)(a[e]),\"bytes\");t=(0,tH.S)((0,tW.xW)([t,n]),\"bytes\")}return(0,en.My)(t)}function tZ(e){let t=e.replace(/^\\.|\\.$/gm,\"\");if(0===t.length)return new Uint8Array(1);let a=new Uint8Array((0,tK.Af)(t).byteLength+2),r=0,n=t.split(\".\");for(let e=0;e255&&(t=(0,tK.Af)((i=function(e){let t=new Uint8Array(32).fill(0);return e?tG(e)||(0,tH.S)((0,tK.Af)(e)):(0,en.My)(t)}(n[e]),`[${i.slice(2)}]`))),a[r]=t.length,a.set(t,r+1),r+=t.length+1}return a.byteLength!==r+1?a.slice(0,r+1):a}function t$(e,t,a){let r=e[t.name];if(\"function\"==typeof r)return r;let n=e[a];return\"function\"==typeof n?n:a=>t(e,a)}var tY=a(4538),tQ=a(1181);class tX extends tN.C{constructor(e,{code:t,docsPath:a,metaMessages:r,name:n,shortMessage:i}){super(i,{cause:e,docsPath:a,metaMessages:r||e?.metaMessages,name:n||\"RpcError\"}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=n||e.name,this.code=e instanceof tQ.J8?e.code:t??-1}}class t1 extends tX{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}}class t0 extends tX{constructor(e){super(e,{code:t0.code,name:\"ParseRpcError\",shortMessage:\"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.\"})}}Object.defineProperty(t0,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class t2 extends tX{constructor(e){super(e,{code:t2.code,name:\"InvalidRequestRpcError\",shortMessage:\"JSON is not a valid request object.\"})}}Object.defineProperty(t2,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class t3 extends tX{constructor(e,{method:t}={}){super(e,{code:t3.code,name:\"MethodNotFoundRpcError\",shortMessage:`The method${t?` \"${t}\"`:\"\"} does not exist / is not available.`})}}Object.defineProperty(t3,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class t9 extends tX{constructor(e){super(e,{code:t9.code,name:\"InvalidParamsRpcError\",shortMessage:\"Invalid parameters were provided to the RPC method.\\nDouble check you have provided the correct parameters.\"})}}Object.defineProperty(t9,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class t5 extends tX{constructor(e){super(e,{code:t5.code,name:\"InternalRpcError\",shortMessage:\"An internal error was received.\"})}}Object.defineProperty(t5,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class t6 extends tX{constructor(e){super(e,{code:t6.code,name:\"InvalidInputRpcError\",shortMessage:\"Missing or invalid parameters.\\nDouble check you have provided the correct parameters.\"})}}Object.defineProperty(t6,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class t8 extends tX{constructor(e){super(e,{code:t8.code,name:\"ResourceNotFoundRpcError\",shortMessage:\"Requested resource not found.\"}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"ResourceNotFoundRpcError\"})}}Object.defineProperty(t8,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class t4 extends tX{constructor(e){super(e,{code:t4.code,name:\"ResourceUnavailableRpcError\",shortMessage:\"Requested resource not available.\"})}}Object.defineProperty(t4,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class t7 extends tX{constructor(e){super(e,{code:t7.code,name:\"TransactionRejectedRpcError\",shortMessage:\"Transaction creation failed.\"})}}Object.defineProperty(t7,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class ae extends tX{constructor(e,{method:t}={}){super(e,{code:ae.code,name:\"MethodNotSupportedRpcError\",shortMessage:`Method${t?` \"${t}\"`:\"\"} is not supported.`})}}Object.defineProperty(ae,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class at extends tX{constructor(e){super(e,{code:at.code,name:\"LimitExceededRpcError\",shortMessage:\"Request exceeds defined limit.\"})}}Object.defineProperty(at,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class aa extends tX{constructor(e){super(e,{code:aa.code,name:\"JsonRpcVersionUnsupportedError\",shortMessage:\"Version of JSON-RPC protocol is not supported.\"})}}Object.defineProperty(aa,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class ar extends t1{constructor(e){super(e,{code:ar.code,name:\"UserRejectedRequestError\",shortMessage:\"User rejected the request.\"})}}Object.defineProperty(ar,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});class an extends t1{constructor(e){super(e,{code:an.code,name:\"UnauthorizedProviderError\",shortMessage:\"The requested method and/or account has not been authorized by the user.\"})}}Object.defineProperty(an,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});class ai extends t1{constructor(e,{method:t}={}){super(e,{code:ai.code,name:\"UnsupportedProviderMethodError\",shortMessage:`The Provider does not support the requested method${t?` \" ${t}\"`:\"\"}.`})}}Object.defineProperty(ai,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});class as extends t1{constructor(e){super(e,{code:as.code,name:\"ProviderDisconnectedError\",shortMessage:\"The Provider is disconnected from all chains.\"})}}Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});class ao extends t1{constructor(e){super(e,{code:ao.code,name:\"ChainDisconnectedError\",shortMessage:\"The Provider is not connected to the requested chain.\"})}}Object.defineProperty(ao,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});class al extends t1{constructor(e){super(e,{code:al.code,name:\"SwitchChainError\",shortMessage:\"An error occurred when attempting to switch chain.\"})}}Object.defineProperty(al,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});class ac extends t1{constructor(e){super(e,{code:ac.code,name:\"UnsupportedNonOptionalCapabilityError\",shortMessage:\"This Wallet does not support a capability that was not marked as optional.\"})}}Object.defineProperty(ac,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});class au extends t1{constructor(e){super(e,{code:au.code,name:\"UnsupportedChainIdError\",shortMessage:\"This Wallet does not support the requested chain ID.\"})}}Object.defineProperty(au,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});class ad extends t1{constructor(e){super(e,{code:ad.code,name:\"DuplicateIdError\",shortMessage:\"There is already a bundle submitted with this ID.\"})}}Object.defineProperty(ad,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});class ah extends t1{constructor(e){super(e,{code:ah.code,name:\"UnknownBundleIdError\",shortMessage:\"This bundle id is unknown / has not been submitted\"})}}Object.defineProperty(ah,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});class am extends t1{constructor(e){super(e,{code:am.code,name:\"BundleTooLargeError\",shortMessage:\"The call bundle is too large for the Wallet to process.\"})}}Object.defineProperty(am,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});class ap extends t1{constructor(e){super(e,{code:ap.code,name:\"AtomicReadyWalletRejectedUpgradeError\",shortMessage:\"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.\"})}}Object.defineProperty(ap,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});class af extends t1{constructor(e){super(e,{code:af.code,name:\"AtomicityNotSupportedError\",shortMessage:\"The wallet does not support atomic execution but the request requires it.\"})}}Object.defineProperty(af,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});class ag extends tX{constructor(e){super(e,{name:\"UnknownRpcError\",shortMessage:\"An unknown RPC error occurred.\"})}}function ab(e,{abi:t,address:a,args:r,docsPath:n,functionName:i,sender:s}){let o=e instanceof tD.$S?e:e instanceof tN.C?e.walk(e=>\"data\"in e)||e.walk():{},{code:l,data:c,details:u,message:d,shortMessage:h}=o,m=e instanceof tY.O?new tD.rR({functionName:i}):[3,t5.code].includes(l)&&(c||u||d||h)?new tD.M({abi:t,data:\"object\"==typeof c?c.data:c,functionName:i,message:o instanceof tQ.J8?u:h??d}):e;return new tD.bG(m,{abi:t,args:r,contractAddress:a,docsPath:n,functionName:i,sender:s})}var ay=a(18);async function aw(e,t){let{abi:a,address:r,args:n,functionName:i,...s}=t,o=(0,er.p)({abi:a,args:n,functionName:i});try{let{data:t}=await t$(e,ay.T,\"call\")({...s,data:o,to:r});return(0,tM.e)({abi:a,args:n,functionName:i,data:t||\"0x\"})}catch(e){throw ab(e,{abi:a,address:r,args:n,docsPath:\"/docs/contract/readContract\",functionName:i})}}async function ak(e,t){let{blockNumber:a,blockTag:r,coinType:n,name:i,gatewayUrls:s,strict:o}=t,{chain:l}=e,c=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!l)throw Error(\"client chain not configured. universalResolverAddress is required.\");return(0,tR.M)({blockNumber:a,chain:l,contract:\"ensUniversalResolver\"})})(),u=l?.ensTlds;if(u&&!u.some(e=>i.endsWith(e)))return null;let d=null!=n?[tJ(i),BigInt(n)]:[tJ(i)];try{let t=(0,er.p)({abi:tU.Rm,functionName:\"addr\",args:d}),n={address:c,abi:tU.Ag,functionName:\"resolveWithGateways\",args:[(0,en.nj)(tZ(i)),t,s??[tL.J]],blockNumber:a,blockTag:r},o=t$(e,aw,\"readContract\"),l=await o(n);if(\"0x\"===l[0])return null;let u=(0,tM.e)({abi:tU.Rm,args:d,functionName:\"addr\",data:l[0]});if(\"0x\"===u||\"0x00\"===(0,tB.B)(u))return null;return u}catch(e){if(o)throw e;if(tF(e))return null;throw e}}class av extends tN.C{constructor({data:e}){super(\"Unable to extract image from metadata. The metadata may be malformed or invalid.\",{metaMessages:[\"- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.\",\"\",`Provided data: ${JSON.stringify(e)}`],name:\"EnsAvatarInvalidMetadataError\"})}}class ax extends tN.C{constructor({reason:e}){super(`ENS NFT avatar URI is invalid. ${e}`,{name:\"EnsAvatarInvalidNftUriError\"})}}class a_ extends tN.C{constructor({uri:e}){super(`Unable to resolve ENS avatar URI \"${e}\". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:\"EnsAvatarUriResolutionError\"})}}class aj extends tN.C{constructor({namespace:e}){super(`ENS NFT avatar namespace \"${e}\" is not supported. Must be \"erc721\" or \"erc1155\".`,{name:\"EnsAvatarUnsupportedNamespaceError\"})}}tN.C;let az=/(?https?:\\/\\/[^/]*|ipfs:\\/|ipns:\\/|ar:\\/)?(?\\/)?(?ipfs\\/|ipns\\/)?(?[\\w\\-.]+)(?\\/.*)?/,aS=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\\/(?[\\w\\-.]+))?(?\\/.*)?$/,aI=/^data:([a-zA-Z\\-/+]*);base64,([^\"].*)/,aA=/^data:([a-zA-Z\\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function aE(e){try{let t=await fetch(e,{method:\"HEAD\"});if(200===t.status){let e=t.headers.get(\"content-type\");return e?.startsWith(\"image/\")}return!1}catch(t){if(\"object\"==typeof t&&void 0!==t.response||!Object.hasOwn(globalThis,\"Image\"))return!1;return new Promise(t=>{let a=new Image;a.onload=()=>{t(!0)},a.onerror=()=>{t(!1)},a.src=e})}}function aC(e,t){return e?e.endsWith(\"/\")?e.slice(0,-1):e:t}function aP({uri:e,gatewayUrls:t}){let a=aI.test(e);if(a)return{uri:e,isOnChain:!0,isEncoded:a};let r=aC(t?.ipfs,\"https://ipfs.io\"),n=aC(t?.arweave,\"https://arweave.net\"),i=e.match(az),{protocol:s,subpath:o,target:l,subtarget:c=\"\"}=i?.groups||{},u=\"ipns:/\"===s||\"ipns/\"===o,d=\"ipfs:/\"===s||\"ipfs/\"===o||aS.test(e);if(e.startsWith(\"http\")&&!u&&!d){let a=e;return t?.arweave&&(a=e.replace(/https:\\/\\/arweave.net/g,t?.arweave)),{uri:a,isOnChain:!1,isEncoded:!1}}if((u||d)&&l)return{uri:`${r}/${u?\"ipns\":\"ipfs\"}/${l}${c}`,isOnChain:!1,isEncoded:!1};if(\"ar:/\"===s&&l)return{uri:`${n}/${l}${c||\"\"}`,isOnChain:!1,isEncoded:!1};let h=e.replace(aA,\"\");if(h.startsWith(\"e.json());return await aT({gatewayUrls:e,uri:aq(a)})}catch{throw new a_({uri:t})}}async function aT({gatewayUrls:e,uri:t}){let{uri:a,isOnChain:r}=aP({uri:t,gatewayUrls:e});if(r||await aE(a))return a;throw new a_({uri:t})}async function aU(e,{nft:t}){if(\"erc721\"===t.namespace)return aw(e,{address:t.contractAddress,abi:[{name:\"tokenURI\",type:\"function\",stateMutability:\"view\",inputs:[{name:\"tokenId\",type:\"uint256\"}],outputs:[{name:\"\",type:\"string\"}]}],functionName:\"tokenURI\",args:[BigInt(t.tokenID)]});if(\"erc1155\"===t.namespace)return aw(e,{address:t.contractAddress,abi:[{name:\"uri\",type:\"function\",stateMutability:\"view\",inputs:[{name:\"_id\",type:\"uint256\"}],outputs:[{name:\"\",type:\"string\"}]}],functionName:\"uri\",args:[BigInt(t.tokenID)]});throw new aj({namespace:t.namespace})}async function aM(e,{gatewayUrls:t,record:a}){return/eip155:/i.test(a)?aR(e,{gatewayUrls:t,record:a}):aT({uri:a,gatewayUrls:t})}async function aR(e,{gatewayUrls:t,record:a}){let r=function(e){let t=e;t.startsWith(\"did:nft:\")&&(t=t.replace(\"did:nft:\",\"\").replace(/_/g,\"/\"));let[a,r,n]=t.split(\"/\"),[i,s]=a.split(\":\"),[o,l]=r.split(\":\");if(!i||\"eip155\"!==i.toLowerCase())throw new ax({reason:\"Only EIP-155 supported\"});if(!s)throw new ax({reason:\"Chain ID not found\"});if(!l)throw new ax({reason:\"Contract address not found\"});if(!n)throw new ax({reason:\"Token ID not found\"});if(!o)throw new ax({reason:\"ERC namespace not found\"});return{chainID:Number.parseInt(s,10),namespace:o.toLowerCase(),contractAddress:l,tokenID:n}}(a),{uri:n,isOnChain:i,isEncoded:s}=aP({uri:await aU(e,{nft:r}),gatewayUrls:t});if(i&&(n.includes(\"data:application/json;base64,\")||n.startsWith(\"{\")))return aT({uri:aq(JSON.parse(s?atob(n.replace(\"data:application/json;base64,\",\"\")):n)),gatewayUrls:t});let o=r.tokenID;return\"erc1155\"===r.namespace&&(o=o.replace(\"0x\",\"\").padStart(64,\"0\")),aO({gatewayUrls:t,uri:n.replace(/(?:0x)?{id}/,o)})}async function aB(e,t){let{blockNumber:a,blockTag:r,key:n,name:i,gatewayUrls:s,strict:o}=t,{chain:l}=e,c=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!l)throw Error(\"client chain not configured. universalResolverAddress is required.\");return(0,tR.M)({blockNumber:a,chain:l,contract:\"ensUniversalResolver\"})})(),u=l?.ensTlds;if(u&&!u.some(e=>i.endsWith(e)))return null;try{let t={address:c,abi:tU.Ag,args:[(0,en.nj)(tZ(i)),(0,er.p)({abi:tU.SJ,functionName:\"text\",args:[tJ(i),n]}),s??[tL.J]],functionName:\"resolveWithGateways\",blockNumber:a,blockTag:r},o=t$(e,aw,\"readContract\"),l=await o(t);if(\"0x\"===l[0])return null;let u=(0,tM.e)({abi:tU.SJ,functionName:\"text\",data:l[0]});return\"\"===u?null:u}catch(e){if(o)throw e;if(tF(e))return null;throw e}}async function aN(e,{blockNumber:t,blockTag:a,assetGatewayUrls:r,name:n,gatewayUrls:i,strict:s,universalResolverAddress:o}){let l=await t$(e,aB,\"getEnsText\")({blockNumber:t,blockTag:a,key:\"avatar\",name:n,universalResolverAddress:o,gatewayUrls:i,strict:s});if(!l)return null;try{return await aM(e,{record:l,gatewayUrls:r})}catch{return null}}async function aD(e,t){let{address:a,blockNumber:r,blockTag:n,coinType:i=60n,gatewayUrls:s,strict:o}=t,{chain:l}=e,c=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!l)throw Error(\"client chain not configured. universalResolverAddress is required.\");return(0,tR.M)({blockNumber:r,chain:l,contract:\"ensUniversalResolver\"})})();try{let t={address:c,abi:tU.oX,args:[a,i,s??[tL.J]],functionName:\"reverseWithGateways\",blockNumber:r,blockTag:n},o=t$(e,aw,\"readContract\"),[l]=await o(t);return l||null}catch(e){if(o)throw e;if(tF(e))return null;throw e}}async function aF(e,t){let{blockNumber:a,blockTag:r,name:n}=t,{chain:i}=e,s=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!i)throw Error(\"client chain not configured. universalResolverAddress is required.\");return(0,tR.M)({blockNumber:a,chain:i,contract:\"ensUniversalResolver\"})})(),o=i?.ensTlds;if(o&&!o.some(e=>n.endsWith(e)))throw Error(`${n} is not a valid ENS TLD (${o?.join(\", \")}) for chain \"${i.name}\" (id: ${i.id}).`);let[l]=await t$(e,aw,\"readContract\")({address:s,abi:[{inputs:[{type:\"bytes\"}],name:\"findResolver\",outputs:[{type:\"address\"},{type:\"bytes32\"},{type:\"uint256\"}],stateMutability:\"view\",type:\"function\"}],functionName:\"findResolver\",args:[(0,en.nj)(tZ(n))],blockNumber:a,blockTag:r});return l}var aL=a(4074),aW=a(2487),aK=a(1781),aH=a(2128);async function aV(e,t){let{account:a=e.account,blockNumber:r,blockTag:n=\"latest\",blobs:i,data:s,gas:o,gasPrice:l,maxFeePerBlobGas:c,maxFeePerGas:u,maxPriorityFeePerGas:d,to:h,value:m,...p}=t,f=a?(0,tP.J)(a):void 0;try{(0,aH.c)(t);let a=\"bigint\"==typeof r?(0,en.cK)(r):void 0,g=e.chain?.formatters?.transactionRequest?.format,b=(g||aK.Bv)({...(0,aW.o)(p,{format:g}),account:f,blobs:i,data:s,gas:o,gasPrice:l,maxFeePerBlobGas:c,maxFeePerGas:u,maxPriorityFeePerGas:d,to:h,value:m},\"createAccessList\"),y=await e.request({method:\"eth_createAccessList\",params:[b,a||n]});return{accessList:y.accessList,gasUsed:BigInt(y.gasUsed)}}catch(a){throw(0,aL.d)(a,{...t,account:f,chain:e.chain})}}function aG(e,{method:t}){let a={};return\"fallback\"===e.transport.type&&e.transport.onResponse?.(({method:e,response:r,status:n,transport:i})=>{\"success\"===n&&t===e&&(a[r]=i.request)}),t=>a[t]||e.request}async function aJ(e){let t=aG(e,{method:\"eth_newBlockFilter\"}),a=await e.request({method:\"eth_newBlockFilter\"});return{id:a,request:t(a),type:\"block\"}}class aZ extends tN.C{constructor(e){super(`Filter type \"${e}\" is not supported.`,{name:\"FilterTypeNotSupportedError\"})}}var a$=a(4615),aY=a(5581),aQ=a(4805),aX=a(7780);let a1=\"/docs/contract/encodeEventTopics\";function a0(e){let{abi:t,eventName:a,args:r}=e,n=t[0];if(a){let e=(0,aX.iY)({abi:t,name:a});if(!e)throw new tY.M_(a,{docsPath:a1});n=e}if(\"event\"!==n.type)throw new tY.M_(void 0,{docsPath:a1});let i=(0,aQ.B)(n),s=(0,a$.h)(i),o=[];if(r&&\"inputs\"in n){let e=n.inputs?.filter(e=>\"indexed\"in e&&e.indexed),t=Array.isArray(r)?r:Object.values(r).length>0?e?.map(e=>r[e.name])??[]:[];t.length>0&&(o=e?.map((e,a)=>Array.isArray(t[a])?t[a].map((r,n)=>a2({param:e,value:t[a][n]})):void 0!==t[a]&&null!==t[a]?a2({param:e,value:t[a]}):null)??[])}return[s,...o]}function a2({param:e,value:t}){if(\"string\"===e.type||\"bytes\"===e.type)return(0,tH.S)((0,tK.ZJ)(t));if(\"tuple\"===e.type||e.type.match(/^(.*)\\[(\\d+)?\\]$/))throw new aZ(e.type);return(0,aY.h)([e],[t])}async function a3(e,t){let{address:a,abi:r,args:n,eventName:i,fromBlock:s,strict:o,toBlock:l}=t,c=aG(e,{method:\"eth_newFilter\"}),u=i?a0({abi:r,args:n,eventName:i}):void 0,d=await e.request({method:\"eth_newFilter\",params:[{address:a,fromBlock:\"bigint\"==typeof s?(0,en.cK)(s):s,toBlock:\"bigint\"==typeof l?(0,en.cK)(l):l,topics:u}]});return{abi:r,args:n,eventName:i,id:d,request:c(d),strict:!!o,type:\"event\"}}async function a9(e,{address:t,args:a,event:r,events:n,fromBlock:i,strict:s,toBlock:o}={}){let l=n??(r?[r]:void 0),c=aG(e,{method:\"eth_newFilter\"}),u=[];l&&(u=[l.flatMap(e=>a0({abi:[e],eventName:e.name,args:a}))],r&&(u=u[0]));let d=await e.request({method:\"eth_newFilter\",params:[{address:t,fromBlock:\"bigint\"==typeof i?(0,en.cK)(i):i,toBlock:\"bigint\"==typeof o?(0,en.cK)(o):o,...u.length?{topics:u}:{}}]});return{abi:l,args:a,eventName:r?r.name:void 0,fromBlock:i,id:d,request:c(d),strict:!!s,toBlock:o,type:\"event\"}}async function a5(e){let t=aG(e,{method:\"eth_newPendingTransactionFilter\"}),a=await e.request({method:\"eth_newPendingTransactionFilter\"});return{id:a,request:t(a),type:\"transaction\"}}var a6=a(3211),a8=a(4888);async function a4({hash:e,signature:t}){let r=(0,tV.q)(e)?e:(0,en.nj)(e),{secp256k1:n}=await Promise.resolve().then(a.bind(a,152)),i=(()=>{if(\"object\"==typeof t&&\"r\"in t&&\"s\"in t){let{r:e,s:a,v:r,yParity:i}=t,s=a7(Number(i??r));return new n.Signature((0,tE.uU)(e),(0,tE.uU)(a)).addRecoveryBit(s)}let e=(0,tV.q)(t)?t:(0,en.nj)(t);if(65!==(0,a8.E)(e))throw Error(\"invalid signature length\");let a=a7((0,tE.ME)(`0x${e.slice(130)}`));return n.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(a)})().recoverPublicKey(r.substring(2)).toHex(!1);return`0x${i}`}function a7(e){if(0===e||1===e)return e;if(27===e)return 0;if(28===e)return 1;throw Error(\"Invalid yParityOrV value\")}async function re({hash:e,signature:t}){var a;let r;return a=await a4({hash:e,signature:t}),r=(0,tH.S)(`0x${a.substring(4)}`).substring(26),(0,a6.o)(`0x${r}`)}var rt=a(6808);function ra(e){if(e<256)return 1;if(e<65536)return 2;if(e<0x1000000)return 3;if(e<0x100000000)return 4;throw new tN.C(\"Length is too large.\")}async function rr(e){let{authorization:t,signature:a}=e;return re({hash:function(e){let{chainId:t,nonce:a,to:r}=e,n=e.contractAddress??e.address,i=(0,tH.S)((0,tW.aP)([\"0x05\",function(e,t=\"hex\"){let a=function e(t){var a,r;let n,i,s,o;return Array.isArray(t)?(i=ra(n=(a=t.map(t=>e(t))).reduce((e,t)=>e+t.length,0)),{length:n<=55?1+n:1+i+n,encode(e){for(let{encode:t}of(n<=55?e.pushByte(192+n):(e.pushByte(247+i),1===i?e.pushUint8(n):2===i?e.pushUint16(n):3===i?e.pushUint24(n):e.pushUint32(n)),a))t(e)}}):(o=ra((s=\"string\"==typeof(r=t)?(0,tK.aT)(r):r).length),{length:1===s.length&&s[0]<128?1:s.length<=55?1+s.length:1+o+s.length,encode(e){1===s.length&&s[0]<128||(s.length<=55?e.pushByte(128+s.length):(e.pushByte(183+o),1===o?e.pushUint8(s.length):2===o?e.pushUint16(s.length):3===o?e.pushUint24(s.length):e.pushUint32(s.length))),e.pushBytes(s)}})}(e),r=(0,rt.l)(new Uint8Array(a.length));return(a.encode(r),\"hex\"===t)?(0,en.My)(r.bytes):r.bytes}([t?(0,en.cK)(t):\"0x\",n,a?(0,en.cK)(a):\"0x\"])]));return\"bytes\"===r?(0,tK.aT)(i):i}(t),signature:a??t})}var rn=a(5510),ri=a(2608),rs=a(8248);class ro extends tN.C{constructor(e,{account:t,docsPath:a,chain:r,data:n,gas:i,gasPrice:s,maxFeePerGas:o,maxPriorityFeePerGas:l,nonce:c,to:u,value:d}){let h=(0,rs.aO)({from:t?.address,to:u,value:void 0!==d&&`${(0,rn.c)(d)} ${r?.nativeCurrency?.symbol||\"ETH\"}`,data:n,gas:i,gasPrice:void 0!==s&&`${(0,ri.Q)(s)} gwei`,maxFeePerGas:void 0!==o&&`${(0,ri.Q)(o)} gwei`,maxPriorityFeePerGas:void 0!==l&&`${(0,ri.Q)(l)} gwei`,nonce:c});super(e.shortMessage,{cause:e,docsPath:a,metaMessages:[...e.metaMessages?[...e.metaMessages,\" \"]:[],\"Estimate Gas Arguments:\",h].filter(Boolean),name:\"EstimateGasExecutionError\"}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}var rl=a(8670),rc=a(8606),ru=a(2077);class rd extends tN.C{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:\"BaseFeeScalarError\"})}}class rh extends tN.C{constructor(){super(\"Chain does not support EIP-1559 fees.\",{name:\"Eip1559FeesNotSupportedError\"})}}class rm extends tN.C{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${(0,ri.Q)(e)} gwei).`,{name:\"MaxFeePerGasTooLowError\"})}}class rp extends tN.C{constructor({blockHash:e,blockNumber:t}){let a=\"Block\";e&&(a=`Block at hash \"${e}\"`),t&&(a=`Block at number \"${t}\"`),super(`${a} could not be found.`,{name:\"BlockNotFoundError\"})}}let rf={\"0x0\":\"legacy\",\"0x1\":\"eip2930\",\"0x2\":\"eip1559\",\"0x3\":\"eip4844\",\"0x4\":\"eip7702\"};function rg(e,t){let a={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?(0,tE.ME)(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?(0,tE.ME)(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?rf[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(a.authorizationList=e.authorizationList.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))),a.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(\"bigint\"==typeof a.v){if(0n===a.v||27n===a.v)return 0;if(1n===a.v||28n===a.v)return 1;if(a.v>=35n)return+(a.v%2n===0n)}})(),\"legacy\"===a.type&&(delete a.accessList,delete a.maxFeePerBlobGas,delete a.maxFeePerGas,delete a.maxPriorityFeePerGas,delete a.yParity),\"eip2930\"===a.type&&(delete a.maxFeePerBlobGas,delete a.maxFeePerGas,delete a.maxPriorityFeePerGas),\"eip1559\"===a.type&&delete a.maxFeePerBlobGas,a}function rb(e,t){let a=(e.transactions??[]).map(e=>\"string\"==typeof e?e:rg(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:a,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}async function ry(e,{blockHash:t,blockNumber:a,blockTag:r=e.experimental_blockTag??\"latest\",includeTransactions:n}={}){let i=n??!1,s=void 0!==a?(0,en.cK)(a):void 0,o=null;if(!(o=t?await e.request({method:\"eth_getBlockByHash\",params:[t,i]},{dedupe:!0}):await e.request({method:\"eth_getBlockByNumber\",params:[s||r,i]},{dedupe:!!s})))throw new rp({blockHash:t,blockNumber:a});return(e.chain?.formatters?.block?.format||rb)(o,\"getBlock\")}async function rw(e){return BigInt(await e.request({method:\"eth_gasPrice\"}))}async function rk(e,t){return rv(e,t)}async function rv(e,t){let{block:a,chain:r=e.chain,request:n}=t||{};try{let t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(\"function\"==typeof t){let r=a||await t$(e,ry,\"getBlock\")({}),i=await t({block:r,client:e,request:n});if(null===i)throw Error();return i}if(void 0!==t)return t;let i=await e.request({method:\"eth_maxPriorityFeePerGas\"});return(0,tE.uU)(i)}catch{let[t,r]=await Promise.all([a?Promise.resolve(a):t$(e,ry,\"getBlock\")({}),t$(e,rw,\"getGasPrice\")({})]);if(\"bigint\"!=typeof t.baseFeePerGas)throw new rh;let n=r-t.baseFeePerGas;if(n<0n)return 0n;return n}}async function rx(e,t){return r_(e,t)}async function r_(e,t){let{block:a,chain:r=e.chain,request:n,type:i=\"eip1559\"}=t||{},s=await (async()=>\"function\"==typeof r?.fees?.baseFeeMultiplier?r.fees.baseFeeMultiplier({block:a,client:e,request:n}):r?.fees?.baseFeeMultiplier??1.2)();if(s<1)throw new rd;let o=s.toString().split(\".\")[1]?.length??0,l=10**o,c=e=>e*BigInt(Math.ceil(s*l))/BigInt(l),u=a||await t$(e,ry,\"getBlock\")({});if(\"function\"==typeof r?.fees?.estimateFeesPerGas){let t=await r.fees.estimateFeesPerGas({block:a,client:e,multiply:c,request:n,type:i});if(null!==t)return t}if(\"eip1559\"===i){if(\"bigint\"!=typeof u.baseFeePerGas)throw new rh;let t=\"bigint\"==typeof n?.maxPriorityFeePerGas?n.maxPriorityFeePerGas:await rv(e,{block:u,chain:r,request:n}),a=c(u.baseFeePerGas);return{maxFeePerGas:n?.maxFeePerGas??a+t,maxPriorityFeePerGas:t}}return{gasPrice:n?.gasPrice??c(await t$(e,rw,\"getGasPrice\")({}))}}async function rj(e,{address:t,blockTag:a=\"latest\",blockNumber:r}){let n=await e.request({method:\"eth_getTransactionCount\",params:[t,\"bigint\"==typeof r?(0,en.cK)(r):a]},{dedupe:!!r});return(0,tE.ME)(n)}function rz(e){let{kzg:t}=e,a=e.to??(\"string\"==typeof e.blobs[0]?\"hex\":\"bytes\"),r=\"string\"==typeof e.blobs[0]?e.blobs.map(e=>(0,tK.aT)(e)):e.blobs,n=[];for(let e of r)n.push(Uint8Array.from(t.blobToKzgCommitment(e)));return\"bytes\"===a?n:n.map(e=>(0,en.My)(e))}function rS(e){let{kzg:t}=e,a=e.to??(\"string\"==typeof e.blobs[0]?\"hex\":\"bytes\"),r=\"string\"==typeof e.blobs[0]?e.blobs.map(e=>(0,tK.aT)(e)):e.blobs,n=\"string\"==typeof e.commitments[0]?e.commitments.map(e=>(0,tK.aT)(e)):e.commitments,i=[];for(let e=0;e(0,en.My)(e))}var rI=a(5013);class rA extends tN.C{constructor({maxSize:e,size:t}){super(\"Blob size is too large.\",{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:\"BlobSizeTooLargeError\"})}}class rE extends tN.C{constructor(){super(\"Blob data must not be empty.\",{name:\"EmptyBlobError\"})}}async function rC(e){let t=await e.request({method:\"eth_chainId\"},{dedupe:!0});return(0,tE.ME)(t)}tN.C,tN.C;let rP=[\"blobVersionedHashes\",\"chainId\",\"fees\",\"gas\",\"nonce\",\"type\"],rq=new Map;async function rO(e,t){let a,r,{account:n=e.account,blobs:i,chain:s,gas:o,kzg:l,nonce:c,nonceManager:u,parameters:d=rP,type:h}=t,m=n?(0,tP.J)(n):n,p={...t,...m?{from:m?.address}:{}};async function f(){return a||(a=await t$(e,ry,\"getBlock\")({blockTag:\"latest\"}))}async function g(){return r||(s?s.id:void 0!==t.chainId?t.chainId:r=await t$(e,rC,\"getChainId\")({}))}if(d.includes(\"nonce\")&&void 0===c&&m)if(u){let t=await g();p.nonce=await u.consume({address:m.address,chainId:t,client:e})}else p.nonce=await t$(e,rj,\"getTransactionCount\")({address:m.address,blockTag:\"pending\"});if((d.includes(\"blobVersionedHashes\")||d.includes(\"sidecars\"))&&i&&l){let e=rz({blobs:i,kzg:l});if(d.includes(\"blobVersionedHashes\")&&(p.blobVersionedHashes=function(e){let{commitments:t,version:a}=e,r=e.to??(\"string\"==typeof t[0]?\"hex\":\"bytes\"),n=[];for(let e of t)n.push(function(e){let{commitment:t,version:a=1}=e,r=e.to??(\"string\"==typeof t?\"hex\":\"bytes\"),n=(0,rI.sc)((0,tV.q)(t,{strict:!1})?(0,tK.ZJ)(t):t);return n.set([a],0),\"bytes\"===r?n:(0,en.My)(n)}({commitment:e,to:r,version:a}));return n}({commitments:e,to:\"hex\"})),d.includes(\"sidecars\")){let t=rS({blobs:i,commitments:e,kzg:l});p.sidecars=function(e){let{data:t,kzg:a,to:r}=e,n=e.blobs??function(e){let t=e.to??(\"string\"==typeof e.data?\"hex\":\"bytes\"),a=\"string\"==typeof e.data?(0,tK.aT)(e.data):e.data,r=(0,a8.E)(a);if(!r)throw new rE;if(r>761855)throw new rA({maxSize:761855,size:r});let n=[],i=!0,s=0;for(;i;){let e=(0,rt.l)(new Uint8Array(131072)),t=0;for(;t<4096;){let r=a.slice(s,s+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),i=!1;break}t++,s+=31}n.push(e)}return\"bytes\"===t?n.map(e=>e.bytes):n.map(e=>(0,en.My)(e.bytes))}({data:t,to:r}),i=e.commitments??rz({blobs:n,kzg:a,to:r}),s=e.proofs??rS({blobs:n,commitments:i,kzg:a,to:r}),o=[];for(let e=0;ek.to?k.to:s&&s.length>0?await rr({authorization:s[0]}).catch(()=>{throw new tN.C(\"`to` is required. Could not infer from `authorizationList`\")}):void 0)();(0,aH.c)(t);let j=e.chain?.formatters?.transactionRequest?.format,z=(j||aK.Bv)({...(0,aW.o)(k,{format:j}),account:n,accessList:a,authorizationList:s,blobs:o,blobVersionedHashes:l,data:d,gas:h,gasPrice:m,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:b,to:_,value:y},\"estimateGas\");return BigInt(await e.request({method:\"eth_estimateGas\",params:x?[z,v??e.experimental_blockTag??\"latest\",x]:v?[z,v]:[z]}))}catch(a){throw function(e,{docsPath:t,...a}){let r;return new ro((r=(0,rc.l)(e,a))instanceof rl.RM?e:r,{docsPath:t,...a})}(a,{...t,account:n,chain:e.chain})}}async function rU(e,t){let{abi:a,address:r,args:n,functionName:i,dataSuffix:s,...o}=t,l=(0,er.p)({abi:a,args:n,functionName:i});try{return await t$(e,rT,\"estimateGas\")({data:`${l}${s?s.replace(\"0x\",\"\"):\"\"}`,to:r,...o})}catch(t){let e=o.account?(0,tP.J)(o.account):void 0;throw ab(t,{abi:a,address:r,args:n,docsPath:\"/docs/contract/estimateContractGas\",functionName:i,sender:e?.address})}}async function rM(e,{address:t,blockNumber:a,blockTag:r=e.experimental_blockTag??\"latest\"}){let n=\"bigint\"==typeof a?(0,en.cK)(a):void 0;return BigInt(await e.request({method:\"eth_getBalance\",params:[t,n||r]}))}async function rR(e){return BigInt(await e.request({method:\"eth_blobBaseFee\"}))}let rB=new Map,rN=new Map;async function rD(e,{cacheKey:t,cacheTime:a=1/0}){let r,n,i,s=(n=(r=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:a=>t.set(e,a)}))(t,rB),{clear:()=>{n.clear(),i.clear()},promise:n,response:i=r(t,rN)}),o=s.response.get();if(o&&a>0&&Date.now()-o.created.getTime()e.request({method:\"eth_blockNumber\"}),{cacheKey:(a=e.uid,`blockNumber.${a}`),cacheTime:t}))}async function rL(e,{blockHash:t,blockNumber:a,blockTag:r=\"latest\"}={}){let n,i=void 0!==a?(0,en.cK)(a):void 0;return n=t?await e.request({method:\"eth_getBlockTransactionCountByHash\",params:[t]},{dedupe:!0}):await e.request({method:\"eth_getBlockTransactionCountByNumber\",params:[i||r]},{dedupe:!!i}),(0,tE.ME)(n)}async function rW(e,{address:t,blockNumber:a,blockTag:r=\"latest\"}){let n=void 0!==a?(0,en.cK)(a):void 0,i=await e.request({method:\"eth_getCode\",params:[t,n||r]},{dedupe:!!n});if(\"0x\"!==i)return i}var rK=a(5340);let rH=\"/docs/contract/decodeEventLog\";function rV(e){let{abi:t,data:a,strict:r,topics:n}=e,i=r??!0,[s,...o]=n;if(!s)throw new tY._z({docsPath:rH});let l=t.find(e=>\"event\"===e.type&&s===(0,a$.h)((0,aQ.B)(e)));if(!(l&&\"name\"in l)||\"event\"!==l.type)throw new tY.kE(s,{docsPath:rH});let{name:c,inputs:u}=l,d=u?.some(e=>!(\"name\"in e&&e.name)),h=d?[]:{},m=u.map((e,t)=>[e,t]).filter(([e])=>\"indexed\"in e&&e.indexed);for(let e=0;e!(\"indexed\"in e&&e.indexed));if(p.length>0){if(a&&\"0x\"!==a)try{let e=(0,ea.n)(p,a);if(e)if(d)for(let t=0;t0?h:void 0}}function rG(e){let{abi:t,args:a,logs:r,strict:n=!0}=e,i=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return r.map(e=>{try{let r=t.find(t=>\"event\"===t.type&&e.topics[0]===(0,a$.h)(t));if(!r)return null;let s=rV({...e,abi:[r],strict:n});if(i&&!i.includes(s.eventName)||!function(e){let{args:t,inputs:a,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function n(e,t,a){try{if(\"address\"===e.type)return(0,tC.h)(t,a);if(\"string\"===e.type||\"bytes\"===e.type)return(0,tH.S)((0,tK.ZJ)(t))===a;return t===a}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(null==e)return!0;let i=a[r];return!!i&&(Array.isArray(e)?e:[e]).some(e=>n(i,e,t[r]))}):!(\"object\"!=typeof t||Array.isArray(t)||\"object\"!=typeof r||Array.isArray(r))&&Object.entries(r).every(([e,r])=>{if(null==r)return!0;let i=a.find(t=>t.name===e);return!!i&&(Array.isArray(r)?r:[r]).some(a=>n(i,a,t[e]))})}({args:s.args,inputs:r.inputs,matchArgs:a}))return null;return{...s,...e}}catch(r){let t,a;if(r instanceof tY.kE)return null;if(r instanceof tY.fo||r instanceof tY.l3){if(n)return null;t=r.abiItem.name,a=r.abiItem.inputs?.some(e=>!(\"name\"in e&&e.name))}return{...e,args:a?[]:{},eventName:t}}}).filter(Boolean)}function rJ(e,{args:t,eventName:a}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...a?{args:t,eventName:a}:{}}}async function rZ(e,{address:t,blockHash:a,fromBlock:r,toBlock:n,event:i,events:s,args:o,strict:l}={}){let c=s??(i?[i]:void 0),u=[];c&&(u=[c.flatMap(e=>a0({abi:[e],eventName:e.name,args:s?void 0:o}))],i&&(u=u[0]));let d=(a?await e.request({method:\"eth_getLogs\",params:[{address:t,topics:u,blockHash:a}]}):await e.request({method:\"eth_getLogs\",params:[{address:t,topics:u,fromBlock:\"bigint\"==typeof r?(0,en.cK)(r):r,toBlock:\"bigint\"==typeof n?(0,en.cK)(n):n}]})).map(e=>rJ(e));return c?rG({abi:c,args:o,logs:d,strict:l??!1}):d}async function r$(e,t){let{abi:a,address:r,args:n,blockHash:i,eventName:s,fromBlock:o,toBlock:l,strict:c}=t,u=s?(0,aX.iY)({abi:a,name:s}):void 0,d=u?void 0:a.filter(e=>\"event\"===e.type);return t$(e,rZ,\"getLogs\")({address:r,args:n,blockHash:i,event:u,events:d,fromBlock:o,toBlock:l,strict:c})}class rY extends tN.C{constructor({address:e}){super(`No EIP-712 domain found on contract \"${e}\".`,{metaMessages:[\"Ensure that:\",`- The contract is deployed at the address \"${e}\".`,\"- `eip712Domain()` function exists on the contract.\",\"- `eip712Domain()` function matches signature to ERC-5267 specification.\"],name:\"Eip712DomainNotFoundError\"})}}async function rQ(e,t){let{address:a,factory:r,factoryData:n}=t;try{let[t,i,s,o,l,c,u]=await t$(e,aw,\"readContract\")({abi:rX,address:a,functionName:\"eip712Domain\",factory:r,factoryData:n});return{domain:{name:i,version:s,chainId:Number(o),verifyingContract:l,salt:c},extensions:u,fields:t}}catch(e){if(\"ContractFunctionExecutionError\"===e.name&&\"ContractFunctionZeroDataError\"===e.cause.name)throw new rY({address:a});throw e}}let rX=[{inputs:[],name:\"eip712Domain\",outputs:[{name:\"fields\",type:\"bytes1\"},{name:\"name\",type:\"string\"},{name:\"version\",type:\"string\"},{name:\"chainId\",type:\"uint256\"},{name:\"verifyingContract\",type:\"address\"},{name:\"salt\",type:\"bytes32\"},{name:\"extensions\",type:\"uint256[]\"}],stateMutability:\"view\",type:\"function\"}];async function r1(e,{blockCount:t,blockNumber:a,blockTag:r=\"latest\",rewardPercentiles:n}){var i;let s=\"bigint\"==typeof a?(0,en.cK)(a):void 0;return{baseFeePerGas:(i=await e.request({method:\"eth_feeHistory\",params:[(0,en.cK)(t),s||r,n]},{dedupe:!!s})).baseFeePerGas.map(e=>BigInt(e)),gasUsedRatio:i.gasUsedRatio,oldestBlock:BigInt(i.oldestBlock),reward:i.reward?.map(e=>e.map(e=>BigInt(e)))}}async function r0(e,{filter:t}){let a=\"strict\"in t&&t.strict,r=await t.request({method:\"eth_getFilterChanges\",params:[t.id]});if(\"string\"==typeof r[0])return r;let n=r.map(e=>rJ(e));return\"abi\"in t&&t.abi?rG({abi:t.abi,logs:n,strict:a}):n}async function r2(e,{filter:t}){let a=t.strict??!1,r=(await t.request({method:\"eth_getFilterLogs\",params:[t.id]})).map(e=>rJ(e));return t.abi?rG({abi:t.abi,logs:r,strict:a}):r}async function r3(e,{address:t,blockNumber:a,blockTag:r,storageKeys:n}){let i=void 0!==a?(0,en.cK)(a):void 0;var s=await e.request({method:\"eth_getProof\",params:[t,n,i||(r??\"latest\")]});return{...s,balance:s.balance?BigInt(s.balance):void 0,nonce:s.nonce?(0,tE.ME)(s.nonce):void 0,storageProof:s.storageProof?s.storageProof.map(e=>({...e,value:BigInt(e.value)})):void 0}}async function r9(e,{address:t,blockNumber:a,blockTag:r=\"latest\",slot:n}){let i=void 0!==a?(0,en.cK)(a):void 0;return await e.request({method:\"eth_getStorageAt\",params:[t,n,i||r]})}async function r5(e,{blockHash:t,blockNumber:a,blockTag:r,hash:n,index:i}){let s=r||\"latest\",o=void 0!==a?(0,en.cK)(a):void 0,l=null;if(n?l=await e.request({method:\"eth_getTransactionByHash\",params:[n]},{dedupe:!0}):t?l=await e.request({method:\"eth_getTransactionByBlockHashAndIndex\",params:[t,(0,en.cK)(i)]},{dedupe:!0}):(o||s)&&(l=await e.request({method:\"eth_getTransactionByBlockNumberAndIndex\",params:[o||s,(0,en.cK)(i)]},{dedupe:!!o})),!l)throw new rs.Kz({blockHash:t,blockNumber:a,blockTag:s,hash:n,index:i});return(e.chain?.formatters?.transaction?.format||rg)(l,\"getTransaction\")}async function r6(e,{hash:t,transactionReceipt:a}){let[r,n]=await Promise.all([t$(e,rF,\"getBlockNumber\")({}),t?t$(e,r5,\"getTransaction\")({hash:t}):void 0]),i=a?.blockNumber||n?.blockNumber;return i?r-i+1n:0n}let r8={\"0x0\":\"reverted\",\"0x1\":\"success\"};function r4(e,t){let a={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>rJ(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?(0,tE.ME)(e.transactionIndex):null,status:e.status?r8[e.status]:null,type:e.type?rf[e.type]||e.type:null};return e.blobGasPrice&&(a.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(a.blobGasUsed=BigInt(e.blobGasUsed)),a}async function r7(e,{hash:t}){let a=await e.request({method:\"eth_getTransactionReceipt\",params:[t]},{dedupe:!0});if(!a)throw new rs.Kc({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||r4)(a,\"getTransactionReceipt\")}var ne=a(2891);async function nt(e,t){let{account:a,authorizationList:r,allowFailure:n=!0,blockNumber:i,blockOverrides:s,blockTag:o,stateOverride:l}=t,c=t.contracts,{batchSize:u=t.batchSize??1024,deployless:d=t.deployless??!1}=\"object\"==typeof e.batch?.multicall?e.batch.multicall:{},h=(()=>{if(t.multicallAddress)return t.multicallAddress;if(d)return null;if(e.chain)return(0,tR.M)({blockNumber:i,chain:e.chain,contract:\"multicall3\"});throw Error(\"client chain not configured. multicallAddress is required.\")})(),m=[[]],p=0,f=0;for(let e=0;e0&&f>u&&m[p].length>0&&(p++,f=(e.length-2)/2,m[p]=[]),m[p]=[...m[p],{allowFailure:!0,callData:e,target:r}]}catch(o){let e=ab(o,{abi:t,address:r,args:i,docsPath:\"/docs/contract/multicall\",functionName:s,sender:a});if(!n)throw e;m[p]=[...m[p],{allowFailure:!0,callData:\"0x\",target:r}]}}let g=await Promise.allSettled(m.map(t=>t$(e,aw,\"readContract\")({...null===h?{code:ne.Ez}:{address:h},abi:tU.v2,account:a,args:[t],authorizationList:r,blockNumber:i,blockOverrides:s,blockTag:o,functionName:\"aggregate3\",stateOverride:l}))),b=[];for(let e=0;e{let t=e.account?(0,tP.J)(e.account):void 0,a=e.abi?(0,er.p)(e):e.data,r={...e,account:t,data:e.dataSuffix?(0,tW.xW)([a||\"0x\",e.dataSuffix]):a,from:e.from??t?.address};return(0,aH.c)(r),(0,aK.Bv)(r)}),n=e.stateOverrides?(0,ru.yH)(e.stateOverrides):void 0;t.push({blockOverrides:a,calls:r,stateOverrides:n})}let l=\"bigint\"==typeof a?(0,en.cK)(a):void 0;return(await e.request({method:\"eth_simulateV1\",params:[{blockStateCalls:t,returnFullTransactions:i,traceTransfers:s,validation:o},l||r]})).map((e,t)=>({...rb(e),calls:e.calls.map((e,a)=>{let{abi:r,args:i,functionName:s,to:o}=n[t].calls[a],l=e.error?.data??e.returnData,c=BigInt(e.gasUsed),u=e.logs?.map(e=>rJ(e)),d=\"0x1\"===e.status?\"success\":\"failure\",h=r&&\"success\"===d&&\"0x\"!==l?(0,tM.e)({abi:r,data:l,functionName:s}):null,m=(()=>{let t;if(\"success\"!==d&&(e.error?.data===\"0x\"?t=new tY.O:e.error&&(t=new tD.$S(e.error)),t))return ab(t,{abi:r??[],address:o??\"0x\",args:i,functionName:s??\"\"})})();return{data:l,gasUsed:c,logs:u,status:d,...\"success\"===d?{result:h}:{error:m}}})}))}catch(t){let e=(0,rc.l)(t,{});if(e instanceof rl.RM)throw t;throw e}}class nn extends Error{constructor(e,t={}){let a=t.cause instanceof nn?t.cause.details:t.cause?.message?t.cause.message:t.details,r=t.cause instanceof nn&&t.cause.docsPath||t.docsPath;super([e||\"An error occurred.\",\"\",...t.metaMessages?[...t.metaMessages,\"\"]:[],...r?[`Docs: https://abitype.dev${r}`]:[],...a?[`Details: ${a}`]:[],\"Version: abitype@1.1.1\"].join(\"\\n\")),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"AbiTypeError\"}),t.cause&&(this.cause=t.cause),this.details=a,this.docsPath=r,this.metaMessages=t.metaMessages,this.shortMessage=e}}class ni extends nn{constructor({signature:e}){super(\"Failed to parse ABI item.\",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:\"/api/human#parseabiitem-1\"}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidAbiItemError\"})}}class ns extends nn{constructor({type:e}){super(\"Unknown type.\",{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"UnknownTypeError\"})}}class no extends nn{constructor({type:e}){super(\"Unknown type.\",{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"UnknownSolidityTypeError\"})}}function nl(e,t){let a=e.exec(t);return a?.groups}let nc=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,nu=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,nd=/^\\(.+?\\).*?$/,nh=/^error (?[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?.*?)\\)$/,nm=/^event (?[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?.*?)\\)$/,np=/^function (?[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?.*?)\\)(?: (?external|public{1}))?(?: (?pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?.*?)\\))?$/,nf=/^struct (?[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?.*?)\\}$/;function ng(e){return nf.test(e)}let nb=/^constructor\\((?.*?)\\)(?:\\s(?payable{1}))?$/,ny=/^fallback\\(\\) external(?:\\s(?payable{1}))?$/,nw=/^receive\\(\\) external payable$/,nk=new Set([\"memory\",\"indexed\",\"storage\",\"calldata\"]),nv=new Set([\"indexed\"]),nx=new Set([\"calldata\",\"memory\",\"storage\"]);class n_ extends nn{constructor({params:e}){super(\"Failed to parse ABI parameters.\",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:\"/api/human#parseabiparameters-1\"}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidAbiParametersError\"})}}class nj extends nn{constructor({param:e}){super(\"Invalid ABI parameter.\",{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidParameterError\"})}}class nz extends nn{constructor({param:e,name:t}){super(\"Invalid ABI parameter.\",{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"SolidityProtectedKeywordError\"})}}class nS extends nn{constructor({param:e,type:t,modifier:a}){super(\"Invalid ABI parameter.\",{details:e,metaMessages:[`Modifier \"${a}\" not allowed${t?` in \"${t}\" type`:\"\"}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidModifierError\"})}}class nI extends nn{constructor({param:e,type:t,modifier:a}){super(\"Invalid ABI parameter.\",{details:e,metaMessages:[`Modifier \"${a}\" not allowed${t?` in \"${t}\" type`:\"\"}.`,`Data location can only be specified for array, struct, or mapping types, but \"${a}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidFunctionModifierError\"})}}class nA extends nn{constructor({abiParameter:e}){super(\"Invalid ABI parameter.\",{details:JSON.stringify(e,null,2),metaMessages:[\"ABI parameter type is invalid.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidAbiTypeParameterError\"})}}class nE extends nn{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidSignatureError\"})}}class nC extends nn{constructor({signature:e}){super(\"Unknown signature.\",{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"UnknownSignatureError\"})}}class nP extends nn{constructor({signature:e}){super(\"Invalid struct signature.\",{details:e,metaMessages:[\"No properties exist.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidStructSignatureError\"})}}class nq extends nn{constructor({type:e}){super(\"Circular reference detected.\",{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"CircularReferenceError\"})}}class nO extends nn{constructor({current:e,depth:t}){super(\"Unbalanced parentheses.\",{metaMessages:[`\"${e.trim()}\" has too many ${t>0?\"opening\":\"closing\"} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidParenthesisError\"})}}let nT=new Map([[\"address\",{type:\"address\"}],[\"bool\",{type:\"bool\"}],[\"bytes\",{type:\"bytes\"}],[\"bytes32\",{type:\"bytes32\"}],[\"int\",{type:\"int256\"}],[\"int256\",{type:\"int256\"}],[\"string\",{type:\"string\"}],[\"uint\",{type:\"uint256\"}],[\"uint8\",{type:\"uint8\"}],[\"uint16\",{type:\"uint16\"}],[\"uint24\",{type:\"uint24\"}],[\"uint32\",{type:\"uint32\"}],[\"uint64\",{type:\"uint64\"}],[\"uint96\",{type:\"uint96\"}],[\"uint112\",{type:\"uint112\"}],[\"uint160\",{type:\"uint160\"}],[\"uint192\",{type:\"uint192\"}],[\"uint256\",{type:\"uint256\"}],[\"address owner\",{type:\"address\",name:\"owner\"}],[\"address to\",{type:\"address\",name:\"to\"}],[\"bool approved\",{type:\"bool\",name:\"approved\"}],[\"bytes _data\",{type:\"bytes\",name:\"_data\"}],[\"bytes data\",{type:\"bytes\",name:\"data\"}],[\"bytes signature\",{type:\"bytes\",name:\"signature\"}],[\"bytes32 hash\",{type:\"bytes32\",name:\"hash\"}],[\"bytes32 r\",{type:\"bytes32\",name:\"r\"}],[\"bytes32 root\",{type:\"bytes32\",name:\"root\"}],[\"bytes32 s\",{type:\"bytes32\",name:\"s\"}],[\"string name\",{type:\"string\",name:\"name\"}],[\"string symbol\",{type:\"string\",name:\"symbol\"}],[\"string tokenURI\",{type:\"string\",name:\"tokenURI\"}],[\"uint tokenId\",{type:\"uint256\",name:\"tokenId\"}],[\"uint8 v\",{type:\"uint8\",name:\"v\"}],[\"uint256 balance\",{type:\"uint256\",name:\"balance\"}],[\"uint256 tokenId\",{type:\"uint256\",name:\"tokenId\"}],[\"uint256 value\",{type:\"uint256\",name:\"value\"}],[\"event:address indexed from\",{type:\"address\",name:\"from\",indexed:!0}],[\"event:address indexed to\",{type:\"address\",name:\"to\",indexed:!0}],[\"event:uint indexed tokenId\",{type:\"uint256\",name:\"tokenId\",indexed:!0}],[\"event:uint256 indexed tokenId\",{type:\"uint256\",name:\"tokenId\",indexed:!0}]]);function nU(e,t={}){if(np.test(e))return function(e,t={}){let a=nl(np,e);if(!a)throw new nE({signature:e,type:\"function\"});let r=nD(a.parameters),n=[],i=r.length;for(let e=0;e[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?(?:\\[\\d*?\\])+?)?(?:\\s(?calldata|indexed|memory|storage{1}))?(?:\\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,nR=/^\\((?.+?)\\)(?(?:\\[\\d*?\\])+?)?(?:\\s(?calldata|indexed|memory|storage{1}))?(?:\\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,nB=/^u?int$/;function nN(e,t){var a,r;let n,i=function(e,t,a){let r=\"\";if(a)for(let e of Object.entries(a)){if(!e)continue;let t=\"\";for(let a of e[1])t+=`[${a.type}${a.name?`:${a.name}`:\"\"}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:e}(e,t?.type,t?.structs);if(nT.has(i))return nT.get(i);let s=nd.test(e),o=nl(s?nR:nM,e);if(!o)throw new nj({param:e});if(o.name&&(\"address\"===(a=o.name)||\"bool\"===a||\"function\"===a||\"string\"===a||\"tuple\"===a||nc.test(a)||nu.test(a)||nL.test(a)))throw new nz({param:e,name:o.name});let l=o.name?{name:o.name}:{},c=\"indexed\"===o.modifier?{indexed:!0}:{},u=t?.structs??{},d={};if(s){n=\"tuple\";let e=nD(o.type),t=[],a=e.length;for(let r=0;r[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\\[\\d*?\\])+?)?$/,nH=/^tuple(?(\\[(\\d*)\\])*)$/;function nV(e){let t=\"\",a=e.length;for(let r=0;rt)throw new n7({givenSize:n5(e),maxSize:t})}function nQ(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function nX(e,t={}){let{dir:a=\"left\"}=t,r=e,n=0;for(let e=0;ethis.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}let ii={checksum:new ir(8192)}.checksum,is=/^0x[a-fA-F0-9]{40}$/;function io(e,t={}){let{strict:a=!0}=t;if(!is.test(e))throw new iu({address:e,cause:new id});if(a){if(e.toLowerCase()===e)return;if(il(e)!==e)throw new iu({address:e,cause:new ih})}}function il(e){if(ii.has(e))return ii.get(e);io(e,{strict:!1});let t=e.substring(2).toLowerCase(),a=ia(function(e,t={}){let{size:a}=t,r=n3.encode(e);return\"number\"==typeof a?(nY(r,a),function(e,t={}){let{dir:a,size:r=32}=t;if(0===r)return e;if(e.length>r)throw new it({size:e.length,targetSize:r,type:\"Bytes\"});let n=new Uint8Array(r);for(let t=0;t>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(15&a[e>>1])>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let n=`0x${r.join(\"\")}`;return ii.set(e,n),n}function ic(e,t={}){let{strict:a=!0}=t??{};try{return io(e,{strict:a}),!0}catch{return!1}}class iu extends nJ.C{constructor({address:e,cause:t}){super(`Address \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Address.InvalidAddressError\"})}}class id extends nJ.C{constructor(){super(\"Address is not a 20 byte (40 hexadecimal character) value.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Address.InvalidInputError\"})}}class ih extends nJ.C{constructor(){super(\"Address does not match its checksum counterpart.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Address.InvalidChecksumError\"})}}function im(e){let t=!0,a=\"\",r=0,n=\"\",i=!1;for(let s=0;ss?\"function\"===e.type||\"error\"===e.type?ib(e)===n$.di(t,0,4):\"event\"===e.type&&iy(e)===t:\"name\"in e&&e.name===t);if(0===o.length)throw new ik({name:t});if(1===o.length)return{...o[0],...i?{hash:iy(o[0])}:{}};for(let e of o){if(\"inputs\"in e){if(!n||0===n.length){if(!e.inputs||0===e.inputs.length)return{...e,...i?{hash:iy(e)}:{}};continue}if(e.inputs&&0!==e.inputs.length&&e.inputs.length===n.length&&n.every((t,a)=>{let r=\"inputs\"in e&&e.inputs[a];return!!r&&function e(t,a){let r=typeof t,n=a.type;switch(n){case\"address\":return ic(t,{strict:!1});case\"bool\":return\"boolean\"===r;case\"function\":case\"string\":return\"string\"===r;default:if(\"tuple\"===n&&\"components\"in a)return Object.values(a.components).every((a,r)=>e(Object.values(t)[r],a));if(/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n))return\"number\"===r||\"bigint\"===r;if(/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n))return\"string\"===r||t instanceof Uint8Array;if(/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(n))return Array.isArray(t)&&t.every(t=>e(t,{...a,type:n.replace(/(\\[[0-9]{0,}\\])$/,\"\")}));return!1}}(t,r)})){if(r&&\"inputs\"in r&&r.inputs){let t=function e(t,a,r){for(let n in t){let i=t[n],s=a[n];if(\"tuple\"===i.type&&\"tuple\"===s.type&&\"components\"in i&&\"components\"in s)return e(i.components,s.components,r[n]);let o=[i.type,s.type];if(o.includes(\"address\")&&o.includes(\"bytes20\")||(o.includes(\"address\")&&o.includes(\"string\")||o.includes(\"address\")&&o.includes(\"bytes\"))&&ic(r[n],{strict:!1}))return o}}(e.inputs,r.inputs,n);if(t)throw new iw({abiItem:e,type:t[0]},{abiItem:r,type:t[1]})}r=e}}}let l=(()=>{if(r)return r;let[e,...t]=o;return{...e,overloads:t}})();if(!l)throw new ik({name:t});return{...l,...i?{hash:iy(l)}:{}}}function ib(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,a]=e;return ig(t,a)}return e[0]})();return n$.di(iy(t),0,4)}function iy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,a]=e;return ig(t,a)}return e[0]})();return\"string\"!=typeof t&&\"hash\"in t&&t.hash?t.hash:ia(n$.sH(function(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,a]=e;return ig(t,a)}return e[0]})();return im(\"string\"==typeof t?t:nG(t))}(t)))}class iw extends nJ.C{constructor(e,t){super(\"Found ambiguous types in overloaded ABI Items.\",{metaMessages:[`\\`${e.type}\\` in \\`${im(nG(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${im(nG(t.abiItem))}\\``,\"\",\"These types encode differently and cannot be distinguished at runtime.\",\"Remove one of the ambiguous items in the ABI.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"AbiItem.AmbiguityError\"})}}class ik extends nJ.C{constructor({name:e,data:t,type:a=\"item\"}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:\"\";super(`ABI ${a}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"AbiItem.NotFoundError\"})}}nJ.C;let iv=/^(.*)\\[([0-9]*)\\]$/,ix=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,i_=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,ij=2n**256n-1n;function iz(e){let t=0;for(let a=0;a=this.recursiveReadLimit)throw new iP({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new iC({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new iE({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new iE({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let a=t??this.position;return this.assertPosition(a+e-1),this.bytes.subarray(a,a+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,255&e),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let a=this.inspectBytes(e);return this.position+=t??e,a},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};class iE extends nJ.C{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Cursor.NegativeOffsetError\"})}}class iC extends nJ.C{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Cursor.PositionOutOfBoundsError\"})}}class iP extends nJ.C{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Cursor.RecursiveReadLimitExceededError\"})}}function iq(e,t,a){let{checksumAddress:r=!1}=a??{};if(e.length!==t.length)throw new iN({expectedLength:e.length,givenLength:t.length});let n=iz(function({checksumAddress:e,parameters:t,values:a}){let r=[];for(let n=0;n0?n$.xW(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:n$.xW(...l.map(({encoded:e})=>e))}}(r,{checksumAddress:t,length:i,parameter:{...a,type:s}})}if(\"tuple\"===a.type)return function(t,a){let{checksumAddress:r,parameter:n}=a,i=!1,s=[];for(let a=0;ae))}}(r,{checksumAddress:t,parameter:a});if(\"address\"===a.type)return function(e,t){let{checksum:a=!1}=t;return io(e,{strict:a}),{dynamic:!1,encoded:n$.Ho(e.toLowerCase())}}(r,{checksum:t});if(\"bool\"===a.type){var i=r;if(\"boolean\"!=typeof i)throw new nJ.C(`Invalid boolean value: \"${i}\" (type: ${typeof i}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:n$.Ho(n$.xb(i))}}if(a.type.startsWith(\"uint\")||a.type.startsWith(\"int\")){let e=a.type.startsWith(\"int\"),[,,t=\"256\"]=i_.exec(a.type)??[];return function(e,{signed:t,size:a}){if(\"number\"==typeof a){let r=2n**(BigInt(a)-(t?1n:0n))-1n,n=t?-r-1n:0n;if(e>r||e{if(Array.isArray(e[0])){let[t,a]=e;return[function(e){let t=e.find(e=>\"constructor\"===e.type);if(!t)throw new ik({name:\"constructor\"});return t}(t),a]}return e})(),{bytecode:r,args:n}=a;return n$.xW(r,t.inputs?.length&&n?.length?iq(t.inputs,n):\"0x\")}(ip(\"constructor(bytes, bytes)\"),{bytecode:ne.LX,args:[\"0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033\",function(...e){let[t,a=[]]=(()=>{if(Array.isArray(e[0])){let[t,a,r]=e;return[iW(t,a,{args:r}),r]}let[t,a]=e;return[t,a]})(),{overloads:r}=t,n=r?iW([t,...r],t.name,{args:a}):t,i=ib(n),s=a.length>0?iq(n.inputs,a):void 0;return s?n$.xW(i,s):i}(iL(\"function getBalance(address)\"),[c.address])]}):void 0,d=s?await Promise.all(t.calls.map(async t=>{if(!t.data&&!t.abi)return;let{accessList:a}=await aV(e,{account:c.address,...t,data:t.abi?(0,er.p)(t):t.data});return a.map(({address:e,storageKeys:t})=>t.length>0?e:null)})).then(e=>e.flat().filter(Boolean)):[],h=await nr(e,{blockNumber:a,blockTag:r,blocks:[...s?[{calls:[{data:u}],stateOverrides:i},{calls:d.map((e,t)=>({abi:[iL(\"function balanceOf(address) returns (uint256)\")],functionName:\"balanceOf\",args:[c.address],to:e,from:iK,nonce:t})),stateOverrides:[{address:iK,nonce:0}]}]:[],{calls:[...n,{}].map(e=>({...e,from:c?.address})),stateOverrides:i},...s?[{calls:[{data:u}]},{calls:d.map((e,t)=>({abi:[iL(\"function balanceOf(address) returns (uint256)\")],functionName:\"balanceOf\",args:[c.address],to:e,from:iK,nonce:t})),stateOverrides:[{address:iK,nonce:0}]},{calls:d.map((e,t)=>({to:e,abi:[iL(\"function decimals() returns (uint256)\")],functionName:\"decimals\",from:iK,nonce:t})),stateOverrides:[{address:iK,nonce:0}]},{calls:d.map((e,t)=>({to:e,abi:[iL(\"function tokenURI(uint256) returns (string)\")],functionName:\"tokenURI\",args:[0n],from:iK,nonce:t})),stateOverrides:[{address:iK,nonce:0}]},{calls:d.map((e,t)=>({to:e,abi:[iL(\"function symbol() returns (string)\")],functionName:\"symbol\",from:iK,nonce:t})),stateOverrides:[{address:iK,nonce:0}]}]:[]],traceTransfers:o,validation:l}),m=s?h[2]:h[0],[p,f,,g,b,y,w,k]=s?h:[],{calls:v,...x}=m,_=v.slice(0,-1)??[],j=[...p?.calls??[],...f?.calls??[]].map(e=>\"success\"===e.status?(0,tE.uU)(e.data):null),z=[...g?.calls??[],...b?.calls??[]].map(e=>\"success\"===e.status?(0,tE.uU)(e.data):null),S=(y?.calls??[]).map(e=>\"success\"===e.status?e.result:null),I=(k?.calls??[]).map(e=>\"success\"===e.status?e.result:null),A=(w?.calls??[]).map(e=>\"success\"===e.status?e.result:null),E=[];for(let[e,t]of z.entries()){let a=j[e];if(\"bigint\"!=typeof t||\"bigint\"!=typeof a)continue;let r=S[e-1],n=I[e-1],i=A[e-1],s=0===e?{address:\"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\",decimals:18,symbol:\"ETH\"}:{address:d[e-1],decimals:i||r?Number(r??1):void 0,symbol:n??void 0};E.some(e=>e.token.address===s.address)||E.push({token:s,value:{pre:a,post:t,diff:t-a}})}return{assetChanges:E,block:x,results:_}}async function iV(e,t){let{abi:a,address:r,args:n,dataSuffix:i,functionName:s,...o}=t,l=o.account?(0,tP.J)(o.account):e.account,c=(0,er.p)({abi:a,args:n,functionName:s});try{let{data:u}=await t$(e,ay.T,\"call\")({batch:!1,data:`${c}${i?i.replace(\"0x\",\"\"):\"\"}`,to:r,...o,account:l}),d=(0,tM.e)({abi:a,args:n,functionName:s,data:u||\"0x\"}),h=a.filter(e=>\"name\"in e&&e.name===t.functionName);return{result:d,request:{abi:h,address:r,args:n,dataSuffix:i,functionName:s,...o,account:l}}}catch(e){throw ab(e,{abi:a,address:r,args:n,docsPath:\"/docs/contract/simulateContract\",functionName:s,sender:l?.address})}}async function iG(e,{filter:t}){return t.request({method:\"eth_uninstallFilter\",params:[t.id]})}let iJ=\"0x6492649264926492649264926492649264926492649264926492649264926492\";class iZ extends nJ.C{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"SignatureErc6492.InvalidWrappedSignatureError\"})}}function i$(e,t={}){let{recovered:a}=t;if(void 0===e.r||void 0===e.s||a&&void 0===e.yParity)throw new i1({signature:e});if(e.r<0n||e.r>ij)throw new i0({value:e.r});if(e.s<0n||e.s>ij)throw new i2({value:e.s});if(\"number\"==typeof e.yParity&&0!==e.yParity&&1!==e.yParity)throw new i3({value:e.yParity})}function iY(e){if(130!==e.length&&132!==e.length)throw new iX({signature:e});let t=BigInt(n$.di(e,0,32)),a=BigInt(n$.di(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return iQ(t)}catch{throw new i3({value:t})}})();return void 0===r?{r:t,s:a}:{r:t,s:a,yParity:r}}function iQ(e){if(0===e||27===e)return 0;if(1===e||28===e)return 1;if(e>=35)return+(e%2==0);throw new i9({value:e})}class iX extends nJ.C{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[\"Expected: 64 bytes or 65 bytes.\",`Received ${n$.Ej(n$.HT(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.InvalidSerializedSizeError\"})}}class i1 extends nJ.C{constructor({signature:e}){super(`Signature \\`${n0.A(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.MissingPropertiesError\"})}}class i0 extends nJ.C{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.InvalidRError\"})}}class i2 extends nJ.C{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.InvalidSError\"})}}class i3 extends nJ.C{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.InvalidYParityError\"})}}class i9 extends nJ.C{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.InvalidVError\"})}}let i5=iT(\"(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data\");function i6(e){if(\"string\"==typeof e){if(\"0x8010801080108010801080108010801080108010801080108010801080108010\"!==n$.di(e,-32))throw new i8(e)}else i$(e.authorization)}class i8 extends nJ.C{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"SignatureErc8010.InvalidWrappedSignatureError\"})}}var i4=a(9476);async function i7({address:e,authorization:t,signature:a}){return(0,tC.h)((0,a6.b)(e),await rr({authorization:t,signature:a}))}var se=a(152);async function st(e,t){let a,{address:r,hash:n,erc6492VerifierAddress:i=t.universalSignatureVerifierAddress??e.chain?.contracts?.erc6492Verifier?.address,multicallAddress:s=t.multicallAddress??e.chain?.contracts?.multicall3?.address}=t,o=(a=t.signature,(0,tV.q)(a)?a:\"object\"==typeof a&&\"r\"in a&&\"s\"in a?function({r:e,s:t,to:a=\"hex\",v:r,yParity:n}){let i=(()=>{if(0===n||1===n)return n;if(r&&(27n===r||28n===r||r>=35n))return+(r%2n===0n);throw Error(\"Invalid `v` or `yParity` value\")})(),s=`0x${new se.secp256k1.Signature((0,tE.uU)(e),(0,tE.uU)(t)).toCompactHex()}${0===i?\"1b\":\"1c\"}`;return\"hex\"===a?s:(0,tK.aT)(s)}(a):(0,en.My)(a));try{if(function(e){try{return i6(e),!0}catch{return!1}}(o))return await sa(e,{...t,multicallAddress:s,signature:o});return await sr(e,{...t,verifierAddress:i,signature:o})}catch(e){try{if((0,tC.h)((0,a6.b)(r),await re({hash:n,signature:o})))return!0}catch{}if(e instanceof si)return!1;throw e}}async function sa(e,t){let{address:a,blockNumber:r,blockTag:n,hash:i,multicallAddress:s}=t,{authorization:o,data:l,signature:c,to:u}=function(e){i6(e);let t=n$.Ro(n$.di(e,-64,-32)),a=n$.di(e,-t-64,-64),r=n$.di(e,0,-t-64),[n,i,s]=function(e,t,a={}){let{as:r=\"Array\",checksumAddress:n=!1}=a,i=\"string\"==typeof t?n9(t):t,s=function(e,{recursiveReadLimit:t=8192}={}){let a=Object.create(iA);return a.bytes=e,a.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),a.positionReadCount=new Map,a.recursiveReadLimit=t,a}(i);if(0===n5(i)&&e.length>0)throw new iM;if(n5(i)&&32>n5(i))throw new iU({data:\"string\"==typeof t?t:n$.uK(t),parameters:e,size:n5(i)});let o=0,l=\"Array\"===r?[]:{};for(let t=0;t!e),o=s?[]:{},l=0;if(iI(a)){let r=i+n6(t.readBytes(32));for(let i=0;i1||r[0]>1)throw new n4(r);return!!r[0]}(t.readBytes(32),{size:32}),32];if(a.type.startsWith(\"bytes\"))return function(e,t,{staticPosition:a}){let[r,n]=t.type.split(\"bytes\");if(!n){let t=n6(e.readBytes(32));e.setPosition(a+t);let r=n6(e.readBytes(32));if(0===r)return e.setPosition(a+32),[\"0x\",32];let n=e.readBytes(r);return e.setPosition(a+32),[n$.uK(n),32]}return[n$.uK(e.readBytes(Number.parseInt(n,10),32)),32]}(t,a,{staticPosition:i});if(a.type.startsWith(\"uint\")||a.type.startsWith(\"int\")){var o,l;let e,r,n;return o=t,e=(l=a).type.startsWith(\"int\"),r=Number.parseInt(l.type.split(\"int\")[1]||\"256\",10),n=o.readBytes(32),[r>48?function(e,t={}){let{size:a}=t;void 0!==a&&nY(e,a);let r=n$.uK(e,t);return n$.Dg(r,t)}(n,{signed:e}):n6(n,{signed:e}),32]}if(\"string\"===a.type)return function(e,{staticPosition:t}){let a=n6(e.readBytes(32));e.setPosition(t+a);let r=n6(e.readBytes(32));if(0===r)return e.setPosition(t+32),[\"\",32];let n=function(e,t={}){let{size:a}=t,r=e;return void 0!==a&&(nY(r,a),r=nX(r,{dir:\"right\"})),n2.decode(r)}(n8(e.readBytes(r,32)));return e.setPosition(t+32),[n,32]}(t,{staticPosition:i});throw new iF(a.type)}(s,a,{checksumAddress:n,staticPosition:0});o+=c,\"Array\"===r?l.push(i):l[a.name??t]=i}return l}(i5,a);return{authorization:function(e,t={}){return\"string\"==typeof e.chainId?function(e){let{address:t,chainId:a,nonce:r}=e,n=function(e){if(void 0!==e.r&&void 0!==e.s){var t;let a;return t=e,i$(a=(()=>{var e,a;let r;if(\"string\"==typeof t)return iY(t);if(t instanceof Uint8Array)return iY(n$.uK(t));return\"string\"==typeof t.r?(e=t,r=(()=>{let t=e.v?Number(e.v):void 0,a=e.yParity?Number(e.yParity):void 0;if(\"number\"==typeof t&&\"number\"!=typeof a&&(a=iQ(t)),\"number\"!=typeof a)throw new i3({value:e.yParity});return a})(),{r:BigInt(e.r),s:BigInt(e.s),yParity:r}):t.v?{r:(a=t).r,s:a.s,yParity:iQ(a.v)}:{r:t.r,s:t.s,...void 0!==t.yParity?{yParity:t.yParity}:{}}})()),a}}(e);return{address:t,chainId:Number(a),nonce:BigInt(r),...n}}(e):{...e,...t.signature}}({address:n.delegation,chainId:Number(n.chainId),nonce:n.nonce,yParity:n.yParity,r:n.r,s:n.s}),signature:r,...s&&\"0x\"!==s?{data:s,to:i}:{}}}(t.signature);if(await rW(e,{address:a,blockNumber:r,blockTag:n})===(0,tW.aP)([\"0xef0100\",o.address]))return await sn(e,{address:a,blockNumber:r,blockTag:n,hash:i,signature:c});let d={address:o.address,chainId:Number(o.chainId),nonce:Number(o.nonce),r:(0,en.cK)(o.r,{size:32}),s:(0,en.cK)(o.s,{size:32}),yParity:o.yParity};if(!await i7({address:a,authorization:d}))throw new si;let h=await t$(e,aw,\"readContract\")({...s?{address:s}:{code:ne.Ez},authorizationList:[d],abi:tU.v2,blockNumber:r,blockTag:\"pending\",functionName:\"aggregate3\",args:[[...l?[{allowFailure:!0,target:u??a,callData:l}]:[],{allowFailure:!0,target:a,callData:(0,er.p)({abi:tU.UW,functionName:\"isValidSignature\",args:[i,c]})}]]}),m=h[h.length-1]?.returnData;if(m?.startsWith(\"0x1626ba7e\"))return!0;throw new si}async function sr(e,t){let{address:a,factory:r,factoryData:n,hash:i,signature:s,verifierAddress:o,...l}=t,c=await (async()=>!r&&!n||function(e){try{if(n$.di(e,-32)!==iJ)throw new iZ(e);return!0}catch{return!1}}(s)?s:function(e){let{data:t,signature:a,to:r}=e;return n$.xW(iq(iT(\"address, bytes, bytes\"),[r,t,a]),iJ)}({data:n,signature:s,to:r}))(),u=o?{to:o,data:(0,er.p)({abi:tU.E5,functionName:\"isValidSig\",args:[a,i,c]}),...l}:{data:(0,i4.m)({abi:tU.E5,args:[a,i,c],bytecode:ne.fT}),...l},{data:d}=await t$(e,ay.T,\"call\")(u).catch(e=>{if(e instanceof tD.zX)throw new si;throw e});if((0,tE.Nx)(d??\"0x0\"))return!0;throw new si}async function sn(e,t){let{address:a,blockNumber:r,blockTag:n,hash:i,signature:s}=t;if((await t$(e,aw,\"readContract\")({address:a,abi:tU.UW,args:[i,s],blockNumber:r,blockTag:n,functionName:\"isValidSignature\"}).catch(e=>{if(e instanceof tD.bG)throw new si;throw e})).startsWith(\"0x1626ba7e\"))return!0;throw new si}class si extends Error{}function ss(e,t){let a,r;return(0,tH.S)((a=\"string\"==typeof e?(0,en.i3)(e):\"string\"==typeof e.raw?e.raw:(0,en.My)(e.raw),r=(0,en.i3)(`\\x19Ethereum Signed Message:\n${(0,a8.E)(a)}`),(0,tW.xW)([r,a])),t)}async function so(e,{address:t,message:a,factory:r,factoryData:n,signature:i,...s}){return st(e,{address:t,factory:r,factoryData:n,hash:ss(a),signature:i,...s})}var sl=a(7064),sc=a(385);class su extends tN.C{constructor({domain:e}){super(`Invalid domain \"${(0,sc.A)(e)}\".`,{metaMessages:[\"Must be a valid EIP-712 domain.\"]})}}class sd extends tN.C{constructor({primaryType:e,types:t}){super(`Invalid primary type \\`${e}\\` must be one of \\`${JSON.stringify(Object.keys(t))}\\`.`,{docsPath:\"/api/glossary/Errors#typeddatainvalidprimarytypeerror\",metaMessages:[\"Check that the primary type is a key in `types`.\"]})}}class sh extends tN.C{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[\"Struct type must not be a Solidity type.\"],name:\"InvalidStructTypeError\"})}}var sm=a(5407),sp=a(4691);function sf(e){let{domain:t={},message:a,primaryType:r}=e,n={EIP712Domain:function({domain:e}){return[\"string\"==typeof e?.name&&{name:\"name\",type:\"string\"},e?.version&&{name:\"version\",type:\"string\"},(\"number\"==typeof e?.chainId||\"bigint\"==typeof e?.chainId)&&{name:\"chainId\",type:\"uint256\"},e?.verifyingContract&&{name:\"verifyingContract\",type:\"address\"},e?.salt&&{name:\"salt\",type:\"bytes32\"}].filter(Boolean)}({domain:t}),...e.types};!function(e){let{domain:t,message:a,primaryType:r,types:n}=e,i=(e,t)=>{for(let a of e){let{name:e,type:r}=a,s=t[e],o=r.match(sp.Ge);if(o&&(\"number\"==typeof s||\"bigint\"==typeof s)){let[e,t,a]=o;(0,en.cK)(s,{signed:\"int\"===t,size:Number.parseInt(a,10)/8})}if(\"address\"===r&&\"string\"==typeof s&&!(0,sm.P)(s))throw new sl.M({address:s});let l=r.match(sp.BD);if(l){let[e,t]=l;if(t&&(0,a8.E)(s)!==Number.parseInt(t,10))throw new tY.BI({expectedSize:Number.parseInt(t,10),givenSize:(0,a8.E)(s)})}let c=n[r];c&&(function(e){if(\"address\"===e||\"bool\"===e||\"string\"===e||e.startsWith(\"bytes\")||e.startsWith(\"uint\")||e.startsWith(\"int\"))throw new sh({type:e})}(r),i(c,s))}};if(n.EIP712Domain&&t){if(\"object\"!=typeof t)throw new su({domain:t});i(n.EIP712Domain,t)}if(\"EIP712Domain\"!==r)if(n[r])i(n[r],a);else throw new sd({primaryType:r,types:n})}({domain:t,message:a,primaryType:r,types:n});let i=[\"0x1901\"];return t&&i.push(function({domain:e,types:t}){return sg({data:e,primaryType:\"EIP712Domain\",types:t})}({domain:t,types:n})),\"EIP712Domain\"!==r&&i.push(sg({data:a,primaryType:r,types:n})),(0,tH.S)((0,tW.xW)(i))}function sg({data:e,primaryType:t,types:a}){let r=function e({data:t,primaryType:a,types:r}){let n=[{type:\"bytes32\"}],i=[function({primaryType:e,types:t}){let a=(0,en.nj)(function({primaryType:e,types:t}){let a=\"\",r=function e({primaryType:t,types:a},r=new Set){let n=t.match(/^\\w*/u),i=n?.[0];if(r.has(i)||void 0===a[i])return r;for(let t of(r.add(i),a[i]))e({primaryType:t.type,types:a},r);return r}({primaryType:e,types:t});for(let n of(r.delete(e),[e,...Array.from(r).sort()]))a+=`${n}(${t[n].map(({name:e,type:t})=>`${t} ${e}`).join(\",\")})`;return a}({primaryType:e,types:t}));return(0,tH.S)(a)}({primaryType:a,types:r})];for(let s of r[a]){let[a,o]=function t({types:a,name:r,type:n,value:i}){if(void 0!==a[n])return[{type:\"bytes32\"},(0,tH.S)(e({data:i,primaryType:n,types:a}))];if(\"bytes\"===n){let e=i.length%2?\"0\":\"\";return i=`0x${e+i.slice(2)}`,[{type:\"bytes32\"},(0,tH.S)(i)]}if(\"string\"===n)return[{type:\"bytes32\"},(0,tH.S)((0,en.nj)(i))];if(n.lastIndexOf(\"]\")===n.length-1){let e=n.slice(0,n.lastIndexOf(\"[\")),s=i.map(n=>t({name:r,type:e,types:a,value:n}));return[{type:\"bytes32\"},(0,tH.S)((0,aY.h)(s.map(([e])=>e),s.map(([,e])=>e)))]}return[{type:n},i]}({types:r,name:s.name,type:s.type,value:t[s.name]});n.push(a),i.push(o)}return(0,aY.h)(n,i)}({data:e,primaryType:t,types:a});return(0,tH.S)(r)}async function sb(e,t){let{address:a,factory:r,factoryData:n,signature:i,message:s,primaryType:o,types:l,domain:c,...u}=t;return st(e,{address:a,factory:r,factoryData:n,hash:sf({message:s,primaryType:o,types:l,domain:c}),signature:i,...u})}let sy=new Map,sw=new Map,sk=0;function sv(e,t,a){let r=++sk,n=()=>sy.get(e)||[],i=()=>{let t,a=n();if(!a.some(e=>e.id===r))return;let i=sw.get(e);if(1===a.length&&i){let e=i();e instanceof Promise&&e.catch(()=>{})}t=n(),sy.set(e,t.filter(e=>e.id!==r))},s=n();if(sy.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return i;let o={};for(let e in t)o[e]=(...t)=>{let a=n();if(0!==a.length)for(let r of a)r.fns[e]?.(...t)};let l=a(o);return\"function\"==typeof l&&sw.set(e,l),i}var sx=a(9693);async function s_(e){return new Promise(t=>setTimeout(t,e))}function sj(e,{delay:t=100,retryCount:a=2,shouldRetry:r=()=>!0}={}){return new Promise((n,i)=>{let s=async({count:o=0}={})=>{let l=async({error:e})=>{let a=\"function\"==typeof t?t({count:o,error:e}):t;a&&await s_(a),s({count:o+1})};try{let t=await e();n(t)}catch(e){if(on=!1;return(async()=>{let s;t&&(s=await e({unpoll:i}));let o=await a?.(s)??r;await s_(o);let l=async()=>{n&&(await e({unpoll:i}),await s_(r),l())};l()})(),i}function sS(e,{emitOnBegin:t=!1,emitMissed:a=!1,onBlockNumber:r,onError:n,poll:i,pollingInterval:s=e.pollingInterval}){let o;return(void 0!==i?i:\"webSocket\"!==e.transport.type&&\"ipc\"!==e.transport.type&&(\"fallback\"!==e.transport.type||\"webSocket\"!==e.transport.transports[0].config.type&&\"ipc\"!==e.transport.transports[0].config.type))?sv((0,sc.A)([\"watchBlockNumber\",e.uid,t,a,s]),{onBlockNumber:r,onError:n},r=>sz(async()=>{try{let t=await t$(e,rF,\"getBlockNumber\")({cacheTime:0});if(void 0!==o){if(t===o)return;if(t-o>1&&a)for(let e=o+1n;eo)&&(r.onBlockNumber(t,o),o=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:s})):sv((0,sc.A)([\"watchBlockNumber\",e.uid,t,a]),{onBlockNumber:r,onError:n},t=>{let a=!0,r=()=>a=!1;return(async()=>{try{let n=(()=>{if(\"fallback\"===e.transport.type){let t=e.transport.transports.find(e=>\"webSocket\"===e.config.type||\"ipc\"===e.config.type);return t?t.value:e.transport}return e.transport})(),{unsubscribe:i}=await n.subscribe({params:[\"newHeads\"],onData(e){if(!a)return;let r=(0,tE.uU)(e.result?.number);t.onBlockNumber(r,o),o=r},onError(e){t.onError?.(e)}});r=i,a||r()}catch(e){n?.(e)}})(),()=>r()})}async function sI(e,t){let a,r,n,i,s,{checkReplacement:o=!0,confirmations:l=1,hash:c,onReplaced:u,retryCount:d=6,retryDelay:h=({count:e})=>200*~~(1<{s?.(),i?.(),w(new rs.WA({hash:c}))},m):void 0;return i=sv(p,{onReplaced:u,resolve:y,reject:w},async t=>{if((n=await t$(e,r7,\"getTransactionReceipt\")({hash:c}).catch(()=>void 0))&&l<=1){clearTimeout(k),t.resolve(n),i?.();return}s=t$(e,sS,\"watchBlockNumber\")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:f,async onBlockNumber(u){let m=e=>{clearTimeout(k),s?.(),e(),i?.()},p=u;if(!g)try{if(n){if(l>1&&(!n.blockNumber||p-n.blockNumber+1nt.resolve(n));return}if(o&&!a&&(g=!0,await sj(async()=>{(a=await t$(e,r5,\"getTransaction\")({hash:c})).blockNumber&&(p=a.blockNumber)},{delay:h,retryCount:d}),g=!1),n=await t$(e,r7,\"getTransactionReceipt\")({hash:c}),l>1&&(!n.blockNumber||p-n.blockNumber+1nt.resolve(n))}catch(i){if(i instanceof rs.Kz||i instanceof rs.Kc){if(!a){g=!1;return}try{r=a,g=!0;let i=await sj(()=>t$(e,ry,\"getBlock\")({blockNumber:p,includeTransactions:!0}),{delay:h,retryCount:d,shouldRetry:({error:e})=>e instanceof rp});g=!1;let s=i.transactions.find(({from:e,nonce:t})=>e===r.from&&t===r.nonce);if(!s||(n=await t$(e,r7,\"getTransactionReceipt\")({hash:s.hash}),l>1&&(!n.blockNumber||p-n.blockNumber+1n{t.onReplaced?.({reason:o,replacedTransaction:r,transaction:s,transactionReceipt:n}),t.resolve(n)})}catch(e){m(()=>t.reject(e))}}else m(()=>t.reject(i))}}})}),b}let sA=/^(?:(?[a-zA-Z][a-zA-Z0-9+-.]*):\\/\\/)?(?[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\\n)(?
          0x[a-fA-F0-9]{40})\\n\\n(?:(?.*)\\n\\n)?/,sE=/(?:URI: (?.+))\\n(?:Version: (?.+))\\n(?:Chain ID: (?\\d+))\\n(?:Nonce: (?[a-zA-Z0-9]+))\\n(?:Issued At: (?.+))(?:\\nExpiration Time: (?.+))?(?:\\nNot Before: (?.+))?(?:\\nRequest ID: (?.+))?/;async function sC(e,t){let{address:a,domain:r,message:n,nonce:i,scheme:s,signature:o,time:l=new Date,...c}=t,u=function(e){let{scheme:t,statement:a,...r}=e.match(sA)?.groups??{},{chainId:n,expirationTime:i,issuedAt:s,notBefore:o,requestId:l,...c}=e.match(sE)?.groups??{},u=e.split(\"Resources:\")[1]?.split(\"\\n- \").slice(1);return{...r,...c,...n?{chainId:Number(n)}:{},...i?{expirationTime:new Date(i)}:{},...s?{issuedAt:new Date(s)}:{},...o?{notBefore:new Date(o)}:{},...l?{requestId:l}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...a?{statement:a}:{}}}(n);if(!u.address||!function(e){let{address:t,domain:a,message:r,nonce:n,scheme:i,time:s=new Date}=e;if(a&&r.domain!==a||n&&r.nonce!==n||i&&r.scheme!==i||r.expirationTime&&s>=r.expirationTime||r.notBefore&&s(0,ay.T)(e,t),createAccessList:t=>aV(e,t),createBlockFilter:()=>aJ(e),createContractEventFilter:t=>a3(e,t),createEventFilter:t=>a9(e,t),createPendingTransactionFilter:()=>a5(e),estimateContractGas:t=>rU(e,t),estimateGas:t=>rT(e,t),getBalance:t=>rM(e,t),getBlobBaseFee:()=>rR(e),getBlock:t=>ry(e,t),getBlockNumber:t=>rF(e,t),getBlockTransactionCount:t=>rL(e,t),getBytecode:t=>rW(e,t),getChainId:()=>rC(e),getCode:t=>rW(e,t),getContractEvents:t=>r$(e,t),getEip712Domain:t=>rQ(e,t),getEnsAddress:t=>ak(e,t),getEnsAvatar:t=>aN(e,t),getEnsName:t=>aD(e,t),getEnsResolver:t=>aF(e,t),getEnsText:t=>aB(e,t),getFeeHistory:t=>r1(e,t),estimateFeesPerGas:t=>rx(e,t),getFilterChanges:t=>r0(e,t),getFilterLogs:t=>r2(e,t),getGasPrice:()=>rw(e),getLogs:t=>rZ(e,t),getProof:t=>r3(e,t),estimateMaxPriorityFeePerGas:t=>rk(e,t),getStorageAt:t=>r9(e,t),getTransaction:t=>r5(e,t),getTransactionConfirmations:t=>r6(e,t),getTransactionCount:t=>rj(e,t),getTransactionReceipt:t=>r7(e,t),multicall:t=>nt(e,t),prepareTransactionRequest:t=>rO(e,t),readContract:t=>aw(e,t),sendRawTransaction:t=>sP(e,t),sendRawTransactionSync:t=>sq(e,t),simulate:t=>nr(e,t),simulateBlocks:t=>nr(e,t),simulateCalls:t=>iH(e,t),simulateContract:t=>iV(e,t),verifyHash:t=>st(e,t),verifyMessage:t=>so(e,t),verifySiweMessage:t=>sC(e,t),verifyTypedData:t=>sb(e,t),uninstallFilter:t=>iG(e,t),waitForTransactionReceipt:t=>sI(e,t),watchBlocks:t=>(function(e,{blockTag:t=e.experimental_blockTag??\"latest\",emitMissed:a=!1,emitOnBegin:r=!1,onBlock:n,onError:i,includeTransactions:s,poll:o,pollingInterval:l=e.pollingInterval}){let c,u,d,h,m=void 0!==o?o:\"webSocket\"!==e.transport.type&&\"ipc\"!==e.transport.type&&(\"fallback\"!==e.transport.type||\"webSocket\"!==e.transport.transports[0].config.type&&\"ipc\"!==e.transport.transports[0].config.type),p=s??!1;return m?sv((0,sc.A)([\"watchBlocks\",e.uid,t,a,r,p,l]),{onBlock:n,onError:i},n=>sz(async()=>{try{let r=await t$(e,ry,\"getBlock\")({blockTag:t,includeTransactions:p});if(null!==r.number&&c?.number!=null){if(r.number===c.number)return;if(r.number-c.number>1&&a)for(let t=c?.number+1n;tc.number)&&(n.onBlock(r,c),c=r)}catch(e){n.onError?.(e)}},{emitOnBegin:r,interval:l})):(u=!0,d=!0,h=()=>u=!1,(async()=>{try{r&&t$(e,ry,\"getBlock\")({blockTag:t,includeTransactions:p}).then(e=>{!u||d&&(n(e,void 0),d=!1)}).catch(i);let a=(()=>{if(\"fallback\"===e.transport.type){let t=e.transport.transports.find(e=>\"webSocket\"===e.config.type||\"ipc\"===e.config.type);return t?t.value:e.transport}return e.transport})(),{unsubscribe:s}=await a.subscribe({params:[\"newHeads\"],async onData(t){if(!u)return;let a=await t$(e,ry,\"getBlock\")({blockNumber:t.result?.number,includeTransactions:p}).catch(()=>{});u&&(n(a,c),d=!1,c=a)},onError(e){i?.(e)}});h=s,u||h()}catch(e){i?.(e)}})(),()=>h())})(e,t),watchBlockNumber:t=>sS(e,t),watchContractEvent:t=>(function(e,t){let a,r,n,i,{abi:s,address:o,args:l,batch:c=!0,eventName:u,fromBlock:d,onError:h,onLogs:m,poll:p,pollingInterval:f=e.pollingInterval,strict:g}=t;return(void 0!==p?p:\"bigint\"==typeof d||\"webSocket\"!==e.transport.type&&\"ipc\"!==e.transport.type&&(\"fallback\"!==e.transport.type||\"webSocket\"!==e.transport.transports[0].config.type&&\"ipc\"!==e.transport.transports[0].config.type))?(a=g??!1,sv((0,sc.A)([\"watchContractEvent\",o,l,c,e.uid,u,f,a,d]),{onLogs:m,onError:h},t=>{let r,n;void 0!==d&&(r=d-1n);let i=!1,h=sz(async()=>{if(!i){try{n=await t$(e,a3,\"createContractEventFilter\")({abi:s,address:o,args:l,eventName:u,strict:a,fromBlock:d})}catch{}i=!0;return}try{let i;if(n)i=await t$(e,r0,\"getFilterChanges\")({filter:n});else{let t=await t$(e,rF,\"getBlockNumber\")({});i=r&&r{n&&await t$(e,iG,\"uninstallFilter\")({filter:n}),h()}})):(r=(0,sc.A)([\"watchContractEvent\",o,l,c,e.uid,u,f,g??!1]),n=!0,i=()=>n=!1,sv(r,{onLogs:m,onError:h},t=>((async()=>{try{let a=(()=>{if(\"fallback\"===e.transport.type){let t=e.transport.transports.find(e=>\"webSocket\"===e.config.type||\"ipc\"===e.config.type);return t?t.value:e.transport}return e.transport})(),r=u?a0({abi:s,eventName:u,args:l}):[],{unsubscribe:c}=await a.subscribe({params:[\"logs\",{address:o,topics:r}],onData(e){if(!n)return;let a=e.result;try{let{eventName:e,args:r}=rV({abi:s,data:a.data,topics:a.topics,strict:g}),n=rJ(a,{args:r,eventName:e});t.onLogs([n])}catch(i){let e,r;if(i instanceof tY.fo||i instanceof tY.l3){if(g)return;e=i.abiItem.name,r=i.abiItem.inputs?.some(e=>!(\"name\"in e&&e.name))}let n=rJ(a,{args:r?[]:{},eventName:e});t.onLogs([n])}},onError(e){t.onError?.(e)}});i=c,n||i()}catch(e){h?.(e)}})(),()=>i())))})(e,t),watchEvent:t=>(function(e,{address:t,args:a,batch:r=!0,event:n,events:i,fromBlock:s,onError:o,onLogs:l,poll:c,pollingInterval:u=e.pollingInterval,strict:d}){let h,m,p=void 0!==c?c:\"bigint\"==typeof s||\"webSocket\"!==e.transport.type&&\"ipc\"!==e.transport.type&&(\"fallback\"!==e.transport.type||\"webSocket\"!==e.transport.transports[0].config.type&&\"ipc\"!==e.transport.transports[0].config.type),f=d??!1;return p?sv((0,sc.A)([\"watchEvent\",t,a,r,e.uid,n,u,s]),{onLogs:l,onError:o},o=>{let l,c;void 0!==s&&(l=s-1n);let d=!1,h=sz(async()=>{if(!d){try{c=await t$(e,a9,\"createEventFilter\")({address:t,args:a,event:n,events:i,strict:f,fromBlock:s})}catch{}d=!0;return}try{let s;if(c)s=await t$(e,r0,\"getFilterChanges\")({filter:c});else{let r=await t$(e,rF,\"getBlockNumber\")({});s=l&&l!==r?await t$(e,rZ,\"getLogs\")({address:t,args:a,event:n,events:i,fromBlock:l+1n,toBlock:r}):[],l=r}if(0===s.length)return;if(r)o.onLogs(s);else for(let e of s)o.onLogs([e])}catch(e){c&&e instanceof t6&&(d=!1),o.onError?.(e)}},{emitOnBegin:!0,interval:u});return async()=>{c&&await t$(e,iG,\"uninstallFilter\")({filter:c}),h()}}):(h=!0,m=()=>h=!1,(async()=>{try{let r=(()=>{if(\"fallback\"===e.transport.type){let t=e.transport.transports.find(e=>\"webSocket\"===e.config.type||\"ipc\"===e.config.type);return t?t.value:e.transport}return e.transport})(),s=i??(n?[n]:void 0),c=[];s&&(c=[s.flatMap(e=>a0({abi:[e],eventName:e.name,args:a}))],n&&(c=c[0]));let{unsubscribe:u}=await r.subscribe({params:[\"logs\",{address:t,topics:c}],onData(e){if(!h)return;let t=e.result;try{let{eventName:e,args:a}=rV({abi:s??[],data:t.data,topics:t.topics,strict:f}),r=rJ(t,{args:a,eventName:e});l([r])}catch(n){let e,a;if(n instanceof tY.fo||n instanceof tY.l3){if(d)return;e=n.abiItem.name,a=n.abiItem.inputs?.some(e=>!(\"name\"in e&&e.name))}let r=rJ(t,{args:a?[]:{},eventName:e});l([r])}},onError(e){o?.(e)}});m=u,h||m()}catch(e){o?.(e)}})(),()=>m())})(e,t),watchPendingTransactions:t=>(function(e,{batch:t=!0,onError:a,onTransactions:r,poll:n,pollingInterval:i=e.pollingInterval}){let s,o;return(void 0!==n?n:\"webSocket\"!==e.transport.type&&\"ipc\"!==e.transport.type)?sv((0,sc.A)([\"watchPendingTransactions\",e.uid,t,i]),{onTransactions:r,onError:a},a=>{let r,n=sz(async()=>{try{if(!r)try{r=await t$(e,a5,\"createPendingTransactionFilter\")({});return}catch(e){throw n(),e}let i=await t$(e,r0,\"getFilterChanges\")({filter:r});if(0===i.length)return;if(t)a.onTransactions(i);else for(let e of i)a.onTransactions([e])}catch(e){a.onError?.(e)}},{emitOnBegin:!0,interval:i});return async()=>{r&&await t$(e,iG,\"uninstallFilter\")({filter:r}),n()}}):(s=!0,o=()=>s=!1,(async()=>{try{let{unsubscribe:t}=await e.transport.subscribe({params:[\"newPendingTransactions\"],onData(e){if(!s)return;let t=e.result;r([t])},onError(e){a?.(e)}});o=t,s||o()}catch(e){a?.(e)}})(),()=>o())})(e,t)}}class sT extends tN.C{constructor(){super(\"No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.\",{docsPath:\"/docs/clients/intro\",name:\"UrlRequiredError\"})}}var sU=a(6189);let sM={current:0,take(){return this.current++},reset(){this.current=0}};var sR=a(9081);let sB=new sR.A(8192);function sN(e,t={}){let{batch:a,fetchFn:r,fetchOptions:n,key:i=\"http\",methods:s,name:o=\"HTTP JSON-RPC\",onFetchRequest:l,onFetchResponse:c,retryDelay:u,raw:d}=t;return({chain:h,retryCount:m,timeout:p})=>{let{batchSize:f=1e3,wait:g=0}=\"object\"==typeof a?a:{},b=t.retryCount??m,y=p??t.timeout??1e4,w=e||h?.rpcUrls.default.http[0];if(!w)throw new sT;let k=function(e,t={}){return{async request(a){let{body:r,fetchFn:n=t.fetchFn??fetch,onRequest:i=t.onRequest,onResponse:s=t.onResponse,timeout:o=t.timeout??1e4}=a,l={...t.fetchOptions??{},...a.fetchOptions??{}},{headers:c,method:u,signal:d}=l;try{let t,a=await function(e,{errorInstance:t=Error(\"timed out\"),timeout:a,signal:r}){return new Promise((n,i)=>{(async()=>{let s;try{let o=new AbortController;a>0&&(s=setTimeout(()=>{r?o.abort():i(t)},a)),n(await e({signal:o?.signal||null}))}catch(e){e?.name===\"AbortError\"&&i(t),i(e)}finally{clearTimeout(s)}})()})}(async({signal:t})=>{let a={...l,body:Array.isArray(r)?(0,sc.A)(r.map(e=>({jsonrpc:\"2.0\",id:e.id??sM.take(),...e}))):(0,sc.A)({jsonrpc:\"2.0\",id:r.id??sM.take(),...r}),headers:{\"Content-Type\":\"application/json\",...c},method:u||\"POST\",signal:d||(o>0?t:null)},s=new Request(e,a),h=await i?.(s,a)??{...a,url:e};return await n(h.url??e,h)},{errorInstance:new tQ.MU({body:r,url:e}),timeout:o,signal:!0});if(s&&await s(a),a.headers.get(\"Content-Type\")?.startsWith(\"application/json\"))t=await a.json();else{t=await a.text();try{t=JSON.parse(t||\"{}\")}catch(e){if(a.ok)throw e;t={error:t}}}if(!a.ok)throw new tQ.Ci({body:r,details:(0,sc.A)(t.error)||a.statusText,headers:a.headers,status:a.status,url:e});return t}catch(t){if(t instanceof tQ.Ci||t instanceof tQ.MU)throw t;throw new tQ.Ci({body:r,cause:t,url:e})}}}}(w,{fetchFn:r,fetchOptions:n,onRequest:l,onResponse:c,timeout:y});return function({key:e,methods:t,name:a,request:r,retryCount:n=3,retryDelay:i=150,timeout:s,type:o},l){return{config:{key:e,methods:t,name:a,request:r,retryCount:n,retryDelay:i,timeout:s,type:o},request:function(e,t={}){return async(a,r={})=>{let{dedupe:n=!1,methods:i,retryDelay:s=150,retryCount:o=3,uid:l}={...t,...r},{method:c}=a;if(i?.exclude?.includes(c)||i?.include&&!i.include.includes(c))throw new ae(Error(\"method not supported\"),{method:c});let u=n?(0,en.i3)(`${l}.${(0,sc.A)(a)}`):void 0;return function(e,{enabled:t=!0,id:a}){if(!t||!a)return e();if(sB.get(a))return sB.get(a);let r=e().finally(()=>sB.delete(a));return sB.set(a,r),r}(()=>sj(async()=>{try{return await e(a)}catch(e){switch(e.code){case t0.code:throw new t0(e);case t2.code:throw new t2(e);case t3.code:throw new t3(e,{method:a.method});case t9.code:throw new t9(e);case t5.code:throw new t5(e);case t6.code:throw new t6(e);case t8.code:throw new t8(e);case t4.code:throw new t4(e);case t7.code:throw new t7(e);case ae.code:throw new ae(e,{method:a.method});case at.code:throw new at(e);case aa.code:throw new aa(e);case ar.code:throw new ar(e);case an.code:throw new an(e);case ai.code:throw new ai(e);case as.code:throw new as(e);case ao.code:throw new ao(e);case al.code:throw new al(e);case ac.code:throw new ac(e);case au.code:throw new au(e);case ad.code:throw new ad(e);case ah.code:throw new ah(e);case am.code:throw new am(e);case ap.code:throw new ap(e);case af.code:throw new af(e);case 5e3:throw new ar(e);default:if(e instanceof tN.C)throw e;throw new ag(e)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof tQ.Ci){let e=t?.headers?.get(\"Retry-After\");if(e?.match(/\\d/))return 1e3*Number.parseInt(e,10)}return~~(1<{var t;return\"code\"in(t=e)&&\"number\"==typeof t.code?-1===t.code||t.code===at.code||t.code===t5.code:!(t instanceof tQ.Ci)||!t.status||403===t.status||408===t.status||413===t.status||429===t.status||500===t.status||502===t.status||503===t.status||504===t.status||!1}}),{enabled:n,id:u})}}(r,{methods:t,retryCount:n,retryDelay:i,uid:tO()}),value:l}}({key:i,methods:s,name:o,async request({method:e,params:t}){let r={method:e,params:t},{schedule:n}=(0,sU.u)({id:w,wait:g,shouldSplitBatch:e=>e.length>f,fn:e=>k.request({body:e}),sort:(e,t)=>e.id-t.id}),i=async e=>a?n(e):[await k.request({body:e})],[{error:s,result:o}]=await i(r);if(d)return{error:s,result:o};if(s)throw new tQ.J8({body:r,error:s,url:w});return o},retryCount:b,retryDelay:u,timeout:y,type:\"http\"},{fetchOptions:n,url:w})}}class sD extends tN.C{constructor({docsPath:e}={}){super(\"Could not find an Account to execute with this Action.\\nPlease provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\",{docsPath:e,docsSlug:\"account\",name:\"AccountNotFoundError\"})}}tN.C;var sF=a(8092);class sL extends tN.C{constructor({cause:e}){super(\"Smart Account is not deployed.\",{cause:e,metaMessages:[\"This could arise when:\",\"- No `factory`/`factoryData` or `initCode` properties are provided for Smart Account deployment.\",\"- An incorrect `sender` address is provided.\"],name:\"AccountNotDeployedError\"})}}Object.defineProperty(sL,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa20/});class sW extends tN.C{constructor({cause:e,data:t,message:a}={}){let r=a?.replace(\"execution reverted: \",\"\")?.replace(\"execution reverted\",\"\");super(`Execution reverted ${r?`with reason: ${r}`:\"for an unknown reason\"}.`,{cause:e,name:\"ExecutionRevertedError\"}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t}}Object.defineProperty(sW,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32521}),Object.defineProperty(sW,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class sK extends tN.C{constructor({cause:e}){super(\"Failed to send funds to beneficiary.\",{cause:e,name:\"FailedToSendToBeneficiaryError\"})}}Object.defineProperty(sK,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa91/});class sH extends tN.C{constructor({cause:e}){super(\"Gas value overflowed.\",{cause:e,metaMessages:[\"This could arise when:\",\"- one of the gas values exceeded 2**120 (uint120)\"].filter(Boolean),name:\"GasValuesOverflowError\"})}}Object.defineProperty(sH,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa94/});class sV extends tN.C{constructor({cause:e}){super(\"The `handleOps` function was called by the Bundler with a gas limit too low.\",{cause:e,name:\"HandleOpsOutOfGasError\"})}}Object.defineProperty(sV,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa95/});class sG extends tN.C{constructor({cause:e,factory:t,factoryData:a,initCode:r}){super(\"Failed to simulate deployment for Smart Account.\",{cause:e,metaMessages:[\"This could arise when:\",\"- Invalid `factory`/`factoryData` or `initCode` properties are present\",\"- Smart Account deployment execution ran out of gas (low `verificationGasLimit` value)\",\"- Smart Account deployment execution reverted with an error\\n\",t&&`factory: ${t}`,a&&`factoryData: ${a}`,r&&`initCode: ${r}`].filter(Boolean),name:\"InitCodeFailedError\"})}}Object.defineProperty(sG,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa13/});class sJ extends tN.C{constructor({cause:e,factory:t,factoryData:a,initCode:r}){super(\"Smart Account initialization implementation did not create an account.\",{cause:e,metaMessages:[\"This could arise when:\",\"- `factory`/`factoryData` or `initCode` properties are invalid\",\"- Smart Account initialization implementation is incorrect\\n\",t&&`factory: ${t}`,a&&`factoryData: ${a}`,r&&`initCode: ${r}`].filter(Boolean),name:\"InitCodeMustCreateSenderError\"})}}Object.defineProperty(sJ,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa15/});class sZ extends tN.C{constructor({cause:e,factory:t,factoryData:a,initCode:r,sender:n}){super(\"Smart Account initialization implementation does not return the expected sender.\",{cause:e,metaMessages:[\"This could arise when:\",\"Smart Account initialization implementation does not return a sender address\\n\",t&&`factory: ${t}`,a&&`factoryData: ${a}`,r&&`initCode: ${r}`,n&&`sender: ${n}`].filter(Boolean),name:\"InitCodeMustReturnSenderError\"})}}Object.defineProperty(sZ,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa14/});class s$ extends tN.C{constructor({cause:e}){super(\"Smart Account does not have sufficient funds to execute the User Operation.\",{cause:e,metaMessages:[\"This could arise when:\",\"- the Smart Account does not have sufficient funds to cover the required prefund, or\",\"- a Paymaster was not provided\"].filter(Boolean),name:\"InsufficientPrefundError\"})}}Object.defineProperty(s$,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa21/});class sY extends tN.C{constructor({cause:e}){super(\"Bundler attempted to call an invalid function on the EntryPoint.\",{cause:e,name:\"InternalCallOnlyError\"})}}Object.defineProperty(sY,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa92/});class sQ extends tN.C{constructor({cause:e}){super(\"Bundler used an invalid aggregator for handling aggregated User Operations.\",{cause:e,name:\"InvalidAggregatorError\"})}}Object.defineProperty(sQ,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa96/});class sX extends tN.C{constructor({cause:e,nonce:t}){super(\"Invalid Smart Account nonce used for User Operation.\",{cause:e,metaMessages:[t&&`nonce: ${t}`].filter(Boolean),name:\"InvalidAccountNonceError\"})}}Object.defineProperty(sX,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa25/});class s1 extends tN.C{constructor({cause:e}){super(\"Bundler has not set a beneficiary address.\",{cause:e,name:\"InvalidBeneficiaryError\"})}}Object.defineProperty(s1,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa90/});class s0 extends tN.C{constructor({cause:e}){super(\"Invalid fields set on User Operation.\",{cause:e,name:\"InvalidFieldsError\"})}}Object.defineProperty(s0,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class s2 extends tN.C{constructor({cause:e,paymasterAndData:t}){super(\"Paymaster properties provided are invalid.\",{cause:e,metaMessages:[\"This could arise when:\",\"- the `paymasterAndData` property is of an incorrect length\\n\",t&&`paymasterAndData: ${t}`].filter(Boolean),name:\"InvalidPaymasterAndDataError\"})}}Object.defineProperty(s2,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa93/});class s3 extends tN.C{constructor({cause:e}){super(\"Paymaster deposit for the User Operation is too low.\",{cause:e,metaMessages:[\"This could arise when:\",\"- the Paymaster has deposited less than the expected amount via the `deposit` function\"].filter(Boolean),name:\"PaymasterDepositTooLowError\"})}}Object.defineProperty(s3,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32508}),Object.defineProperty(s3,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa31/});class s9 extends tN.C{constructor({cause:e}){super(\"The `validatePaymasterUserOp` function on the Paymaster reverted.\",{cause:e,name:\"PaymasterFunctionRevertedError\"})}}Object.defineProperty(s9,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa33/});class s5 extends tN.C{constructor({cause:e}){super(\"The Paymaster contract has not been deployed.\",{cause:e,name:\"PaymasterNotDeployedError\"})}}Object.defineProperty(s5,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa30/});class s6 extends tN.C{constructor({cause:e}){super(\"UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.\",{cause:e,name:\"PaymasterRateLimitError\"})}}Object.defineProperty(s6,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32504});class s8 extends tN.C{constructor({cause:e}){super(\"UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.\",{cause:e,name:\"PaymasterStakeTooLowError\"})}}Object.defineProperty(s8,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32505});class s4 extends tN.C{constructor({cause:e}){super(\"Paymaster `postOp` function reverted.\",{cause:e,name:\"PaymasterPostOpFunctionRevertedError\"})}}Object.defineProperty(s4,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa50/});class s7 extends tN.C{constructor({cause:e,factory:t,factoryData:a,initCode:r}){super(\"Smart Account has already been deployed.\",{cause:e,metaMessages:[\"Remove the following properties and try again:\",t&&\"`factory`\",a&&\"`factoryData`\",r&&\"`initCode`\"].filter(Boolean),name:\"SenderAlreadyConstructedError\"})}}Object.defineProperty(s7,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa10/});class oe extends tN.C{constructor({cause:e}){super(\"UserOperation rejected because account signature check failed (or paymaster signature, if the paymaster uses its data as signature).\",{cause:e,name:\"SignatureCheckFailedError\"})}}Object.defineProperty(oe,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32507});class ot extends tN.C{constructor({cause:e}){super(\"The `validateUserOp` function on the Smart Account reverted.\",{cause:e,name:\"SmartAccountFunctionRevertedError\"})}}Object.defineProperty(ot,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa23/});class oa extends tN.C{constructor({cause:e}){super(\"UserOperation rejected because account specified unsupported signature aggregator.\",{cause:e,name:\"UnsupportedSignatureAggregatorError\"})}}Object.defineProperty(oa,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32506});class or extends tN.C{constructor({cause:e}){super(\"User Operation expired.\",{cause:e,metaMessages:[\"This could arise when:\",\"- the `validAfter` or `validUntil` values returned from `validateUserOp` on the Smart Account are not satisfied\"].filter(Boolean),name:\"UserOperationExpiredError\"})}}Object.defineProperty(or,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa22/});class on extends tN.C{constructor({cause:e}){super(\"Paymaster for User Operation expired.\",{cause:e,metaMessages:[\"This could arise when:\",\"- the `validAfter` or `validUntil` values returned from `validatePaymasterUserOp` on the Paymaster are not satisfied\"].filter(Boolean),name:\"UserOperationPaymasterExpiredError\"})}}Object.defineProperty(on,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa32/});class oi extends tN.C{constructor({cause:e}){super(\"Signature provided for the User Operation is invalid.\",{cause:e,metaMessages:[\"This could arise when:\",\"- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Smart Account\"].filter(Boolean),name:\"UserOperationSignatureError\"})}}Object.defineProperty(oi,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa24/});class os extends tN.C{constructor({cause:e}){super(\"Signature provided for the User Operation is invalid.\",{cause:e,metaMessages:[\"This could arise when:\",\"- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Paymaster\"].filter(Boolean),name:\"UserOperationPaymasterSignatureError\"})}}Object.defineProperty(os,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa34/});class oo extends tN.C{constructor({cause:e}){super(\"User Operation rejected by EntryPoint's `simulateValidation` during account creation or validation.\",{cause:e,name:\"UserOperationRejectedByEntryPointError\"})}}Object.defineProperty(oo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32500});class ol extends tN.C{constructor({cause:e}){super(\"User Operation rejected by Paymaster's `validatePaymasterUserOp`.\",{cause:e,name:\"UserOperationRejectedByPaymasterError\"})}}Object.defineProperty(ol,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32501});class oc extends tN.C{constructor({cause:e}){super(\"User Operation rejected with op code validation error.\",{cause:e,name:\"UserOperationRejectedByOpCodeError\"})}}Object.defineProperty(oc,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32502});class ou extends tN.C{constructor({cause:e}){super(\"UserOperation out of time-range: either wallet or paymaster returned a time-range, and it is already expired (or will expire soon).\",{cause:e,name:\"UserOperationOutOfTimeRangeError\"})}}Object.defineProperty(ou,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32503});class od extends tN.C{constructor({cause:e}){super(`An error occurred while executing user operation: ${e?.shortMessage}`,{cause:e,name:\"UnknownBundlerError\"})}}class oh extends tN.C{constructor({cause:e}){super(\"User Operation verification gas limit exceeded.\",{cause:e,metaMessages:[\"This could arise when:\",\"- the gas used for verification exceeded the `verificationGasLimit`\"].filter(Boolean),name:\"VerificationGasLimitExceededError\"})}}Object.defineProperty(oh,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa40/});class om extends tN.C{constructor({cause:e}){super(\"User Operation verification gas limit is too low.\",{cause:e,metaMessages:[\"This could arise when:\",\"- the `verificationGasLimit` is too low to verify the User Operation\"].filter(Boolean),name:\"VerificationGasLimitTooLowError\"})}}Object.defineProperty(om,\"message\",{enumerable:!0,configurable:!0,writable:!0,value:/aa41/});class op extends tN.C{constructor(e,{callData:t,callGasLimit:a,docsPath:r,factory:n,factoryData:i,initCode:s,maxFeePerGas:o,maxPriorityFeePerGas:l,nonce:c,paymaster:u,paymasterAndData:d,paymasterData:h,paymasterPostOpGasLimit:m,paymasterVerificationGasLimit:p,preVerificationGas:f,sender:g,signature:b,verificationGasLimit:y}){let w=(0,rs.aO)({callData:t,callGasLimit:a,factory:n,factoryData:i,initCode:s,maxFeePerGas:void 0!==o&&`${(0,ri.Q)(o)} gwei`,maxPriorityFeePerGas:void 0!==l&&`${(0,ri.Q)(l)} gwei`,nonce:c,paymaster:u,paymasterAndData:d,paymasterData:h,paymasterPostOpGasLimit:m,paymasterVerificationGasLimit:p,preVerificationGas:f,sender:g,signature:b,verificationGasLimit:y});super(e.shortMessage,{cause:e,docsPath:r,metaMessages:[...e.metaMessages?[...e.metaMessages,\" \"]:[],\"Request Arguments:\",w].filter(Boolean),name:\"UserOperationExecutionError\"}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class of extends tN.C{constructor({hash:e}){super(`User Operation receipt with hash \"${e}\" could not be found. The User Operation may not have been processed yet.`,{name:\"UserOperationReceiptNotFoundError\"})}}class og extends tN.C{constructor({hash:e}){super(`User Operation with hash \"${e}\" could not be found.`,{name:\"UserOperationNotFoundError\"})}}class ob extends tN.C{constructor({hash:e}){super(`Timed out while waiting for User Operation with hash \"${e}\" to be confirmed.`,{name:\"WaitForUserOperationReceiptTimeoutError\"})}}let oy=[sW,s0,s3,s6,s8,oe,oa,ou,oo,ol,oc];function ow(e,{calls:t,docsPath:a,...r}){return new op((()=>{let a=function(e,t){let a=(e.details||\"\").toLowerCase();if(sL.message.test(a))return new sL({cause:e});if(sK.message.test(a))return new sK({cause:e});if(sH.message.test(a))return new sH({cause:e});if(sV.message.test(a))return new sV({cause:e});if(sG.message.test(a))return new sG({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode});if(sJ.message.test(a))return new sJ({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode});if(sZ.message.test(a))return new sZ({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode,sender:t.sender});if(s$.message.test(a))return new s$({cause:e});if(sY.message.test(a))return new sY({cause:e});if(sX.message.test(a))return new sX({cause:e,nonce:t.nonce});if(sQ.message.test(a))return new sQ({cause:e});if(s1.message.test(a))return new s1({cause:e});if(s2.message.test(a))return new s2({cause:e});if(s3.message.test(a))return new s3({cause:e});if(s9.message.test(a))return new s9({cause:e});if(s5.message.test(a))return new s5({cause:e});if(s4.message.test(a))return new s4({cause:e});if(ot.message.test(a))return new ot({cause:e});if(s7.message.test(a))return new s7({cause:e,factory:t.factory,factoryData:t.factoryData,initCode:t.initCode});if(or.message.test(a))return new or({cause:e});if(on.message.test(a))return new on({cause:e});if(os.message.test(a))return new os({cause:e});if(oi.message.test(a))return new oi({cause:e});if(oh.message.test(a))return new oh({cause:e});if(om.message.test(a))return new om({cause:e});let r=e.walk(e=>oy.some(t=>t.code===e.code));if(r){if(r.code===sW.code)return new sW({cause:e,data:r.data,message:r.details});if(r.code===s0.code)return new s0({cause:e});if(r.code===s3.code)return new s3({cause:e});if(r.code===s6.code)return new s6({cause:e});if(r.code===s8.code)return new s8({cause:e});if(r.code===oe.code)return new oe({cause:e});if(r.code===oa.code)return new oa({cause:e});if(r.code===ou.code)return new ou({cause:e});if(r.code===oo.code)return new oo({cause:e});if(r.code===ol.code)return new ol({cause:e});if(r.code===oc.code)return new oc({cause:e})}return new od({cause:e})}(e,r);if(t&&a instanceof sW){let e,r=(a.walk(t=>{if(\"string\"==typeof t.data||\"string\"==typeof t.data?.revertData||!(t instanceof tN.C)&&\"string\"==typeof t.message){let a=(t.data?.revertData||t.data||t.message).match?.(/(0x[A-Za-z0-9]*)/);if(a)return e=a[1],!0}return!1}),e),n=t?.filter(e=>e.abi);if(r&&n.length>0)return function(e){let{calls:t,revertData:a}=e,{abi:r,functionName:n,args:i,to:s}=(()=>{let e=t?.filter(e=>!!e.abi);if(1===e.length)return e[0];let r=e.filter(e=>{try{return!!(0,sF.W)({abi:e.abi,data:a})}catch{return!1}});return 1===r.length?r[0]:{abi:[],functionName:e.reduce((e,t)=>`${e?`${e} | `:\"\"}${t.functionName}`,\"\"),args:void 0,to:void 0}})(),o=\"0x\"===a?new tD.rR({functionName:n}):new tD.M({abi:r,data:a,functionName:n});return new tD.bG(o,{abi:r,args:i,contractAddress:s,functionName:n})}({calls:n,revertData:r})}return a})(),{docsPath:a,...r})}var ok=a(7816);function ov(e){var t;let a={};return void 0!==e.callData&&(a.callData=e.callData),void 0!==e.callGasLimit&&(a.callGasLimit=(0,en.cK)(e.callGasLimit)),void 0!==e.factory&&(a.factory=e.factory),void 0!==e.factoryData&&(a.factoryData=e.factoryData),void 0!==e.initCode&&(a.initCode=e.initCode),void 0!==e.maxFeePerGas&&(a.maxFeePerGas=(0,en.cK)(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(a.maxPriorityFeePerGas=(0,en.cK)(e.maxPriorityFeePerGas)),void 0!==e.nonce&&(a.nonce=(0,en.cK)(e.nonce)),void 0!==e.paymaster&&(a.paymaster=e.paymaster),void 0!==e.paymasterAndData&&(a.paymasterAndData=e.paymasterAndData||\"0x\"),void 0!==e.paymasterData&&(a.paymasterData=e.paymasterData),void 0!==e.paymasterPostOpGasLimit&&(a.paymasterPostOpGasLimit=(0,en.cK)(e.paymasterPostOpGasLimit)),void 0!==e.paymasterVerificationGasLimit&&(a.paymasterVerificationGasLimit=(0,en.cK)(e.paymasterVerificationGasLimit)),void 0!==e.preVerificationGas&&(a.preVerificationGas=(0,en.cK)(e.preVerificationGas)),void 0!==e.sender&&(a.sender=e.sender),void 0!==e.signature&&(a.signature=e.signature),void 0!==e.verificationGasLimit&&(a.verificationGasLimit=(0,en.cK)(e.verificationGasLimit)),void 0!==e.authorization&&(a.eip7702Auth={address:(t=e.authorization).address,chainId:(0,en.cK)(t.chainId),nonce:(0,en.cK)(t.nonce),r:t.r?(0,en.cK)(BigInt(t.r),{size:32}):(0,ok.eV)(\"0x\",{size:32}),s:t.s?(0,en.cK)(BigInt(t.s),{size:32}):(0,ok.eV)(\"0x\",{size:32}),yParity:t.yParity?(0,en.cK)(t.yParity,{size:1}):(0,ok.eV)(\"0x\",{size:32})}),a}async function ox(e,t){let{account:a=e.account,chainId:r,nonce:n}=t;if(!a)throw new sD({docsPath:\"/docs/eip7702/prepareAuthorization\"});let i=(0,tP.J)(a),s=(()=>{if(t.executor)return\"self\"===t.executor?t.executor:(0,tP.J)(t.executor)})(),o={address:t.contractAddress??t.address,chainId:r,nonce:n};return void 0===o.chainId&&(o.chainId=e.chain?.id??await t$(e,rC,\"getChainId\")({})),void 0===o.nonce&&(o.nonce=await t$(e,rj,\"getTransactionCount\")({address:i.address,blockTag:\"pending\"}),(\"self\"===s||s?.address&&(0,tC.h)(s.address,i.address))&&(o.nonce+=1)),o}async function o_(e,t){let{chainId:a,entryPointAddress:r,context:n,...i}=t,s=ov(i),{paymasterPostOpGasLimit:o,paymasterVerificationGasLimit:l,...c}=await e.request({method:\"pm_getPaymasterData\",params:[{...s,callGasLimit:s.callGasLimit??\"0x0\",verificationGasLimit:s.verificationGasLimit??\"0x0\",preVerificationGas:s.preVerificationGas??\"0x0\"},r,(0,en.cK)(a),n]});return{...c,...o&&{paymasterPostOpGasLimit:(0,tE.uU)(o)},...l&&{paymasterVerificationGasLimit:(0,tE.uU)(l)}}}async function oj(e,t){let{chainId:a,entryPointAddress:r,context:n,...i}=t,s=ov(i),{paymasterPostOpGasLimit:o,paymasterVerificationGasLimit:l,...c}=await e.request({method:\"pm_getPaymasterStubData\",params:[{...s,callGasLimit:s.callGasLimit??\"0x0\",verificationGasLimit:s.verificationGasLimit??\"0x0\",preVerificationGas:s.preVerificationGas??\"0x0\"},r,(0,en.cK)(a),n]});return{...c,...o&&{paymasterPostOpGasLimit:(0,tE.uU)(o)},...l&&{paymasterVerificationGasLimit:(0,tE.uU)(l)}}}let oz=[\"factory\",\"fees\",\"gas\",\"paymaster\",\"nonce\",\"signature\",\"authorization\"];async function oS(e,t){let a,{account:r=e.account,parameters:n=oz,stateOverride:i}=t;if(!r)throw new sD;let s=(0,tP.J)(r),o=t.paymaster??e?.paymaster,l=\"string\"==typeof o?o:void 0,{getPaymasterStubData:c,getPaymasterData:u}=(()=>{if(!0===o)return{getPaymasterStubData:t=>t$(e,oj,\"getPaymasterStubData\")(t),getPaymasterData:t=>t$(e,o_,\"getPaymasterData\")(t)};if(\"object\"==typeof o){let{getPaymasterStubData:e,getPaymasterData:t}=o;return{getPaymasterStubData:t&&e?e:t,getPaymasterData:t&&e?t:void 0}}return{getPaymasterStubData:void 0,getPaymasterData:void 0}})(),d=t.paymasterContext?t.paymasterContext:e?.paymasterContext,h={...t,paymaster:l,sender:s.address},[m,p,f,g,b]=await Promise.all([(async()=>t.calls?s.encodeCalls(t.calls.map(e=>e.abi?{data:(0,er.p)(e),to:e.to,value:e.value}:e)):t.callData)(),(async()=>{if(!n.includes(\"factory\"))return;if(t.initCode)return{initCode:t.initCode};if(t.factory&&t.factoryData)return{factory:t.factory,factoryData:t.factoryData};let{factory:e,factoryData:a}=await s.getFactoryArgs();return\"0.6\"===s.entryPoint.version?{initCode:e&&a?(0,tW.xW)([e,a]):void 0}:{factory:e,factoryData:a}})(),(async()=>{if(n.includes(\"fees\")){if(\"bigint\"==typeof t.maxFeePerGas&&\"bigint\"==typeof t.maxPriorityFeePerGas)return h;if(e?.userOperation?.estimateFeesPerGas){let t=await e.userOperation.estimateFeesPerGas({account:s,bundlerClient:e,userOperation:h});return{...h,...t}}try{let a=e.client??e,r=await t$(a,rx,\"estimateFeesPerGas\")({chain:a.chain,type:\"eip1559\"});return{maxFeePerGas:\"bigint\"==typeof t.maxFeePerGas?t.maxFeePerGas:BigInt(2n*r.maxFeePerGas),maxPriorityFeePerGas:\"bigint\"==typeof t.maxPriorityFeePerGas?t.maxPriorityFeePerGas:BigInt(2n*r.maxPriorityFeePerGas)}}catch{return}}})(),(async()=>{if(n.includes(\"nonce\"))return\"bigint\"==typeof t.nonce?t.nonce:s.getNonce()})(),(async()=>{if(n.includes(\"authorization\")){if(\"object\"==typeof t.authorization)return t.authorization;if(s.authorization&&!await s.isDeployed())return{...await ox(s.client,s.authorization),r:\"0xfffffffffffffffffffffffffffffff000000000000000000000000000000000\",s:\"0x7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",yParity:1}}})()]);async function y(){return a||(e.chain?e.chain.id:a=await t$(e,rC,\"getChainId\")({}))}void 0!==m&&(h.callData=m),void 0!==p&&(h={...h,...p}),void 0!==f&&(h={...h,...f}),void 0!==g&&(h.nonce=g),void 0!==b&&(h.authorization=b),n.includes(\"signature\")&&(void 0!==t.signature?h.signature=t.signature:h.signature=await s.getStubSignature(h)),\"0.6\"!==s.entryPoint.version||h.initCode||(h.initCode=\"0x\");let w=!1;if(n.includes(\"paymaster\")&&c&&!l&&!t.paymasterAndData){let{isFinal:e=!1,sponsor:t,...a}=await c({chainId:await y(),entryPointAddress:s.entryPoint.address,context:d,...h});w=e,h={...h,...a}}if(\"0.6\"!==s.entryPoint.version||h.paymasterAndData||(h.paymasterAndData=\"0x\"),n.includes(\"gas\")){if(s.userOperation?.estimateGas){let e=await s.userOperation.estimateGas(h);h={...h,...e}}if(void 0===h.callGasLimit||void 0===h.preVerificationGas||void 0===h.verificationGasLimit||h.paymaster&&void 0===h.paymasterPostOpGasLimit||h.paymaster&&void 0===h.paymasterVerificationGasLimit){let t=await t$(e,oI,\"estimateUserOperationGas\")({account:s,callGasLimit:0n,preVerificationGas:0n,verificationGasLimit:0n,stateOverride:i,...h.paymaster?{paymasterPostOpGasLimit:0n,paymasterVerificationGasLimit:0n}:{},...h});h={...h,callGasLimit:h.callGasLimit??t.callGasLimit,preVerificationGas:h.preVerificationGas??t.preVerificationGas,verificationGasLimit:h.verificationGasLimit??t.verificationGasLimit,paymasterPostOpGasLimit:h.paymasterPostOpGasLimit??t.paymasterPostOpGasLimit,paymasterVerificationGasLimit:h.paymasterVerificationGasLimit??t.paymasterVerificationGasLimit}}}if(n.includes(\"paymaster\")&&u&&!l&&!t.paymasterAndData&&!w){let e=await u({chainId:await y(),entryPointAddress:s.entryPoint.address,context:d,...h});h={...h,...e}}return delete h.calls,delete h.parameters,delete h.paymasterContext,\"string\"!=typeof h.paymaster&&delete h.paymaster,h}async function oI(e,t){let{account:a=e.account,entryPointAddress:r,stateOverride:n}=t;if(!a&&!t.sender)throw new sD;let i=a?(0,tP.J)(a):void 0,s=(0,ru.yH)(n),o=i?await t$(e,oS,\"prepareUserOperation\")({...t,parameters:[\"authorization\",\"factory\",\"nonce\",\"paymaster\",\"signature\"]}):t;try{var l;let t,a=[ov(o),r??i?.entryPoint?.address];return l=await e.request({method:\"eth_estimateUserOperationGas\",params:s?[...a,s]:[...a]}),t={},l.callGasLimit&&(t.callGasLimit=BigInt(l.callGasLimit)),l.preVerificationGas&&(t.preVerificationGas=BigInt(l.preVerificationGas)),l.verificationGasLimit&&(t.verificationGasLimit=BigInt(l.verificationGasLimit)),l.paymasterPostOpGasLimit&&(t.paymasterPostOpGasLimit=BigInt(l.paymasterPostOpGasLimit)),l.paymasterVerificationGasLimit&&(t.paymasterVerificationGasLimit=BigInt(l.paymasterVerificationGasLimit)),t}catch(a){let e=t.calls;throw ow(a,{...o,...e?{calls:e}:{}})}}async function oA(e,{hash:t}){let a,r=await e.request({method:\"eth_getUserOperationByHash\",params:[t]},{dedupe:!0});if(!r)throw new og({hash:t});let{blockHash:n,blockNumber:i,entryPoint:s,transactionHash:o,userOperation:l}=r;return{blockHash:n,blockNumber:BigInt(i),entryPoint:s,transactionHash:o,userOperation:(a={...l},l.callGasLimit&&(a.callGasLimit=BigInt(l.callGasLimit)),l.maxFeePerGas&&(a.maxFeePerGas=BigInt(l.maxFeePerGas)),l.maxPriorityFeePerGas&&(a.maxPriorityFeePerGas=BigInt(l.maxPriorityFeePerGas)),l.nonce&&(a.nonce=BigInt(l.nonce)),l.paymasterPostOpGasLimit&&(a.paymasterPostOpGasLimit=BigInt(l.paymasterPostOpGasLimit)),l.paymasterVerificationGasLimit&&(a.paymasterVerificationGasLimit=BigInt(l.paymasterVerificationGasLimit)),l.preVerificationGas&&(a.preVerificationGas=BigInt(l.preVerificationGas)),l.verificationGasLimit&&(a.verificationGasLimit=BigInt(l.verificationGasLimit)),a)}}async function oE(e,{hash:t}){let a,r=await e.request({method:\"eth_getUserOperationReceipt\",params:[t]},{dedupe:!0});if(!r)throw new of({hash:t});return a={...r},r.actualGasCost&&(a.actualGasCost=BigInt(r.actualGasCost)),r.actualGasUsed&&(a.actualGasUsed=BigInt(r.actualGasUsed)),r.logs&&(a.logs=r.logs.map(e=>rJ(e))),r.receipt&&(a.receipt=r4(a.receipt)),a}async function oC(e,t){let{account:a=e.account,entryPointAddress:r}=t;if(!a&&!t.sender)throw new sD;let n=a?(0,tP.J)(a):void 0,i=n?await t$(e,oS,\"prepareUserOperation\")(t):t,s=t.signature||await n?.signUserOperation?.(i),o=ov({...i,signature:s});try{return await e.request({method:\"eth_sendUserOperation\",params:[o,r??n?.entryPoint?.address]},{retryCount:0})}catch(a){let e=t.calls;throw ow(a,{...i,...e?{calls:e}:{},signature:s})}}function oP(e){return{estimateUserOperationGas:t=>oI(e,t),getChainId:()=>rC(e),getSupportedEntryPoints:()=>e.request({method:\"eth_supportedEntryPoints\"}),getUserOperation:t=>oA(e,t),getUserOperationReceipt:t=>oE(e,t),prepareUserOperation:t=>oS(e,t),sendUserOperation:t=>oC(e,t),waitForUserOperationReceipt:t=>(function(e,t){let{hash:a,pollingInterval:r=e.pollingInterval,retryCount:n,timeout:i=12e4}=t,s=0,o=(0,sc.A)([\"waitForUserOperationReceipt\",e.uid,a]);return new Promise((t,l)=>{let c=sv(o,{resolve:t,reject:l},t=>{let o=e=>{l(),e(),c()},l=sz(async()=>{n&&s>=n&&o(()=>t.reject(new ob({hash:a})));try{let r=await t$(e,oE,\"getUserOperationReceipt\")({hash:a});o(()=>t.resolve(r))}catch(e){\"UserOperationReceiptNotFoundError\"!==e.name&&o(()=>t.reject(e))}s++},{emitOnBegin:!0,interval:r});return i&&setTimeout(()=>o(()=>t.reject(new ob({hash:a}))),i),l})})})(e,t)}}let oq=g(()=>({}));function oO(e){e.forEach(e=>{var t,a,r,n,i,s,o,l;if(!e.rpcUrl)return;let c=function(e){let{key:t=\"public\",name:a=\"Public Client\"}=e;return tT({...e,key:t,name:a,type:\"publicClient\"}).extend(sO)}({chain:{formatters:void 0,fees:void 0,serializers:void 0,...{id:e.id,rpcUrls:{default:{http:[e.rpcUrl]}},name:null!=(a=null==(t=e.nativeCurrency)?void 0:t.name)?a:\"\",nativeCurrency:{name:null!=(n=null==(r=e.nativeCurrency)?void 0:r.name)?n:\"\",symbol:null!=(s=null==(i=e.nativeCurrency)?void 0:i.symbol)?s:\"\",decimals:null!=(l=null==(o=e.nativeCurrency)?void 0:o.decimal)?l:18}}},transport:sN(e.rpcUrl)}),u=function(e){let{client:t,key:a=\"bundler\",name:r=\"Bundler Client\",paymaster:n,paymasterContext:i,transport:s,userOperation:o}=e;return Object.assign(tT({...e,chain:e.chain??t?.chain,key:a,name:r,transport:s,type:\"bundlerClient\"}),{client:t,paymaster:n,paymasterContext:i,userOperation:o}).extend(oP)}({client:c,transport:sN(e.rpcUrl)});oq.setState({[e.id]:{client:c,bundlerClient:u}})})}function oT(e){var t;return null==(t=oq.getState()[e])?void 0:t.client}let oU=g(()=>({correlationIds:new Map})),oM=e=>oU.getState().correlationIds.get(e);function oR(e){if(\"object\"!=typeof e||null===e)throw R(\"sub account info is not an object\");if(!(\"address\"in e))throw R(\"sub account is invalid\");if(\"address\"in e&&\"string\"==typeof e.address&&!(0,sm.P)(e.address))throw R(\"sub account address is invalid\");if(\"factory\"in e&&\"string\"==typeof e.factory&&!(0,sm.P)(e.factory))throw R(\"sub account factory address is invalid\");if(\"factoryData\"in e&&\"string\"==typeof e.factoryData&&!(0,tV.q)(e.factoryData))throw R(\"sub account factory data is invalid\")}async function oB(){return crypto.subtle.generateKey({name:\"ECDH\",namedCurve:\"P-256\"},!0,[\"deriveKey\"])}async function oN(e,t){return crypto.subtle.deriveKey({name:\"ECDH\",public:t},e,{name:\"AES-GCM\",length:256},!1,[\"encrypt\",\"decrypt\"])}async function oD(e,t){let a=crypto.getRandomValues(new Uint8Array(12)),r=await crypto.subtle.encrypt({name:\"AES-GCM\",iv:a},e,new TextEncoder().encode(t));return{iv:a,cipherText:r}}async function oF(e,{iv:t,cipherText:a}){let r=await crypto.subtle.decrypt({name:\"AES-GCM\",iv:t},e,a);return new TextDecoder().decode(r)}function oL(e){switch(e){case\"public\":return\"spki\";case\"private\":return\"pkcs8\"}}async function oW(e,t){let a=oL(e);return[...new Uint8Array(await crypto.subtle.exportKey(a,t))].map(e=>e.toString(16).padStart(2,\"0\")).join(\"\")}async function oK(e,t){let a=oL(e),r=new Uint8Array(t.match(/.{1,2}/g).map(e=>Number.parseInt(e,16))).buffer;return await crypto.subtle.importKey(a,new Uint8Array(r),{name:\"ECDH\",namedCurve:\"P-256\"},!0,\"private\"===e?[\"deriveKey\"]:[])}async function oH(e,t){return oD(t,JSON.stringify(e,(e,t)=>t instanceof Error?Object.assign(Object.assign({},t.code?{code:t.code}:{}),{message:t.message}):t))}async function oV(e,t){return JSON.parse(await oF(t,e))}async function oG(e,t){let a=Object.assign(Object.assign({},e),{jsonrpc:\"2.0\",id:crypto.randomUUID()}),r=await window.fetch(t,{method:\"POST\",body:JSON.stringify(a),mode:\"cors\",headers:{\"Content-Type\":\"application/json\",\"X-Cbw-Sdk-Version\":h,\"X-Cbw-Sdk-Platform\":d}}),{result:n,error:i}=await r.json();if(i)throw i;return n}var oJ=a(5314),oZ=a(2733),o$=a(1374);let oY=BigInt(0),oQ=BigInt(1);function oX(e,t=\"\"){if(\"boolean\"!=typeof e)throw Error((t&&`\"${t}\"`)+\"expected boolean, got type=\"+typeof e);return e}function o1(e,t,a=\"\"){let r=(0,o$.aY)(e),n=e?.length,i=void 0!==t;if(!r||i&&n!==t)throw Error((a&&`\"${a}\" `)+\"expected Uint8Array\"+(i?` of length ${t}`:\"\")+\", got \"+(r?`length=${n}`:`type=${typeof e}`));return e}function o0(e){let t=e.toString(16);return 1&t.length?\"0\"+t:t}function o2(e){if(\"string\"!=typeof e)throw Error(\"hex string expected, got \"+typeof e);return\"\"===e?oY:BigInt(\"0x\"+e)}function o3(e){return o2((0,o$.My)(e))}function o9(e){return(0,o$.DO)(e),o2((0,o$.My)(Uint8Array.from(e).reverse()))}function o5(e,t){return(0,o$.aT)(e.toString(16).padStart(2*t,\"0\"))}function o6(e,t){return o5(e,t).reverse()}function o8(e,t,a){let r;if(\"string\"==typeof t)try{r=(0,o$.aT)(t)}catch(t){throw Error(e+\" must be hex string or Uint8Array, cause: \"+t)}else if((0,o$.aY)(t))r=Uint8Array.from(t);else throw Error(e+\" must be hex string or Uint8Array\");let n=r.length;if(\"number\"==typeof a&&n!==a)throw Error(e+\" of length \"+a+\" expected, got \"+n);return r}let o4=e=>\"bigint\"==typeof e&&oY<=e;function o7(e){let t;for(t=0;e>oY;e>>=oQ,t+=1);return t}let le=e=>(oQ<r(e,t,!1)),Object.entries(a).forEach(([e,t])=>r(e,t,!0))}function la(e){let t=new WeakMap;return(a,...r)=>{let n=t.get(a);if(void 0!==n)return n;let i=e(a,...r);return t.set(a,i),i}}let lr=BigInt(0),ln=BigInt(1),li=BigInt(2),ls=BigInt(3),lo=BigInt(4),ll=BigInt(5),lc=BigInt(7),lu=BigInt(8),ld=BigInt(9),lh=BigInt(16);function lm(e,t){let a=e%t;return a>=lr?a:t+a}function lp(e,t){if(e===lr)throw Error(\"invert: expected non-zero number\");if(t<=lr)throw Error(\"invert: expected positive modulus, got \"+t);let a=lm(e,t),r=t,n=lr,i=ln,s=ln,o=lr;for(;a!==lr;){let e=r/a,t=r%a,l=n-s*e,c=i-o*e;r=a,a=t,n=s,i=o,s=l,o=c}if(r!==ln)throw Error(\"invert: does not exist\");return lm(n,t)}function lf(e,t,a){if(!e.eql(e.sqr(t),a))throw Error(\"Cannot find square root\")}function lg(e,t){let a=(e.ORDER+ln)/lo,r=e.pow(t,a);return lf(e,r,t),r}function lb(e,t){let a=(e.ORDER-ll)/lu,r=e.mul(t,li),n=e.pow(r,a),i=e.mul(t,n),s=e.mul(e.mul(i,li),n),o=e.mul(i,e.sub(s,e.ONE));return lf(e,o,t),o}function ly(e){if(e1e3)throw Error(\"Cannot find square root: probably non-prime P\");if(1===a)return lg;let i=n.pow(r,t),s=(t+ln)/li;return function(e,r){if(e.is0(r))return r;if(1!==lv(e,r))throw Error(\"Cannot find square root\");let n=a,o=e.mul(e.ONE,i),l=e.pow(r,t),c=e.pow(r,s);for(;!e.eql(l,e.ONE);){if(e.is0(l))return e.ZERO;let t=1,a=e.sqr(l);for(;!e.eql(a,e.ONE);)if(t++,a=e.sqr(a),t===n)throw Error(\"Cannot find square root\");let r=ln<e.is0(a)?t:(r[n]=t,e.mul(t,a)),e.ONE),i=e.inv(n);return t.reduceRight((t,a,n)=>e.is0(a)?t:(r[n]=e.mul(t,r[n]),e.mul(t,a)),i),r}function lv(e,t){let a=(e.ORDER-ln)/li,r=e.pow(t,a),n=e.eql(r,e.ONE),i=e.eql(r,e.ZERO),s=e.eql(r,e.neg(e.ONE));if(!n&&!i&&!s)throw Error(\"invalid Legendre symbol result\");return n?1:i?0:-1}function lx(e,t){void 0!==t&&(0,o$.Fe)(t);let a=void 0!==t?t:e.toString(2).length,r=Math.ceil(a/8);return{nBitLength:a,nByteLength:r}}function l_(e,t,a=!1,r={}){let n,i,s,o;if(e<=lr)throw Error(\"invalid field: expected ORDER > 0, got \"+e);let l=!1;if(\"object\"==typeof t&&null!=t){if(r.sqrt||a)throw Error(\"cannot specify opts in two arguments\");t.BITS&&(i=t.BITS),t.sqrt&&(s=t.sqrt),\"boolean\"==typeof t.isLE&&(a=t.isLE),\"boolean\"==typeof t.modFromBytes&&(l=t.modFromBytes),o=t.allowedLengths}else\"number\"==typeof t&&(i=t),r.sqrt&&(s=r.sqrt);let{nBitLength:c,nByteLength:u}=lx(e,i);if(u>2048)throw Error(\"invalid field: expected ORDER of <= 2048 bytes\");let d=Object.freeze({ORDER:e,isLE:a,BITS:c,BYTES:u,MASK:le(c),ZERO:lr,ONE:ln,allowedLengths:o,create:t=>lm(t,e),isValid:t=>{if(\"bigint\"!=typeof t)throw Error(\"invalid field element: expected bigint, got \"+typeof t);return lr<=t&&te===lr,isValidNot0:e=>!d.is0(e)&&d.isValid(e),isOdd:e=>(e&ln)===ln,neg:t=>lm(-t,e),eql:(e,t)=>e===t,sqr:t=>lm(t*t,e),add:(t,a)=>lm(t+a,e),sub:(t,a)=>lm(t-a,e),mul:(t,a)=>lm(t*a,e),pow:(e,t)=>(function(e,t,a){if(alr;)a&ln&&(r=e.mul(r,n)),n=e.sqr(n),a>>=ln;return r})(d,e,t),div:(t,a)=>lm(t*lp(a,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>lp(t,e),sqrt:s||(t=>(n||(n=function(e){if(e%lo===ls)return lg;if(e%lu===ll)return lb;if(e%lh===ld){let t,a,r,n,i,s;return t=l_(e),r=(a=ly(e))(t,t.neg(t.ONE)),n=a(t,r),i=a(t,t.neg(r)),s=(e+lc)/lh,(e,t)=>{let a=e.pow(t,s),o=e.mul(a,r),l=e.mul(a,n),c=e.mul(a,i),u=e.eql(e.sqr(o),t),d=e.eql(e.sqr(l),t);a=e.cmov(a,o,u),o=e.cmov(c,l,d);let h=e.eql(e.sqr(o),t),m=e.cmov(a,o,h);return lf(e,m,t),m}}return ly(e)}(e)),n(d,t))),toBytes:e=>a?o6(e,u):o5(e,u),fromBytes:(t,r=!0)=>{if(o){if(!o.includes(t.length)||t.length>u)throw Error(\"Field.fromBytes: expected \"+o+\" bytes, got \"+t.length);let e=new Uint8Array(u);e.set(t,a?0:e.length-t.length),t=e}if(t.length!==u)throw Error(\"Field.fromBytes: expected \"+u+\" bytes, got \"+t.length);let n=a?o9(t):o3(t);if(l&&(n=lm(n,e)),!r&&!d.isValid(n))throw Error(\"invalid field element: outside of range 0..ORDER\");return n},invertBatch:e=>lk(d,e),cmov:(e,t,a)=>a?t:e});return Object.freeze(d)}function lj(e){if(\"bigint\"!=typeof e)throw Error(\"field order must be bigint\");return Math.ceil(e.toString(2).length/8)}function lz(e){let t=lj(e);return t+Math.ceil(t/2)}let lS=BigInt(0),lI=BigInt(1);function lA(e,t){let a=t.negate();return e?a:t}function lE(e,t){let a=lk(e.Fp,t.map(e=>e.Z));return t.map((t,r)=>e.fromAffine(t.toAffine(a[r])))}function lC(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(\"invalid window size, expected [1..\"+t+\"], got W=\"+e)}function lP(e,t){lC(e,t);let a=Math.ceil(t/e)+1,r=2**(e-1),n=2**e;return{windows:a,windowSize:r,mask:le(e),maxNumber:n,shiftBy:BigInt(e)}}function lq(e,t,a){let{windowSize:r,mask:n,maxNumber:i,shiftBy:s}=a,o=Number(e&n),l=e>>s;o>r&&(o-=i,l+=lI);let c=t*r,u=c+Math.abs(o)-1,d=0===o;return{nextN:l,offset:u,isZero:d,isNeg:o<0,isNegF:t%2!=0,offsetF:c}}let lO=new WeakMap,lT=new WeakMap;function lU(e){return lT.get(e)||1}function lM(e){if(e!==lS)throw Error(\"invalid wNAF\")}class lR{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,a=this.ZERO){let r=e;for(;t>lS;)t&lI&&(a=a.add(r)),r=r.double(),t>>=lI;return a}precomputeWindow(e,t){let{windows:a,windowSize:r}=lP(t,this.bits),n=[],i=e,s=i;for(let e=0;e(e[t]=\"function\",e),{ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"number\",BITS:\"number\"})),t}let lN=(e,t)=>(e+(e>=0?t:-t)/lH)/t;function lD(e){if(![\"compact\",\"recovered\",\"der\"].includes(e))throw Error('Signature format must be \"compact\", \"recovered\", or \"der\"');return e}function lF(e,t){let a={};for(let r of Object.keys(t))a[r]=void 0===e[r]?t[r]:e[r];return oX(a.lowS,\"lowS\"),oX(a.prehash,\"prehash\"),void 0!==a.format&&lD(a.format),a}let lL={Err:class extends Error{constructor(e=\"\"){super(e)}},_tlv:{encode:(e,t)=>{let{Err:a}=lL;if(e<0||e>256)throw new a(\"tlv.encode: wrong tag\");if(1&t.length)throw new a(\"tlv.encode: unpadded data\");let r=t.length/2,n=o0(r);if(n.length/2&128)throw new a(\"tlv.encode: long form length too big\");let i=r>127?o0(n.length/2|128):\"\";return o0(e)+i+n+t},decode(e,t){let{Err:a}=lL,r=0;if(e<0||e>256)throw new a(\"tlv.encode: wrong tag\");if(t.length<2||t[r++]!==e)throw new a(\"tlv.decode: wrong tlv\");let n=t[r++],i=0;if(128&n){let e=127&n;if(!e)throw new a(\"tlv.decode(long): indefinite length not supported\");if(e>4)throw new a(\"tlv.decode(long): byte length is too big\");let s=t.subarray(r,r+e);if(s.length!==e)throw new a(\"tlv.decode: length bytes not complete\");if(0===s[0])throw new a(\"tlv.decode(long): zero leftmost byte\");for(let e of s)i=i<<8|e;if(r+=e,i<128)throw new a(\"tlv.decode(long): not minimal encoding\")}else i=n;let s=t.subarray(r,r+i);if(s.length!==i)throw new a(\"tlv.decode: wrong value length\");return{v:s,l:t.subarray(r+i)}}},_int:{encode(e){let{Err:t}=lL;if(e(function(e){let t,{CURVE:a,curveOpts:r,hash:n,ecdsaOpts:i}=function(e){let t,a,r,n,{CURVE:i,curveOpts:s}=(t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},a=e.Fp,r=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(e=>Math.ceil(e/2)))):void 0,n={Fp:a,Fn:l_(t.n,{BITS:e.nBitLength,allowedLengths:r,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes},{CURVE:t,curveOpts:n}),o={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:i,curveOpts:s,hash:e.hash,ecdsaOpts:o}}(e),s=function(e,t,a={}){(0,o$.sd)(t),lt(a,{},{hmac:\"function\",lowS:\"boolean\",randomBytes:\"function\",bits2int:\"function\",bits2int_modN:\"function\"});let r=a.randomBytes||o$.po,n=a.hmac||((e,...a)=>(0,oZ.w)(t,e,(0,o$.Id)(...a))),{Fp:i,Fn:s}=e,{ORDER:o,BITS:l}=s,{keygen:c,getPublicKey:u,getSharedSecret:d,utils:h,lengths:m}=function(e,t={}){let{Fn:a}=e,r=t.randomBytes||o$.po,n=Object.assign(l$(e.Fp,a),{seed:lz(a.ORDER)});function i(e){try{return!!lJ(a,e)}catch(e){return!1}}function s(e=r(n.seed)){return function(e,t,a=!1){let r=e.length,n=lj(t),i=lz(t);if(r<16||r1024)throw Error(\"expected \"+i+\"-1024 bytes of input, got \"+r);let s=lm(a?o9(e):o3(e),t-ln)+ln;return a?o6(s,n):o5(s,n)}(o1(e,n.seed,\"seed\"),a.ORDER)}function o(t,r=!0){return e.BASE.multiply(lJ(a,t)).toBytes(r)}function l(t){if(\"bigint\"==typeof t)return!1;if(t instanceof e)return!0;let{secretKey:r,publicKey:i,publicKeyUncompressed:s}=n;if(a.allowedLengths||r===i)return;let o=o8(\"key\",t).length;return o===i||o===s}return Object.freeze({getPublicKey:o,getSharedSecret:function(t,r,n=!0){if(!0===l(t))throw Error(\"first arg must be private key\");if(!1===l(r))throw Error(\"second arg must be public key\");let i=lJ(a,t);return e.fromHex(r).multiply(i).toBytes(n)},keygen:function(e){let t=s(e);return{secretKey:t,publicKey:o(t)}},Point:e,utils:{isValidSecretKey:i,isValidPublicKey:function(t,a){let{publicKey:r,publicKeyUncompressed:i}=n;try{let n=t.length;if(!0===a&&n!==r||!1===a&&n!==i)return!1;return!!e.fromBytes(t)}catch(e){return!1}},randomSecretKey:s,isValidPrivateKey:i,randomPrivateKey:s,normPrivateKeyToScalar:e=>lJ(a,e),precompute:(t=8,a=e.BASE)=>a.precompute(t,!1)},lengths:n})}(e,a),p={prehash:!1,lowS:\"boolean\"==typeof a.lowS&&a.lowS,format:void 0,extraEntropy:!1},f=\"compact\";function g(e,t){if(!s.isValidNot0(t))throw Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}class b{constructor(e,t,a){this.r=g(\"r\",e),this.s=g(\"s\",t),null!=a&&(this.recovery=a),Object.freeze(this)}static fromBytes(e,t=f){var a,r;let n,i;if(a=e,lD(r=t),i=m.signature,o1(a,\"compact\"===r?i:\"recovered\"===r?i+1:void 0,`${r} signature`),\"der\"===t){let{r:t,s:a}=lL.toSig(o1(e));return new b(t,a)}\"recovered\"===t&&(n=e[0],t=\"compact\",e=e.subarray(1));let o=s.BYTES,l=e.subarray(0,o),c=e.subarray(o,2*o);return new b(s.fromBytes(l),s.fromBytes(c),n)}static fromHex(e,t){return this.fromBytes((0,o$.aT)(e),t)}addRecoveryBit(e){return new b(this.r,this.s,e)}recoverPublicKey(t){let a=i.ORDER,{r,s:n,recovery:l}=this;if(null==l||![0,1,2,3].includes(l))throw Error(\"recovery id invalid\");if(o*lH1)throw Error(\"recovery id is ambiguous for h>1 curve\");let c=2===l||3===l?r+o:r;if(!i.isValid(c))throw Error(\"recovery id 2 or 3 invalid\");let u=i.toBytes(c),d=e.fromBytes((0,o$.Id)(lZ((1&l)==0),u)),h=s.inv(c),m=w(o8(\"msgHash\",t)),p=s.create(-m*h),f=s.create(n*h),g=e.BASE.multiplyUnsafe(p).add(d.multiplyUnsafe(f));if(g.is0())throw Error(\"point at infinify\");return g.assertValidity(),g}hasHighS(){return this.s>o>>lK}toBytes(e=f){if(lD(e),\"der\"===e)return(0,o$.aT)(lL.hexFromSig(this));let t=s.toBytes(this.r),a=s.toBytes(this.s);if(\"recovered\"===e){if(null==this.recovery)throw Error(\"recovery bit must be present\");return(0,o$.Id)(Uint8Array.of(this.recovery),t,a)}return(0,o$.Id)(t,a)}toHex(e){return(0,o$.My)(this.toBytes(e))}assertValidity(){}static fromCompact(e){return b.fromBytes(o8(\"sig\",e),\"compact\")}static fromDER(e){return b.fromBytes(o8(\"sig\",e),\"der\")}normalizeS(){return this.hasHighS()?new b(this.r,s.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes(\"der\")}toDERHex(){return(0,o$.My)(this.toBytes(\"der\"))}toCompactRawBytes(){return this.toBytes(\"compact\")}toCompactHex(){return(0,o$.My)(this.toBytes(\"compact\"))}}let y=a.bits2int||function(e){if(e.length>8192)throw Error(\"input is too large\");let t=o3(e),a=8*e.length-l;return a>0?t>>BigInt(a):t},w=a.bits2int_modN||function(e){return s.create(y(e))},k=le(l);function v(e){return!function(e,t,a,r){if(!(o4(t)&&o4(a)&&o4(r))||!(a<=t)||!(te in n))throw Error(\"sign() legacy options not supported\");let{lowS:i,prehash:l,extraEntropy:c}=lF(n,p),u=w(t=x(t,l)),d=lJ(s,a),h=[v(d),v(u)];if(null!=c&&!1!==c){let e=!0===c?r(m.secretKey):c;h.push(o8(\"extraEntropy\",e))}return{seed:(0,o$.Id)(...h),k2sig:function(t){let a=y(t);if(!s.isValidNot0(a))return;let r=s.inv(a),n=e.BASE.multiply(a).toAffine(),l=s.create(n.x);if(l===lW)return;let c=s.create(r*s.create(u+l*d));if(c===lW)return;let h=2*(n.x!==l)|Number(n.y&lK),m=c;return i&&c>o>>lK&&(m=s.neg(c),h^=1),new b(l,m,h)}}}(a=o8(\"message\",a),i,l);return(function(e,t,a){if(\"number\"!=typeof e||e<2)throw Error(\"hashLen must be a number\");if(\"number\"!=typeof t||t<2)throw Error(\"qByteLen must be a number\");if(\"function\"!=typeof a)throw Error(\"hmacFn must be a function\");let r=e=>new Uint8Array(e),n=r(e),i=r(e),s=0,o=()=>{n.fill(1),i.fill(0),s=0},l=(...e)=>a(i,n,...e),c=(e=r(0))=>{(i=l(Uint8Array.of(0),e),n=l(),0!==e.length)&&(i=l(Uint8Array.of(1),e),n=l())},u=()=>{if(s++>=1e3)throw Error(\"drbg: tried 1000 values\");let e=0,a=[];for(;e{let a;for(o(),c(e);!(a=t(u()));)c();return o(),a}})(t.outputLen,s.BYTES,n)(c,u)},verify:function(t,a,r,n={}){let{lowS:i,prehash:o,format:l}=lF(n,p);if(r=o8(\"publicKey\",r),a=x(o8(\"message\",a),o),\"strict\"in n)throw Error(\"options.strict was renamed to lowS\");let c=void 0===l?function(e){let t,a=\"string\"==typeof e||(0,o$.aY)(e),r=!a&&null!==e&&\"object\"==typeof e&&\"bigint\"==typeof e.r&&\"bigint\"==typeof e.s;if(!a&&!r)throw Error(\"invalid signature, expected Uint8Array, hex string or Signature instance\");if(r)t=new b(e.r,e.s);else if(a){try{t=b.fromBytes(o8(\"sig\",e),\"der\")}catch(e){if(!(e instanceof lL.Err))throw e}if(!t)try{t=b.fromBytes(o8(\"sig\",e),\"compact\")}catch(e){return!1}}return!!t&&t}(t):b.fromBytes(o8(\"sig\",t),l);if(!1===c)return!1;try{let t=e.fromBytes(r);if(i&&c.hasHighS())return!1;let{r:n,s:o}=c,l=w(a),u=s.inv(o),d=s.create(l*u),h=s.create(n*u),m=e.BASE.multiplyUnsafe(d).add(t.multiplyUnsafe(h));if(m.is0())return!1;return s.create(m.x)===n}catch(e){return!1}},recoverPublicKey:function(e,t,a={}){let{prehash:r}=lF(a,p);return t=x(t,r),b.fromBytes(e,\"recovered\").recoverPublicKey(t).toBytes()},Signature:b,hash:t})}(function(e,t={}){let a=function(e,t,a={},r){if(void 0===r&&(r=\"edwards\"===e),!t||\"object\"!=typeof t)throw Error(`expected valid ${e} CURVE object`);for(let e of[\"p\",\"n\",\"h\"]){let a=t[e];if(!(\"bigint\"==typeof a&&a>lS))throw Error(`CURVE.${e} must be positive bigint`)}let n=lB(t.p,a.Fp,r),i=lB(t.n,a.Fn,r);for(let a of[\"Gx\",\"Gy\",\"a\",\"weierstrass\"===e?\"b\":\"d\"])if(!n.isValid(t[a]))throw Error(`CURVE.${a} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:n,Fn:i}}(\"weierstrass\",e,t),{Fp:r,Fn:n}=a,i=a.CURVE,{h:s,n:o}=i;lt(t,{},{allowInfinityPoint:\"boolean\",clearCofactor:\"function\",isTorsionFree:\"function\",fromBytes:\"function\",toBytes:\"function\",endo:\"object\",wrapPrivateKey:\"boolean\"});let{endo:l}=t;if(l&&(!r.is0(i.a)||\"bigint\"!=typeof l.beta||!Array.isArray(l.basises)))throw Error('invalid endo: expected \"beta\": bigint and \"basises\": array');let c=l$(r,n);function u(){if(!r.isOdd)throw Error(\"compression is not supported: Field does not have .isOdd()\")}let d=t.toBytes||function(e,t,a){let{x:n,y:i}=t.toAffine(),s=r.toBytes(n);if(oX(a,\"isCompressed\"),!a)return(0,o$.Id)(Uint8Array.of(4),s,r.toBytes(i));{u();let e=!r.isOdd(i);return(0,o$.Id)(lZ(e),s)}},h=t.fromBytes||function(e){o1(e,void 0,\"Point\");let{publicKey:t,publicKeyUncompressed:a}=c,n=e.length,i=e[0],s=e.subarray(1);if(n===t&&(2===i||3===i)){let e,t=r.fromBytes(s);if(!r.isValid(t))throw Error(\"bad point: is not on curve, wrong x\");let a=m(t);try{e=r.sqrt(a)}catch(e){throw Error(\"bad point: is not on curve, sqrt error\"+(e instanceof Error?\": \"+e.message:\"\"))}return u(),(1&i)==1!==r.isOdd(e)&&(e=r.neg(e)),{x:t,y:e}}if(n===a&&4===i){let e=r.BYTES,t=r.fromBytes(s.subarray(0,e)),a=r.fromBytes(s.subarray(e,2*e));if(!p(t,a))throw Error(\"bad point: is not on curve\");return{x:t,y:a}}throw Error(`bad point: got length ${n}, expected compressed=${t} or uncompressed=${a}`)};function m(e){let t=r.sqr(e),a=r.mul(t,e);return r.add(r.add(a,r.mul(e,i.a)),i.b)}function p(e,t){let a=r.sqr(t),n=m(e);return r.eql(a,n)}if(!p(i.Gx,i.Gy))throw Error(\"bad curve params: generator point\");let f=r.mul(r.pow(i.a,lV),lG),g=r.mul(r.sqr(i.b),BigInt(27));if(r.is0(r.add(f,g)))throw Error(\"bad curve params: a or b\");function b(e,t,a=!1){if(!r.isValid(t)||a&&r.is0(t))throw Error(`bad point coordinate ${e}`);return t}function y(e){if(!(e instanceof _))throw Error(\"ProjectivePoint expected\")}function w(e){if(!l||!l.basises)throw Error(\"no endo\");return function(e,t,a){let[[r,n],[i,s]]=t,o=lN(s*e,a),l=lN(-n*e,a),c=e-o*r-l*i,u=-o*n-l*s,d=c=m||u=m)throw Error(\"splitScalar (endomorphism): failed, k=\"+e);return{k1neg:d,k1:c,k2neg:h,k2:u}}(e,l.basises,n.ORDER)}let k=la((e,t)=>{let{X:a,Y:n,Z:i}=e;if(r.eql(i,r.ONE))return{x:a,y:n};let s=e.is0();null==t&&(t=s?r.ONE:r.inv(i));let o=r.mul(a,t),l=r.mul(n,t),c=r.mul(i,t);if(s)return{x:r.ZERO,y:r.ZERO};if(!r.eql(c,r.ONE))throw Error(\"invZ was invalid\");return{x:o,y:l}}),v=la(e=>{if(e.is0()){if(t.allowInfinityPoint&&!r.is0(e.Y))return;throw Error(\"bad point: ZERO\")}let{x:a,y:n}=e.toAffine();if(!r.isValid(a)||!r.isValid(n))throw Error(\"bad point: x or y not field elements\");if(!p(a,n))throw Error(\"bad point: equation left != right\");if(!e.isTorsionFree())throw Error(\"bad point: not in prime-order subgroup\");return!0});function x(e,t,a,n,i){return a=new _(r.mul(a.X,e),a.Y,a.Z),t=lA(n,t),a=lA(i,a),t.add(a)}class _{constructor(e,t,a){this.X=b(\"x\",e),this.Y=b(\"y\",t,!0),this.Z=b(\"z\",a),Object.freeze(this)}static CURVE(){return i}static fromAffine(e){let{x:t,y:a}=e||{};if(!e||!r.isValid(t)||!r.isValid(a))throw Error(\"invalid affine point\");if(e instanceof _)throw Error(\"projective point not allowed\");return r.is0(t)&&r.is0(a)?_.ZERO:new _(t,a,r.ONE)}static fromBytes(e){let t=_.fromAffine(h(o1(e,void 0,\"point\")));return t.assertValidity(),t}static fromHex(e){return _.fromBytes(o8(\"pointHex\",e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return z.createCache(this,e),t||this.multiply(lV),this}assertValidity(){v(this)}hasEvenY(){let{y:e}=this.toAffine();if(!r.isOdd)throw Error(\"Field doesn't support isOdd\");return!r.isOdd(e)}equals(e){y(e);let{X:t,Y:a,Z:n}=this,{X:i,Y:s,Z:o}=e,l=r.eql(r.mul(t,o),r.mul(i,n)),c=r.eql(r.mul(a,o),r.mul(s,n));return l&&c}negate(){return new _(this.X,r.neg(this.Y),this.Z)}double(){let{a:e,b:t}=i,a=r.mul(t,lV),{X:n,Y:s,Z:o}=this,l=r.ZERO,c=r.ZERO,u=r.ZERO,d=r.mul(n,n),h=r.mul(s,s),m=r.mul(o,o),p=r.mul(n,s);return p=r.add(p,p),u=r.mul(n,o),u=r.add(u,u),l=r.mul(e,u),c=r.mul(a,m),c=r.add(l,c),l=r.sub(h,c),c=r.add(h,c),c=r.mul(l,c),l=r.mul(p,l),u=r.mul(a,u),m=r.mul(e,m),p=r.sub(d,m),p=r.mul(e,p),p=r.add(p,u),u=r.add(d,d),d=r.add(u,d),d=r.add(d,m),d=r.mul(d,p),c=r.add(c,d),m=r.mul(s,o),m=r.add(m,m),d=r.mul(m,p),l=r.sub(l,d),u=r.mul(m,h),u=r.add(u,u),new _(l,c,u=r.add(u,u))}add(e){y(e);let{X:t,Y:a,Z:n}=this,{X:s,Y:o,Z:l}=e,c=r.ZERO,u=r.ZERO,d=r.ZERO,h=i.a,m=r.mul(i.b,lV),p=r.mul(t,s),f=r.mul(a,o),g=r.mul(n,l),b=r.add(t,a),w=r.add(s,o);b=r.mul(b,w),w=r.add(p,f),b=r.sub(b,w),w=r.add(t,n);let k=r.add(s,l);return w=r.mul(w,k),k=r.add(p,g),w=r.sub(w,k),k=r.add(a,n),c=r.add(o,l),k=r.mul(k,c),c=r.add(f,g),k=r.sub(k,c),d=r.mul(h,w),c=r.mul(m,g),d=r.add(c,d),c=r.sub(f,d),d=r.add(f,d),u=r.mul(c,d),f=r.add(p,p),f=r.add(f,p),g=r.mul(h,g),w=r.mul(m,w),f=r.add(f,g),g=r.sub(p,g),g=r.mul(h,g),w=r.add(w,g),p=r.mul(f,w),u=r.add(u,p),p=r.mul(k,w),c=r.mul(b,c),c=r.sub(c,p),p=r.mul(b,f),d=r.mul(k,d),new _(c,u,d=r.add(d,p))}subtract(e){return this.add(e.negate())}is0(){return this.equals(_.ZERO)}multiply(e){let a,r,{endo:i}=t;if(!n.isValidNot0(e))throw Error(\"invalid scalar: out of range\");let s=e=>z.cached(this,e,e=>lE(_,e));if(i){let{k1neg:t,k1:n,k2neg:o,k2:l}=w(e),{p:c,f:u}=s(n),{p:d,f:h}=s(l);r=u.add(h),a=x(i.beta,c,d,t,o)}else{let{p:t,f:n}=s(e);a=t,r=n}return lE(_,[a,r])[0]}multiplyUnsafe(e){let{endo:a}=t;if(!n.isValid(e))throw Error(\"invalid scalar: out of range\");if(e===lW||this.is0())return _.ZERO;if(e===lK)return this;if(z.hasCache(this))return this.multiply(e);if(!a)return z.unsafe(this,e);{let{k1neg:t,k1:r,k2neg:n,k2:i}=w(e),{p1:s,p2:o}=function(e,t,a,r){let n=t,i=e.ZERO,s=e.ZERO;for(;a>lS||r>lS;)a&lI&&(i=i.add(n)),r&lI&&(s=s.add(n)),n=n.double(),a>>=lI,r>>=lI;return{p1:i,p2:s}}(_,this,r,i);return x(a.beta,s,o,t,n)}}multiplyAndAddUnsafe(e,t,a){let r=this.multiplyUnsafe(t).add(e.multiplyUnsafe(a));return r.is0()?void 0:r}toAffine(e){return k(this,e)}isTorsionFree(){let{isTorsionFree:e}=t;return s===lK||(e?e(_,this):z.unsafe(this,o).is0())}clearCofactor(){let{clearCofactor:e}=t;return s===lK?this:e?e(_,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(e=!0){return oX(e,\"isCompressed\"),this.assertValidity(),d(_,this,e)}toHex(e=!0){return(0,o$.My)(this.toBytes(e))}toString(){return``}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return lE(_,e)}static msm(e,t){return function(e,t,a,r){if(!Array.isArray(a))throw Error(\"array expected\");a.forEach((t,a)=>{if(!(t instanceof e))throw Error(\"invalid point at index \"+a)});if(!Array.isArray(r))throw Error(\"array of scalars expected\");r.forEach((e,a)=>{if(!t.isValid(e))throw Error(\"invalid scalar at index \"+a)});let n=a.length,i=r.length;if(n!==i)throw Error(\"arrays of points and scalars must have equal length\");let s=e.ZERO,o=o7(BigInt(n)),l=1;o>12?l=o-3:o>4?l=o-2:o>0&&(l=2);let c=le(l),u=Array(Number(c)+1).fill(s),d=Math.floor((t.BITS-1)/l)*l,h=s;for(let e=d;e>=0;e-=l){u.fill(s);for(let t=0;t>BigInt(e)&c);u[n]=u[n].add(a[t])}let t=s;for(let e=u.length-1,a=s;e>0;e--)a=a.add(u[e]),t=t.add(a);if(h=h.add(t),0!==e)for(let e=0;e{if(t.cause instanceof l5){if(t.cause.details)return t.cause.details;if(t.cause.shortMessage)return t.cause.shortMessage}return t.cause?.message?t.cause.message:t.details})(),r=t.cause instanceof l5&&t.cause.docsPath||t.docsPath,n=`https://oxlib.sh${r??\"\"}`;super([e||\"An error occurred.\",...t.metaMessages?[\"\",...t.metaMessages]:[],...a||r?[\"\",a?`Details: ${a}`:void 0,r?`See: ${n}`:void 0]:[]].filter(e=>\"string\"==typeof e).join(\"\\n\"),t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"BaseError\"}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:\"ox@0.1.1\"}),this.cause=t.cause,this.details=a,this.docs=n,this.docsPath=r,this.shortMessage=e}walk(e){return function e(t,a){return a?.(t)?t:t&&\"object\"==typeof t&&\"cause\"in t&&t.cause?e(t.cause,a):a?null:t}(this,e)}}function l6(e,t,a){return JSON.stringify(e,(e,a)=>\"function\"==typeof t?t(e,a):\"bigint\"==typeof a?a.toString()+\"#__bigint\":a,a)}function l8(e,t){if(cl(e)>t)throw new ch({givenSize:cl(e),maxSize:t})}function l4(e,t={}){let{dir:a,size:r=32}=t;if(0===r)return e;let n=e.replace(\"0x\",\"\");if(n.length>2*r)throw new cp({size:Math.ceil(n.length/2),targetSize:r,type:\"Hex\"});return`0x${n[\"right\"===a?\"padEnd\":\"padStart\"](2*r,\"0\")}`}let l7=new TextEncoder,ce=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));function ct(...e){return`0x${e.reduce((e,t)=>e+t.replace(\"0x\",\"\"),\"\")}`}function ca(e){return e instanceof Uint8Array?cr(e):Array.isArray(e)?cr(new Uint8Array(e)):e}function cr(e,t={}){let a=\"\";for(let t=0;tr||s0&&t>cl(e)-1)throw new cm({offset:t,position:\"start\",size:cl(e)});let i=`0x${e.replace(\"0x\",\"\").slice((t??0)*2,(a??e.length)*2)}`;return n&&function(e,t,a){if(\"number\"==typeof t&&\"number\"==typeof a&&cl(e)!==a-t)throw new cm({offset:a,position:\"end\",size:cl(e)})}(i,t,a),i}function cl(e){return Math.ceil((e.length-2)/2)}class cc extends l5{constructor({max:e,min:t,signed:a,size:r,value:n}){super(`Number \\`${n}\\` is not in safe${r?` ${8*r}-bit`:\"\"}${a?\" signed\":\" unsigned\"} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.IntegerOutOfRangeError\"})}}class cu extends l5{constructor(e){super(`Value \\`${\"object\"==typeof e?l6(e):e}\\` of type \\`${typeof e}\\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `\"0x${string}\"`.']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.InvalidHexTypeError\"})}}class cd extends l5{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.InvalidHexValueError\"})}}class ch extends l5{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.SizeOverflowError\"})}}class cm extends l5{constructor({offset:e,position:t,size:a}){super(`Slice ${\"start\"===t?\"starting\":\"ending\"} at offset \\`${e}\\` is out-of-bounds (size: \\`${a}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.SliceOffsetOutOfBoundsError\"})}}class cp extends l5{constructor({size:e,targetSize:t,type:a}){super(`${a.charAt(0).toUpperCase()}${a.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.SizeExceedsPaddingSizeError\"})}}function cf(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function cg(e){return e instanceof Uint8Array?e:\"string\"==typeof e?cy(e):cb(e)}function cb(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function cy(e,t={}){let{size:a}=t,r=e;a&&(l8(e,a),r=cs(e,a));let n=r.slice(2);n.length%2&&(n=`0${n}`);let i=n.length/2,s=new Uint8Array(i);for(let e=0,t=0;e0&&t>cw(e)-1)throw new cj({offset:t,position:\"start\",size:cw(e)});let i=e.slice(t,a);return n&&function(e,t,a){if(\"number\"==typeof t&&\"number\"==typeof a&&cw(e)!==a-t)throw new cj({offset:a,position:\"end\",size:cw(e)})}(i,t,a),i}function cv(e,t={}){let{size:a}=t;return void 0!==a&&function(e,t){if(cw(e)>t)throw new c_({givenSize:cw(e),maxSize:t})}(e,a),function(e,t={}){let{signed:a}=t;t.size&&l8(e,t.size);let r=BigInt(e);if(!a)return r;let n=(1n<<8n*BigInt((e.length-2)/2))-1n;return r<=n>>1n?r:r-n-1n}(cr(e,t),t)}class cx extends l5{constructor(e){super(`Value \\`${\"object\"==typeof e?l6(e):e}\\` of type \\`${typeof e}\\` is an invalid Bytes value.`,{metaMessages:[\"Bytes values must be of type `Bytes`.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Bytes.InvalidBytesTypeError\"})}}class c_ extends l5{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Bytes.SizeOverflowError\"})}}class cj extends l5{constructor({offset:e,position:t,size:a}){super(`Slice ${\"start\"===t?\"starting\":\"ending\"} at offset \\`${e}\\` is out-of-bounds (size: \\`${a}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Bytes.SliceOffsetOutOfBoundsError\"})}}function cz(e,t={}){let{compressed:a}=t,{prefix:r,x:n,y:i}=e;if(!1===a||\"bigint\"==typeof n&&\"bigint\"==typeof i){if(4!==r)throw new cE({prefix:r,cause:new cP});return}if(!0===a||\"bigint\"==typeof n&&void 0===i){if(3!==r&&2!==r)throw new cE({prefix:r,cause:new cC});return}throw new cA({publicKey:e})}function cS(e){if(132!==e.length&&130!==e.length&&68!==e.length)throw new cq({publicKey:e});if(130===e.length)return{prefix:4,x:BigInt(co(e,0,32)),y:BigInt(co(e,32,64))};if(132===e.length){let t=Number(co(e,0,1));return{prefix:t,x:BigInt(co(e,1,33)),y:BigInt(co(e,33,65))}}return{prefix:Number(co(e,0,1)),x:BigInt(co(e,1,33))}}function cI(e,t={}){cz(e);let{prefix:a,x:r,y:n}=e,{includePrefix:i=!0}=t;return ct(i?cn(a,{size:1}):\"0x\",cn(r,{size:32}),\"bigint\"==typeof n?cn(n,{size:32}):\"0x\")}class cA extends l5{constructor({publicKey:e}){super(`Value \\`${l6(e)}\\` is not a valid public key.`,{metaMessages:[\"Public key must contain:\",\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"PublicKey.InvalidError\"})}}class cE extends l5{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"PublicKey.InvalidPrefixError\"})}}class cC extends l5{constructor(){super(\"Prefix must be 2 or 3 for compressed public keys.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"PublicKey.InvalidCompressedPrefixError\"})}}class cP extends l5{constructor(){super(\"Prefix must be 4 for uncompressed public keys.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"PublicKey.InvalidUncompressedPrefixError\"})}}class cq extends l5{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[\"Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).\",`Received ${cl(ca(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"PublicKey.InvalidSerializedSizeError\"})}}async function cO(e={}){var t;let a,{extractable:r=!1}=e,n=await globalThis.crypto.subtle.generateKey({name:\"ECDSA\",namedCurve:\"P-256\"},r,[\"sign\",\"verify\"]),i=(t=new Uint8Array(await globalThis.crypto.subtle.exportKey(\"raw\",n.publicKey)),cz(a=(()=>{if(function(e,t={}){let{strict:a=!1}=t;try{return!function(e,t={}){let{strict:a=!1}=t;if(!e||\"string\"!=typeof e)throw new cu(e);if(a&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(\"0x\"))throw new cd(e)}(e,{strict:a}),!0}catch{return!1}}(t))return cS(t);if(function(e){try{if(!(e instanceof Uint8Array)&&(!e||\"object\"!=typeof e||!(\"BYTES_PER_ELEMENT\"in e)||1!==e.BYTES_PER_ELEMENT||\"Uint8Array\"!==e.constructor.name))throw new cx(e);return!0}catch{return!1}}(t))return cS(cr(t));let{prefix:e,x:a,y:r}=t;return\"bigint\"==typeof a&&\"bigint\"==typeof r?{prefix:e??4,x:a,y:r}:{prefix:e,x:a}})()),a);return{privateKey:n.privateKey,publicKey:i}}async function cT(e){let{payload:t,privateKey:a}=e,r=cb(new Uint8Array(await globalThis.crypto.subtle.sign({name:\"ECDSA\",hash:\"SHA-256\"},a,cg(t)))),n=cv(ck(r,0,32)),i=cv(ck(r,32,64));return i>l9.CURVE.n/2n&&(i=l9.CURVE.n-i),{r:n,s:i}}let cU=new TextDecoder,cM=Object.fromEntries(Array.from(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\").map((e,t)=>[t,e.charCodeAt(0)]));function cR(e,t={}){let{as:a=\"string\"==typeof e?\"Hex\":\"Bytes\"}=t,r=(0,rI.sc)(cg(e));return\"Bytes\"===a?r:cr(r)}({...Object.fromEntries(Array.from(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\").map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63}),Uint8Array.from([105,171,180,181,160,222,75,198,42,42,32,31,141,37,186,233]);let cB=2n**256n-1n;function cN(e){if(130!==e.length&&132!==e.length)throw new cD({signature:e});let t=BigInt(co(e,0,32)),a=BigInt(co(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{var a=t;if(0===a||27===a)return 0;if(1===a||28===a)return 1;if(a>=35)return+(a%2==0);throw new cH({value:a})}catch{throw new cK({value:t})}})();return void 0===r?{r:t,s:a}:{r:t,s:a,yParity:r}}class cD extends l5{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[\"Expected: 64 bytes or 65 bytes.\",`Received ${cl(ca(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.InvalidSerializedSizeError\"})}}class cF extends l5{constructor({signature:e}){super(`Signature \\`${l6(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.MissingPropertiesError\"})}}class cL extends l5{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.InvalidRError\"})}}class cW extends l5{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.InvalidSError\"})}}class cK extends l5{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.InvalidYParityError\"})}}class cH extends l5{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Signature.InvalidVError\"})}}function cV(e){return new Promise((t,a)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>a(e.error)})}function cG(e,t){let a=indexedDB.open(e);a.onupgradeneeded=()=>a.result.createObjectStore(t);let r=cV(a);return(e,a)=>r.then(r=>a(r.transaction(t,e).objectStore(t)))}function cJ(){return n||(n=cG(\"keyval-store\",\"keyval\")),n}let cZ=\"activeId\",c$=(l=\"u\">typeof indexedDB?cG(\"base-acc-sdk\",\"keys\"):void 0,{getItem:async e=>{let t=await function(e,t=cJ()){return t(\"readonly\",t=>cV(t.get(e)))}(e,l);return t||null},removeItem:async e=>(function(e,t=cJ()){return t(\"readwrite\",t=>(t.delete(e),cV(t.transaction)))})(e,l),setItem:async(e,t)=>(function(e,t,a=cJ()){return a(\"readwrite\",a=>(a.put(t,e),cV(a.transaction)))})(e,t,l)});async function cY(){let e=await cO({extractable:!1}),t=co(cI(e.publicKey),1);return await c$.setItem(t,e),await c$.setItem(cZ,t),e}async function cQ(){let e=await c$.getItem(cZ);if(!e)return null;let t=await c$.getItem(e);return t||null}async function cX(){let e=await cQ();if(!e){let e=await cY(),t=co(cI(e.publicKey),1);return await c$.setItem(t,e),await c$.setItem(cZ,t),e}return e}async function c1(){let e=await cX(),t=co(cI(e.publicKey),1),a=async t=>{var a;let r,n,{payload:i,metadata:s}=function(e){let{challenge:t,crossOrigin:a,extraClientData:r,flag:n,origin:i,rpId:s,signCount:o,userVerification:l=\"required\"}=e,c=function(e={}){let{flag:t=5,rpId:a=window.location.hostname,signCount:r=0}=e;return ct(cR(ci(a)),cn(t,{size:1}),cn(r,{size:4}))}({flag:n,rpId:s,signCount:o}),u=function(e){let{challenge:t,crossOrigin:a=!1,extraClientData:r,origin:n=window.location.origin}=e;return JSON.stringify({type:\"webauthn.get\",challenge:function(e,t={}){return function(e,t={}){let{pad:a=!0,url:r=!1}=t,n=new Uint8Array(4*Math.ceil(e.length/3));for(let t=0,a=0;a>18],n[t+1]=cM[r>>12&63],n[t+2]=cM[r>>6&63],n[t+3]=cM[63&r]}let i=e.length%3,s=4*Math.floor(e.length/3)+(i&&i+1),o=cU.decode(new Uint8Array(n.buffer,0,s));return a&&1===i&&(o+=\"==\"),a&&2===i&&(o+=\"=\"),r&&(o=o.replaceAll(\"+\",\"-\").replaceAll(\"/\",\"_\")),o}(cy(e),t)}(t,{url:!0,pad:!1}),origin:n,crossOrigin:a,...r})}({challenge:t,crossOrigin:a,extraClientData:r,origin:i}),d=cR(ci(u)),h=u.indexOf('\"challenge\"'),m=u.indexOf('\"type\"');return{metadata:{authenticatorData:c,clientDataJSON:u,challengeIndex:h,typeIndex:m,userVerificationRequired:\"required\"===l},payload:ct(c,d)}}({challenge:t,origin:\"https://keys.coinbase.com\",userVerification:\"preferred\"});return{signature:(!function(e,t={}){let{recovered:a}=t;if(void 0===e.r||void 0===e.s||a&&void 0===e.yParity)throw new cF({signature:e});if(e.r<0n||e.r>cB)throw new cL({value:e.r});if(e.s<0n||e.s>cB)throw new cW({value:e.s});if(\"number\"==typeof e.yParity&&0!==e.yParity&&1!==e.yParity)throw new cK({value:e.yParity})}(a=await cT({payload:i,privateKey:e.privateKey})),r=a.r,n=a.s,ct(cn(r,{size:32}),cn(n,{size:32}),\"number\"==typeof a.yParity?cn(function(e){if(0===e)return 27;if(1===e)return 28;throw new cK({value:e})}(a.yParity),{size:1}):\"0x\")),raw:{},webauthn:s}};return{id:t,publicKey:t,sign:async({hash:e})=>a(e),signMessage:async({message:e})=>a(ss(e)),signTypedData:async e=>a(sf(e)),type:\"webAuthn\"}}async function c0(){return{account:await c1()}}async function c2(){let e=await cQ();e&&(await c$.removeItem(co(cI(e.publicKey),1)),await c$.removeItem(cZ))}let c3={storageKey:\"ownPrivateKey\",keyType:\"private\"},c9={storageKey:\"ownPublicKey\",keyType:\"public\"},c5={storageKey:\"peerPublicKey\",keyType:\"public\"};class c6{constructor(){this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null}async getOwnPublicKey(){return await this.loadKeysIfNeeded(),this.ownPublicKey}async getSharedSecret(){return await this.loadKeysIfNeeded(),this.sharedSecret}async setPeerPublicKey(e){this.sharedSecret=null,this.peerPublicKey=e,await this.storeKey(c5,e),await this.loadKeysIfNeeded()}async clear(){this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null,w.keys.clear()}async generateKeyPair(){let e=await oB();this.ownPrivateKey=e.privateKey,this.ownPublicKey=e.publicKey,await this.storeKey(c3,e.privateKey),await this.storeKey(c9,e.publicKey)}async loadKeysIfNeeded(){null===this.ownPrivateKey&&(this.ownPrivateKey=await this.loadKey(c3)),null===this.ownPublicKey&&(this.ownPublicKey=await this.loadKey(c9)),(null===this.ownPrivateKey||null===this.ownPublicKey)&&await this.generateKeyPair(),null===this.peerPublicKey&&(this.peerPublicKey=await this.loadKey(c5)),null===this.sharedSecret&&null!==this.ownPrivateKey&&null!==this.peerPublicKey&&(this.sharedSecret=await oN(this.ownPrivateKey,this.peerPublicKey))}async loadKey(e){let t=w.keys.get(e.storageKey);return t?oK(e.keyType,t):null}async storeKey(e,t){let a=await oW(e.keyType,t);w.keys.set(e.storageKey,a)}}var c8=a(2863);function c4(e,t){if(\"object\"==typeof e&&null!==e)return t.split(/[.[\\]]+/).filter(Boolean).reduce((e,t)=>{if(\"object\"==typeof e&&null!==e)return e[t]},e)}class c7 extends tN.C{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:\"BundleFailedError\"}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}}let ue=(0,en.cK)(0,{size:32});async function ut(e,t){let a;async function r(t){if(t.endsWith(\"0x5792579257925792579257925792579257925792579257925792579257925792\".slice(2))){let a=(0,tB.B)((0,c8.iN)(t,-64,-32)),r=(0,c8.iN)(t,0,-64).slice(2).match(/.{1,64}/g),n=await Promise.all(r.map(t=>ue.slice(2)!==t?e.request({method:\"eth_getTransactionReceipt\",params:[`0x${t}`]},{dedupe:!0}):void 0)),i=n.some(e=>null===e)?100:n.every(e=>e?.status===\"0x1\")?200:n.every(e=>e?.status===\"0x0\")?500:600;return{atomic:!1,chainId:(0,tE.ME)(a),receipts:n.filter(Boolean),status:i,version:\"2.0.0\"}}return e.request({method:\"wallet_getCallsStatus\",params:[t]})}let{atomic:n=!1,chainId:i,receipts:s,version:o=\"2.0.0\",...l}=await r(t.id),[c,u]=(a=l.status)>=100&&a<200?[\"pending\",a]:a>=200&&a<300?[\"success\",a]:a>=300&&a<700?[\"failure\",a]:\"CONFIRMED\"===a?[\"success\",200]:\"PENDING\"===a?[\"pending\",100]:[void 0,a];return{...l,atomic:n,chainId:i?(0,tE.ME)(i):void 0,receipts:s?.map(e=>({...e,blockNumber:(0,tE.uU)(e.blockNumber),gasUsed:(0,tE.uU)(e.gasUsed),status:r8[e.status]}))??[],statusCode:u,status:c,version:o}}async function ua(e,t){let a,{id:r,pollingInterval:n=e.pollingInterval,status:i=({statusCode:e})=>200===e||e>=300,retryCount:s=4,retryDelay:o=({count:e})=>200*~~(1<{let l=sz(async()=>{let n=e=>{clearTimeout(a),l(),e(),p()};try{let a=await sj(async()=>{let t=await t$(e,ut,\"getCallsStatus\")({id:r});if(c&&\"failure\"===t.status)throw new c7(t);return t},{retryCount:s,delay:o});if(!i(a))return;n(()=>t.resolve(a))}catch(e){n(()=>t.reject(e))}},{interval:n,emitOnBegin:!0});return l});return a=l?setTimeout(()=>{p(),clearTimeout(a),m(new ur({id:r}))},l):void 0,await d}class ur extends tN.C{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:\"WaitForCallsStatusTimeoutError\"})}}function un(e){var t;if(!Array.isArray(e.params))return null;switch(e.method){case\"personal_sign\":return e.params[1];case\"eth_signTypedData_v4\":return e.params[0];case\"eth_signTransaction\":case\"eth_sendTransaction\":case\"wallet_sendCalls\":return null==(t=e.params[0])?void 0:t.from;default:return null}}function ui(e){var t;if(!e||!Array.isArray(e)||!(null==(t=e[0])?void 0:t.chainId)||\"string\"!=typeof e[0].chainId&&\"number\"!=typeof e[0].chainId)throw M()}function us(e,t){let a=Object.assign({},e);if(t&&e.method.startsWith(\"wallet_\")){let e=c4(a,\"params.0.capabilities\");if(void 0===e&&(e={}),\"object\"!=typeof e)throw M();e=Object.assign(Object.assign({},t),e),a.params&&Array.isArray(a.params)&&(a.params[0]=Object.assign(Object.assign({},a.params[0]),{capabilities:e}))}return a}async function uo(){var e;let t=null!=(e=w.subAccountsConfig.get())?e:{},a={};if(t.enableAutoSubAccounts){let{account:e}=t.toOwnerAccount?await t.toOwnerAccount():await c0();if(!e)throw D(\"No owner account found\");a.addSubAccount={account:{type:\"create\",keys:[{type:e.address?\"address\":\"webauthn-p256\",publicKey:e.address||e.publicKey}]}}}w.subAccountsConfig.set({capabilities:a})}async function ul({client:e,id:t}){var a;let r=await ua(e,{id:t});if(\"success\"===r.status)return null==(a=r.receipts)?void 0:a[0].transactionHash;throw R(\"failed to send transaction\")}function uc({calls:e,from:t,chainId:a,capabilities:r}){let n=y.get().paymasterUrls,i={method:\"wallet_sendCalls\",params:[{version:\"1.0\",calls:e,chainId:(0,en.cK)(a),from:t,atomicRequired:!0,capabilities:r}]};return(null==n?void 0:n[a])&&(i=us(i,{paymasterService:{url:null==n?void 0:n[a]}})),i}async function uu(){let e=ty();return await new Promise(t=>{es({dialogContext:\"sub_account_insufficient_balance\"}),e.presentItem({title:\"Insufficient spend permission\",message:\"Your spend permission's remaining balance cannot cover this transaction. Please choose how to proceed:\",onClose:()=>{eo({dialogContext:\"sub_account_insufficient_balance\"}),e.clear()},actionItems:[{text:\"Edit spend permission\",variant:\"primary\",onClick:()=>{el({dialogContext:\"sub_account_insufficient_balance\",dialogAction:\"create_permission\"}),e.clear(),t(\"update_permission\")}},{text:\"Use primary account\",variant:\"secondary\",onClick:()=>{el({dialogContext:\"sub_account_insufficient_balance\",dialogAction:\"continue_in_popup\"}),e.clear(),t(\"continue_popup\")}}]})})}function ud(e,t){var a;if(!Array.isArray(null==e?void 0:e.params))return!1;let r=null==(a=e.params[0])?void 0:a.capabilities;return!!r&&\"object\"==typeof r&&t in r}function uh(e,t){let a=e.filter(e=>e!==t);return[t,...a]}function um(e,t){return[...e.filter(e=>e!==t),t]}async function up(){let e=w.spendPermissions.get(),t=w.subAccounts.get(),a=w.account.get().accounts;return a?{accounts:null==a?void 0:a.map(a=>({address:a,capabilities:{subAccounts:t?[t]:void 0,spendPermissions:e.length>0?{permissions:e}:void 0}}))}:null}function uf(e){return btoa(String.fromCharCode(...new Uint8Array(e))).replaceAll(\"+\",\"-\").replaceAll(\"/\",\"_\").replace(/=+$/,\"\")}var ug=a(519);let ub=[{inputs:[{name:\"preOpGas\",type:\"uint256\"},{name:\"paid\",type:\"uint256\"},{name:\"validAfter\",type:\"uint48\"},{name:\"validUntil\",type:\"uint48\"},{name:\"targetSuccess\",type:\"bool\"},{name:\"targetResult\",type:\"bytes\"}],name:\"ExecutionResult\",type:\"error\"},{inputs:[{name:\"opIndex\",type:\"uint256\"},{name:\"reason\",type:\"string\"}],name:\"FailedOp\",type:\"error\"},{inputs:[{name:\"sender\",type:\"address\"}],name:\"SenderAddressResult\",type:\"error\"},{inputs:[{name:\"aggregator\",type:\"address\"}],name:\"SignatureValidationFailed\",type:\"error\"},{inputs:[{components:[{name:\"preOpGas\",type:\"uint256\"},{name:\"prefund\",type:\"uint256\"},{name:\"sigFailed\",type:\"bool\"},{name:\"validAfter\",type:\"uint48\"},{name:\"validUntil\",type:\"uint48\"},{name:\"paymasterContext\",type:\"bytes\"}],name:\"returnInfo\",type:\"tuple\"},{components:[{name:\"stake\",type:\"uint256\"},{name:\"unstakeDelaySec\",type:\"uint256\"}],name:\"senderInfo\",type:\"tuple\"},{components:[{name:\"stake\",type:\"uint256\"},{name:\"unstakeDelaySec\",type:\"uint256\"}],name:\"factoryInfo\",type:\"tuple\"},{components:[{name:\"stake\",type:\"uint256\"},{name:\"unstakeDelaySec\",type:\"uint256\"}],name:\"paymasterInfo\",type:\"tuple\"}],name:\"ValidationResult\",type:\"error\"},{inputs:[{components:[{name:\"preOpGas\",type:\"uint256\"},{name:\"prefund\",type:\"uint256\"},{name:\"sigFailed\",type:\"bool\"},{name:\"validAfter\",type:\"uint48\"},{name:\"validUntil\",type:\"uint48\"},{name:\"paymasterContext\",type:\"bytes\"}],name:\"returnInfo\",type:\"tuple\"},{components:[{name:\"stake\",type:\"uint256\"},{name:\"unstakeDelaySec\",type:\"uint256\"}],name:\"senderInfo\",type:\"tuple\"},{components:[{name:\"stake\",type:\"uint256\"},{name:\"unstakeDelaySec\",type:\"uint256\"}],name:\"factoryInfo\",type:\"tuple\"},{components:[{name:\"stake\",type:\"uint256\"},{name:\"unstakeDelaySec\",type:\"uint256\"}],name:\"paymasterInfo\",type:\"tuple\"},{components:[{name:\"aggregator\",type:\"address\"},{components:[{name:\"stake\",type:\"uint256\"},{name:\"unstakeDelaySec\",type:\"uint256\"}],name:\"stakeInfo\",type:\"tuple\"}],name:\"aggregatorInfo\",type:\"tuple\"}],name:\"ValidationResultWithAggregation\",type:\"error\"},{anonymous:!1,inputs:[{indexed:!0,name:\"userOpHash\",type:\"bytes32\"},{indexed:!0,name:\"sender\",type:\"address\"},{indexed:!1,name:\"factory\",type:\"address\"},{indexed:!1,name:\"paymaster\",type:\"address\"}],name:\"AccountDeployed\",type:\"event\"},{anonymous:!1,inputs:[],name:\"BeforeExecution\",type:\"event\"},{anonymous:!1,inputs:[{indexed:!0,name:\"account\",type:\"address\"},{indexed:!1,name:\"totalDeposit\",type:\"uint256\"}],name:\"Deposited\",type:\"event\"},{anonymous:!1,inputs:[{indexed:!0,name:\"aggregator\",type:\"address\"}],name:\"SignatureAggregatorChanged\",type:\"event\"},{anonymous:!1,inputs:[{indexed:!0,name:\"account\",type:\"address\"},{indexed:!1,name:\"totalStaked\",type:\"uint256\"},{indexed:!1,name:\"unstakeDelaySec\",type:\"uint256\"}],name:\"StakeLocked\",type:\"event\"},{anonymous:!1,inputs:[{indexed:!0,name:\"account\",type:\"address\"},{indexed:!1,name:\"withdrawTime\",type:\"uint256\"}],name:\"StakeUnlocked\",type:\"event\"},{anonymous:!1,inputs:[{indexed:!0,name:\"account\",type:\"address\"},{indexed:!1,name:\"withdrawAddress\",type:\"address\"},{indexed:!1,name:\"amount\",type:\"uint256\"}],name:\"StakeWithdrawn\",type:\"event\"},{anonymous:!1,inputs:[{indexed:!0,name:\"userOpHash\",type:\"bytes32\"},{indexed:!0,name:\"sender\",type:\"address\"},{indexed:!0,name:\"paymaster\",type:\"address\"},{indexed:!1,name:\"nonce\",type:\"uint256\"},{indexed:!1,name:\"success\",type:\"bool\"},{indexed:!1,name:\"actualGasCost\",type:\"uint256\"},{indexed:!1,name:\"actualGasUsed\",type:\"uint256\"}],name:\"UserOperationEvent\",type:\"event\"},{anonymous:!1,inputs:[{indexed:!0,name:\"userOpHash\",type:\"bytes32\"},{indexed:!0,name:\"sender\",type:\"address\"},{indexed:!1,name:\"nonce\",type:\"uint256\"},{indexed:!1,name:\"revertReason\",type:\"bytes\"}],name:\"UserOperationRevertReason\",type:\"event\"},{anonymous:!1,inputs:[{indexed:!0,name:\"account\",type:\"address\"},{indexed:!1,name:\"withdrawAddress\",type:\"address\"},{indexed:!1,name:\"amount\",type:\"uint256\"}],name:\"Withdrawn\",type:\"event\"},{inputs:[],name:\"SIG_VALIDATION_FAILED\",outputs:[{name:\"\",type:\"uint256\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"initCode\",type:\"bytes\"},{name:\"sender\",type:\"address\"},{name:\"paymasterAndData\",type:\"bytes\"}],name:\"_validateSenderAndPaymaster\",outputs:[],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"unstakeDelaySec\",type:\"uint32\"}],name:\"addStake\",outputs:[],stateMutability:\"payable\",type:\"function\"},{inputs:[{name:\"account\",type:\"address\"}],name:\"balanceOf\",outputs:[{name:\"\",type:\"uint256\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"account\",type:\"address\"}],name:\"depositTo\",outputs:[],stateMutability:\"payable\",type:\"function\"},{inputs:[{name:\"\",type:\"address\"}],name:\"deposits\",outputs:[{name:\"deposit\",type:\"uint112\"},{name:\"staked\",type:\"bool\"},{name:\"stake\",type:\"uint112\"},{name:\"unstakeDelaySec\",type:\"uint32\"},{name:\"withdrawTime\",type:\"uint48\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"account\",type:\"address\"}],name:\"getDepositInfo\",outputs:[{components:[{name:\"deposit\",type:\"uint112\"},{name:\"staked\",type:\"bool\"},{name:\"stake\",type:\"uint112\"},{name:\"unstakeDelaySec\",type:\"uint32\"},{name:\"withdrawTime\",type:\"uint48\"}],name:\"info\",type:\"tuple\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"sender\",type:\"address\"},{name:\"key\",type:\"uint192\"}],name:\"getNonce\",outputs:[{name:\"nonce\",type:\"uint256\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{name:\"initCode\",type:\"bytes\"}],name:\"getSenderAddress\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{components:[{name:\"sender\",type:\"address\"},{name:\"nonce\",type:\"uint256\"},{name:\"initCode\",type:\"bytes\"},{name:\"callData\",type:\"bytes\"},{name:\"callGasLimit\",type:\"uint256\"},{name:\"verificationGasLimit\",type:\"uint256\"},{name:\"preVerificationGas\",type:\"uint256\"},{name:\"maxFeePerGas\",type:\"uint256\"},{name:\"maxPriorityFeePerGas\",type:\"uint256\"},{name:\"paymasterAndData\",type:\"bytes\"},{name:\"signature\",type:\"bytes\"}],name:\"userOp\",type:\"tuple\"}],name:\"getUserOpHash\",outputs:[{name:\"\",type:\"bytes32\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{components:[{components:[{name:\"sender\",type:\"address\"},{name:\"nonce\",type:\"uint256\"},{name:\"initCode\",type:\"bytes\"},{name:\"callData\",type:\"bytes\"},{name:\"callGasLimit\",type:\"uint256\"},{name:\"verificationGasLimit\",type:\"uint256\"},{name:\"preVerificationGas\",type:\"uint256\"},{name:\"maxFeePerGas\",type:\"uint256\"},{name:\"maxPriorityFeePerGas\",type:\"uint256\"},{name:\"paymasterAndData\",type:\"bytes\"},{name:\"signature\",type:\"bytes\"}],name:\"userOps\",type:\"tuple[]\"},{name:\"aggregator\",type:\"address\"},{name:\"signature\",type:\"bytes\"}],name:\"opsPerAggregator\",type:\"tuple[]\"},{name:\"beneficiary\",type:\"address\"}],name:\"handleAggregatedOps\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{components:[{name:\"sender\",type:\"address\"},{name:\"nonce\",type:\"uint256\"},{name:\"initCode\",type:\"bytes\"},{name:\"callData\",type:\"bytes\"},{name:\"callGasLimit\",type:\"uint256\"},{name:\"verificationGasLimit\",type:\"uint256\"},{name:\"preVerificationGas\",type:\"uint256\"},{name:\"maxFeePerGas\",type:\"uint256\"},{name:\"maxPriorityFeePerGas\",type:\"uint256\"},{name:\"paymasterAndData\",type:\"bytes\"},{name:\"signature\",type:\"bytes\"}],name:\"ops\",type:\"tuple[]\"},{name:\"beneficiary\",type:\"address\"}],name:\"handleOps\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{name:\"key\",type:\"uint192\"}],name:\"incrementNonce\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{name:\"callData\",type:\"bytes\"},{components:[{components:[{name:\"sender\",type:\"address\"},{name:\"nonce\",type:\"uint256\"},{name:\"callGasLimit\",type:\"uint256\"},{name:\"verificationGasLimit\",type:\"uint256\"},{name:\"preVerificationGas\",type:\"uint256\"},{name:\"paymaster\",type:\"address\"},{name:\"maxFeePerGas\",type:\"uint256\"},{name:\"maxPriorityFeePerGas\",type:\"uint256\"}],name:\"mUserOp\",type:\"tuple\"},{name:\"userOpHash\",type:\"bytes32\"},{name:\"prefund\",type:\"uint256\"},{name:\"contextOffset\",type:\"uint256\"},{name:\"preOpGas\",type:\"uint256\"}],name:\"opInfo\",type:\"tuple\"},{name:\"context\",type:\"bytes\"}],name:\"innerHandleOp\",outputs:[{name:\"actualGasCost\",type:\"uint256\"}],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{name:\"\",type:\"address\"},{name:\"\",type:\"uint192\"}],name:\"nonceSequenceNumber\",outputs:[{name:\"\",type:\"uint256\"}],stateMutability:\"view\",type:\"function\"},{inputs:[{components:[{name:\"sender\",type:\"address\"},{name:\"nonce\",type:\"uint256\"},{name:\"initCode\",type:\"bytes\"},{name:\"callData\",type:\"bytes\"},{name:\"callGasLimit\",type:\"uint256\"},{name:\"verificationGasLimit\",type:\"uint256\"},{name:\"preVerificationGas\",type:\"uint256\"},{name:\"maxFeePerGas\",type:\"uint256\"},{name:\"maxPriorityFeePerGas\",type:\"uint256\"},{name:\"paymasterAndData\",type:\"bytes\"},{name:\"signature\",type:\"bytes\"}],name:\"op\",type:\"tuple\"},{name:\"target\",type:\"address\"},{name:\"targetCallData\",type:\"bytes\"}],name:\"simulateHandleOp\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{components:[{name:\"sender\",type:\"address\"},{name:\"nonce\",type:\"uint256\"},{name:\"initCode\",type:\"bytes\"},{name:\"callData\",type:\"bytes\"},{name:\"callGasLimit\",type:\"uint256\"},{name:\"verificationGasLimit\",type:\"uint256\"},{name:\"preVerificationGas\",type:\"uint256\"},{name:\"maxFeePerGas\",type:\"uint256\"},{name:\"maxPriorityFeePerGas\",type:\"uint256\"},{name:\"paymasterAndData\",type:\"bytes\"},{name:\"signature\",type:\"bytes\"}],name:\"userOp\",type:\"tuple\"}],name:\"simulateValidation\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[],name:\"unlockStake\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{name:\"withdrawAddress\",type:\"address\"}],name:\"withdrawStake\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{inputs:[{name:\"withdrawAddress\",type:\"address\"},{name:\"withdrawAmount\",type:\"uint256\"}],name:\"withdrawTo\",outputs:[],stateMutability:\"nonpayable\",type:\"function\"},{stateMutability:\"payable\",type:\"receive\"}];var uy=a(1298);function uw(e){let{address:t,data:a,signature:r,to:n=\"hex\"}=e,i=(0,tW.aP)([(0,aY.h)([{type:\"address\"},{type:\"bytes\"},{type:\"bytes\"}],[t,a,r]),\"0x6492649264926492649264926492649264926492649264926492649264926492\"]);return\"hex\"===n?i:(0,tK.aT)(i)}async function uk(e){let{extend:t,nonceKeyManager:a=function(e){let{source:t}=e,a=new Map,r=new sR.A(8192),n=new Map,i=({address:e,chainId:t})=>`${e}.${t}`;return{async consume({address:e,chainId:a,client:n}){let s=i({address:e,chainId:a}),o=this.get({address:e,chainId:a,client:n});this.increment({address:e,chainId:a});let l=await o;return await t.set({address:e,chainId:a},l),r.set(s,l),l},async increment({address:e,chainId:t}){let r=i({address:e,chainId:t}),n=a.get(r)??0;a.set(r,n+1)},async get({address:e,chainId:s,client:o}){let l=i({address:e,chainId:s}),c=n.get(l);return c||(c=(async()=>{try{let a=await t.get({address:e,chainId:s,client:o}),n=r.get(l)??0;if(n>0&&a<=n)return n+1;return r.delete(l),a}finally{this.reset({address:e,chainId:s})}})(),n.set(l,c)),(a.get(l)??0)+await c},reset({address:e,chainId:t}){let r=i({address:e,chainId:t});a.delete(r),n.delete(r)}}}({source:{get:()=>Date.now(),set(){}}}),...r}=e,n=!1,i=await e.getAddress();return{...t,...r,address:i,async getFactoryArgs(){return\"isDeployed\"in this&&await this.isDeployed()?{factory:void 0,factoryData:void 0}:e.getFactoryArgs()},async getNonce(t){let r=t?.key??BigInt(await a.consume({address:i,chainId:e.client.chain.id,client:e.client}));return e.getNonce?await e.getNonce({...t,key:r}):await aw(e.client,{abi:(0,uy.U)([\"function getNonce(address, uint192) pure returns (uint256)\"]),address:e.entryPoint.address,functionName:\"getNonce\",args:[i,r]})},isDeployed:async()=>!!n||(n=!!await t$(e.client,rW,\"getCode\")({address:i})),...e.sign?{async sign(t){let[{factory:a,factoryData:r},n]=await Promise.all([this.getFactoryArgs(),e.sign(t)]);return a&&r?uw({address:a,data:r,signature:n}):n}}:{},async signMessage(t){let[{factory:a,factoryData:r},n]=await Promise.all([this.getFactoryArgs(),e.signMessage(t)]);return a&&r&&\"0x7702\"!==a?uw({address:a,data:r,signature:n}):n},async signTypedData(t){let[{factory:a,factoryData:r},n]=await Promise.all([this.getFactoryArgs(),e.signTypedData(t)]);return a&&r&&\"0x7702\"!==a?uw({address:a,data:r,signature:n}):n},type:\"smart\"}}function uv(e){let{authorization:t,factory:a,factoryData:r}=e;if(\"0x7702\"===a||\"0x7702000000000000000000000000000000000000\"===a){if(!t)return\"0x7702000000000000000000000000000000000000\";let e=t.address;return(0,tW.xW)([e,r??\"0x\"])}return a?(0,tW.xW)([a,r??\"0x\"]):\"0x\"}function ux(e){let{callGasLimit:t,callData:a,maxPriorityFeePerGas:r,maxFeePerGas:n,paymaster:i,paymasterData:s,paymasterPostOpGasLimit:o,paymasterVerificationGasLimit:l,sender:c,signature:u=\"0x\",verificationGasLimit:d}=e,h=(0,tW.xW)([(0,ok.eV)((0,en.cK)(d||0n),{size:16}),(0,ok.eV)((0,en.cK)(t||0n),{size:16})]),m=uv(e),p=(0,tW.xW)([(0,ok.eV)((0,en.cK)(r||0n),{size:16}),(0,ok.eV)((0,en.cK)(n||0n),{size:16})]),f=e.nonce??0n;return{accountGasLimits:h,callData:a,initCode:m,gasFees:p,nonce:f,paymasterAndData:i?(0,tW.xW)([i,(0,ok.eV)((0,en.cK)(l||0n),{size:16}),(0,ok.eV)((0,en.cK)(o||0n),{size:16}),s||\"0x\"]):\"0x\",preVerificationGas:e.preVerificationGas??0n,sender:c,signature:u}}let u_={PackedUserOperation:[{type:\"address\",name:\"sender\"},{type:\"uint256\",name:\"nonce\"},{type:\"bytes\",name:\"initCode\"},{type:\"bytes\",name:\"callData\"},{type:\"bytes32\",name:\"accountGasLimits\"},{type:\"uint256\",name:\"preVerificationGas\"},{type:\"bytes32\",name:\"gasFees\"},{type:\"bytes\",name:\"paymasterAndData\"}]};var uj=function(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(a[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var n=0,r=Object.getOwnPropertySymbols(e);nt.indexOf(r[n])&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(a[r[n]]=e[r[n]]);return a};async function uz(e){let{owner:t,ownerIndex:a,address:r,client:n,factoryData:i}=e,s={abi:ub,address:\"0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789\",version:\"0.6\"},o={abi:x,address:\"0xba5ed110efdba3d005bfc882d75358acbbb85842\"};return uk({client:n,entryPoint:s,extend:{abi:v,factory:o},async decodeCalls(e){let t=(0,ug.J)({abi:v,data:e});if(\"execute\"===t.functionName)return[{to:t.args[0],value:t.args[1],data:t.args[2]}];if(\"executeBatch\"===t.functionName)return t.args[0].map(e=>({to:e.target,value:e.value,data:e.data}));throw new tN.C(`unable to decode calls for \"${t.functionName}\"`)},async encodeCalls(e){var t,a;return 1===e.length?(0,er.p)({abi:v,functionName:\"execute\",args:[e[0].to,null!=(t=e[0].value)?t:BigInt(0),null!=(a=e[0].data)?a:\"0x\"]}):(0,er.p)({abi:v,functionName:\"executeBatch\",args:[e.map(e=>{var t,a;return{data:null!=(t=e.data)?t:\"0x\",target:e.to,value:null!=(a=e.value)?a:BigInt(0)}})]})},getAddress:async()=>r,getFactoryArgs:async()=>({factory:o.address,factoryData:i}),getStubSignature:async()=>\"webAuthn\"===t.type?\"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000001949fc7c88032b9fcb5f6efc7a7b8c63668eae9871b765e23123bb473ff57aa831a7c0d9276168ebcc29f2875a0239cffdf2a9cd1c2007c5c77c071db9264df1d000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a7b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a2273496a396e6164474850596759334b7156384f7a4a666c726275504b474f716d59576f4d57516869467773222c226f726967696e223a2268747470733a2f2f7369676e2e636f696e626173652e636f6d222c2263726f73734f726967696e223a66616c73657d00000000000000000000000000000000000000000000\":uA({ownerIndex:a,signature:\"0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c\"}),async sign(e){let r=uI({address:await this.getAddress(),chainId:n.chain.id,hash:e.hash});return uA({ownerIndex:a,signature:await uS({hash:r,owner:t})})},async signMessage(e){let{message:r}=e,i=uI({address:await this.getAddress(),chainId:n.chain.id,hash:ss(r)});return uA({ownerIndex:a,signature:await uS({hash:i,owner:t})})},async signTypedData(e){let{domain:r,types:i,primaryType:s,message:o}=e,l=uI({address:await this.getAddress(),chainId:n.chain.id,hash:sf({domain:r,message:o,primaryType:s,types:i})});return uA({ownerIndex:a,signature:await uS({hash:l,owner:t})})},async signUserOperation(e){let{chainId:r=n.chain.id}=e,i=uj(e,[\"chainId\"]),o=await this.getAddress(),l=function(e){let{chainId:t,entryPointAddress:a,entryPointVersion:r}=e,n=e.userOperation,{authorization:i,callData:s=\"0x\",callGasLimit:o,maxFeePerGas:l,maxPriorityFeePerGas:c,nonce:u,paymasterAndData:d=\"0x\",preVerificationGas:h,sender:m,verificationGasLimit:p}=n;if(\"0.8\"===r)return sf(function(e){let{chainId:t,entryPointAddress:a,userOperation:r}=e;return{types:u_,primaryType:\"PackedUserOperation\",domain:{name:\"ERC4337\",version:\"1\",chainId:t,verifyingContract:a},message:ux(r)}}({chainId:t,entryPointAddress:a,userOperation:n}));let f=(()=>{if(\"0.6\"===r){let e=uv({authorization:i,factory:n.initCode?.slice(0,42),factoryData:n.initCode?.slice(42)});return(0,aY.h)([{type:\"address\"},{type:\"uint256\"},{type:\"bytes32\"},{type:\"bytes32\"},{type:\"uint256\"},{type:\"uint256\"},{type:\"uint256\"},{type:\"uint256\"},{type:\"uint256\"},{type:\"bytes32\"}],[m,u,(0,tH.S)(e),(0,tH.S)(s),o,p,h,l,c,(0,tH.S)(d)])}if(\"0.7\"===r){let e=ux(n);return(0,aY.h)([{type:\"address\"},{type:\"uint256\"},{type:\"bytes32\"},{type:\"bytes32\"},{type:\"bytes32\"},{type:\"uint256\"},{type:\"bytes32\"},{type:\"bytes32\"}],[e.sender,e.nonce,(0,tH.S)(e.initCode),(0,tH.S)(e.callData),e.accountGasLimits,e.preVerificationGas,e.gasFees,(0,tH.S)(e.paymasterAndData)])}throw Error(`entryPointVersion \"${r}\" not supported.`)})();return(0,tH.S)((0,aY.h)([{type:\"bytes32\"},{type:\"address\"},{type:\"uint256\"}],[(0,tH.S)(f),a,BigInt(t)]))}({chainId:r,entryPointAddress:s.address,entryPointVersion:s.version,userOperation:Object.assign(Object.assign({},i),{sender:o})});return uA({ownerIndex:a,signature:await uS({hash:l,owner:t})})},userOperation:{async estimateGas(e){var a;if(\"webAuthn\"===t.type)return{verificationGasLimit:BigInt(Math.max(Number(null!=(a=e.verificationGasLimit)?a:BigInt(0)),8e5))}}}})}async function uS({hash:e,owner:t}){if(\"webAuthn\"===t.type){let{signature:a,webauthn:r}=await t.sign({hash:e});return function({webauthn:e,signature:t}){let{r:a,s:r}=cN(t);return(0,aY.h)([{components:[{name:\"authenticatorData\",type:\"bytes\"},{name:\"clientDataJSON\",type:\"bytes\"},{name:\"challengeIndex\",type:\"uint256\"},{name:\"typeIndex\",type:\"uint256\"},{name:\"r\",type:\"uint256\"},{name:\"s\",type:\"uint256\"}],type:\"tuple\"}],[{authenticatorData:e.authenticatorData,clientDataJSON:(0,en.i3)(e.clientDataJSON),challengeIndex:BigInt(e.challengeIndex),typeIndex:BigInt(e.typeIndex),r:a,s:r}])}({signature:a,webauthn:r})}if(t.sign)return t.sign({hash:e});throw new tN.C(\"`owner` does not support raw sign.\")}function uI({address:e,chainId:t,hash:a}){return sf({domain:{chainId:t,name:\"Coinbase Smart Wallet\",verifyingContract:e,version:\"1\"},types:{CoinbaseSmartWalletMessage:[{name:\"hash\",type:\"bytes32\"}]},primaryType:\"CoinbaseSmartWalletMessage\",message:{hash:a}})}function uA(e){let{ownerIndex:t=0}=e,a=(()=>{if(65!==(0,a8.E)(e.signature))return e.signature;let t=function(e){let{r:t,s:a}=se.secp256k1.Signature.fromCompact(e.slice(2,130)),r=Number(`0x${e.slice(130)}`),[n,i]=(()=>{if(0===r||1===r)return[void 0,r];if(27===r)return[BigInt(r),0];if(28===r)return[BigInt(r),1];throw Error(\"Invalid yParityOrV value\")})();return void 0!==n?{r:(0,en.cK)(t,{size:32}),s:(0,en.cK)(a,{size:32}),v:n,yParity:i}:{r:(0,en.cK)(t,{size:32}),s:(0,en.cK)(a,{size:32}),yParity:i}}(e.signature);return function(e,t){if(e.length!==t.length)throw new tY.YE({expectedLength:e.length,givenLength:t.length});let a=[];for(let r=0;r{var a,r,i,l,m;try{switch(e.method){case\"wallet_addSubAccount\":return c;case\"eth_accounts\":return[c.address];case\"eth_coinbase\":return c.address;case\"net_version\":return u.toString();case\"eth_chainId\":return(0,en.cK)(u);case\"eth_sendTransaction\":{Y(e.params);let n=e.params[0];$(n.to,M(\"to is required\"));let s={to:n.to,data:tA(null!=(a=n.data)?a:\"0x\",!0),value:tA(null!=(r=n.value)?r:\"0x\",!0),from:null!=(i=n.from)?i:c.address},o=uc({calls:[s],chainId:u,from:s.from}),l=await h(o);return ul({client:t,id:l})}case\"wallet_sendCalls\":{let t;Y(e.params);let a=c4(e.params[0],\"chainId\");if(!a)throw M(\"chainId is required\");if(!(0,tV.q)(a))throw M(\"chainId must be a hex encoded integer\");if(!e.params[0])throw M(\"params are required\");if(!(\"calls\"in e.params[0]))throw M(\"calls are required\");let r={method:\"wallet_prepareCalls\",params:[{version:\"1.0\",calls:e.params[0].calls,chainId:a,from:c.address,capabilities:\"capabilities\"in e.params[0]?e.params[0].capabilities:{}}]};s&&(r=us(r,{funding:[{type:\"spendPermission\",data:{autoApply:!0,sources:[s],preference:\"PREFER_DIRECT_BALANCE\"}}]}));let i=await h(r),o=await (null==(l=n.sign)?void 0:l.call(n,{hash:(0,tE.IQ)(i.signatureRequest.hash)}));if(!o)throw R(\"signature not found\");return t=(0,tV.q)(o)?{type:\"secp256k1\",data:{address:n.address,signature:o}}:{type:\"webauthn\",data:{signature:JSON.stringify(function({webauthn:e,signature:t,id:a}){var r,n;let i,s,o,l,c,u,d=cN(t);return{id:a,rawId:uf((0,tK.Af)(a)),response:{authenticatorData:uf((0,tK.aT)(e.authenticatorData)),clientDataJSON:uf((0,tK.Af)(e.clientDataJSON)),signature:uf((r=d.r,n=d.s,i=(0,tK.aT)((0,tB.B)((0,en.cK)(r))),s=(0,tK.aT)((0,tB.B)((0,en.cK)(n))),o=i.length,l=s.length,c=o+l+4,(u=new Uint8Array(c+2))[0]=48,u[1]=c,u[2]=2,u[3]=o,u.set(i,4),u[o+4]=2,u[o+5]=l,u.set(s,o+6),u))},type:JSON.parse(e.clientDataJSON).type}}(Object.assign({id:null!=(m=n.id)?m:\"1\"},o))),publicKey:n.publicKey}},(await h({method:\"wallet_sendPreparedCalls\",params:[{version:\"1.0\",type:i.type,data:i.userOp,chainId:i.chainId,signature:t}]}))[0]}case\"wallet_sendPreparedCalls\":{Y(e.params);let a=c4(e.params[0],\"chainId\");if(!a)throw M(\"chainId is required\");if(!(0,tV.q)(a))throw M(\"chainId must be a hex encoded integer\");return await t.request({method:\"wallet_sendPreparedCalls\",params:e.params})}case\"wallet_prepareCalls\":{Y(e.params);let a=c4(e.params[0],\"chainId\");if(!a)throw M(\"chainId is required\");if(!(0,tV.q)(a))throw M(\"chainId must be a hex encoded integer\");if(!e.params[0])throw M(\"params are required\");if(!c4(e.params[0],\"calls\"))throw M(\"calls are required\");let r=e.params[0];return!o||!r.capabilities||\"attribution\"in r.capabilities||(r.capabilities.attribution=o),await t.request({method:\"wallet_prepareCalls\",params:[Object.assign(Object.assign({},e.params[0]),{chainId:a})]})}case\"personal_sign\":{if(Y(e.params),!(0,tV.q)(e.params[0]))throw M(\"message must be a hex encoded string\");let t=(0,tE.IQ)(e.params[0]);return d.signMessage({message:t})}case\"eth_signTypedData_v4\":{Y(e.params);let t=\"string\"==typeof e.params[1]?JSON.parse(e.params[1]):e.params[1];return d.signTypedData(t)}default:throw B()}}catch(e){if(Z(e)){let t=function(e){try{let t=JSON.parse(e.details);return new V(t.code,t.message,t.data)}catch(e){return null}}(e);if(t)throw t}throw e}};return{request:h}}async function uC({address:e,client:t,publicKey:a,factory:r,factoryData:n}){if(!await rW(t,{address:e})&&r&&n){let e=(0,ug.J)({abi:x,data:n});if(\"createAccount\"!==e.functionName)throw R(\"unknown factory function\");let[t]=e.args;return t.findIndex(e=>e.toLowerCase()===uP(a).toLowerCase())}let i=await aw(t,{address:e,abi:v,functionName:\"ownerCount\"});for(let r=Number(i)-1;r>=0;r--){let n=await aw(t,{address:e,abi:v,functionName:\"ownerAtIndex\",args:[BigInt(r)]}),i=uP(a);if(n.toLowerCase()===i.toLowerCase())return r}return -1}function uP(e){return(0,sm.P)(e)?(0,ok.eV)(e):e}async function uq(){var e,t;let a=null!=(t=null==(e=w.config.get().metadata)?void 0:e.appName)?t:\"App\",r=ty();return new Promise(e=>{es({dialogContext:\"sub_account_add_owner\"}),r.presentItem({title:`Re-authorize ${a}`,message:`${a} has lost access to your account. Please sign at the next step to re-authorize ${a}`,onClose:()=>{eo({dialogContext:\"sub_account_add_owner\"}),e(\"cancel\")},actionItems:[{text:\"Continue\",variant:\"primary\",onClick:()=>{el({dialogContext:\"sub_account_add_owner\",dialogAction:\"confirm\"}),r.clear(),e(\"authenticate\")}},{text:\"Not now\",variant:\"secondary\",onClick:()=>{el({dialogContext:\"sub_account_add_owner\",dialogAction:\"cancel\"}),r.clear(),e(\"cancel\")}}]})})}async function uO({ownerAccount:e,globalAccountRequest:t,chainId:a}){var r,n;let i=w.account.get(),s=w.subAccounts.get(),o=null==(r=i.accounts)?void 0:r.find(e=>e.toLowerCase()!==(null==s?void 0:s.address.toLowerCase()));$(o,D(\"no global account\")),$(null==(n=i.chain)?void 0:n.id,D(\"no chain id\")),$(null==s?void 0:s.address,D(\"no sub account\"));let l=[];if(\"local\"===e.type&&e.address&&l.push({to:s.address,data:(0,er.p)({abi:v,functionName:\"addOwnerAddress\",args:[e.address]}),value:(0,en.nj)(0)}),e.publicKey){let[t,a]=(0,ea.n)([{type:\"bytes32\"},{type:\"bytes32\"}],e.publicKey);l.push({to:s.address,data:(0,er.p)({abi:v,functionName:\"addOwnerPublicKey\",args:[t,a]}),value:(0,en.nj)(0)})}let c={method:\"wallet_sendCalls\",params:[{version:\"1\",calls:l,chainId:(0,en.cK)(a),from:o}]};if(\"cancel\"===await uq())throw D(\"user cancelled\");let u=await t(c),d=oT(i.chain.id);if($(d,R(`client not found for chainId ${i.chain.id}`)),\"success\"!==(await ua(d,{id:u})).status)throw R(\"add owner call failed\");let h=await uC({address:s.address,publicKey:\"local\"===e.type&&e.address?e.address:e.publicKey,client:d});if(-1===h)throw R(\"failed to find owner index\");return h}async function uT({errorData:e,globalAccountAddress:t,subAccountAddress:a,client:r,request:n,subAccountRequest:i,globalAccountRequest:s}){var o,l,c;let u,d,h=null==(o=r.chain)?void 0:o.id;$(h,R(\"invalid chainId\"));let m=function({errorData:e,sourceAddress:t}){var a;let r=[];for(let[n,{amount:i,sources:s}]of Object.entries(null!=(a=null==e?void 0:e.required)?a:{})){if(0===s.filter(e=>(0,tE.uU)(e.balance)>=(0,tE.uU)(i)&&e.address.toLowerCase()===(null==t?void 0:t.toLowerCase())).length)throw Error(\"Source address has insufficient balance for a token\");r.push({token:n,requiredAmount:(0,tE.uU)(i)})}return r}({errorData:e,sourceAddress:t}),p=await uu();if(\"cancel\"===p)throw Error(\"User cancelled funding\");if(\"update_permission\"===p){if(1===m.length){let e=m[0],r=function({spendPermission:e,chainId:t}){return{domain:{name:\"Spend Permission Manager\",version:\"1\",chainId:t,verifyingContract:k},types:{SpendPermission:[{name:\"account\",type:\"address\"},{name:\"spender\",type:\"address\"},{name:\"token\",type:\"address\"},{name:\"allowance\",type:\"uint160\"},{name:\"period\",type:\"uint48\"},{name:\"start\",type:\"uint48\"},{name:\"end\",type:\"uint48\"},{name:\"salt\",type:\"uint256\"},{name:\"extraData\",type:\"bytes\"}]},primaryType:\"SpendPermission\",message:{account:e.account,spender:e.spender,token:e.token,allowance:e.allowance,period:e.period,start:e.start,end:e.end,salt:e.salt,extraData:e.extraData}}}({spendPermission:{token:e.token,allowance:(0,en.cK)(e.requiredAmount*BigInt(3)),period:86400,account:t,spender:a,start:0,end:0xffffffffffff,salt:(0,en.cK)(BigInt(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER))),extraData:\"0x\"},chainId:h});u={method:\"eth_signTypedData_v4\",params:[t,r]}}else{let e=function({spendPermissionBatch:e,chainId:t}){return{domain:{name:\"Spend Permission Manager\",version:\"1\",chainId:t,verifyingContract:k},types:{SpendPermissionBatch:[{name:\"account\",type:\"address\"},{name:\"period\",type:\"uint48\"},{name:\"start\",type:\"uint48\"},{name:\"end\",type:\"uint48\"},{name:\"permissions\",type:\"PermissionDetails[]\"}],PermissionDetails:[{name:\"spender\",type:\"address\"},{name:\"token\",type:\"address\"},{name:\"allowance\",type:\"uint160\"},{name:\"salt\",type:\"uint256\"},{name:\"extraData\",type:\"bytes\"}]},primaryType:\"SpendPermissionBatch\",message:{account:e.account,period:e.period,start:e.start,end:e.end,permissions:e.permissions.map(e=>({spender:e.spender,token:e.token,allowance:e.allowance,salt:e.salt,extraData:e.extraData}))}}}({spendPermissionBatch:{account:t,period:86400,start:0,end:0xffffffffffff,permissions:m.map(e=>({token:e.token,allowance:(0,en.cK)(e.requiredAmount*BigInt(3)),period:86400,account:t,spender:a,salt:\"0x0\",extraData:\"0x\"}))},chainId:h});u={method:\"eth_signTypedData_v4\",params:[t,e]}}try{await s(u)}catch(e){throw console.error(e),Error(\"User denied spend permission request\")}return i(n)}let f=m.map(e=>\"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\"===e.token.toLowerCase()?{to:a,value:(0,en.cK)(e.requiredAmount),data:\"0x\"}:{to:e.token,value:\"0x0\",data:(0,er.p)({abi:tU.xw,functionName:\"transfer\",args:[a,e.requiredAmount]})});if(\"wallet_sendCalls\"===n.method&&\"object\"==typeof(l=n.params)&&null!==l&&\"calls\"in l)d=n.params[0];else if(\"eth_sendTransaction\"===n.method&&Array.isArray(c=n.params)&&1===c.length&&\"object\"==typeof c[0]&&null!==c[0]&&\"to\"in c[0])d=uc({calls:[n.params[0]],chainId:h,from:n.params[0].from}).params[0];else throw Error(\"Could not get original call\");let g=[...f,{data:(0,er.p)({abi:v,functionName:\"executeBatch\",args:[d.calls.map(e=>{var t,a;return{target:e.to,value:(0,tE.uU)(null!=(t=e.value)?t:\"0x0\"),data:null!=(a=e.data)?a:\"0x\"}})]}),to:a,value:\"0x0\"}],b=await s({method:\"wallet_sendCalls\",params:[Object.assign(Object.assign({},d),{calls:g,from:t})]});return\"eth_sendTransaction\"===n.method?ul({client:r,id:b}):b}class uU{constructor(e){var t,a,r,n;this.communicator=e.communicator,this.callback=e.callback,this.keyManager=new c6;let{account:i,chains:s}=w.getState();this.accounts=null!=(t=i.accounts)?t:[],this.chain=null!=(a=i.chain)?a:{id:null!=(n=null==(r=e.metadata.appChainIds)?void 0:r[0])?n:1},s&&oO(s)}get isConnected(){return this.accounts.length>0}async handshake(e){var t,a,r;let n=oM(e);(({method:e,correlationId:t})=>{var a;ei(\"scw_signer.handshake.started\",{action:ef.unknown,componentType:ep.unknown,method:e,correlationId:t,enableAutoSubAccounts:null==(a=w.subAccountsConfig.get())?void 0:a.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:n});try{await (null==(a=(t=this.communicator).waitForPopupLoaded)?void 0:a.call(t));let i=await this.createRequestMessage({handshake:{method:e.method,params:null!=(r=e.params)?r:[]}},n),s=await this.communicator.postRequestAndWaitForResponse(i);if(\"failure\"in s.content)throw s.content.failure;let o=await oK(\"public\",s.sender);await this.keyManager.setPeerPublicKey(o);let l=await this.decryptResponseMessage(s);this.handleResponse(e,l),(({method:e,correlationId:t})=>{var a;ei(\"scw_signer.handshake.completed\",{action:ef.unknown,componentType:ep.unknown,method:e,correlationId:t,enableAutoSubAccounts:null==(a=w.subAccountsConfig.get())?void 0:a.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:n})}catch(t){throw(({method:e,correlationId:t,errorMessage:a})=>{var r;ei(\"scw_signer.handshake.error\",{action:ef.error,componentType:ep.unknown,method:e,correlationId:t,errorMessage:a,enableAutoSubAccounts:null==(r=w.subAccountsConfig.get())?void 0:r.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:n,errorMessage:tx(t)}),t}}async request(e){let t=oM(e);(({method:e,correlationId:t})=>{var a;ei(\"scw_signer.request.started\",{action:ef.unknown,componentType:ep.unknown,method:e,correlationId:t,enableAutoSubAccounts:null==(a=w.subAccountsConfig.get())?void 0:a.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:t});try{let a=await this._request(e);return(({method:e,correlationId:t})=>{var a;ei(\"scw_signer.request.completed\",{action:ef.unknown,componentType:ep.unknown,method:e,correlationId:t,enableAutoSubAccounts:null==(a=w.subAccountsConfig.get())?void 0:a.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:t}),a}catch(a){throw(({method:e,correlationId:t,errorMessage:a})=>{var r;ei(\"scw_signer.request.error\",{action:ef.error,componentType:ep.unknown,method:e,correlationId:t,errorMessage:a,enableAutoSubAccounts:null==(r=w.subAccountsConfig.get())?void 0:r.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:t,errorMessage:tx(a)}),a}}async _request(e){var t,a,r,n,i,s,o,l,c,d;if(0===this.accounts.length)switch(e.method){case\"wallet_switchEthereumChain\":ui(e.params),this.chain.id=Number(e.params[0].chainId);return;case\"wallet_connect\":{await (null==(a=(t=this.communicator).waitForPopupLoaded)?void 0:a.call(t)),await uo();let i={};ud(e,\"addSubAccount\")&&(i=null!=(n=null==(r=w.subAccountsConfig.get())?void 0:r.capabilities)?n:{});let s=us(e,i);return this.sendRequestToPopup(s)}case\"wallet_sendCalls\":case\"wallet_sign\":return this.sendRequestToPopup(e);default:throw D()}if(this.shouldRequestUseSubAccountSigner(e)){let t=oM(e);(({method:e,correlationId:t})=>{var a;ei(\"scw_sub_account.request.started\",{action:ef.unknown,componentType:ep.unknown,method:e,correlationId:t,enableAutoSubAccounts:null==(a=w.subAccountsConfig.get())?void 0:a.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:t});try{let a=await this.sendRequestToSubAccountSigner(e);return(({method:e,correlationId:t})=>{var a;ei(\"scw_sub_account.request.completed\",{action:ef.unknown,componentType:ep.unknown,method:e,correlationId:t,enableAutoSubAccounts:null==(a=w.subAccountsConfig.get())?void 0:a.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:t}),a}catch(a){throw(({method:e,correlationId:t,errorMessage:a})=>{var r;ei(\"scw_sub_account.request.error\",{action:ef.error,componentType:ep.unknown,method:e,correlationId:t,errorMessage:a,enableAutoSubAccounts:null==(r=w.subAccountsConfig.get())?void 0:r.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:t,errorMessage:tx(a)}),a}}switch(e.method){case\"eth_requestAccounts\":case\"eth_accounts\":{let e=w.subAccounts.get(),t=w.subAccountsConfig.get();return(null==e?void 0:e.address)&&(this.accounts=(null==t?void 0:t.enableAutoSubAccounts)?uh(this.accounts,e.address):um(this.accounts,e.address)),null==(i=this.callback)||i.call(this,\"connect\",{chainId:(0,en.cK)(this.chain.id)}),this.accounts}case\"eth_coinbase\":return this.accounts[0];case\"net_version\":return this.chain.id;case\"eth_chainId\":return(0,en.cK)(this.chain.id);case\"wallet_getCapabilities\":return this.handleGetCapabilitiesRequest(e);case\"wallet_switchEthereumChain\":return this.handleSwitchChainRequest(e);case\"eth_ecRecover\":case\"personal_sign\":case\"wallet_sign\":case\"personal_ecRecover\":case\"eth_signTransaction\":case\"eth_sendTransaction\":case\"eth_signTypedData_v1\":case\"eth_signTypedData_v3\":case\"eth_signTypedData_v4\":case\"eth_signTypedData\":case\"wallet_addEthereumChain\":case\"wallet_watchAsset\":case\"wallet_sendCalls\":case\"wallet_showCallsStatus\":case\"wallet_grantPermissions\":return this.sendRequestToPopup(e);case\"wallet_connect\":{if(!ud(e,\"signInWithEthereum\")){let e=await up();if(e)return e}await (null==(o=(s=this.communicator).waitForPopupLoaded)?void 0:o.call(s)),await uo();let t=w.subAccountsConfig.get(),a=us(e,null!=(l=null==t?void 0:t.capabilities)?l:{}),r=await this.sendRequestToPopup(a);return null==(c=this.callback)||c.call(this,\"connect\",{chainId:(0,en.cK)(this.chain.id)}),r}case\"wallet_getSubAccounts\":{let t=w.subAccounts.get();if(null==t?void 0:t.address)return{subAccounts:[t]};if(!this.chain.rpcUrl)throw R(\"No RPC URL set for chain\");let a=await oG(e,this.chain.rpcUrl);if(Y(a.subAccounts,\"subAccounts\"),a.subAccounts.length>0){oR(a.subAccounts[0]);let e=a.subAccounts[0];w.subAccounts.set({address:e.address,factory:e.factory,factoryData:e.factoryData})}return a}case\"wallet_addSubAccount\":return this.addSubAccount(e);case\"coinbase_fetchPermissions\":{!function(e){if(\"coinbase_fetchPermissions\"!==e.method||void 0!==e.params){if(\"coinbase_fetchPermissions\"===e.method&&Array.isArray(e.params)&&1===e.params.length&&\"object\"==typeof e.params[0]){if(\"string\"!=typeof e.params[0].account||!e.params[0].chainId.startsWith(\"0x\"))throw M(\"FetchPermissions - Invalid params: params[0].account must be a hex string\");if(\"string\"!=typeof e.params[0].chainId||!e.params[0].chainId.startsWith(\"0x\"))throw M(\"FetchPermissions - Invalid params: params[0].chainId must be a hex string\");if(\"string\"!=typeof e.params[0].spender||!e.params[0].spender.startsWith(\"0x\"))throw M(\"FetchPermissions - Invalid params: params[0].spender must be a hex string\");return}throw M()}}(e);let t=function(e){var t,a,r;if(void 0!==e.params)return e;let n=null==(t=w.getState().account.accounts)?void 0:t[0],i=null==(a=w.getState().account.chain)?void 0:a.id,s=null==(r=w.getState().subAccount)?void 0:r.address;if(!n||!s||!i)throw M(\"FetchPermissions - one or more of account, sub account, or chain id is missing, connect to sub account via wallet_connect first\");return{method:\"coinbase_fetchPermissions\",params:[{account:n,chainId:(0,en.cK)(i),spender:s}]}}(e),a=await oG(t,u),r=(0,tE.ME)(null==(d=t.params)?void 0:d[0].chainId);return w.spendPermissions.set(a.permissions.map(e=>Object.assign(Object.assign({},e),{chainId:r}))),a}default:if(!this.chain.rpcUrl)throw R(\"No RPC URL set for chain\");return oG(e,this.chain.rpcUrl)}}async sendRequestToPopup(e){var t,a;await (null==(a=(t=this.communicator).waitForPopupLoaded)?void 0:a.call(t));let r=await this.sendEncryptedRequest(e),n=await this.decryptResponseMessage(r);return this.handleResponse(e,n)}async handleResponse(e,t){var a,r,n,i,s;let o=t.result;if(\"error\"in o)throw o.error;switch(e.method){case\"eth_requestAccounts\":{let e=o.value;this.accounts=e,w.account.set({accounts:e,chain:this.chain}),null==(a=this.callback)||a.call(this,\"accountsChanged\",e);break}case\"wallet_connect\":{let e=o.value,t=e.accounts.map(e=>e.address);this.accounts=t,w.account.set({accounts:t});let a=e.accounts.at(0),s=null==a?void 0:a.capabilities;if(null==s?void 0:s.subAccounts){let e=null==s?void 0:s.subAccounts;Y(e,\"subAccounts\"),oR(e[0]),w.subAccounts.set({address:e[0].address,factory:e[0].factory,factoryData:e[0].factoryData})}let l=[this.accounts[0]],c=w.subAccounts.get(),u=w.subAccountsConfig.get();(null==c?void 0:c.address)&&(this.accounts=(null==u?void 0:u.enableAutoSubAccounts)?uh(this.accounts,c.address):um(this.accounts,c.address));let d=null==(n=null==(r=null==e?void 0:e.accounts)?void 0:r[0].capabilities)?void 0:n.spendPermissions;d&&\"permissions\"in d&&w.spendPermissions.set(null==d?void 0:d.permissions),null==(i=this.callback)||i.call(this,\"accountsChanged\",l);break}case\"wallet_addSubAccount\":{oR(o.value);let e=o.value;w.subAccounts.set(e);let t=w.subAccountsConfig.get();this.accounts=(null==t?void 0:t.enableAutoSubAccounts)?uh(this.accounts,e.address):um(this.accounts,e.address),null==(s=this.callback)||s.call(this,\"accountsChanged\",this.accounts)}}return o.value}async cleanup(){var e,t;let a=w.config.get().metadata;await this.keyManager.clear(),w.account.clear(),w.subAccounts.clear(),w.spendPermissions.clear(),w.chains.clear(),this.accounts=[],this.chain={id:null!=(t=null==(e=null==a?void 0:a.appChainIds)?void 0:e[0])?t:1}}async handleSwitchChainRequest(e){ui(e.params);let t=function(e){if(\"number\"==typeof e&&Number.isInteger(e))return t_(e);if(\"string\"==typeof e){if(tj.test(e))return t_(Number(e));if(function(e){if(\"string\"!=typeof e)return!1;let t=tI(e).toLowerCase();return tz.test(t)}(e))return t_(Number(BigInt(function(e,t=!1){let a=tA(e,!1);return a.length%2==1&&(a=`0${a}`),t?`0x${a}`:a}(e,!0))))}throw M(`Not an integer: ${String(e)}`)}(e.params[0].chainId);if(this.updateChain(t))return null;let a=await this.sendRequestToPopup(e);return null===a&&this.updateChain(t),a}async handleGetCapabilitiesRequest(e){var t=e.params;if(!t||!Array.isArray(t)||1!==t.length&&2!==t.length||\"string\"!=typeof t[0]||!(0,sm.P)(t[0]))throw M();if(2===t.length){if(!Array.isArray(t[1]))throw M();for(let e of t[1])if(\"string\"!=typeof e||!e.startsWith(\"0x\"))throw M()}let a=e.params[0],r=e.params[1];if(!this.accounts.some(e=>(0,tC.h)(e,a)))throw D(\"no active account found when getting capabilities\");let n=w.getState().account.capabilities;if(!n)return{};if(!r||0===r.length)return n;let i=new Set(r.map(e=>(0,tE.ME)(e)));return Object.fromEntries(Object.entries(n).filter(([e])=>{try{let t=(0,tE.ME)(e);return i.has(t)}catch(e){return!1}}))}async sendEncryptedRequest(e){let t=await this.keyManager.getSharedSecret();if(!t)throw D(\"No shared secret found when encrypting request\");let a=await oH({action:e,chainId:this.chain.id},t),r=oM(e),n=await this.createRequestMessage({encrypted:a},r);return this.communicator.postRequestAndWaitForResponse(n)}async createRequestMessage(e,t){let a=await oW(\"public\",await this.keyManager.getOwnPublicKey());return{id:crypto.randomUUID(),correlationId:t,sender:a,content:e,timestamp:new Date}}async decryptResponseMessage(e){var t,a,r;let n=e.content;if(\"failure\"in n)throw n.failure;let i=await this.keyManager.getSharedSecret();if(!i)throw D(\"Invalid session: no shared secret found when decrypting response\");let s=await oV(n.encrypted,i),o=null==(t=s.data)?void 0:t.chains;if(o){let e=null==(a=s.data)?void 0:a.nativeCurrencies,t=Object.entries(o).map(([t,a])=>{let r=null==e?void 0:e[Number(t)];return Object.assign({id:Number(t),rpcUrl:a},r?{nativeCurrency:r}:{})});w.chains.set(t),this.updateChain(this.chain.id,t),oO(t)}let l=null==(r=s.data)?void 0:r.capabilities;return l&&w.account.set({capabilities:l}),s}updateChain(e,t){var a;let r=w.getState(),n=null!=t?t:r.chains,i=null==n?void 0:n.find(t=>t.id===e);return!!i&&(i!==this.chain&&(this.chain=i,w.account.set({chain:i}),null==(a=this.callback)||a.call(this,\"chainChanged\",tS(i.id))),!0)}async addSubAccount(e){var t,a,r,n;let i=w.getState().subAccount,s=w.subAccountsConfig.get();if(null==i?void 0:i.address)return this.accounts=(null==s?void 0:s.enableAutoSubAccounts)?uh(this.accounts,i.address):um(this.accounts,i.address),null==(t=this.callback)||t.call(this,\"accountsChanged\",this.accounts),i;if(await (null==(r=(a=this.communicator).waitForPopupLoaded)?void 0:r.call(a)),Array.isArray(e.params)&&e.params.length>0&&e.params[0].account&&\"create\"===e.params[0].account.type){let t;if(e.params[0].account.keys&&e.params[0].account.keys.length>0)t=e.params[0].account.keys;else{let e=null!=(n=w.subAccountsConfig.get())?n:{},{account:a}=e.toOwnerAccount?await e.toOwnerAccount():await c0();if(!a)throw D(\"could not get subaccount owner account when adding sub account\");t=[{type:a.address?\"address\":\"webauthn-p256\",publicKey:a.address||a.publicKey}]}e.params[0].account.keys=t}let o=await this.sendRequestToPopup(e);return oR(o),o}shouldRequestUseSubAccountSigner(e){let t=un(e),a=w.subAccounts.get();return!!t&&t.toLowerCase()===(null==a?void 0:a.address.toLowerCase())}async sendRequestToSubAccountSigner(e){var t;let a=w.subAccounts.get(),r=w.subAccountsConfig.get(),n=w.config.get();$(null==a?void 0:a.address,D(\"no active sub account when sending request to sub account signer\"));let i=(null==r?void 0:r.toOwnerAccount)?await r.toOwnerAccount():await c0();$(null==i?void 0:i.account,D(\"no active sub account owner when sending request to sub account signer\")),void 0===un(e)&&(e=function(e,t){if(!Array.isArray(e.params))throw M();let a=[...e.params];switch(e.method){case\"eth_signTransaction\":case\"eth_sendTransaction\":case\"wallet_sendCalls\":a[0].from=t;break;case\"eth_signTypedData_v4\":a[0]=t;break;case\"personal_sign\":a[1]=t}return Object.assign(Object.assign({},e),{params:a})}(e,a.address));let s=oT(this.chain.id);$(s,R(`client not found for chainId ${this.chain.id} when sending request to sub account signer`));let o=this.accounts.find(e=>e.toLowerCase()!==a.address.toLowerCase());$(o,D(\"no global account found when sending request to sub account signer\"));let l=function({attribution:e,dappOrigin:t}){if(e){if(\"auto\"in e&&e.auto&&t)return(0,c8.di)((0,tH.S)((0,en.nj)(t)),0,16);if(\"dataSuffix\"in e)return e.dataSuffix}}({attribution:null==(t=n.preference)?void 0:t.attribution,dappOrigin:window.location.origin}),c=\"local\"===i.account.type?i.account.address:i.account.publicKey,u=await uC({address:a.address,factory:a.factory,factoryData:a.factoryData,publicKey:c,client:s});if(-1===u){let t=oM(e);(({method:e,correlationId:t})=>{var a;ei(\"scw_sub_account.add_owner.started\",{action:ef.unknown,componentType:ep.unknown,method:e,correlationId:t,enableAutoSubAccounts:null==(a=w.subAccountsConfig.get())?void 0:a.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:t});try{u=await uO({ownerAccount:i.account,globalAccountRequest:this.sendRequestToPopup.bind(this),chainId:this.chain.id}),(({method:e,correlationId:t})=>{var a;ei(\"scw_sub_account.add_owner.completed\",{action:ef.unknown,componentType:ep.unknown,method:e,correlationId:t,enableAutoSubAccounts:null==(a=w.subAccountsConfig.get())?void 0:a.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:t})}catch(a){return(({method:e,correlationId:t,errorMessage:a})=>{var r;ei(\"scw_sub_account.add_owner.error\",{action:ef.error,componentType:ep.unknown,method:e,correlationId:t,errorMessage:a,enableAutoSubAccounts:null==(r=w.subAccountsConfig.get())?void 0:r.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:t,errorMessage:tx(a)}),D(\"failed to add sub account owner when sending request to sub account signer\")}}let{request:d}=await uE({address:a.address,owner:i.account,client:s,factory:a.factory,factoryData:a.factoryData,parentAddress:o,attribution:l?{suffix:l}:void 0,ownerIndex:u});try{return await d(e)}catch(n){let t;if(Z(n))t=JSON.parse(n.details);else if(J(n))t=n;else throw n;if(!(J(t)&&t.data)||!t.data)throw n;let r=oM(e);(({method:e,correlationId:t})=>{var a;ei(\"scw_sub_account.insufficient_balance.error_handling.started\",{action:ef.unknown,componentType:ep.unknown,method:e,correlationId:t,enableAutoSubAccounts:null==(a=w.subAccountsConfig.get())?void 0:a.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:r});try{let n=await uT({errorData:t.data,globalAccountAddress:o,subAccountAddress:a.address,client:s,request:e,subAccountRequest:d,globalAccountRequest:this.request.bind(this)});return(({method:e,correlationId:t})=>{var a;ei(\"scw_sub_account.insufficient_balance.error_handling.completed\",{action:ef.unknown,componentType:ep.unknown,method:e,correlationId:t,enableAutoSubAccounts:null==(a=w.subAccountsConfig.get())?void 0:a.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:r}),n}catch(t){throw console.error(t),(({method:e,correlationId:t,errorMessage:a})=>{var r;ei(\"scw_sub_account.insufficient_balance.error_handling.error\",{action:ef.error,componentType:ep.unknown,method:e,correlationId:t,errorMessage:a,enableAutoSubAccounts:null==(r=w.subAccountsConfig.get())?void 0:r.enableAutoSubAccounts},eg.high)})({method:e.method,correlationId:r,errorMessage:tx(t)}),n}}}}var uM=function(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(a[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var n=0,r=Object.getOwnPropertySymbols(e);nt.indexOf(r[n])&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(a[r[n]]=e[r[n]]);return a};class uR extends tv{constructor(e){var{metadata:t}=e,a=e.preference,{walletUrl:r}=a,n=uM(a,[\"walletUrl\"]);super(),this.isBaseAccount=!0,this.communicator=new tw({url:r,metadata:t,preference:n}),this.signer=new uU({metadata:t,communicator:this.communicator,callback:this.emit.bind(this)})}async request(e){var t,a,r;let n=crypto.randomUUID();t=e,a=n,oU.setState(e=>{let r=new Map(e.correlationIds);return r.set(t,a),{correlationIds:r}}),(({method:e,correlationId:t})=>{ei(\"provider.request.started\",{action:ef.unknown,componentType:ep.unknown,method:e,signerType:\"base-account\",correlationId:t},eg.high)})({method:e.method,correlationId:n});try{let t=await this._request(e);return(({method:e,correlationId:t})=>{ei(\"provider.request.responded\",{action:ef.unknown,componentType:ep.unknown,method:e,signerType:\"base-account\",correlationId:t},eg.high)})({method:e.method,correlationId:n}),t}catch(t){throw(({method:e,correlationId:t,errorMessage:a})=>{ei(\"provider.request.error\",{action:ef.error,componentType:ep.unknown,method:e,signerType:\"base-account\",correlationId:t,errorMessage:a},eg.high)})({method:e.method,correlationId:n,errorMessage:tx(t)}),t}finally{r=e,oU.setState(e=>{let t=new Map(e.correlationIds);return t.delete(r),{correlationIds:t}})}}async _request(e){var t,a;try{if(!function(e){if(!e||\"object\"!=typeof e||Array.isArray(e))throw M({message:\"Expected a single, non-array, object argument.\",data:e});let{method:t,params:a}=e;if(\"string\"!=typeof t||0===t.length)throw M({message:\"'args.method' must be a non-empty string.\",data:e});if(void 0!==a&&!Array.isArray(a)&&(\"object\"!=typeof a||null===a))throw M({message:\"'args.params' must be an object or array if provided.\",data:e});switch(t){case\"eth_sign\":case\"eth_signTypedData_v2\":case\"eth_subscribe\":case\"eth_unsubscribe\":throw F()}}(e),!this.signer.isConnected)switch(e.method){case\"eth_requestAccounts\":await this.signer.handshake({method:\"handshake\"}),await uo(),await this.signer.request({method:\"wallet_connect\",params:[{version:\"1\",capabilities:Object.assign({},null!=(a=null==(t=w.subAccountsConfig.get())?void 0:t.capabilities)?a:{})}]});break;case\"wallet_connect\":return await this.signer.handshake({method:\"handshake\"}),await this.signer.request(e);case\"wallet_sendCalls\":case\"wallet_sign\":try{return await this.signer.handshake({method:\"handshake\"}),await this.signer.request(e)}finally{await this.signer.cleanup()}case\"wallet_getCallsStatus\":return await oG(e,u);case\"eth_accounts\":return[];case\"net_version\":return 1;case\"eth_chainId\":return tS(1);default:throw D(\"Must call 'eth_requestAccounts' before other methods\")}return await this.signer.request(e)}catch(r){let e,t,{code:a}=r;return a===I&&await this.disconnect(),Promise.reject((e=function(e,{shouldIncludeStack:t=!1}={}){var a,r;let n={};if(e&&\"object\"==typeof e&&!Array.isArray(e)&&T(e,\"code\")&&Number.isInteger(a=e.code)&&(C[a.toString()]||(r=a)>=-32099&&r<=-32e3))n.code=e.code,e.message&&\"string\"==typeof e.message?(n.message=e.message,T(e,\"data\")&&(n.data=e.data)):(n.message=q(n.code),n.data={originalError:O(e)});else n.code=z,n.message=U(e,\"message\")?e.message:P,n.data={originalError:O(e)};return t&&(n.stack=U(e,\"stack\")?e.stack:void 0),n}(function(e){var t;if(\"string\"==typeof e)return{message:e,code:z};if(void 0!==e.errorMessage){let a=e.errorMessage,r=null!=(t=e.errorCode)?t:a.match(/(denied|rejected)/i)?S:void 0;return Object.assign(Object.assign({},e),{message:a,code:r,data:{method:e.method}})}return e}(r),{shouldIncludeStack:!0}),(t=new URL(\"https://docs.cloud.coinbase.com/wallet-sdk/docs/errors\")).searchParams.set(\"version\",h),t.searchParams.set(\"code\",e.code.toString()),t.searchParams.set(\"message\",e.message),Object.assign(Object.assign({},e),{docUrl:t.href})))}}async disconnect(){await this.signer.cleanup(),oU.setState({correlationIds:new Map}),this.emit(\"disconnect\",L(\"User initiated disconnection\"))}}function uB(e){let t={metadata:{appName:e.appName||\"App\",appLogoUrl:e.appLogoUrl||\"\",appChainIds:e.appChainIds||[]},preference:null!=(a=e.preference)?a:{},paymasterUrls:e.paymasterUrls};(null==(r=e.subAccounts)?void 0:r.toOwnerAccount)&&et(e.subAccounts.toOwnerAccount),w.subAccountsConfig.set({toOwnerAccount:null==(n=e.subAccounts)?void 0:n.toOwnerAccount,enableAutoSubAccounts:null==(i=e.subAccounts)?void 0:i.enableAutoSubAccounts}),w.config.set(t),w.persist.rehydrate(),X();var a,r,n,i,s=t.preference;if(s){if(s.attribution&&void 0!==s.attribution.auto&&void 0!==s.attribution.dataSuffix)throw Error(\"Attribution cannot contain both auto and dataSuffix properties\");if(s.telemetry&&\"boolean\"!=typeof s.telemetry)throw Error(\"Telemetry must be a boolean\")}!1!==t.preference.telemetry&&new Promise((e,t)=>{if(window.ClientAnalytics)return e();try{let t=document.createElement(\"script\");t.textContent='!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.ClientAnalytics=t():e.ClientAnalytics=t()}(this,(function(){return(()=>{var e={792:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n{var t,n;t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n={rotl:function(e,t){return e<>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join(\"\")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-a)&63)):n.push(\"=\");return n.join(\"\")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\\\\/]/gi,\"\");for(var n=[],r=0,i=0;r>>6-2*i);return n}},e.exports=n},335:e=>{function t(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},762:(e,t,n)=>{var r,i,a,o,s;r=n(562),i=n(792).utf8,a=n(335),o=n(792).bin,(s=function(e,t){e.constructor==String?e=t&&\"binary\"===t.encoding?o.stringToBytes(e):i.stringToBytes(e):a(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=r.bytesToWords(e),c=8*e.length,u=1732584193,l=-271733879,d=-1732584194,p=271733878,m=0;m>>24)|4278255360&(n[m]<<24|n[m]>>>8);n[c>>>5]|=128<>>9<<4)]=c;var f=s._ff,v=s._gg,g=s._hh,b=s._ii;for(m=0;m>>0,l=l+w>>>0,d=d+y>>>0,p=p+T>>>0}return r.endian([u,l,d,p])})._ff=function(e,t,n,r,i,a,o){var s=e+(t&n|~t&r)+(i>>>0)+o;return(s<>>32-a)+t},s._gg=function(e,t,n,r,i,a,o){var s=e+(t&r|n&~r)+(i>>>0)+o;return(s<>>32-a)+t},s._hh=function(e,t,n,r,i,a,o){var s=e+(t^n^r)+(i>>>0)+o;return(s<>>32-a)+t},s._ii=function(e,t,n,r,i,a,o){var s=e+(n^(t|~r))+(i>>>0)+o;return(s<>>32-a)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error(\"Illegal argument \"+e);var n=r.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?o.bytesToString(n):r.bytesToHex(n)}},2:(e,t,n)=>{\"use strict\";n.r(t),n.d(t,{Perfume:()=>ze,incrementUjNavigation:()=>Le,markStep:()=>Re,markStepOnce:()=>qe});var r,i,a={isResourceTiming:!1,isElementTiming:!1,maxTime:3e4,reportOptions:{},enableNavigationTracking:!0},o=window,s=o.console,c=o.navigator,u=o.performance,l=function(){return c.deviceMemory},d=function(){return c.hardwareConcurrency},p=\"mark.\",m=function(){return u&&!!u.getEntriesByType&&!!u.now&&!!u.mark},f=\"4g\",v=!1,g={},b={value:0},h={value:{beacon:0,css:0,fetch:0,img:0,other:0,script:0,total:0,xmlhttprequest:0}},w={value:0},y={value:0},T={},k={isHidden:!1,didChange:!1},_=function(){k.isHidden=!1,document.hidden&&(k.isHidden=document.hidden,k.didChange=!0)},S=function(e,t){try{var n=new PerformanceObserver((function(e){t(e.getEntries())}));return n.observe({type:e,buffered:!0}),n}catch(e){s.warn(\"Perfume.js:\",e)}return null},E=function(){return!!(d()&&d()<=4)||!!(l()&&l()<=4)},x=function(e,t){switch(e){case\"slow-2g\":case\"2g\":case\"3g\":return!0;default:return E()||t}},O=function(e){return parseFloat(e.toFixed(4))},j=function(e){return\"number\"!=typeof e?null:O(e/Math.pow(1024,2))},N=function(e,t,n,r,i){var s,u=function(){a.analyticsTracker&&(k.isHidden&&![\"CLS\",\"INP\"].includes(e)||a.analyticsTracker({attribution:r,metricName:e,data:t,navigatorInformation:c?{deviceMemory:l()||0,hardwareConcurrency:d()||0,serviceWorkerStatus:\"serviceWorker\"in c?c.serviceWorker.controller?\"controlled\":\"supported\":\"unsupported\",isLowEndDevice:E(),isLowEndExperience:x(f,v)}:{},rating:n,navigationType:i}))};[\"CLS\",\"INP\"].includes(e)?u():(s=u,\"requestIdleCallback\"in o?o.requestIdleCallback(s,{timeout:3e3}):s())},I=function(e){e.forEach((function(e){if(!(\"self\"!==e.name||e.startTime0&&(w.value+=t,y.value+=t)}}))};!function(e){e.instant=\"instant\",e.quick=\"quick\",e.moderate=\"moderate\",e.slow=\"slow\",e.unavoidable=\"unavoidable\"}(r||(r={}));var P,M,B,C,D,A=((i={})[r.instant]={vitalsThresholds:[100,200],maxOutlierThreshold:1e4},i[r.quick]={vitalsThresholds:[200,500],maxOutlierThreshold:1e4},i[r.moderate]={vitalsThresholds:[500,1e3],maxOutlierThreshold:1e4},i[r.slow]={vitalsThresholds:[1e3,2e3],maxOutlierThreshold:1e4},i[r.unavoidable]={vitalsThresholds:[2e3,5e3],maxOutlierThreshold:2e4},i),L={RT:[100,200],TBT:[200,600],NTBT:[200,600]},U=function(e,t){return L[e]?t<=L[e][0]?\"good\":t<=L[e][1]?\"needsImprovement\":\"poor\":null},R=function(e,t,n){Object.keys(t).forEach((function(e){\"number\"==typeof t[e]&&(t[e]=O(t[e]))})),N(e,t,null,n||{})},q=function(e){var t=e.attribution,n=e.name,r=e.rating,i=e.value,o=e.navigationType;\"FCP\"===n&&(b.value=i),[\"FCP\",\"LCP\"].includes(n)&&!T[0]&&(T[0]=S(\"longtask\",I)),\"FID\"===n&&setTimeout((function(){k.didChange||(q({attribution:t,name:\"TBT\",rating:U(\"TBT\",w.value),value:w.value,navigationType:o}),R(\"dataConsumption\",h.value))}),1e4);var s=O(i);s<=a.maxTime&&s>=0&&N(n,s,r,t,o)},F=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType(\"navigation\")[0]},z=function(e){if(\"loading\"===document.readyState)return\"loading\";var t=F();if(t){if(e(t||100)-1)return n||i;if(n=n?i+\">\"+n:i,r.id)break;e=r.parentNode}}catch(e){}return n},Q=-1,W=function(){return Q},H=function(e){addEventListener(\"pageshow\",(function(t){t.persisted&&(Q=t.timeStamp,e(t))}),!0)},V=function(){var e=F();return e&&e.activationStart||0},J=function(e,t){var n=F(),r=\"navigate\";return W()>=0?r=\"back-forward-cache\":n&&(r=document.prerendering||V()>0?\"prerender\":document.wasDiscarded?\"restore\":n.type.replace(/_/g,\"-\")),{name:e,value:void 0===t?-1:t,rating:\"good\",delta:0,entries:[],id:\"v3-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},X=function(e,t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(Object.assign({type:e,buffered:!0},n||{})),r}}catch(e){}},G=function(e,t){var n=function n(r){\"pagehide\"!==r.type&&\"hidden\"!==document.visibilityState||(e(r),t&&(removeEventListener(\"visibilitychange\",n,!0),removeEventListener(\"pagehide\",n,!0)))};addEventListener(\"visibilitychange\",n,!0),addEventListener(\"pagehide\",n,!0)},Z=function(e,t,n,r){var i,a;return function(o){t.value>=0&&(o||r)&&((a=t.value-(i||0))||void 0===i)&&(i=t.value,t.delta=a,t.rating=function(e,t){return e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\"}(t.value,n),e(t))}},Y=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},ee=function(e){document.prerendering?addEventListener(\"prerenderingchange\",(function(){return e()}),!0):e()},te=-1,ne=function(){return\"hidden\"!==document.visibilityState||document.prerendering?1/0:0},re=function(e){\"hidden\"===document.visibilityState&&te>-1&&(te=\"visibilitychange\"===e.type?e.timeStamp:0,ae())},ie=function(){addEventListener(\"visibilitychange\",re,!0),addEventListener(\"prerenderingchange\",re,!0)},ae=function(){removeEventListener(\"visibilitychange\",re,!0),removeEventListener(\"prerenderingchange\",re,!0)},oe=function(){return te<0&&(te=ne(),ie(),H((function(){setTimeout((function(){te=ne(),ie()}),0)}))),{get firstHiddenTime(){return te}}},se=function(e,t){t=t||{},ee((function(){var n,r=[1800,3e3],i=oe(),a=J(\"FCP\"),o=X(\"paint\",(function(e){e.forEach((function(e){\"first-contentful-paint\"===e.name&&(o.disconnect(),e.startTime=0&&M1e12?new Date:performance.now())-e.timeStamp;\"pointerdown\"==e.type?function(e,t){var n=function(){le(e,t),i()},r=function(){i()},i=function(){removeEventListener(\"pointerup\",n,ce),removeEventListener(\"pointercancel\",r,ce)};addEventListener(\"pointerup\",n,ce),addEventListener(\"pointercancel\",r,ce)}(t,e):le(t,e)}},me=function(e){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(t){return e(t,pe,ce)}))},fe=0,ve=1/0,ge=0,be=function(e){e.forEach((function(e){e.interactionId&&(ve=Math.min(ve,e.interactionId),ge=Math.max(ge,e.interactionId),fe=ge?(ge-ve)/7+1:0)}))},he=function(){return D?fe:performance.interactionCount||0},we=0,ye=function(){return he()-we},Te=[],ke={},_e=function(e){var t=Te[Te.length-1],n=ke[e.interactionId];if(n||Te.length<10||e.duration>t.latency){if(n)n.entries.push(e),n.latency=Math.max(n.latency,e.duration);else{var r={id:e.interactionId,latency:e.duration,entries:[e]};ke[r.id]=r,Te.push(r)}Te.sort((function(e,t){return t.latency-e.latency})),Te.splice(10).forEach((function(e){delete ke[e.id]}))}},Se={},Ee=function e(t){document.prerendering?ee((function(){return e(t)})):\"complete\"!==document.readyState?addEventListener(\"load\",(function(){return e(t)}),!0):setTimeout(t,0)},xe=function(e,t){t=t||{};var n=[800,1800],r=J(\"TTFB\"),i=Z(e,r,n,t.reportAllChanges);Ee((function(){var a=F();if(a){var o=a.responseStart;if(o<=0||o>performance.now())return;r.value=Math.max(o-V(),0),r.entries=[a],i(!0),H((function(){r=J(\"TTFB\",0),(i=Z(e,r,n,t.reportAllChanges))(!0)}))}}))},Oe=function(e){e.forEach((function(e){e.identifier&&q({attribution:{identifier:e.identifier},name:\"ET\",rating:null,value:e.startTime})}))},je=function(e){e.forEach((function(e){if(a.isResourceTiming&&R(\"resourceTiming\",e),e.decodedBodySize&&e.initiatorType){var t=e.decodedBodySize/1e3;h.value[e.initiatorType]+=t,h.value.total+=t}}))},Ne=function(){!function(e,t){xe((function(e){!function(e){if(e.entries.length){var t=e.entries[0],n=t.activationStart||0,r=Math.max(t.domainLookupStart-n,0),i=Math.max(t.connectStart-n,0),a=Math.max(t.requestStart-n,0);e.attribution={waitingTime:r,dnsTime:i-r,connectionTime:a-i,requestTime:e.value-a,navigationEntry:t}}else e.attribution={waitingTime:0,dnsTime:0,connectionTime:0,requestTime:0}}(e),function(e){e.value>0&&q(e)}(e)}),t)}(0,a.reportOptions.ttfb),function(e,t){!function(e,t){t=t||{},ee((function(){var e,n=[.1,.25],r=J(\"CLS\"),i=-1,a=0,o=[],s=function(e){i>-1&&function(e){!function(e){if(e.entries.length){var t=e.entries.reduce((function(e,t){return e&&e.value>t.value?e:t}));if(t&&t.sources&&t.sources.length){var n=(r=t.sources).find((function(e){return e.node&&1===e.node.nodeType}))||r[0];if(n)return void(e.attribution={largestShiftTarget:$(n.node),largestShiftTime:t.startTime,largestShiftValue:t.value,largestShiftSource:n,largestShiftEntry:t,loadState:z(t.startTime)})}}var r;e.attribution={}}(e),function(e){q(e)}(e)}(e)},c=function(t){t.forEach((function(t){if(!t.hadRecentInput){var n=o[0],i=o[o.length-1];a&&t.startTime-i.startTime<1e3&&t.startTime-n.startTime<5e3?(a+=t.value,o.push(t)):(a=t.value,o=[t]),a>r.value&&(r.value=a,r.entries=o,e())}}))},u=X(\"layout-shift\",c);u&&(e=Z(s,r,n,t.reportAllChanges),se((function(t){i=t.value,r.value<0&&(r.value=0,e())})),G((function(){c(u.takeRecords()),e(!0)})),H((function(){a=0,i=-1,r=J(\"CLS\",0),e=Z(s,r,n,t.reportAllChanges),Y((function(){return e()}))})))}))}(0,t)}(0,a.reportOptions.cls),function(e,t){se((function(e){!function(e){if(e.entries.length){var t=F(),n=e.entries[e.entries.length-1];if(t){var r=t.activationStart||0,i=Math.max(0,t.responseStart-r);return void(e.attribution={timeToFirstByte:i,firstByteToFCP:e.value-i,loadState:z(e.entries[0].startTime),navigationEntry:t,fcpEntry:n})}}e.attribution={timeToFirstByte:0,firstByteToFCP:e.value,loadState:z(W())}}(e),function(e){q(e)}(e)}),t)}(0,a.reportOptions.fcp),function(e,t){!function(e,t){t=t||{},ee((function(){var n,r=[100,300],i=oe(),a=J(\"FID\"),o=function(e){e.startTime0&&(i.value=0,i.entries=[]),r(!0)})),H((function(){Te=[],we=he(),i=J(\"INP\"),r=Z(e,i,n,t.reportAllChanges)})))}))}((function(t){!function(e){if(e.entries.length){var t=e.entries.sort((function(e,t){return t.duration-e.duration||t.processingEnd-t.processingStart-(e.processingEnd-e.processingStart)}))[0];e.attribution={eventTarget:$(t.target),eventType:t.name,eventTime:t.startTime,eventEntry:t,loadState:z(t.startTime)}}else e.attribution={}}(t),e(t)}),t)}((function(e){return q(e)}),a.reportOptions.inp),a.isResourceTiming&&S(\"resource\",je),a.isElementTiming&&S(\"element\",Oe)},Ie=function(e){var t=\"usageDetails\"in e?e.usageDetails:{};R(\"storageEstimate\",{quota:j(e.quota),usage:j(e.usage),caches:j(t.caches),indexedDB:j(t.indexedDB),serviceWorker:j(t.serviceWorkerRegistrations)})},Pe={finalMarkToStepsMap:{},startMarkToStepsMap:{},active:{},navigationSteps:{}},Me=function(e){delete Pe.active[e]},Be=function(){return Pe.navigationSteps},Ce=function(e){var t;return null!==(t=Be()[e])&&void 0!==t?t:{}},De=function(e,t,n){var r=\"step.\"+e,i=u.getEntriesByName(p+t).length>0;if(u.getEntriesByName(p+n).length>0&&a.steps){var o=A[a.steps[e].threshold],s=o.maxOutlierThreshold,c=o.vitalsThresholds;if(i){var l=u.measure(r,p+t,p+n),d=l.duration;if(d<=s){var m=function(e,t){return e<=t[0]?\"good\":e<=t[1]?\"needsImprovement\":\"poor\"}(d,c);d>=0&&(N(\"userJourneyStep\",d,m,{stepName:e},void 0),u.measure(\"step.\".concat(e,\"_vitals_\").concat(m),{start:l.startTime+l.duration,end:l.startTime+l.duration,detail:{type:\"stepVital\",duration:d}}))}}}},Ae=function(){var e=Be(),t=Pe.startMarkToStepsMap,n=Object.keys(e).length;if(0===n)return{};var r={},i=n-1,a=Ce(i);if(Object.keys(a).forEach((function(e){var n,i=null!==(n=t[e])&&void 0!==n?n:[];Object.keys(i).forEach((function(e){r[e]=!0}))})),n>1){var o=Ce(i-1);Object.keys(o).forEach((function(e){var n,i=null!==(n=t[e])&&void 0!==n?n:[];Object.keys(i).forEach((function(e){r[e]=!0}))}))}return r},Le=function(){var e,t=Object.keys(Pe.navigationSteps).length;Pe.navigationSteps[t]={};var n=Ae();null===(e=a.onMarkStep)||void 0===e||e.call(a,\"\",Object.keys(n))},Ue=function(e){var t,n,r,i,o,s,c;if(Pe.finalMarkToStepsMap[e]){!function(e){var t=Pe.navigationSteps,n=Pe.finalMarkToStepsMap,r=Object.keys(t).length;if(0!==r){var i=r-1,a=Ce(i);if(a&&n[e]){var o=n[e];o&&Object.keys(o).forEach((function(e){if(a[e]){var n=Ce(i)||{};n[e]=!1,t[i]=n}if(r>1){var o=i-1,s=Ce(o);s[e]&&(s[e]=!1,t[o]=s)}}))}}}(e);var u=Pe.finalMarkToStepsMap[e];Object.keys(u).forEach((function(t){var n=u[t];n.forEach(Me),Promise.all(n.map((function(n){return function(e,t,n,r){return new(n||(n=Promise))((function(e,t){function i(e){try{o(r.next(e))}catch(e){t(e)}}function a(e){try{o(r.throw(e))}catch(e){t(e)}}function o(t){var r;t.done?e(t.value):(r=t.value,r instanceof n?r:new n((function(e){e(r)}))).then(i,a)}o((r=r.apply(undefined,[])).next())}))}(0,0,void 0,(function(){return function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError(\"Generator is already executing.\");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!((i=(i=o.trys).length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?o:1)-1)||[])[r]=!0,i[s]=c,function(e){var t,n=null!==(t=Pe.startMarkToStepsMap[e])&&void 0!==t?t:[];Object.keys(n).forEach((function(e){Pe.active[e]||(Pe.active[e]=!0)}))}(e);if(a.enableNavigationTracking){var l=Ae();null===(t=a.onMarkStep)||void 0===t||t.call(a,e,Object.keys(l))}else null===(n=a.onMarkStep)||void 0===n||n.call(a,e,Object.keys(Pe.active))},Re=function(e){u.mark(p+e),Ue(e)},qe=function(e){0===u.getEntriesByName(p+e).length&&(u.mark(p+e),Ue(e))},Fe=0,ze=function(){function e(e){if(void 0===e&&(e={}),this.v=\"9.0.0-rc.3\",a.analyticsTracker=e.analyticsTracker,a.isResourceTiming=!!e.resourceTiming,a.isElementTiming=!!e.elementTiming,a.maxTime=e.maxMeasureTime||a.maxTime,a.reportOptions=e.reportOptions||a.reportOptions,a.steps=e.steps,a.onMarkStep=e.onMarkStep,a.enableNavigationTracking=e.enableNavigationTracking,m()){\"PerformanceObserver\"in o&&Ne(),void 0!==document.hidden&&document.addEventListener(\"visibilitychange\",_);var t=function(){if(!m())return{};var e=u.getEntriesByType(\"navigation\")[0];if(!e)return{};var t=e.responseStart,n=e.responseEnd;return{fetchTime:n-e.fetchStart,workerTime:e.workerStart>0?n-e.workerStart:0,totalTime:n-e.requestStart,downloadTime:n-t,timeToFirstByte:t-e.requestStart,headerSize:e.transferSize-e.encodedBodySize||0,dnsLookupTime:e.domainLookupEnd-e.domainLookupStart,redirectTime:e.redirectEnd-e.redirectStart}}();R(\"navigationTiming\",t),t.redirectTime&&q({attribution:{},name:\"RT\",rating:U(\"RT\",t.redirectTime),value:t.redirectTime}),R(\"networkInformation\",function(){if(\"connection\"in c){var e=c.connection;return\"object\"!=typeof e?{}:(f=e.effectiveType,v=!!e.saveData,{downlink:e.downlink,effectiveType:e.effectiveType,rtt:e.rtt,saveData:!!e.saveData})}return{}}()),c&&c.storage&&\"function\"==typeof c.storage.estimate&&c.storage.estimate().then(Ie),a.steps&&a.steps&&(Pe.startMarkToStepsMap={},Pe.finalMarkToStepsMap={},Pe.active={},Pe.navigationSteps={},Object.entries(a.steps).forEach((function(e){var t,n,r=e[0],i=e[1].marks,a=i[0],o=i[1],s=null!==(n=Pe.startMarkToStepsMap[a])&&void 0!==n?n:{};if(s[r]=!0,Pe.startMarkToStepsMap[a]=s,Pe.finalMarkToStepsMap[o]){var c=Pe.finalMarkToStepsMap[o][a]||[];c.push(r),Pe.finalMarkToStepsMap[o][a]=c}else Pe.finalMarkToStepsMap[o]=((t={})[a]=[r],t)})))}}return e.prototype.start=function(e){m()&&!g[e]&&(g[e]=!0,u.mark(\"mark_\".concat(e,\"_start\")))},e.prototype.end=function(e,t,n){if(void 0===t&&(t={}),void 0===n&&(n=!0),m()&&g[e]){u.mark(\"mark_\".concat(e,\"_end\")),delete g[e];var r=function(e){u.measure(e,\"mark_\".concat(e,\"_start\"),\"mark_\".concat(e,\"_end\"));var t=u.getEntriesByName(e).pop();return t&&\"measure\"===t.entryType?t.duration:-1}(e);n&&R(e,O(r),t)}},e.prototype.endPaint=function(e,t){var n=this;setTimeout((function(){n.end(e,t)}))},e.prototype.clear=function(e){delete g[e],u.clearMarks&&(u.clearMarks(\"mark_\".concat(e,\"_start\")),u.clearMarks(\"mark_\".concat(e,\"_end\")))},e.prototype.markNTBT=function(){var e=this;this.start(\"ntbt\"),y.value=0,clearTimeout(Fe),Fe=setTimeout((function(){e.end(\"ntbt\",{},!1),q({attribution:{},name:\"NTBT\",rating:U(\"NTBT\",y.value),value:y.value}),y.value=0}),2e3)},e}()},426:(e,t)=>{\"use strict\";Symbol.for(\"react.element\"),Symbol.for(\"react.portal\"),Symbol.for(\"react.fragment\"),Symbol.for(\"react.strict_mode\"),Symbol.for(\"react.profiler\"),Symbol.for(\"react.provider\"),Symbol.for(\"react.context\"),Symbol.for(\"react.forward_ref\"),Symbol.for(\"react.suspense\"),Symbol.for(\"react.memo\"),Symbol.for(\"react.lazy\"),Symbol.iterator;var n={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},r=Object.assign,i={};function a(e,t,r){this.props=e,this.context=t,this.refs=i,this.updater=r||n}function o(){}function s(e,t,r){this.props=e,this.context=t,this.refs=i,this.updater=r||n}a.prototype.isReactComponent={},a.prototype.setState=function(e,t){if(\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e)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\")},a.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},o.prototype=a.prototype;var c=s.prototype=new o;c.constructor=s,r(c,a.prototype),c.isPureReactComponent=!0;Array.isArray,Object.prototype.hasOwnProperty;var u={current:null};t.useCallback=function(e,t){return u.current.useCallback(e,t)},t.useEffect=function(e,t){return u.current.useEffect(e,t)},t.useRef=function(e){return u.current.useRef(e)}},784:(e,t,n)=>{\"use strict\";e.exports=n(426)},353:function(e,t,n){var r;!function(i,a){\"use strict\";var o=\"function\",s=\"undefined\",c=\"object\",u=\"string\",l=\"major\",d=\"model\",p=\"name\",m=\"type\",f=\"vendor\",v=\"version\",g=\"architecture\",b=\"console\",h=\"mobile\",w=\"tablet\",y=\"smarttv\",T=\"wearable\",k=\"embedded\",_=\"Amazon\",S=\"Apple\",E=\"ASUS\",x=\"BlackBerry\",O=\"Browser\",j=\"Chrome\",N=\"Firefox\",I=\"Google\",P=\"Huawei\",M=\"LG\",B=\"Microsoft\",C=\"Motorola\",D=\"Opera\",A=\"Samsung\",L=\"Sharp\",U=\"Sony\",R=\"Xiaomi\",q=\"Zebra\",F=\"Facebook\",z=\"Chromium OS\",K=\"Mac OS\",$=function(e){for(var t={},n=0;n0?2===s.length?typeof s[1]==o?this[s[0]]=s[1].call(this,l):this[s[0]]=s[1]:3===s.length?typeof s[1]!==o||s[1].exec&&s[1].test?this[s[0]]=l?l.replace(s[1],s[2]):a:this[s[0]]=l?s[1].call(this,l,s[2]):a:4===s.length&&(this[s[0]]=l?s[3].call(this,l.replace(s[1],s[2])):a):this[s]=l||a;d+=2}},J=function(e,t){for(var n in t)if(typeof t[n]===c&&t[n].length>0){for(var r=0;r2&&(e[d]=\"iPad\",e[m]=w),e},this.getEngine=function(){var e={};return e[p]=a,e[v]=a,V.call(e,r,y.engine),e},this.getOS=function(){var e={};return e[p]=a,e[v]=a,V.call(e,r,y.os),T&&!e[p]&&b&&\"Unknown\"!=b.platform&&(e[p]=b.platform.replace(/chrome os/i,z).replace(/macos/i,K)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=typeof e===u&&e.length>350?H(e,350):e,this},this.setUA(r),this};Z.VERSION=\"1.0.35\",Z.BROWSER=$([p,v,l]),Z.CPU=$([g]),Z.DEVICE=$([d,f,m,b,h,y,w,T,k]),Z.ENGINE=Z.OS=$([p,v]),typeof t!==s?(e.exports&&(t=e.exports=Z),t.UAParser=Z):n.amdO?(r=function(){return Z}.call(t,n,t,e))===a||(e.exports=r):typeof i!==s&&(i.UAParser=Z);var Y=typeof i!==s&&(i.jQuery||i.Zepto);if(Y&&!Y.ua){var ee=new Z;Y.ua=ee.getResult(),Y.ua.get=function(){return ee.getUA()},Y.ua.set=function(e){ee.setUA(e);var t=ee.getResult();for(var n in t)Y.ua[n]=t[n]}}}(\"object\"==typeof window?window:this)}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,n),a.exports}n.amdO={},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r={};return(()=>{\"use strict\";n.r(r),n.d(r,{ActionType:()=>f,AmplitudePlatformName:()=>g,AnalyticsEventImportance:()=>l,AnalyticsQueries:()=>e,AuthStatus:()=>b,ComponentType:()=>m,IThresholdTier:()=>Jt,MetricType:()=>d,PlatformName:()=>v,SessionActions:()=>h,SessionAutomatedEvents:()=>w,SessionRank:()=>y,SubjectType:()=>p,UserTypeCommerce:()=>c,UserTypeInsto:()=>i,UserTypeRetail:()=>t,UserTypeRetailBusinessBanking:()=>s,UserTypeRetailEmployeeInternal:()=>a,UserTypeRetailEmployeePersonal:()=>o,UserTypeWallet:()=>u,automatedEvents:()=>xn,automatedMappingConfig:()=>In,clearMarkEntry:()=>Vn,clearPerformanceMarkEntries:()=>Xn,config:()=>A,createEventConfig:()=>On,createNewSpan:()=>Ln,createNewTrace:()=>Un,device:()=>W,endPerfMark:()=>Jn,exposeExperiment:()=>wn,flushQueue:()=>or,generateUUID:()=>V,getAnalyticsHeaders:()=>sr,getReferrerData:()=>le,getTracingHeaders:()=>An,getTracingId:()=>Dn,getUrlHostname:()=>pe,getUrlParams:()=>me,getUrlPathname:()=>fe,getUserContext:()=>ar,identify:()=>Tn,identifyFlow:()=>xe,identity:()=>H,identityFlow:()=>Se,incrementUjNavigation:()=>an,init:()=>yn,initNextJsTrackPageview:()=>_n,initTrackPageview:()=>kn,isEventKeyFormatValid:()=>we,isSessionEnded:()=>pt,location:()=>re,logEvent:()=>$t,logMetric:()=>Ht,logPageView:()=>on,logTrace:()=>Rn,markNTBT:()=>tn,markStep:()=>nn,markStepOnce:()=>rn,onVisibilityChange:()=>ln,optIn:()=>En,optOut:()=>Sn,perfMark:()=>Wn,persistentData:()=>oe,postMessage:()=>K,recordSessionDuration:()=>pn,removeFromIdentifyFlow:()=>Ee,savePersistentData:()=>st,sendScheduledEvents:()=>Bt,setBreadcrumbs:()=>ie,setConfig:()=>U,setLocation:()=>ae,setPagePath:()=>ve,setPageview:()=>Kt,setPersistentData:()=>se,setSessionStart:()=>dt,setTime:()=>Ue,startPerfMark:()=>Hn,timeStone:()=>Le,useEventLogger:()=>Yn,useLogEventOnMount:()=>tr,usePerformanceMarks:()=>rr});let e=function(e){return e.fbclid=\"fbclid\",e.gclid=\"gclid\",e.msclkid=\"msclkid\",e.ptclid=\"ptclid\",e.ttclid=\"ttclid\",e.utm_source=\"utm_source\",e.utm_medium=\"utm_medium\",e.utm_campaign=\"utm_campaign\",e.utm_term=\"utm_term\",e.utm_content=\"utm_content\",e}({});const t=0,i=1,a=2,o=3,s=4,c=5,u=6;let l=function(e){return e.low=\"low\",e.high=\"high\",e}({}),d=function(e){return e.count=\"count\",e.rate=\"rate\",e.gauge=\"gauge\",e.distribution=\"distribution\",e.histogram=\"histogram\",e}({}),p=function(e){return e.commerce_merchant=\"commerce_merchant\",e.device=\"device\",e.edp_fingerprint_id=\"edp_fingerprint_id\",e.nft_user=\"nft_user\",e.user=\"user\",e.wallet_user=\"wallet_user\",e.uuid=\"user_uuid\",e}({}),m=function(e){return e.unknown=\"unknown\",e.banner=\"banner\",e.button=\"button\",e.card=\"card\",e.chart=\"chart\",e.content_script=\"content_script\",e.dropdown=\"dropdown\",e.link=\"link\",e.page=\"page\",e.modal=\"modal\",e.table=\"table\",e.search_bar=\"search_bar\",e.service_worker=\"service_worker\",e.text=\"text\",e.text_input=\"text_input\",e.tray=\"tray\",e.checkbox=\"checkbox\",e.icon=\"icon\",e}({}),f=function(e){return e.unknown=\"unknown\",e.blur=\"blur\",e.click=\"click\",e.change=\"change\",e.dismiss=\"dismiss\",e.focus=\"focus\",e.hover=\"hover\",e.select=\"select\",e.measurement=\"measurement\",e.move=\"move\",e.process=\"process\",e.render=\"render\",e.scroll=\"scroll\",e.view=\"view\",e.search=\"search\",e.keyPress=\"keyPress\",e}({}),v=function(e){return e.unknown=\"unknown\",e.web=\"web\",e.android=\"android\",e.ios=\"ios\",e.mobile_web=\"mobile_web\",e.tablet_web=\"tablet_web\",e.server=\"server\",e.windows=\"windows\",e.macos=\"macos\",e.extension=\"extension\",e}({}),g=function(e){return e.web=\"Web\",e.ios=\"iOS\",e.android=\"Android\",e}({}),b=function(e){return e[e.notLoggedIn=0]=\"notLoggedIn\",e[e.loggedIn=1]=\"loggedIn\",e}({}),h=function(e){return e.ac=\"ac\",e.af=\"af\",e.ah=\"ah\",e.al=\"al\",e.am=\"am\",e.ar=\"ar\",e.as=\"as\",e}({}),w=function(e){return e.pv=\"pv\",e}({}),y=function(e){return e.xs=\"xs\",e.s=\"s\",e.m=\"m\",e.l=\"l\",e.xl=\"xl\",e.xxl=\"xxl\",e}({});const T=\"https://analytics-service-dev.cbhq.net\",k=3e5,_=5e3,S=\"analytics-db\",E=\"experiment-exposure-db\",x=\"Analytics SDK:\",O=Object.values(e),j=\"pageview\",N=\"session_duration\",I={navigationTiming:{eventName:\"perf_navigation_timing\"},redirectTime:{eventName:\"perf_redirect_time\"},RT:{eventName:\"perf_redirect_time\"},TTFB:{eventName:\"perf_time_to_first_byte\"},networkInformation:{eventName:\"perf_network_information\"},storageEstimate:{eventName:\"perf_storage_estimate\"},FCP:{eventName:\"perf_first_contentful_paint\"},FID:{eventName:\"perf_first_input_delay\"},LCP:{eventName:\"perf_largest_contentful_paint\"},CLS:{eventName:\"perf_cumulative_layout_shift\"},TBT:{eventName:\"perf_total_blocking_time\"},NTBT:{eventName:\"perf_navigation_total_blocking_time\"},INP:{eventName:\"perf_interact_to_next_paint\"},ET:{eventName:\"perf_element_timing\"},userJourneyStep:{eventName:\"perf_user_journey_step\"}},P=\"1\",M=\"web\";function B(){return B=Object.assign?Object.assign.bind():function(e){for(var t=1;t{console.error(x,e,t)},platform:v.unknown,projectName:\"\",ricTimeoutScheduleEvent:1e3,ricTimeoutSetDevice:500,showDebugLogging:!1,trackUserId:!1,version:null,apiEndpoint:T},D(T),{steps:{}}),L=[].reduce(((e,t)=>n=>e(t(n))),(e=>{if(!e.isProd)return e.isInternalApplication?(e.apiEndpoint=\"https://analytics-service-internal-dev.cbhq.net\",B({},e,D(e.apiEndpoint))):e;const t=(e=>e.apiEndpoint?C.test(e.apiEndpoint)?e.apiEndpoint:`https://${e.apiEndpoint}`:e.isInternalApplication?\"https://analytics-service-internal.cbhq.net\":\"https://as.coinbase.com\")(e);return B({},e,{apiEndpoint:t},D(t))})),U=e=>{const{batchEventsThreshold:t,batchMetricsThreshold:n,batchTracesThreshold:r}=e,i=[t,n,r];for(const e of i)if((e||0)>30){console.warn(\"You are setting the threshhold for the batch limit to be greater than 30. This may cause request overload.\");break}Object.assign(A,L(e))},R=[v.web,v.mobile_web,v.tablet_web];function q(){return\"android\"===A.platform}function F(){return\"ios\"===A.platform}function z(){return R.includes(A.platform)}function K(e){if(z()&&navigator&&\"serviceWorker\"in navigator&&navigator.serviceWorker.controller)try{navigator.serviceWorker.controller.postMessage(e)}catch(e){e instanceof Error&&A.onError(e)}}var $=n(353),Q=n.n($);const W={amplitudeOSName:null,amplitudeOSVersion:null,amplitudeDeviceModel:null,amplitudePlatform:null,browserName:null,browserMajor:null,osName:null,userAgent:null,width:null,height:null},H={countryCode:null,deviceId:null,device_os:null,isOptOut:!1,languageCode:null,locale:null,jwt:null,session_lcc_id:null,userAgent:null,userId:null},V=e=>e?(e^16*Math.random()>>e/4).toString(16):\"10000000-1000-4000-8000-100000000000\".replace(/[018]/g,V),J=()=>A.isAlwaysAuthed||!!H.userId,X=()=>{const e={};return H.countryCode&&(e.country_code=H.countryCode),e},G=()=>{const{platform:e}=A;if(e===v.web)switch(!0){case window.matchMedia(\"(max-width: 560px)\").matches:return v.mobile_web;case window.matchMedia(\"(max-width: 1024px, min-width: 561px)\").matches:return v.tablet_web}return e},Z=()=>{var e,t,n,r,i;z()?(\"requestIdleCallback\"in window?window.requestIdleCallback(ne,{timeout:A.ricTimeoutSetDevice}):ne(),W.amplitudePlatform=g.web,W.userAgent=(null==(e=window)||null==(e=e.navigator)?void 0:e.userAgent)||null,ee({height:null!=(t=null==(n=window)?void 0:n.innerHeight)?t:null,width:null!=(r=null==(i=window)?void 0:i.innerWidth)?r:null})):F()?(W.amplitudePlatform=g.ios,W.userAgent=H.userAgent,W.userAgent&&ne()):q()&&(W.userAgent=H.userAgent,W.amplitudePlatform=g.android,W.userAgent&&ne())},Y=e=>{Object.assign(H,e),z()&&K({identity:{isAuthed:!!H.userId,locale:H.locale||null}})},ee=e=>{W.height=e.height,W.width=e.width},te=()=>{U({platform:G()}),z()&&K({config:{platform:A.platform}})},ne=()=>{var e;performance.mark&&performance.mark(\"ua_parser_start\");const t=new(Q())(null!=(e=W.userAgent)?e:\"\").getResult();W.browserName=t.browser.name||null,W.browserMajor=t.browser.major||null,W.osName=t.os.name||null,W.amplitudeOSName=W.browserName,W.amplitudeOSVersion=W.browserMajor,W.amplitudeDeviceModel=W.osName,K({device:{browserName:W.browserName,osName:W.osName}}),performance.mark&&(performance.mark(\"ua_parser_end\"),performance.measure(\"ua_parser\",\"ua_parser_start\",\"ua_parser_end\"))},re={breadcrumbs:[],initialUAAData:{},pageKey:\"\",pageKeyRegex:{},pagePath:\"\",prevPageKey:\"\",prevPagePath:\"\"};function ie(e){Object.assign(re,{breadcrumbs:e})}function ae(e){Object.assign(re,e)}const oe={eventId:0,sequenceNumber:0,sessionId:0,lastEventTime:0,sessionStart:0,sessionUUID:null,userId:null,ac:0,af:0,ah:0,al:0,am:0,ar:0,as:0,pv:0};function se(e){Object.assign(oe,e)}function ce(){var e,t;return null!=(e=null==(t=document)?void 0:t.referrer)?e:\"\"}function ue(){return ue=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=ce();if(!e)return{};const t=new URL(e);return t.hostname===pe()?{}:{referrer:e,referring_domain:t.hostname}},de=()=>{const e=new URLSearchParams(me()),t={};return O.forEach((n=>{e.has(n)&&(t[n]=(e.get(n)||\"\").toLowerCase())})),t},pe=()=>{var e;return(null==(e=window)||null==(e=e.location)?void 0:e.hostname)||\"\"},me=()=>{var e;return(null==(e=window)||null==(e=e.location)?void 0:e.search)||\"\"},fe=()=>{var e;return(null==(e=window)||null==(e=e.location)?void 0:e.pathname)||\"\"},ve=()=>{const e=A.overrideWindowLocation?re.pagePath:fe()+me();e&&e!==re.pagePath&&(e!==re.pagePath&&ge(),re.pagePath=e,re.pageKeyRegex&&Object.keys(re.pageKeyRegex).some((e=>{if(re.pageKeyRegex[e].test(re.pagePath))return re.pageKey=e,!0})))},ge=()=>{if(z()){const e=ce();if(!re.prevPagePath&&e){const t=new URL(e);if(t.hostname===pe())return void(re.prevPagePath=t.pathname)}}re.prevPagePath=re.pagePath,re.prevPageKey=re.pageKey},be=e=>{z()&&Object.assign(e,z()?(Object.keys(re.initialUAAData).length>0||(new URLSearchParams(me()),re.initialUAAData=ue({},(()=>{const e={};return O.forEach((t=>{oe[t]&&(e[t]=oe[t])})),e})(),de(),le())),re.initialUAAData):re.initialUAAData)},he=/^[a-zd]+(_[a-zd]+)*$/;function we(e){return he.test(e)}function ye(){return ye=Object.assign?Object.assign.bind():function(e){for(var t=1;t{ke.includes(e)&&delete Se[e]}))}function xe(e){var t;const n=Object.entries(e).reduce(((e,t)=>{const[n,r]=t;return!Te.includes(n)&&ke.includes(n)?we(n)?ye({},e,{[n]:r}):(A.onError(new Error(\"IdentityFlow property names must have snake case format\"),{[n]:r}),e):e}),{});null!=(t=n.ujs)&&t.length&&(n.ujs=n.ujs.map((e=>`${_e}${e}`))),Object.assign(Se,n)}function Oe(){return A.platform!==v.unknown||(A.onError(new Error(\"SDK platform not initialized\")),!1)}const je={eventsQueue:[],eventsScheduled:!1,metricsQueue:[],metricsScheduled:!1,tracesQueue:[],tracesScheduled:!1};function Ne(e){Object.assign(je,e)}const Ie={ac:0,af:0,ah:0,al:0,am:0,ar:0,as:0,pv:0,sqs:0},Pe={ac:20,af:5,ah:1,al:1,am:0,ar:10,as:20},Me={pv:25},Be={xs:0,s:1,m:1,l:2,xl:2,xxl:2},Ce=e=>e<15?y.xs:e<60?y.s:e<240?y.m:e<960?y.l:e<3840?y.xl:y.xxl,De=e=>{Object.assign(Ie,e)};function Ae(){return(new Date).getTime()}const Le={timeStart:Ae(),timeOnPagePath:0,timeOnPageKey:0,prevTimeOnPagePath:0,prevTimeOnPageKey:0,sessionDuration:0,sessionEnd:0,sessionStart:0,prevSessionDuration:0};function Ue(e){Object.assign(Le,e)}const Re=(e,t)=>t.some((t=>e instanceof t));let qe,Fe;const ze=new WeakMap,Ke=new WeakMap,$e=new WeakMap,Qe=new WeakMap,We=new WeakMap;let He={get(e,t,n){if(e instanceof IDBTransaction){if(\"done\"===t)return Ke.get(e);if(\"objectStoreNames\"===t)return e.objectStoreNames||$e.get(e);if(\"store\"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Je(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&(\"done\"===t||\"store\"===t)||t in e};function Ve(e){return\"function\"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||\"objectStoreNames\"in IDBTransaction.prototype?(Fe||(Fe=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(Xe(this),e),Je(ze.get(this))}:function(...e){return Je(t.apply(Xe(this),e))}:function(e,...n){const r=t.call(Xe(this),e,...n);return $e.set(r,e.sort?e.sort():[e]),Je(r)}:(e instanceof IDBTransaction&&function(e){if(Ke.has(e))return;const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener(\"complete\",i),e.removeEventListener(\"error\",a),e.removeEventListener(\"abort\",a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException(\"AbortError\",\"AbortError\")),r()};e.addEventListener(\"complete\",i),e.addEventListener(\"error\",a),e.addEventListener(\"abort\",a)}));Ke.set(e,t)}(e),Re(e,qe||(qe=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,He):e);var t}function Je(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener(\"success\",i),e.removeEventListener(\"error\",a)},i=()=>{t(Je(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(\"success\",i),e.addEventListener(\"error\",a)}));return t.then((t=>{t instanceof IDBCursor&&ze.set(t,e)})).catch((()=>{})),We.set(t,e),t}(e);if(Qe.has(e))return Qe.get(e);const t=Ve(e);return t!==e&&(Qe.set(e,t),We.set(t,e)),t}const Xe=e=>We.get(e),Ge=[\"get\",\"getKey\",\"getAll\",\"getAllKeys\",\"count\"],Ze=[\"put\",\"add\",\"delete\",\"clear\"],Ye=new Map;function et(e,t){if(!(e instanceof IDBDatabase)||t in e||\"string\"!=typeof t)return;if(Ye.get(t))return Ye.get(t);const n=t.replace(/FromIndex$/,\"\"),r=t!==n,i=Ze.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!i&&!Ge.includes(n))return;const a=async function(e,...t){const a=this.transaction(e,i?\"readwrite\":\"readonly\");let o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return Ye.set(t,a),a}var tt;tt=He,He={...tt,get:(e,t,n)=>et(e,t)||tt.get(e,t,n),has:(e,t)=>!!et(e,t)||tt.has(e,t)};const nt={isReady:!1,idbKeyval:null};function rt(e){Object.assign(nt,e)}const it={},at=async e=>{if(!nt.idbKeyval)return Promise.resolve(null);try{return await nt.idbKeyval.get(e)}catch(e){return A.onError(new Error(\"IndexedDB:Get:InternalError\")),Promise.resolve(null)}},ot=async(e,t)=>{if(nt.idbKeyval)try{await nt.idbKeyval.set(e,t)}catch(e){A.onError(new Error(\"IndexedDB:Set:InternalError\"))}},st=()=>{\"server\"!==A.platform&&(se({sessionStart:Le.sessionStart,ac:Ie.ac,af:Ie.af,ah:Ie.ah,al:Ie.al,am:Ie.am,ar:Ie.ar,as:Ie.as,pv:Ie.pv}),H.userId&&se({userId:H.userId}),ot(S,oe))},ct=\"rgb(5,177,105)\",ut=e=>{const{metricName:t,data:n}=e,r=e.importance||l.low;if(!A.showDebugLogging||!console)return;const i=`%c ${x}`,a=`color:${ct};font-size:11px;`,o=`Importance: ${r}`;console.group(i,a,t,o),n.forEach((e=>{e.event_type?console.log(e.event_type,e):console.log(e)})),console.groupEnd()},lt=e=>{const{metricName:t,data:n}=e,r=e.importance||l.low;if(!A.showDebugLogging||!console)return;const i=`color:${ct};font-size:11px;`,a=`%c ${x}`,o=`Importance: ${r}`;console.log(a,i,t,n,o)},dt=()=>{const e=Ae();oe.sessionId&&oe.lastEventTime&&oe.sessionUUID&&!pt(e)||(oe.sessionId=e,oe.sessionUUID=V(),Ue({sessionStart:e}),lt({metricName:\"Started new session:\",data:{persistentData:oe,timeStone:Le}})),oe.lastEventTime=e},pt=e=>e-oe.lastEventTime>18e5;function mt(){return mt=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t;(e=>{switch(e.action){case f.click:Ie.ac+=1;break;case f.focus:Ie.af+=1;break;case f.hover:Ie.ah+=1;break;case f.move:Ie.am+=1;break;case f.scroll:Ie.al+=1;break;case f.search:Ie.ar+=1;break;case f.select:Ie.as+=1}})(t=e),t.event_type!==j?t.event_type===N&&((e=>{if(!e.session_rank)return;const t=e.session_rank;Object.values(h).forEach((e=>{Ie.sqs+=Ie[e]*Pe[e]})),Object.values(w).forEach((e=>{Ie.sqs+=Ie[e]*Me[e]})),Ie.sqs*=Be[t]})(t),Object.assign(t,Ie),De({ac:0,af:0,ah:0,al:0,am:0,ar:0,as:0,pv:0,sqs:0})):Ie.pv+=1;const n=e.event_type;delete e.event_type;const r=e.deviceId?e.deviceId:null,i=e.timestamp;return delete e.timestamp,se({eventId:oe.eventId+1}),se({sequenceNumber:oe.sequenceNumber+1}),dt(),st(),{device_id:H.deviceId||r||null,user_id:H.userId,timestamp:i,event_id:oe.eventId,session_id:oe.sessionId||-1,event_type:n,version_name:A.version||null,platform:W.amplitudePlatform,os_name:W.amplitudeOSName,os_version:W.amplitudeOSVersion,device_model:W.amplitudeDeviceModel,language:H.languageCode,event_properties:mt({},e,{session_uuid:oe.sessionUUID,height:W.height,width:W.width}),user_properties:X(),uuid:V(),library:{name:\"@cbhq/client-analytics\",version:\"10.6.0\"},sequence_number:oe.sequenceNumber,user_agent:W.userAgent||H.userAgent}},vt=e=>e.map((e=>ft(e)));function gt(){return gt=Object.assign?Object.assign.bind():function(e){for(var t=1;te.map((e=>(e=>{const t=e.tags||{},n=gt({authed:J()?\"true\":\"false\",platform:A.platform},t,{project_name:A.projectName,version_name:A.version||null});return{metric_name:e.metricName,page_path:e.pagePath||null,value:e.value,tags:n,type:e.metricType}})(e))),ht=e=>0!==je.metricsQueue.length&&(je.metricsQueue.length>=A.batchMetricsThreshold||(je.metricsScheduled||(je.metricsScheduled=!0,setTimeout((()=>{je.metricsScheduled=!1,e(bt(je.metricsQueue)),je.metricsQueue=[]}),A.batchMetricsPeriod)),!1)),wt=e=>0!==je.tracesQueue.length&&(je.tracesQueue.length>=A.batchTracesThreshold||(je.tracesScheduled||(je.tracesScheduled=!0,setTimeout((()=>{je.tracesScheduled=!1,e(je.tracesQueue),je.tracesQueue=[]}),A.batchTracesPeriod)),!1)),yt=e=>{var t;z()&&null!=(t=window)&&t.requestIdleCallback?window.requestIdleCallback(e,{timeout:A.ricTimeoutScheduleEvent}):(q()||F())&&A.interactionManager?A.interactionManager.runAfterInteractions(e):e()};function Tt(){return Tt=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{data:t,importance:n,isJSON:r,onError:i,url:a}=e,o=r?\"application/json\":kt,s=n||l.low,c=r?JSON.stringify(t):new URLSearchParams(t).toString();function u(){const e=new XMLHttpRequest;e.open(\"POST\",a,!0),Object.keys(A.headers||{}).forEach((t=>{e.setRequestHeader(t,A.headers[t])})),e.setRequestHeader(\"Content-Type\",kt),H.jwt&&e.setRequestHeader(\"authorization\",`Bearer ${H.jwt}`),e.send(c)}if(!z()||r||!(\"sendBeacon\"in navigator)||s!==l.low||A.headers&&0!==Object.keys(A.headers).length)if(z()&&!r)u();else{const e=Tt({},A.headers,{\"Content-Type\":o});H.jwt&&(e.Authorization=`Bearer ${H.jwt}`),fetch(a,{method:\"POST\",mode:\"no-cors\",headers:e,body:c}).catch((e=>{i(e,{context:\"AnalyticsSDKApiError\"})}))}else{const e=new Blob([c],{type:kt});try{navigator.sendBeacon.bind(navigator)(a,e)||u()}catch(e){console.error(e),u()}}};var St=n(762),Et=n.n(St);const xt=(e,t,n)=>{const r=e||\"\";return Et()(\"2\"+r+t+n)};function Ot(){return Ot=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n;e&&je.eventsQueue.push(e),nt.isReady&&(!A.trackUserId||H.userId?(t===l.high||(n=Mt,0!==je.eventsQueue.length&&(je.eventsQueue.length>=A.batchEventsThreshold||(je.eventsScheduled||(je.eventsScheduled=!0,setTimeout((()=>{je.eventsScheduled=!1,n(vt(je.eventsQueue)),je.eventsQueue=[]}),A.batchEventsPeriod)),0))))&&Bt():je.eventsQueue.length>10&&(A.trackUserId=!1,A.onError(new Error(\"userId not set in Logged-in\"))))},Mt=(e,t=l.low)=>{if(H.isOptOut||0===e.length)return;let n;try{n=JSON.stringify(e)}catch(t){const r=e.map((e=>e.event_type)).join(\", \"),[i,a]=(e=>{try{const n=[];for(const r of e){const e=Ot({},r);r.event_properties&&(e.event_properties=Ot({},e.event_properties,{currentTarget:null,target:null,relatedTarget:null,_dispatchInstances:null,_targetInst:null,view:(t=r.event_properties.view,[\"string\",\"number\",\"boolean\"].includes(typeof t)?r.event_properties.view:null)})),n.push(e)}return[!0,JSON.stringify(n)]}catch(e){return[!1,\"\"]}var t})(e);if(!i)return void A.onError(new jt(t instanceof Error?t.message:\"unknown\"),{listEventType:r});n=a,A.onError(new Nt(\"Found DOM element reference\"),{listEventType:r,stringifiedEventData:n})}const r=Ae().toString(),i=It({},{e:n,v:\"2\",upload_time:r},{client:A.amplitudeApiKey,checksum:xt(A.amplitudeApiKey,n,r)});_t({url:A.eventsEndpoint,data:i,importance:t,onError:A.onError}),ut({metricName:\"Batch Events\",data:e,importance:t})},Bt=()=>{Mt(vt(je.eventsQueue)),Ne({eventsQueue:[]})};function Ct(){return Ct=Object.assign?Object.assign.bind():function(e){for(var t=1;tDt.includes(e)?e:f.unknown,Ut=e=>At.includes(e)?e:m.unknown,Rt=(e,t,n)=>{const r={auth:J()?b.loggedIn:b.notLoggedIn,action:Lt(e),component_type:Ut(t),logging_id:n,platform:A.platform,project_name:A.projectName};return\"number\"==typeof H.userTypeEnum&&(r.user_type_enum=H.userTypeEnum),r},qt=e=>{const t=Ae();if(!e)return A.onError(new Error(\"missing logData\")),Ct({},Rt(f.unknown,m.unknown),{locale:H.locale,session_lcc_id:H.session_lcc_id,timestamp:t,time_start:Le.timeStart});const n=Ct({},e,Rt(e.action,e.componentType,e.loggingId),{locale:H.locale,session_lcc_id:H.session_lcc_id,timestamp:t,time_start:Le.timeStart});return delete n.componentType,delete n.loggingId,n},Ft={blacklistRegex:[],isEnabled:!1};function zt(){return{page_key:re.pageKey,page_path:re.pagePath,prev_page_key:re.prevPageKey,prev_page_path:re.prevPagePath}}function Kt(e){Object.assign(Ft,e)}function $t(e,t,n=l.low){if(H.isOptOut)return;if(!Oe())return;const r=qt(t);!function(e){Ft.isEnabled&&(ve(),Object.assign(e,zt()))}(r),be(r),function(e){Object.keys(Se).length>0&&Object.assign(e,Se)}(r),r.has_double_fired=!1,r.event_type=e,n===l.high?Pt(r,n):yt((()=>{Pt(r)}))}function Qt(e,t=!1){t?_t({url:A.metricsEndPoint,data:{metrics:e},isJSON:!0,onError:A.onError}):yt((()=>{_t({url:A.metricsEndPoint,data:{metrics:e},isJSON:!0,onError:A.onError})})),ut({metricName:\"Batch Metrics\",data:e})}function Wt(){return Wt=Object.assign?Object.assign.bind():function(e){for(var t=1;t{null!=A&&A.onMarkStep&&A.onMarkStep(e,t),xe({ujs:t})};let Yt;const en={Perfume:()=>{},markStep:e=>{},markStepOnce:e=>{},incrementUjNavigation:()=>{}},tn=()=>{z()&&Yt&&Yt.markNTBT&&Yt.markNTBT()},nn=e=>{z()&&Yt&&en.markStep&&en.markStep(e)},rn=e=>{z()&&Yt&&en.markStepOnce&&en.markStepOnce(e)},an=()=>{z()&&Yt&&en.incrementUjNavigation&&en.incrementUjNavigation()};function on(e={callMarkNTBT:!0}){\"unknown\"!==A.platform&&(Ft.blacklistRegex.some((e=>e.test(fe())))||($t(j,{action:f.render,componentType:m.page}),e.callMarkNTBT&&tn()))}let sn=!1,cn=!1;const un=e=>{sn=!e.persisted},ln=(e,t=\"hidden\",n=!1)=>{cn||(addEventListener(\"pagehide\",un),addEventListener(\"beforeunload\",(()=>{})),cn=!0),addEventListener(\"visibilitychange\",(({timeStamp:n})=>{document.visibilityState===t&&e({timeStamp:n,isUnloading:sn})}),{capture:!0,once:n})},dn=36e3;function pn(){const e=pt(Ae());if(e&&(O.forEach((e=>{oe[e]&&delete oe[e]})),st()),!oe.lastEventTime||!Le.sessionStart||!e)return;const t=Math.round((oe.lastEventTime-Le.sessionStart)/1e3);if(t<1||t>dn)return;const n=Ce(t);$t(N,{action:f.measurement,componentType:m.page,session_duration:t,session_end:oe.lastEventTime,session_start:Le.sessionStart,session_rank:n})}function mn(){return mn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=fn.shift();e&&e()},bn=()=>{const e=vn.shift();e&&e()};let hn={};function wn(e){const t=function(e){return{test_name:e.testName,group_name:e.group,subject_id:e.subjectId,exposed_at:Ae(),subject_type:e.subjectType,platform:A.platform}}(e);hn[e.testName]=hn[e.testName]||0,hn[e.testName]+k>Ae()?lt({metricName:`Event: exposeExperiment ${e.testName} not sent`,data:t}):(hn[e.testName]=Ae(),ot(E,hn),lt({metricName:`Event: exposeExperiment ${e.testName} sent`,data:t}),_t({url:A.exposureEndpoint,data:[t],onError:(t,n)=>{hn[e.testName]=0,ot(E,hn),A.onError(t,n)},isJSON:!0,importance:l.high}))}const yn=e=>{var t,r,i;U(e),z()&&(H.languageCode=(null==(t=navigator)?void 0:t.languages[0])||(null==(r=navigator)?void 0:r.language)||\"\"),te(),(()=>{var e;if(z()&&null!=(e=window)&&e.indexedDB){const e=function(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){const o=indexedDB.open(e,t),s=Je(o);return r&&o.addEventListener(\"upgradeneeded\",(e=>{r(Je(o.result),e.oldVersion,e.newVersion,Je(o.transaction),e)})),n&&o.addEventListener(\"blocked\",(e=>n(e.oldVersion,e.newVersion,e))),s.then((e=>{a&&e.addEventListener(\"close\",(()=>a())),i&&e.addEventListener(\"versionchange\",(e=>i(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),s}(\"keyval-store\",1,{upgrade(e){e.createObjectStore(\"keyval\")}});rt({idbKeyval:{get:async t=>(await e).get(\"keyval\",t),set:async(t,n)=>(await e).put(\"keyval\",n,t),delete:async t=>(await e).delete(\"keyval\",t),keys:async()=>(await e).getAllKeys(\"keyval\")}})}else rt({idbKeyval:{get:async e=>new Promise((t=>{t(it[e])})),set:async(e,t)=>new Promise((n=>{it[e]=t,n(e)})),delete:async e=>new Promise((()=>{delete it[e]})),keys:async()=>new Promise((e=>{e(Object.keys(it))}))}})})(),lt({metricName:\"Initialized Analytics:\",data:{deviceId:H.deviceId}}),fn.push((()=>{Pt()})),(async()=>{const e=await at(S);rt({isReady:!0}),gn(),e&&(bn(),se({eventId:e.eventId||oe.eventId,sequenceNumber:e.sequenceNumber||oe.sequenceNumber,sessionId:e.sessionId||oe.sessionId,lastEventTime:e.lastEventTime||oe.lastEventTime,sessionUUID:e.sessionUUID||oe.sessionUUID}),function(e){se(mn({},function(e){const t={};return O.forEach((n=>{e[n]&&(t[n]=e[n])})),t}(e),de()))}(e),Ue({sessionStart:e.sessionStart||oe.sessionStart}),De({ac:e.ac||Ie.ac,af:e.af||Ie.af,ah:e.ah||Ie.ah,al:e.al||Ie.al,am:e.am||Ie.am,ar:e.ar||Ie.ar,as:e.as||Ie.as,pv:e.pv||Ie.pv}),A.trackUserId&&Y({userId:e.userId||H.userId}),pn(),lt({metricName:\"Initialized Analytics IndexedDB:\",data:e}))})(),async function(){at(E).then((e=>{hn=null!=e?e:{}})).catch((e=>{e instanceof Error&&A.onError(e)}))}(),Z(),z()&&(ln((()=>{se({lastEventTime:Ae()}),st(),Bt()}),\"hidden\"),ln((()=>{pn()}),\"visible\")),z()&&(i=()=>{var e,t,n,r;te(),ee({width:null!=(e=null==(t=window)?void 0:t.innerWidth)?e:null,height:null!=(n=null==(r=window)?void 0:r.innerHeight)?n:null})},addEventListener(\"resize\",(()=>{requestAnimationFrame((()=>{i()}))}))),(()=>{if(z())try{const e=n(2);en.markStep=e.markStep,en.markStepOnce=e.markStepOnce,en.incrementUjNavigation=e.incrementUjNavigation,Yt=new e.Perfume({analyticsTracker:e=>{const{data:t,attribution:n,metricName:r,navigatorInformation:i,rating:a}=e,o=I[r],s=(null==n?void 0:n.category)||null;if(!o&&!s)return;const c=(null==i?void 0:i.deviceMemory)||0,u=(null==i?void 0:i.hardwareConcurrency)||0,l=(null==i?void 0:i.isLowEndDevice)||!1,p=(null==i?void 0:i.isLowEndExperience)||!1,v=(null==i?void 0:i.serviceWorkerStatus)||\"unsupported\",g=Vt({deviceMemory:c,hardwareConcurrency:u,isLowEndDevice:l,isLowEndExperience:p,serviceWorkerStatus:v},Gt),b={is_low_end_device:l,is_low_end_experience:p,page_key:re.pageKey||\"\",save_data:t.saveData||!1,service_worker:v,is_perf_metric:!0};if(\"navigationTiming\"===r)t&&\"number\"==typeof t.redirectTime&&Ht({metricName:I.redirectTime.eventName,metricType:d.histogram,tags:b,value:t.redirectTime||0});else if(\"TTFB\"===r)$t(o.eventName,Vt({action:f.measurement,componentType:m.page,duration:t||null,vitalsScore:a||null},g)),Ht({metricName:I.TTFB.eventName,metricType:d.histogram,tags:Vt({},b),value:t}),a&&Ht({metricName:`perf_web_vitals_ttfb_${a}`,metricType:d.count,tags:b,value:1});else if(\"networkInformation\"===r)null!=t&&t.effectiveType&&(Gt=t,$t(o.eventName,{action:f.measurement,componentType:m.page,networkInformationDownlink:t.downlink,networkInformationEffectiveType:t.effectiveType,networkInformationRtt:t.rtt,networkInformationSaveData:t.saveData,navigatorDeviceMemory:c,navigatorHardwareConcurrency:u}));else if(\"storageEstimate\"===r)$t(o.eventName,Vt({action:f.measurement,componentType:m.page},t,g)),Ht({metricName:\"perf_storage_estimate_caches\",metricType:d.histogram,tags:b,value:t.caches}),Ht({metricName:\"perf_storage_estimate_indexed_db\",metricType:d.histogram,tags:b,value:t.indexedDB});else if(\"CLS\"===r)$t(o.eventName,Vt({action:f.measurement,componentType:m.page,score:100*t||null,vitalsScore:a||null},g)),a&&Ht({metricName:`perf_web_vitals_cls_${a}`,metricType:d.count,tags:b,value:1});else if(\"FID\"===r){const e=(null==n?void 0:n.performanceEntry)||null,r=parseInt((null==e?void 0:e.processingStart)||\"\");$t(o.eventName,Vt({action:f.measurement,componentType:m.page,duration:t||null,processingStart:null!=e&&e.processingStart?r:null,startTime:null!=e&&e.startTime?parseInt(e.startTime):null,vitalsScore:a||null},g)),a&&Ht({metricName:`perf_web_vitals_fidVitals_${a}`,metricType:d.count,tags:b,value:1})}else\"userJourneyStep\"===r?($t(\"perf_user_journey_step\",Vt({action:f.measurement,componentType:m.page,duration:t||null,rating:null!=a?a:null,step_name:(null==n?void 0:n.stepName)||\"\"},g)),Ht({metricName:`user_journey_step.${A.projectName}.${A.platform}.${(null==n?void 0:n.stepName)||\"\"}_vitals_${a}`,metricType:d.count,tags:b,value:1}),Ht({metricName:`user_journey_step.${A.projectName}.${A.platform}.${(null==n?void 0:n.stepName)||\"\"}`,metricType:d.distribution,tags:b,value:t||null})):I[r]&&t&&($t(o.eventName,Vt({action:f.measurement,componentType:m.page,duration:t||null,vitalsScore:a||null},g)),a&&(Ht({metricName:`perf_web_vitals_${Xt(r)}_${a}`,metricType:d.count,tags:b,value:1}),\"LCP\"===r&&Ht({metricName:`perf_web_vitals_${Xt(r)}`,metricType:d.distribution,tags:b,value:t})))},maxMeasureTime:3e4,steps:A.steps,onMarkStep:Zt})}catch(e){e instanceof Error&&A.onError(e)}})()},Tn=e=>{Y(e),e.userAgent&&Z(),lt({metricName:\"Identify:\",data:{countryCode:H.countryCode,deviceId:H.deviceId,userId:H.userId}})},kn=({blacklistRegex:e,pageKeyRegex:t,browserHistory:n})=>{Kt({blacklistRegex:e||[],isEnabled:!0}),ae({pageKeyRegex:t}),on({callMarkNTBT:!1}),n.listen((()=>{on()}))},_n=({blacklistRegex:e,pageKeyRegex:t,nextJsRouter:n})=>{Kt({blacklistRegex:e||[],isEnabled:!0}),ae({pageKeyRegex:t}),on({callMarkNTBT:!1}),n.events.on(\"routeChangeComplete\",(()=>{on()}))},Sn=()=>{Y({isOptOut:!0}),ot(S,{})},En=()=>{Y({isOptOut:!1})},xn={Button:{label:\"cb_button\",uuid:\"e921a074-40e6-4371-8700-134d5cd633e6\",componentType:m.button}};function On(e,t,n){return{componentName:e,actions:t,data:n}}function jn(){return jn=Object.assign?Object.assign.bind():function(e){for(var t=1;tNn(xn.Button,f.click,e),[f.hover]:e=>Nn(xn.Button,f.hover,e)}}};function Pn(e,t=!1){t?_t({url:A.tracesEndpoint,data:{traces:e},isJSON:!0,onError:A.onError}):yt((()=>{_t({url:A.tracesEndpoint,data:{traces:e},isJSON:!0,onError:A.onError})})),ut({metricName:\"Batch Traces\",data:e})}function Mn(){return Mn=Object.assign?Object.assign.bind():function(e){for(var t=1;t0}(e)&&(t&&function(e,t){e.forEach((e=>function(e,t){const n=Mn({},e.meta,t.meta),r={start:t.start?Cn(t.start):e.start,duration:t.duration?Cn(t.duration):e.duration};Object.assign(e,t,Mn({meta:n},r))}(e,t)))}(e,t),je.tracesQueue.push(e),wt(Pn)&&(Pn(je.tracesQueue),je.tracesQueue=[]))}function qn(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:String(t)}function Fn(){return Fn=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}(Qn,[n].map(qn));Qn=r}function Jn(e,t){if(!zn())return;const n=$n(e,\"start\",t);Qn[n]&&(Wn(e,\"end\",t),Vn(e,t))}function Xn(){zn()&&(performance.clearMarks(),Qn={})}var Gn=n(784);function Zn(){return Zn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.current=t}),[t]),(0,Gn.useCallback)((t=>{$t(e,Zn({},r.current,t),n)}),[e,n])}function er(){return er=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const r=er({},t,{action:f.render});$t(e,r,n)}),[])}function nr(){return nr=Object.assign?Object.assign.bind():function(e){for(var t=1;tHn(e,t)),[e,t]),markEndPerf:(0,Gn.useCallback)((n=>Jn(e,nr({},t,n))),[e,t])}};function ir(){return ir=Object.assign?Object.assign.bind():function(e){for(var t=1;t{return null!=(n=t[1])&&\"\"!==n?ir({},e,{[t[0]]:t[1]}):e;var n}),{})}async function or(){return new Promise((e=>{Mt(vt(je.eventsQueue)),Qt(bt(je.metricsQueue),!0),Pn(je.tracesQueue,!0),Ne({eventsQueue:[],metricsQueue:[],tracesQueue:[]}),e()}))}function sr(){return{\"X-CB-Device-ID\":H.deviceId||\"unknown\",\"X-CB-Is-Logged-In\":H.userId?\"true\":\"false\",\"X-CB-Pagekey\":re.pageKey||\"unknown\",\"X-CB-UJS\":(e=Se.ujs,void 0===e||0===e.length?\"\":e.join(\",\")),\"X-CB-Platform\":A.platform||\"unknown\",\"X-CB-Project-Name\":A.projectName||\"unknown\",\"X-CB-Session-UUID\":oe.sessionUUID||\"unknown\",\"X-CB-Version-Name\":A.version?String(A.version):\"unknown\"};var e}})(),r})()}));',t.type=\"text/javascript\",document.head.appendChild(t),(()=>{var e,t,a;if(\"u\">typeof window){let r=null!=(a=null!=(e=w.config.get().deviceId)?e:null==(t=window.crypto)?void 0:t.randomUUID())?a:\"\";if(window.ClientAnalytics){let{init:e,identify:t,PlatformName:a}=window.ClientAnalytics;e({isProd:!0,amplitudeApiKey:\"c66737ad47ec354ced777935b0af822e\",platform:a.web,projectName:\"base_account_sdk\",showDebugLogging:!1,version:\"1.0.0\",apiEndpoint:\"https://cca-lite.coinbase.com\"}),t({deviceId:r}),w.config.set({deviceId:r})}}})(),document.head.removeChild(t),e()}catch(e){console.error(\"Failed to execute inlined telemetry script\"),t()}});let o=null,l={getProvider:()=>{var e,a,r;let n;return o||(o=null!=(e=(null==(n=null!=(r=null==(a=window.top)?void 0:a.ethereum)?r:window.ethereum)?void 0:n.isCoinbaseBrowser)?n:null)?e:new uR(t)),o},subAccount:{async create(e){var t;return await (null==(t=l.getProvider())?void 0:t.request({method:\"wallet_addSubAccount\",params:[{version:\"1\",account:e}]}))},async get(){var e,t;let a=w.subAccounts.get();if(null==a?void 0:a.address)return a;let r=null==(t=(await (null==(e=l.getProvider())?void 0:e.request({method:\"wallet_connect\",params:[{version:\"1\",capabilities:{}}]}))).accounts[0].capabilities)?void 0:t.subAccounts;return Array.isArray(r)?r[0]:null},addOwner:async({address:e,publicKey:t,chainId:a})=>{var r,n;let i=w.subAccounts.get(),s=w.account.get();$(s,Error(\"account does not exist\")),$(null==i?void 0:i.address,Error(\"subaccount does not exist\"));let o=[];if(t){let[e,a]=(0,ea.n)([{type:\"bytes32\"},{type:\"bytes32\"}],t);o.push({to:i.address,data:(0,er.p)({abi:v,functionName:\"addOwnerPublicKey\",args:[e,a]}),value:(0,en.nj)(0)})}return e&&o.push({to:i.address,data:(0,er.p)({abi:v,functionName:\"addOwnerAddress\",args:[e]}),value:(0,en.nj)(0)}),await (null==(r=l.getProvider())?void 0:r.request({method:\"wallet_sendCalls\",params:[{calls:o,chainId:(0,en.nj)(a),from:null==(n=s.accounts)?void 0:n[0],version:\"1\"}]}))},setToOwnerAccount(e){et(e),w.subAccountsConfig.set({toOwnerAccount:e})}}};return l}let uN={USDC:{decimals:6,addresses:{base:\"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",baseSepolia:\"0x036CbD53842c5426634e7929541eC2318f3dCF7e\"}}},uD={base:8453,baseSepolia:84532},uF=[{name:\"transfer\",type:\"function\",stateMutability:\"nonpayable\",inputs:[{name:\"to\",type:\"address\"},{name:\"amount\",type:\"uint256\"}],outputs:[{name:\"\",type:\"bool\"}]},{name:\"Transfer\",type:\"event\",anonymous:!1,inputs:[{name:\"from\",type:\"address\",indexed:!0},{name:\"to\",type:\"address\",indexed:!0},{name:\"value\",type:\"uint256\",indexed:!1}]}];var uL=a(1869);let uW=({testnet:e,status:t,correlationId:a})=>{ei(\"payment.status_check.completed\",{action:ef.process,componentType:ep.unknown,method:\"getPaymentStatus\",correlationId:a,signerType:\"base-account\",testnet:e,status:t},eg.low)},uK=({testnet:e,correlationId:t,errorMessage:a})=>{ei(\"payment.status_check.error\",{action:ef.error,componentType:ep.unknown,method:\"getPaymentStatus\",correlationId:t,errorMessage:a,signerType:\"base-account\",testnet:e},eg.low)};async function uH(e){var t;let{id:a,testnet:r=!1,telemetry:n=!0}=e,i=crypto.randomUUID();n&&(({testnet:e,correlationId:t})=>{ei(\"payment.status_check.started\",{action:ef.process,componentType:ep.unknown,method:\"getPaymentStatus\",correlationId:t,signerType:\"base-account\",testnet:e},eg.low)})({testnet:r,correlationId:i});try{let e=r?\"https://api.developer.coinbase.com/rpc/v1/base-sepolia/S-fOd2n2Oi4fl4e1Crm83XeDXZ7tkg8O\":\"https://api.developer.coinbase.com/rpc/v1/base/S-fOd2n2Oi4fl4e1Crm83XeDXZ7tkg8O\",s=await fetch(e,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({jsonrpc:\"2.0\",id:1,method:\"eth_getUserOperationReceipt\",params:[a]})}).then(e=>e.json());if(s.error){console.error(\"[getPaymentStatus] RPC error:\",s.error);let e=s.error.message||\"Network error\";throw n&&uK({testnet:r,correlationId:i,errorMessage:e}),Error(`RPC error: ${e}`)}if(!s.result){let t=await fetch(e,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({jsonrpc:\"2.0\",id:2,method:\"eth_getUserOperationByHash\",params:[a]})}).then(e=>e.json());if(t.result)return n&&uW({testnet:r,status:\"pending\",correlationId:i}),{status:\"pending\",id:a,message:\"Your payment is being processed. This usually takes a few seconds.\",sender:t.result.sender};return n&&uW({testnet:r,status:\"not_found\",correlationId:i}),{status:\"not_found\",id:a,message:\"Payment not found. Please check your transaction ID.\"}}let{success:o,receipt:l,reason:c}=s.result;if(o){let e,o;if(null==l?void 0:l.logs){let a=r?\"baseSepolia\":\"base\",n=uN.USDC.addresses[a].toLowerCase(),i=s.result.sender?(0,a6.b)(s.result.sender):void 0,c=[];for(let e=0;e0&&i){let t=c.filter(e=>{try{return(0,tC.h)(e.from,i)}catch(e){return!1}});if(0===t.length)throw Error(`Unable to find USDC transfer from sender wallet ${s.result.sender}. Found ${c.length} USDC transfer(s) but none originated from the sender wallet.`);if(t.length>1){let e=t.map(e=>`${e.formattedAmount} USDC to ${e.to}`).join(\", \");throw Error(`Found multiple USDC transfers from sender wallet ${s.result.sender}: ${e}. Expected exactly one transfer.`)}e=t[0].formattedAmount,o=t[0].to}}return n&&uW({testnet:r,status:\"completed\",correlationId:i}),{status:\"completed\",id:a,message:\"Payment completed successfully\",sender:s.result.sender,amount:e,recipient:o}}let u=\"Payment could not be completed\";return c&&(u=c.toLowerCase().includes(\"insufficient\")?\"Insufficient USDC balance\":c),n&&uW({testnet:r,status:\"failed\",correlationId:i}),{status:\"failed\",id:a,message:\"Payment failed\",sender:s.result.sender,reason:u}}catch(t){console.error(\"[getPaymentStatus] Error checking status:\",t);let e=t instanceof Error?t.message:\"Connection error\";throw n&&uK({testnet:r,correlationId:i,errorMessage:e}),t}}async function uV(e,t){var a;let r,n,i=e.getProvider(),s=await i.request({method:\"wallet_sendCalls\",params:[t]});if(\"string\"==typeof s&&s.length>=66)r=s.slice(0,66);else if(\"object\"==typeof s&&null!==s)if(\"string\"==typeof s.id&&s.id.length>=66)r=s.id.slice(0,66),(null==(a=s.capabilities)?void 0:a.dataCallback)&&(n=s.capabilities.dataCallback);else throw Error(`Could not extract transaction hash from object response. Available fields: ${Object.keys(s).join(\", \")}`);else throw Error(`Unexpected response format from wallet_sendCalls: expected string with length > 66 or object with id, got ${typeof s}`);return{transactionHash:r,payerInfoResponses:n}}async function uG(e,t,a,r=!0){let n=function(e,t,a=!0){return uB({appName:\"u\">typeof window?window.location.origin:\"Base Pay SDK\",appChainIds:[e],preference:{telemetry:a,walletUrl:t}})}(uD[t?\"baseSepolia\":\"base\"],a,r),i=n.getProvider();try{return await uV(n,e)}finally{await i.disconnect()}}class uJ extends tN.C{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:\"InvalidDecimalNumberError\"})}}async function uZ(e){var t,a;let{amount:r,to:n,testnet:i=!1,payerInfo:s,walletUrl:o,telemetry:l=!0}=e,c=crypto.randomUUID();l&&(({amount:e,testnet:t,correlationId:a})=>{ei(\"payment.pay.started\",{action:ef.process,componentType:ep.unknown,method:\"pay\",correlationId:a,signerType:\"base-account\",amount:e,testnet:t},eg.high)})({amount:r,testnet:i,correlationId:c});try{let e,t,u,d,h;if(\"string\"!=typeof r)throw Error(\"Invalid amount: must be a string\");let m=parseFloat(r);if(isNaN(m))throw Error(\"Invalid amount: must be a valid number\");if(m<=0)throw Error(\"Invalid amount: must be greater than 0\");let p=r.indexOf(\".\");if(-1!==p&&r.length-p-1>6)throw Error(\"Invalid amount: pay only supports up to 6 decimal places\");let f=function(e){if(!e)throw Error(\"Invalid address: address is required\");try{return(0,a6.b)(e)}catch(e){throw Error(\"Invalid address: must be a valid Ethereum address\")}}(n),g=(e=function(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new uJ({value:e});let[a,r=\"0\"]=e.split(\".\"),n=a.startsWith(\"-\");if(n&&(a=a.slice(1)),r=r.replace(/(0+)$/,\"\"),0===t)1===Math.round(Number(`.${r}`))&&(a=`${BigInt(a)+1n}`),r=\"\";else if(r.length>t){let[e,n,i]=[r.slice(0,t-1),r.slice(t-1,t),r.slice(t)],s=Math.round(Number(`${n}.${i}`));(r=s>9?`${BigInt(e)+BigInt(1)}0`.padStart(e.length+1,\"0\"):`${e}${s}`).length>t&&(r=r.slice(1),a=`${BigInt(a)+1n}`),r=r.slice(0,t)}else r=r.padEnd(t,\"0\");return BigInt(`${n?\"-\":\"\"}${a}${r}`)}(r,uN.USDC.decimals),a=(0,er.p)({abi:uF,functionName:\"transfer\",args:[f,e]}),u=uD[t=i?\"baseSepolia\":\"base\"],d=uN.USDC.addresses[t],h={},s&&s.requests.length>0&&(h.dataCallback=Object.assign({requests:s.requests.map(e=>{var t;return{type:e.type,optional:null!=(t=e.optional)&&t}})},s.callbackURL&&{callbackURL:s.callbackURL})),{version:\"2.0.0\",chainId:u,calls:[{to:d,data:a,value:\"0x0\"}],capabilities:h}),b=await uG(g,i,o,l);return l&&(({amount:e,testnet:t,correlationId:a})=>{ei(\"payment.pay.completed\",{action:ef.process,componentType:ep.unknown,method:\"pay\",correlationId:a,signerType:\"base-account\",amount:e,testnet:t},eg.high)})({amount:r,testnet:i,correlationId:c}),{success:!0,id:b.transactionHash,amount:r,to:f,payerInfoResponses:b.payerInfoResponses}}catch(a){let e=\"Unknown error occurred\";throw a instanceof Error?e=a.message:\"string\"==typeof a?e=a:a&&\"object\"==typeof a&&(\"string\"==typeof(null==a?void 0:a.message)?e=a.message:\"string\"==typeof(null==(t=null==a?void 0:a.error)?void 0:t.message)?e=a.error.message:\"string\"==typeof(null==a?void 0:a.reason)&&(e=a.reason)),l&&(({amount:e,testnet:t,correlationId:a,errorMessage:r})=>{ei(\"payment.pay.error\",{action:ef.error,componentType:ep.unknown,method:\"pay\",correlationId:a,signerType:\"base-account\",amount:e,testnet:t,errorMessage:r},eg.high)})({amount:r,testnet:i,correlationId:c,errorMessage:e}),a}}let u$={pay:uZ,getPaymentStatus:uH,constants:{CHAIN_IDS:uD,TOKENS:uN},types:{}}},1276(e,t,a){let r;a.r(t),a.d(t,{createCoinbaseWalletSDK:()=>t3,default:()=>t9,CoinbaseWalletSDK:()=>t0});var n=a(1591),i=a(3601);class s{constructor(e,t){this.scope=e,this.module=t}storeObject(e,t){this.setItem(e,JSON.stringify(t))}loadObject(e){let t=this.getItem(e);return t?JSON.parse(t):void 0}setItem(e,t){localStorage.setItem(this.scopedKey(e),t)}getItem(e){return localStorage.getItem(this.scopedKey(e))}removeItem(e){localStorage.removeItem(this.scopedKey(e))}clear(){let e=this.scopedKey(\"\"),t=[];for(let a=0;alocalStorage.removeItem(e))}scopedKey(e){return`-${this.scope}${this.module?`:${this.module}`:\"\"}:${e}`}static clearAll(){new s(\"CBWSDK\").clear(),new s(\"walletlink\").clear()}}let o=-32602,l=-32603,c=4001,u=4100,d=4200,h=4900,m={\"-32700\":{standard:\"JSON RPC 2.0\",message:\"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.\"},\"-32600\":{standard:\"JSON RPC 2.0\",message:\"The JSON sent is not a valid Request object.\"},\"-32601\":{standard:\"JSON RPC 2.0\",message:\"The method does not exist / is not available.\"},\"-32602\":{standard:\"JSON RPC 2.0\",message:\"Invalid method parameter(s).\"},\"-32603\":{standard:\"JSON RPC 2.0\",message:\"Internal JSON-RPC error.\"},\"-32000\":{standard:\"EIP-1474\",message:\"Invalid input.\"},\"-32001\":{standard:\"EIP-1474\",message:\"Resource not found.\"},\"-32002\":{standard:\"EIP-1474\",message:\"Resource unavailable.\"},\"-32003\":{standard:\"EIP-1474\",message:\"Transaction rejected.\"},\"-32004\":{standard:\"EIP-1474\",message:\"Method not supported.\"},\"-32005\":{standard:\"EIP-1474\",message:\"Request limit exceeded.\"},4001:{standard:\"EIP-1193\",message:\"User rejected the request.\"},4100:{standard:\"EIP-1193\",message:\"The requested account and/or method has not been authorized by the user.\"},4200:{standard:\"EIP-1193\",message:\"The requested method is not supported by this Ethereum provider.\"},4900:{standard:\"EIP-1193\",message:\"The provider is disconnected from all chains.\"},4901:{standard:\"EIP-1193\",message:\"The provider is disconnected from the specified chain.\"},4902:{standard:\"EIP-3085\",message:\"Unrecognized chain ID.\"}},p=\"Unspecified error message.\";function f(e,t=p){if(e&&Number.isInteger(e)){var a;let t=e.toString();if(b(m,t))return m[t].message;if((a=e)>=-32099&&a<=-32e3)return\"Unspecified server error.\"}return t}function g(e){return e&&\"object\"==typeof e&&!Array.isArray(e)?Object.assign({},e):e}function b(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function y(e,t){return\"object\"==typeof e&&null!==e&&t in e&&\"string\"==typeof e[t]}let w=e=>S(o,e),k=e=>S(l,e),v=e=>I(c,e),x=e=>I(u,e),_=e=>I(d,e),j=e=>I(h,e),z=e=>{if(!e||\"object\"!=typeof e||Array.isArray(e))throw Error(\"Ethereum Provider custom errors must provide single object argument.\");let{code:t,message:a,data:r}=e;if(!a||\"string\"!=typeof a)throw Error('\"message\" must be a nonempty string');return new C(t,a,r)};function S(e,t){let[a,r]=A(t);return new E(e,a||f(e),r)}function I(e,t){let[a,r]=A(t);return new C(e,a||f(e),r)}function A(e){if(e){if(\"string\"==typeof e)return[e];else if(\"object\"==typeof e&&!Array.isArray(e)){let{message:t,data:a}=e;if(t&&\"string\"!=typeof t)throw Error(\"Must specify string message.\");return[t||void 0,a]}}return[]}class E extends Error{constructor(e,t,a){if(!Number.isInteger(e))throw Error('\"code\" must be an integer.');if(!t||\"string\"!=typeof t)throw Error('\"message\" must be a nonempty string.');super(t),this.code=e,void 0!==a&&(this.data=a)}}class C extends E{constructor(e,t,a){var r;if(!(Number.isInteger(r=e)&&r>=1e3&&r<=4999))throw Error('\"code\" must be an integer such that: 1000 <= code <= 4999');super(e,t,a)}}function P(e){return Math.floor(e)}let q=/^[0-9]*$/,O=/^[a-f0-9]*$/;function T(e){return U(crypto.getRandomValues(new Uint8Array(e)))}function U(e){return[...e].map(e=>e.toString(16).padStart(2,\"0\")).join(\"\")}function M(e){return new Uint8Array(e.match(/.{1,2}/g).map(e=>Number.parseInt(e,16)))}function R(e,t=!1){let a=e.toString(\"hex\");return t?`0x${a}`:a}function B(e){return R(G(e),!0)}function N(e){return e.toString(10)}function D(e){return`0x${BigInt(e).toString(16)}`}function F(e){return e.startsWith(\"0x\")||e.startsWith(\"0X\")}function L(e){return F(e)?e.slice(2):e}function W(e){return F(e)?`0x${e.slice(2)}`:`0x${e}`}function K(e){if(\"string\"!=typeof e)return!1;let t=L(e).toLowerCase();return O.test(t)}function H(e,t=!1){let a=function(e,t=!1){if(\"string\"==typeof e){let a=L(e).toLowerCase();if(O.test(a))return t?`0x${a}`:a}throw w(`\"${String(e)}\" is not a hexadecimal string`)}(e,!1);return a.length%2==1&&(a=`0${a}`),t?`0x${a}`:a}function V(e){if(\"string\"==typeof e){let t=L(e).toLowerCase();if(K(t)&&40===t.length)return W(t)}throw w(`Invalid Ethereum address: ${String(e)}`)}function G(e){if(Buffer.isBuffer(e))return e;if(\"string\"==typeof e){if(K(e)){let t=H(e,!1);return Buffer.from(t,\"hex\")}return Buffer.from(e,\"utf8\")}throw w(`Not binary data: ${String(e)}`)}function J(e){if(\"number\"==typeof e&&Number.isInteger(e))return P(e);if(\"string\"==typeof e){if(q.test(e))return P(Number(e));if(K(e))return P(Number(BigInt(H(e,!0))))}throw w(`Not an integer: ${String(e)}`)}function Z(e){if(null!==e&&(\"bigint\"==typeof e||function(e){if(null==e||\"function\"!=typeof e.constructor)return!1;let{constructor:t}=e;return\"function\"==typeof t.config&&\"number\"==typeof t.EUCLID}(e)))return BigInt(e.toString(10));if(\"number\"==typeof e)return BigInt(J(e));if(\"string\"==typeof e){if(q.test(e))return BigInt(e);if(K(e))return BigInt(H(e,!0))}throw w(`Not an integer: ${String(e)}`)}async function $(){return crypto.subtle.generateKey({name:\"ECDH\",namedCurve:\"P-256\"},!0,[\"deriveKey\"])}async function Y(e,t){return crypto.subtle.deriveKey({name:\"ECDH\",public:t},e,{name:\"AES-GCM\",length:256},!1,[\"encrypt\",\"decrypt\"])}async function Q(e,t){let a=crypto.getRandomValues(new Uint8Array(12)),r=await crypto.subtle.encrypt({name:\"AES-GCM\",iv:a},e,new TextEncoder().encode(t));return{iv:a,cipherText:r}}async function X(e,{iv:t,cipherText:a}){let r=await crypto.subtle.decrypt({name:\"AES-GCM\",iv:t},e,a);return new TextDecoder().decode(r)}function ee(e){switch(e){case\"public\":return\"spki\";case\"private\":return\"pkcs8\"}}async function et(e,t){let a=ee(e);return U(new Uint8Array(await crypto.subtle.exportKey(a,t)))}async function ea(e,t){let a=ee(e),r=M(t).buffer;return await crypto.subtle.importKey(a,new Uint8Array(r),{name:\"ECDH\",namedCurve:\"P-256\"},!0,\"private\"===e?[\"deriveKey\"]:[])}async function er(e,t){return Q(t,JSON.stringify(e,(e,t)=>t instanceof Error?Object.assign(Object.assign({},t.code?{code:t.code}:{}),{message:t.message}):t))}async function en(e,t){return JSON.parse(await X(t,e))}let ei={storageKey:\"ownPrivateKey\",keyType:\"private\"},es={storageKey:\"ownPublicKey\",keyType:\"public\"},eo={storageKey:\"peerPublicKey\",keyType:\"public\"};class el{constructor(){this.storage=new s(\"CBWSDK\",\"SCWKeyManager\"),this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null}async getOwnPublicKey(){return await this.loadKeysIfNeeded(),this.ownPublicKey}async getSharedSecret(){return await this.loadKeysIfNeeded(),this.sharedSecret}async setPeerPublicKey(e){this.sharedSecret=null,this.peerPublicKey=e,await this.storeKey(eo,e),await this.loadKeysIfNeeded()}async clear(){this.ownPrivateKey=null,this.ownPublicKey=null,this.peerPublicKey=null,this.sharedSecret=null,this.storage.removeItem(es.storageKey),this.storage.removeItem(ei.storageKey),this.storage.removeItem(eo.storageKey)}async generateKeyPair(){let e=await $();this.ownPrivateKey=e.privateKey,this.ownPublicKey=e.publicKey,await this.storeKey(ei,e.privateKey),await this.storeKey(es,e.publicKey)}async loadKeysIfNeeded(){null===this.ownPrivateKey&&(this.ownPrivateKey=await this.loadKey(ei)),null===this.ownPublicKey&&(this.ownPublicKey=await this.loadKey(es)),(null===this.ownPrivateKey||null===this.ownPublicKey)&&await this.generateKeyPair(),null===this.peerPublicKey&&(this.peerPublicKey=await this.loadKey(eo)),null===this.sharedSecret&&null!==this.ownPrivateKey&&null!==this.peerPublicKey&&(this.sharedSecret=await Y(this.ownPrivateKey,this.peerPublicKey))}async loadKey(e){let t=this.storage.getItem(e.storageKey);return t?ea(e.keyType,t):null}async storeKey(e,t){let a=await et(e.keyType,t);this.storage.setItem(e.storageKey,a)}}var ec=a(5407);let eu=\"@coinbase/wallet-sdk\";async function ed(e,t){let a=Object.assign(Object.assign({},e),{jsonrpc:\"2.0\",id:crypto.randomUUID()}),r=await window.fetch(t,{method:\"POST\",body:JSON.stringify(a),mode:\"cors\",headers:{\"Content-Type\":\"application/json\",\"X-Cbw-Sdk-Version\":\"4.3.7\",\"X-Cbw-Sdk-Platform\":eu}}),{result:n,error:i}=await r.json();if(i)throw i;return n}function eh({metadata:e,preference:t}){var a,r;let{appName:n,appLogoUrl:i,appChainIds:s}=e;if(\"smartWalletOnly\"!==t.options){let e=globalThis.coinbaseWalletExtension;if(e)return null==(a=e.setAppInfo)||a.call(e,n,i,s,t),e}let o=function(){var e,t;try{let a=globalThis;return null!=(t=null==(e=a.top)?void 0:e.ethereum)?t:a.ethereum}catch(e){return}}();if(null==o?void 0:o.isCoinbaseBrowser)return null==(r=o.setAppInfo)||r.call(o,n,i,s,t),o}let em=\"accounts\",ep=\"activeChain\",ef=\"availableChains\",eg=\"walletCapabilities\";class eb{constructor(e){var t,a,r;this.metadata=e.metadata,this.communicator=e.communicator,this.callback=e.callback,this.keyManager=new el,this.storage=new s(\"CBWSDK\",\"SCWStateManager\"),this.accounts=null!=(t=this.storage.loadObject(em))?t:[],this.chain=this.storage.loadObject(ep)||{id:null!=(r=null==(a=e.metadata.appChainIds)?void 0:a[0])?r:1},this.handshake=this.handshake.bind(this),this.request=this.request.bind(this),this.createRequestMessage=this.createRequestMessage.bind(this),this.decryptResponseMessage=this.decryptResponseMessage.bind(this)}async handshake(e){var t,a,r,n;await (null==(a=(t=this.communicator).waitForPopupLoaded)?void 0:a.call(t));let i=await this.createRequestMessage({handshake:{method:e.method,params:Object.assign({},this.metadata,null!=(r=e.params)?r:{})}}),s=await this.communicator.postRequestAndWaitForResponse(i);if(\"failure\"in s.content)throw s.content.failure;let o=await ea(\"public\",s.sender);await this.keyManager.setPeerPublicKey(o);let l=(await this.decryptResponseMessage(s)).result;if(\"error\"in l)throw l.error;if(\"eth_requestAccounts\"===e.method){let e=l.value;this.accounts=e,this.storage.storeObject(em,e),null==(n=this.callback)||n.call(this,\"accountsChanged\",e)}}async request(e){var t;if(0===this.accounts.length)if(\"wallet_sendCalls\"===e.method)return this.sendRequestToPopup(e);else throw x();switch(e.method){case\"eth_requestAccounts\":return null==(t=this.callback)||t.call(this,\"connect\",{chainId:D(this.chain.id)}),this.accounts;case\"eth_accounts\":return this.accounts;case\"eth_coinbase\":return this.accounts[0];case\"net_version\":return this.chain.id;case\"eth_chainId\":return D(this.chain.id);case\"wallet_getCapabilities\":return this.handleGetCapabilitiesRequest(e);case\"wallet_switchEthereumChain\":return this.handleSwitchChainRequest(e);case\"eth_ecRecover\":case\"personal_sign\":case\"wallet_sign\":case\"personal_ecRecover\":case\"eth_signTransaction\":case\"eth_sendTransaction\":case\"eth_signTypedData_v1\":case\"eth_signTypedData_v3\":case\"eth_signTypedData_v4\":case\"eth_signTypedData\":case\"wallet_addEthereumChain\":case\"wallet_watchAsset\":case\"wallet_sendCalls\":case\"wallet_showCallsStatus\":case\"wallet_grantPermissions\":return this.sendRequestToPopup(e);default:if(!this.chain.rpcUrl)throw k(\"No RPC URL set for chain\");return ed(e,this.chain.rpcUrl)}}async sendRequestToPopup(e){var t,a;await (null==(a=(t=this.communicator).waitForPopupLoaded)?void 0:a.call(t));let r=await this.sendEncryptedRequest(e),n=(await this.decryptResponseMessage(r)).result;if(\"error\"in n)throw n.error;return n.value}async cleanup(){var e,t;this.storage.clear(),await this.keyManager.clear(),this.accounts=[],this.chain={id:null!=(t=null==(e=this.metadata.appChainIds)?void 0:e[0])?t:1}}async handleSwitchChainRequest(e){var t;let a=e.params;if(!a||!(null==(t=a[0])?void 0:t.chainId))throw w();let r=J(a[0].chainId);if(this.updateChain(r))return null;let n=await this.sendRequestToPopup(e);return null===n&&this.updateChain(r),n}async handleGetCapabilitiesRequest(e){var t=e.params;if(!t||!Array.isArray(t)||1!==t.length&&2!==t.length||\"string\"!=typeof t[0]||!(0,ec.P)(t[0]))throw w();if(2===t.length){if(!Array.isArray(t[1]))throw w();for(let e of t[1])if(\"string\"!=typeof e||!e.startsWith(\"0x\"))throw w()}let a=e.params[0],r=e.params[1];if(!this.accounts.some(e=>(0,n.h)(e,a)))throw x(\"no active account found\");let s=this.storage.loadObject(eg);if(!s)return{};if(!r||0===r.length)return s;let o=new Set(r.map(e=>(0,i.ME)(e)));return Object.fromEntries(Object.entries(s).filter(([e])=>{try{let t=(0,i.ME)(e);return o.has(t)}catch(e){return!1}}))}async sendEncryptedRequest(e){let t=await this.keyManager.getSharedSecret();if(!t)throw x(\"No valid session found, try requestAccounts before other methods\");let a=await er({action:e,chainId:this.chain.id},t),r=await this.createRequestMessage({encrypted:a});return this.communicator.postRequestAndWaitForResponse(r)}async createRequestMessage(e){let t=await et(\"public\",await this.keyManager.getOwnPublicKey());return{id:crypto.randomUUID(),sender:t,content:e,timestamp:new Date}}async decryptResponseMessage(e){var t,a;let r=e.content;if(\"failure\"in r)throw r.failure;let n=await this.keyManager.getSharedSecret();if(!n)throw x(\"Invalid session\");let i=await en(r.encrypted,n),s=null==(t=i.data)?void 0:t.chains;if(s){let e=Object.entries(s).map(([e,t])=>({id:Number(e),rpcUrl:t}));this.storage.storeObject(ef,e),this.updateChain(this.chain.id,e)}let o=null==(a=i.data)?void 0:a.capabilities;return o&&this.storage.storeObject(eg,o),i}updateChain(e,t){var a;let r=null!=t?t:this.storage.loadObject(ef),n=null==r?void 0:r.find(t=>t.id===e);return!!n&&(n!==this.chain&&(this.chain=n,this.storage.storeObject(ep,n),null==(a=this.callback)||a.call(this,\"chainChanged\",D(n.id))),!0)}}var ey=a(7487);let ew=\"Addresses\";function ek(e){return void 0!==e.errorMessage}class ev{constructor(e){this.secret=e}async encrypt(e){let t=this.secret;if(64!==t.length)throw Error(\"secret must be 256 bits\");let a=crypto.getRandomValues(new Uint8Array(12)),r=await crypto.subtle.importKey(\"raw\",M(t),{name:\"aes-gcm\"},!1,[\"encrypt\",\"decrypt\"]),n=new TextEncoder,i=await window.crypto.subtle.encrypt({name:\"AES-GCM\",iv:a},r,n.encode(e)),s=i.slice(i.byteLength-16),o=i.slice(0,i.byteLength-16),l=new Uint8Array(s),c=new Uint8Array(o);return U(new Uint8Array([...a,...l,...c]))}async decrypt(e){let t=this.secret;if(64!==t.length)throw Error(\"secret must be 256 bits\");return new Promise((a,r)=>{!async function(){let n=await crypto.subtle.importKey(\"raw\",M(t),{name:\"aes-gcm\"},!1,[\"encrypt\",\"decrypt\"]),i=M(e),s=i.slice(0,12),o=i.slice(12,28),l=new Uint8Array([...i.slice(28),...o]),c={name:\"AES-GCM\",iv:new Uint8Array(s)};try{let e=await window.crypto.subtle.decrypt(c,n,l),t=new TextDecoder;a(t.decode(e))}catch(e){r(e)}}()})}}class ex{constructor(e,t,a){this.linkAPIUrl=e,this.sessionId=t;let r=`${t}:${a}`;this.auth=`Basic ${btoa(r)}`}async markUnseenEventsAsSeen(e){return Promise.all(e.map(e=>fetch(`${this.linkAPIUrl}/events/${e.eventId}/seen`,{method:\"POST\",headers:{Authorization:this.auth}}))).catch(e=>console.error(\"Unabled to mark event as failed:\",e))}async fetchUnseenEvents(){var e;let t=await fetch(`${this.linkAPIUrl}/events?unseen=true`,{headers:{Authorization:this.auth}});if(t.ok){let{events:a,error:r}=await t.json();if(r)throw Error(`Check unseen events failed: ${r}`);let n=null!=(e=null==a?void 0:a.filter(e=>\"Web3Response\"===e.event).map(e=>({type:\"Event\",sessionId:this.sessionId,eventId:e.id,event:e.event,data:e.data})))?e:[];return this.markUnseenEventsAsSeen(n),n}throw Error(`Check unseen events failed: ${t.status}`)}}(eT=eU||(eU={}))[eT.DISCONNECTED=0]=\"DISCONNECTED\",eT[eT.CONNECTING=1]=\"CONNECTING\",eT[eT.CONNECTED=2]=\"CONNECTED\";class e_{setConnectionStateListener(e){this.connectionStateListener=e}setIncomingDataListener(e){this.incomingDataListener=e}constructor(e,t=WebSocket){this.WebSocketClass=t,this.webSocket=null,this.isDisconnecting=!1,this.url=e.replace(/^http/,\"ws\"),this.instanceId=e_.instanceCounter++,e_.activeInstances.add(this.instanceId)}async connect(){if(this.webSocket)throw Error(\"webSocket object is not null\");if(this.isDisconnecting)throw Error(\"WebSocket is disconnecting, cannot reconnect on same instance\");return new Promise((e,t)=>{var a;let r;try{this.webSocket=r=new this.WebSocketClass(this.url)}catch(e){t(e);return}null==(a=this.connectionStateListener)||a.call(this,eU.CONNECTING),r.onclose=e=>{var a;this.clearWebSocket(),r.readyState!==WebSocket.OPEN&&t(Error(`websocket error ${e.code}: ${e.reason}`)),null==(a=this.connectionStateListener)||a.call(this,eU.DISCONNECTED)},r.onopen=t=>{var a;e(),null==(a=this.connectionStateListener)||a.call(this,eU.CONNECTED),e_.pendingData.length>0&&([...e_.pendingData].forEach(e=>this.sendData(e)),e_.pendingData=[])},r.onmessage=e=>{var t,a;if(\"h\"===e.data)null==(t=this.incomingDataListener)||t.call(this,{type:\"Heartbeat\"});else try{let t=JSON.parse(e.data);null==(a=this.incomingDataListener)||a.call(this,t)}catch(e){}}})}disconnect(){var e;let{webSocket:t}=this;if(t){this.isDisconnecting=!0,this.clearWebSocket(),null==(e=this.connectionStateListener)||e.call(this,eU.DISCONNECTED),this.connectionStateListener=void 0,this.incomingDataListener=void 0;try{t.close()}catch(e){}}}sendData(e){let{webSocket:t}=this;if(!t){e_.pendingData.push(e),this.isDisconnecting||this.connect();return}t.readyState!==WebSocket.OPEN?e_.pendingData.push(e):t.send(e)}clearWebSocket(){let{webSocket:e}=this;e&&(this.webSocket=null,e.onclose=null,e.onerror=null,e.onmessage=null,e.onopen=null)}cleanup(){e_.activeInstances.delete(this.instanceId)}}e_.instanceCounter=0,e_.activeInstances=new Set,e_.pendingData=[];class ej{constructor({session:e,linkAPIUrl:t,listener:a}){this.destroyed=!1,this.lastHeartbeatResponse=0,this.nextReqId=P(1),this.reconnectAttempts=0,this.isReconnecting=!1,this._connected=!1,this._linked=!1,this.requestResolutions=new Map,this.handleSessionMetadataUpdated=e=>{e&&new Map([[\"__destroyed\",this.handleDestroyed],[\"EthereumAddress\",this.handleAccountUpdated],[\"WalletUsername\",this.handleWalletUsernameUpdated],[\"AppVersion\",this.handleAppVersionUpdated],[\"ChainId\",t=>e.JsonRpcUrl&&this.handleChainUpdated(t,e.JsonRpcUrl)]]).forEach((t,a)=>{let r=e[a];void 0!==r&&t(r)})},this.handleDestroyed=e=>{var t;\"1\"===e&&(null==(t=this.listener)||t.resetAndReload())},this.handleAccountUpdated=async e=>{var t;try{let a=await this.cipher.decrypt(e);null==(t=this.listener)||t.accountUpdated(a)}catch(e){}},this.handleMetadataUpdated=async(e,t)=>{var a;try{let r=await this.cipher.decrypt(t);null==(a=this.listener)||a.metadataUpdated(e,r)}catch(e){}},this.handleWalletUsernameUpdated=async e=>{this.handleMetadataUpdated(\"walletUsername\",e)},this.handleAppVersionUpdated=async e=>{this.handleMetadataUpdated(\"AppVersion\",e)},this.handleChainUpdated=async(e,t)=>{var a;try{let r=await this.cipher.decrypt(e),n=await this.cipher.decrypt(t);null==(a=this.listener)||a.chainUpdated(r,n)}catch(e){}},this.session=e,this.cipher=new ev(e.secret),this.listener=a,this.linkAPIUrl=t,this.WebSocketClass=WebSocket;let r=this.createWebSocket();this.ws=r,this.http=new ex(t,e.id,e.key),this.setupVisibilityChangeHandler()}createWebSocket(){let e=new e_(`${this.linkAPIUrl}/rpc`,this.WebSocketClass);return this.activeWsInstance=e,e.setConnectionStateListener(async t=>{if(e!==this.activeWsInstance)return;let a=!1;switch(t){case eU.DISCONNECTED:this.heartbeatIntervalId&&(clearInterval(this.heartbeatIntervalId),this.heartbeatIntervalId=void 0),this.lastHeartbeatResponse=0,a=!1,this.destroyed||(async()=>{if(this.isReconnecting)return;this.isReconnecting=!0;let t=3e3*(0!==this.reconnectAttempts);await new Promise(e=>setTimeout(e,t)),this.destroyed||e!==this.activeWsInstance?this.isReconnecting=!1:(this.reconnectAttempts++,\"cleanup\"in this.ws&&\"function\"==typeof this.ws.cleanup&&this.ws.cleanup(),this.ws=this.createWebSocket(),this.ws.connect().catch(()=>{}).finally(()=>{this.isReconnecting=!1}))})();break;case eU.CONNECTED:this.reconnectAttempts=0;try{a=await this.handleConnected(),this.fetchUnseenEventsAPI().catch(()=>{})}catch(e){break}this.connected=a,this.updateLastHeartbeat(),this.heartbeatIntervalId&&clearInterval(this.heartbeatIntervalId),this.heartbeatIntervalId=window.setInterval(()=>{this.heartbeat()},1e4),setTimeout(()=>{this.heartbeat()},100);case eU.CONNECTING:}t!==eU.CONNECTED&&(this.connected=a)}),e.setIncomingDataListener(e=>{var t;switch(e.type){case\"Heartbeat\":this.updateLastHeartbeat();return;case\"IsLinkedOK\":case\"Linked\":{let t=\"IsLinkedOK\"===e.type?e.linked:void 0;this.linked=t||e.onlineGuests>0;break}case\"GetSessionConfigOK\":case\"SessionConfigUpdated\":this.handleSessionMetadataUpdated(e.metadata);break;case\"Event\":this.handleIncomingEvent(e)}void 0!==e.id&&(null==(t=this.requestResolutions.get(e.id))||t(e))}),e}setupVisibilityChangeHandler(){this.visibilityChangeHandler=()=>{document.hidden||this.destroyed||(this.connected?this.heartbeat():this.reconnectWithFreshWebSocket())},this.focusHandler=()=>{this.destroyed||this.connected||this.reconnectWithFreshWebSocket()},document.addEventListener(\"visibilitychange\",this.visibilityChangeHandler),window.addEventListener(\"focus\",this.focusHandler),window.addEventListener(\"pageshow\",e=>{e.persisted&&this.focusHandler&&this.focusHandler()})}reconnectWithFreshWebSocket(){if(this.destroyed)return;let e=this.ws;this.activeWsInstance=void 0,e.disconnect(),\"cleanup\"in e&&\"function\"==typeof e.cleanup&&e.cleanup(),this.ws=this.createWebSocket(),this.ws.connect().catch(()=>{})}connect(){if(this.destroyed)throw Error(\"instance is destroyed\");this.ws.connect()}async destroy(){this.destroyed||(await this.makeRequest({type:\"SetSessionConfig\",id:P(this.nextReqId++),sessionId:this.session.id,metadata:{__destroyed:\"1\"}},{timeout:1e3}),this.destroyed=!0,this.activeWsInstance=void 0,this.heartbeatIntervalId&&(clearInterval(this.heartbeatIntervalId),this.heartbeatIntervalId=void 0),this.visibilityChangeHandler&&document.removeEventListener(\"visibilitychange\",this.visibilityChangeHandler),this.focusHandler&&window.removeEventListener(\"focus\",this.focusHandler),this.ws.disconnect(),\"cleanup\"in this.ws&&\"function\"==typeof this.ws.cleanup&&this.ws.cleanup(),this.listener=void 0)}get connected(){return this._connected}set connected(e){this._connected=e}get linked(){return this._linked}set linked(e){var t,a;this._linked=e,e&&(null==(t=this.onceLinked)||t.call(this)),null==(a=this.listener)||a.linkedUpdated(e)}setOnceLinked(e){return new Promise(t=>{this.linked?e().then(t):this.onceLinked=()=>{e().then(t),this.onceLinked=void 0}})}async handleIncomingEvent(e){var t;if(\"Event\"===e.type&&\"Web3Response\"===e.event)try{let a=await this.cipher.decrypt(e.data),r=JSON.parse(a);if(\"WEB3_RESPONSE\"!==r.type)return;null==(t=this.listener)||t.handleWeb3ResponseMessage(r.id,r.response)}catch(e){}}async checkUnseenEvents(){await new Promise(e=>setTimeout(e,250));try{await this.fetchUnseenEventsAPI()}catch(e){console.error(\"Unable to check for unseen events\",e)}}async fetchUnseenEventsAPI(){try{(await this.http.fetchUnseenEvents()).forEach(e=>{this.handleIncomingEvent(e)})}catch(e){}}async publishEvent(e,t,a=!1){let r=await this.cipher.encrypt(JSON.stringify(Object.assign(Object.assign({},t),{origin:location.origin,location:location.href,relaySource:\"coinbaseWalletExtension\"in window&&window.coinbaseWalletExtension?\"injected_sdk\":\"sdk\"}))),n={type:\"PublishEvent\",id:P(this.nextReqId++),sessionId:this.session.id,event:e,data:r,callWebhook:a};return this.setOnceLinked(async()=>{let e=await this.makeRequest(n);if(\"Fail\"===e.type)throw Error(e.error||\"failed to publish event\");return e.eventId})}sendData(e){this.ws.sendData(JSON.stringify(e))}updateLastHeartbeat(){this.lastHeartbeatResponse=Date.now()}heartbeat(){if(Date.now()-this.lastHeartbeatResponse>2e4)return void this.ws.disconnect();if(this.connected)try{this.ws.sendData(\"h\")}catch(e){}}async makeRequest(e,t={timeout:6e4}){let a,r=e.id;return this.sendData(e),Promise.race([new Promise((e,n)=>{a=window.setTimeout(()=>{n(Error(`request ${r} timed out`))},t.timeout)}),new Promise(e=>{this.requestResolutions.set(r,t=>{clearTimeout(a),e(t),this.requestResolutions.delete(r)})})])}async handleConnected(){return\"Fail\"!==(await this.makeRequest({type:\"HostSession\",id:P(this.nextReqId++),sessionId:this.session.id,sessionKey:this.session.key})).type&&(this.sendData({type:\"IsLinked\",id:P(this.nextReqId++),sessionId:this.session.id}),this.sendData({type:\"GetSessionConfig\",id:P(this.nextReqId++),sessionId:this.session.id}),!0)}}class ez{constructor(){this._nextRequestId=0,this.callbacks=new Map}makeRequestId(){this._nextRequestId=(this._nextRequestId+1)%0x7fffffff;let e=this._nextRequestId,t=W(e.toString(16));return this.callbacks.get(t)&&this.callbacks.delete(t),e}}var eS=a(5013),eI=a(1374);let eA=\"session:id\",eE=\"session:secret\",eC=\"session:linked\";class eP{constructor(e,t,a,r=!1){this.storage=e,this.id=t,this.secret=a,this.key=(0,eI.My)((0,eS.sc)(`${t}, ${a} WalletLink`)),this._linked=!!r}static create(e){return new eP(e,T(16),T(32)).save()}static load(e){let t=e.getItem(eA),a=e.getItem(eC),r=e.getItem(eE);return t&&r?new eP(e,t,r,\"1\"===a):null}get linked(){return this._linked}set linked(e){this._linked=e,this.persistLinked()}save(){return this.storage.setItem(eA,this.id),this.storage.setItem(eE,this.secret),this.persistLinked(),this}persistLinked(){this.storage.setItem(eC,this._linked?\"1\":\"0\")}}function eq(){var e,t;return null!=(t=null==(e=null==window?void 0:window.matchMedia)?void 0:e.call(window,\"(prefers-color-scheme: dark)\").matches)&&t}function eO(){let e=document.createElement(\"style\");e.type=\"text/css\",e.appendChild(document.createTextNode('@namespace svg \"http://www.w3.org/2000/svg\";.-cbwsdk-css-reset,.-cbwsdk-css-reset *{animation:none;animation-delay:0;animation-direction:normal;animation-duration:0;animation-fill-mode:none;animation-iteration-count:1;animation-name:none;animation-play-state:running;animation-timing-function:ease;backface-visibility:visible;background:0;background-attachment:scroll;background-clip:border-box;background-color:rgba(0,0,0,0);background-image:none;background-origin:padding-box;background-position:0 0;background-position-x:0;background-position-y:0;background-repeat:repeat;background-size:auto auto;border:0;border-style:none;border-width:medium;border-color:inherit;border-bottom:0;border-bottom-color:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:none;border-bottom-width:medium;border-collapse:separate;border-image:none;border-left:0;border-left-color:inherit;border-left-style:none;border-left-width:medium;border-radius:0;border-right:0;border-right-color:inherit;border-right-style:none;border-right-width:medium;border-spacing:0;border-top:0;border-top-color:inherit;border-top-left-radius:0;border-top-right-radius:0;border-top-style:none;border-top-width:medium;box-shadow:none;box-sizing:border-box;caption-side:top;clear:none;clip:auto;color:inherit;columns:auto;column-count:auto;column-fill:balance;column-gap:normal;column-rule:medium none currentColor;column-rule-color:currentColor;column-rule-style:none;column-rule-width:none;column-span:1;column-width:auto;counter-increment:none;counter-reset:none;direction:ltr;empty-cells:show;float:none;font:normal;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;height:auto;hyphens:none;letter-spacing:normal;line-height:normal;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;margin:0;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;opacity:1;orphans:0;outline:0;outline-color:invert;outline-style:none;outline-width:medium;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;perspective:none;perspective-origin:50% 50%;pointer-events:auto;position:static;quotes:\"\\\\201C\" \"\\\\201D\" \"\\\\2018\" \"\\\\2019\";tab-size:8;table-layout:auto;text-align:inherit;text-align-last:auto;text-decoration:none;text-decoration-color:inherit;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-shadow:none;text-transform:none;transform:none;transform-style:flat;transition:none;transition-delay:0s;transition-duration:0s;transition-property:none;transition-timing-function:ease;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:0;word-spacing:normal;z-index:auto}.-cbwsdk-css-reset strong{font-weight:bold}.-cbwsdk-css-reset *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;line-height:1}.-cbwsdk-css-reset [class*=container]{margin:0;padding:0}.-cbwsdk-css-reset style{display:none}')),document.documentElement.appendChild(e)}var eT,eU,eM,eR,eB,eN,eD,eF,eL,eW,eK,eH,eV,eG=a(4362),eJ={},eZ=[],e$=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,eY=Array.isArray;function eQ(e,t){for(var a in t)e[a]=t[a];return e}function eX(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function e1(e,t,a){var r,n,i,s={};for(i in t)\"key\"==i?r=t[i]:\"ref\"==i?n=t[i]:s[i]=t[i];if(arguments.length>2&&(s.children=arguments.length>3?eM.call(arguments,2):a),\"function\"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===s[i]&&(s[i]=e.defaultProps[i]);return e0(e,s,r,n,null)}function e0(e,t,a,r,n){var i={type:e,props:t,key:a,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==n?++eB:n,__i:-1,__u:0};return null==n&&null!=eR.vnode&&eR.vnode(i),i}function e2(e){return e.children}function e3(e,t){this.props=e,this.context=t}function e9(e,t){if(null==t)return e.__?e9(e.__,e.__i+1):null;for(var a;ts&&eN.sort(eL),e=eN.shift(),s=eN.length,e.__d&&(t=void 0,a=void 0,r=(a=e.__v).__e,n=[],i=[],e.__P&&((t=eQ({},a)).__v=a.__v+1,eR.vnode&&eR.vnode(t),tt(e.__P,t,a,e.__n,e.__P.namespaceURI,32&a.__u?[r]:null,n,null==r?e9(a):r,!!(32&a.__u),i),t.__v=a.__v,t.__.__k[t.__i]=t,tr(n,t,i),a.__e=a.__=null,t.__e!=r&&function e(t){var a,r;if(null!=(t=t.__)&&null!=t.__c){for(t.__e=t.__c.base=null,a=0;a0?e0(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):s).__=e,s.__b=e.__b+1,o=null,-1!=(c=s.__i=function(e,t,a,r){var n,i,s,o=e.key,l=e.type,c=t[a],u=null!=c&&0==(2&c.__u);if(null===c&&null==e.key||u&&o==c.key&&l==c.type)return a;if(r>+!!u){for(n=a-1,i=a+1;n>=0||i=0?n--:i++])&&0==(2&c.__u)&&o==c.key&&l==c.type)return s}return -1}(s,a,l,d))&&(d--,(o=a[c])&&(o.__u|=2)),null==o||null==o.__v?(-1==c&&(n>u?h--:nl?h--:h++,s.__u|=4))):e.__k[i]=null;if(d)for(i=0;i0?t:eY(t)?t.map(e):eQ({},t)}(u.props.children)),o=e8(e,eY(z)?z:[z],t,a,r,n,i,s,o,l,c),d.base=t.__e,t.__u&=-161,d.__h.length&&s.push(d),g&&(d.__E=d.__=null)}catch(e){if(t.__v=null,l||null!=i)if(e.then){for(t.__u|=l?160:128;o&&8==o.nodeType&&o.nextSibling;)o=o.nextSibling;i[i.indexOf(o)]=null,t.__e=o}else{for(S=i.length;S--;)eX(i[S]);ta(t)}else t.__e=a.__e,t.__k=a.__k,e.then||ta(t);eR.__e(e,t,a)}else null==i&&t.__v==a.__v?(t.__k=a.__k,t.__e=a.__e):o=t.__e=function(e,t,a,r,n,i,s,o,l){var c,u,d,h,m,p,f,g=a.props,b=t.props,y=t.type;if(\"svg\"==y?n=\"http://www.w3.org/2000/svg\":\"math\"==y?n=\"http://www.w3.org/1998/Math/MathML\":n||(n=\"http://www.w3.org/1999/xhtml\"),null!=i){for(c=0;c=a.__.length&&a.__.push({}),a.__[e]}function tv(e,t,a){var r=tk(to++,2);if(r.t=e,!r.__c&&(r.__=[a?a(t):tS(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],a=r.t(t,e);t!==a&&(r.__N=[a,r.__[1]],r.__c.setState({}))}],r.__c=tl,!tl.__f)){var n=function(e,t,a){if(!r.__c.__H)return!0;var n=r.__c.__H.__.filter(function(e){return!!e.__c});if(n.every(function(e){return!e.__N}))return!i||i.call(this,e,t,a);var s=r.__c.props!==e;return n.forEach(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(s=!0)}}),i&&i.call(this,e,t,a)||s};tl.__f=!0;var i=tl.shouldComponentUpdate,s=tl.componentWillUpdate;tl.componentWillUpdate=function(e,t,a){if(this.__e){var r=i;i=void 0,n(e,t,a),i=r}s&&s.call(this,e,t,a)},tl.shouldComponentUpdate=n}return r.__N||r.__}function tx(){for(var e;e=th.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(tj),e.__H.__h.forEach(tz),e.__H.__h=[]}catch(t){e.__H.__h=[],tm.__e(t,e.__v)}}tm.__b=function(e){tl=null,tp&&tp(e)},tm.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),tw&&tw(e,t)},tm.__r=function(e){tf&&tf(e),to=0;var t=(tl=e.__c).__H;t&&(tc===tl?(t.__h=[],tl.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.forEach(tj),t.__h.forEach(tz),t.__h=[],to=0)),tc=tl},tm.diffed=function(e){tg&&tg(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==th.push(t)&&tu===tm.requestAnimationFrame||((tu=tm.requestAnimationFrame)||function(e){var t,a=function(){clearTimeout(r),t_&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(a,35);t_&&(t=requestAnimationFrame(a))})(tx)),t.__H.__.forEach(function(e){e.u&&(e.__H=e.u),e.u=void 0})),tc=tl=null},tm.__c=function(e,t){t.some(function(e){try{e.__h.forEach(tj),e.__h=e.__h.filter(function(e){return!e.__||tz(e)})}catch(a){t.some(function(e){e.__h&&(e.__h=[])}),t=[],tm.__e(a,e.__v)}}),tb&&tb(e,t)},tm.unmount=function(e){ty&&ty(e);var t,a=e.__c;a&&a.__H&&(a.__H.__.forEach(function(e){try{tj(e)}catch(e){t=e}}),a.__H=void 0,t&&tm.__e(t,a.__v))};var t_=\"function\"==typeof requestAnimationFrame;function tj(e){var t=tl,a=e.__c;\"function\"==typeof a&&(e.__c=void 0,a()),tl=t}function tz(e){var t=tl;e.__c=e.__(),tl=t}function tS(e,t){return\"function\"==typeof t?t(e):t}class tI{constructor(){this.items=new Map,this.nextItemKey=0,this.root=null,this.darkMode=eq()}attach(e){this.root=document.createElement(\"div\"),this.root.className=\"-cbwsdk-snackbar-root\",e.appendChild(this.root),this.render()}presentItem(e){let t=this.nextItemKey++;return this.items.set(t,e),this.render(),()=>{this.items.delete(t),this.render()}}clear(){this.items.clear(),this.render()}render(){this.root&&ts(e1(\"div\",null,e1(tA,{darkMode:this.darkMode},Array.from(this.items.entries()).map(([e,t])=>e1(tE,Object.assign({},t,{key:e}))))),this.root)}}let tA=e=>e1(\"div\",{class:(0,eG.$)(\"-cbwsdk-snackbar-container\")},e1(\"style\",null,\".-cbwsdk-css-reset .-gear-container{margin-left:16px !important;margin-right:9px !important;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:opacity .25s}.-cbwsdk-css-reset .-gear-container *{user-select:none}.-cbwsdk-css-reset .-gear-container svg{opacity:0;position:absolute}.-cbwsdk-css-reset .-gear-icon{height:12px;width:12px;z-index:10000}.-cbwsdk-css-reset .-cbwsdk-snackbar{align-items:flex-end;display:flex;flex-direction:column;position:fixed;right:0;top:0;z-index:2147483647}.-cbwsdk-css-reset .-cbwsdk-snackbar *{user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance{display:flex;flex-direction:column;margin:8px 16px 0 16px;overflow:visible;text-align:left;transform:translateX(0);transition:opacity .25s,transform .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header:hover .-gear-container svg{opacity:1}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header{display:flex;align-items:center;background:#fff;overflow:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-cblogo{margin:8px 8px 8px 8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-header-message{color:#000;font-size:13px;line-height:1.5;user-select:none}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu{background:#fff;transition:opacity .25s ease-in-out,transform .25s linear,visibility 0s;visibility:hidden;border:1px solid #e7ebee;box-sizing:border-box;border-radius:8px;opacity:0;flex-direction:column;padding-left:8px;padding-right:8px}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:last-child{margin-bottom:8px !important}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover{background:#f5f7f8;border-radius:6px;transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover span{color:#050f19;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item:hover svg path{fill:#000;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item{visibility:inherit;height:35px;margin-top:8px;margin-bottom:0;display:flex;flex-direction:row;align-items:center;padding:8px;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item *{visibility:inherit;cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover{background:rgba(223,95,103,.2);transition:background .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover *{cursor:pointer}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover svg path{fill:#df5f67;transition:fill .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-is-red:hover span{color:#df5f67;transition:color .25s}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-menu-item-info{color:#aaa;font-size:13px;margin:0 8px 0 32px;position:absolute}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-hidden{opacity:0;text-align:left;transform:translateX(25%);transition:opacity .5s linear}.-cbwsdk-css-reset .-cbwsdk-snackbar-instance-expanded .-cbwsdk-snackbar-instance-menu{opacity:1;display:flex;transform:translateY(8px);visibility:visible}\"),e1(\"div\",{class:\"-cbwsdk-snackbar\"},e.children)),tE=({autoExpand:e,message:t,menuItems:a})=>{var r,n,i,s;let[o,l]=(td=1,tv(tS,!0)),[c,u]=(td=1,tv(tS,null!=e&&e));return r=()=>{let e=[window.setTimeout(()=>{l(!1)},1),window.setTimeout(()=>{u(!0)},1e4)];return()=>{e.forEach(window.clearTimeout)}},n=tk(to++,3),!tm.__s&&(i=n.__H,s=void 0,!i||i.length!==s.length||s.some(function(e,t){return e!==i[t]}))&&(n.__=r,n.u=void 0,tl.__H.__h.push(n)),e1(\"div\",{class:(0,eG.$)(\"-cbwsdk-snackbar-instance\",o&&\"-cbwsdk-snackbar-instance-hidden\",c&&\"-cbwsdk-snackbar-instance-expanded\")},e1(\"div\",{class:\"-cbwsdk-snackbar-instance-header\",onClick:()=>{u(!c)}},e1(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+\",class:\"-cbwsdk-snackbar-instance-header-cblogo\"}),\" \",e1(\"div\",{class:\"-cbwsdk-snackbar-instance-header-message\"},t),e1(\"div\",{class:\"-gear-container\"},!c&&e1(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},e1(\"circle\",{cx:\"12\",cy:\"12\",r:\"12\",fill:\"#F5F7F8\"})),e1(\"img\",{src:\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=\",class:\"-gear-icon\",title:\"Expand\"}))),a&&a.length>0&&e1(\"div\",{class:\"-cbwsdk-snackbar-instance-menu\"},a.map((e,t)=>e1(\"div\",{class:(0,eG.$)(\"-cbwsdk-snackbar-instance-menu-item\",e.isRed&&\"-cbwsdk-snackbar-instance-menu-item-is-red\"),onClick:e.onClick,key:t},e1(\"svg\",{width:e.svgWidth,height:e.svgHeight,viewBox:\"0 0 10 11\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},e1(\"path\",{\"fill-rule\":e.defaultFillRule,\"clip-rule\":e.defaultClipRule,d:e.path,fill:\"#AAAAAA\"})),e1(\"span\",{class:(0,eG.$)(\"-cbwsdk-snackbar-instance-menu-item-info\",e.isRed&&\"-cbwsdk-snackbar-instance-menu-item-info-is-red\")},e.info)))))},tC=\"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z\";class tP{constructor(){this.attached=!1,this.snackbar=new tI}attach(){if(this.attached)throw Error(\"Coinbase Wallet SDK UI is already attached\");let e=document.documentElement,t=document.createElement(\"div\");t.className=\"-cbwsdk-css-reset\",e.appendChild(t),this.snackbar.attach(t),this.attached=!0,eO()}showConnecting(e){let t;return t=e.isUnlinkedErrorState?{autoExpand:!0,message:\"Connection lost\",menuItems:[{isRed:!1,info:\"Reset connection\",svgWidth:\"10\",svgHeight:\"11\",path:\"M5.00008 0.96875C6.73133 0.96875 8.23758 1.94375 9.00008 3.375L10.0001 2.375V5.5H9.53133H7.96883H6.87508L7.80633 4.56875C7.41258 3.3875 6.31258 2.53125 5.00008 2.53125C3.76258 2.53125 2.70633 3.2875 2.25633 4.36875L0.812576 3.76875C1.50008 2.125 3.11258 0.96875 5.00008 0.96875ZM2.19375 6.43125C2.5875 7.6125 3.6875 8.46875 5 8.46875C6.2375 8.46875 7.29375 7.7125 7.74375 6.63125L9.1875 7.23125C8.5 8.875 6.8875 10.0312 5 10.0312C3.26875 10.0312 1.7625 9.05625 1 7.625L0 8.625V5.5H0.46875H2.03125H3.125L2.19375 6.43125Z\",defaultFillRule:\"evenodd\",defaultClipRule:\"evenodd\",onClick:e.onResetConnection}]}:{message:\"Confirm on phone\",menuItems:[{isRed:!0,info:\"Cancel transaction\",svgWidth:\"11\",svgHeight:\"11\",path:\"M10.3711 1.52346L9.21775 0.370117L5.37109 4.21022L1.52444 0.370117L0.371094 1.52346L4.2112 5.37012L0.371094 9.21677L1.52444 10.3701L5.37109 6.53001L9.21775 10.3701L10.3711 9.21677L6.53099 5.37012L10.3711 1.52346Z\",defaultFillRule:\"inherit\",defaultClipRule:\"inherit\",onClick:e.onCancel},{isRed:!1,info:\"Reset connection\",svgWidth:\"10\",svgHeight:\"11\",path:tC,defaultFillRule:\"evenodd\",defaultClipRule:\"evenodd\",onClick:e.onResetConnection}]},this.snackbar.presentItem(t)}}class tq{constructor(){this.root=null,this.darkMode=eq()}attach(){let e=document.documentElement;this.root=document.createElement(\"div\"),this.root.className=\"-cbwsdk-css-reset\",e.appendChild(this.root),eO()}present(e){this.render(e)}clear(){this.render(null)}render(e){!this.root||(ts(null,this.root),e&&ts(e1(tO,Object.assign({},e,{onDismiss:()=>{this.clear()},darkMode:this.darkMode})),this.root))}}let tO=({title:e,buttonText:t,darkMode:a,onButtonClick:r,onDismiss:n})=>e1(tA,{darkMode:a},e1(\"div\",{class:\"-cbwsdk-redirect-dialog\"},e1(\"style\",null,\".-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;transition:opacity .25s;background-color:rgba(10,11,13,.5)}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-backdrop-hidden{opacity:0}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);padding:20px;border-radius:8px;background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box p{display:block;font-weight:400;font-size:14px;line-height:20px;padding-bottom:12px;color:#5b636e}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box button{appearance:none;border:none;background:none;color:#0052ff;padding:0;text-decoration:none;display:block;font-weight:600;font-size:16px;line-height:24px}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark{background-color:#0a0b0d;color:#fff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.dark button{color:#0052ff}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light{background-color:#fff;color:#0a0b0d}.-cbwsdk-css-reset .-cbwsdk-redirect-dialog-box.light button{color:#0052ff}\"),e1(\"div\",{class:\"-cbwsdk-redirect-dialog-backdrop\",onClick:n}),e1(\"div\",{class:(0,eG.$)(\"-cbwsdk-redirect-dialog-box\",a?\"dark\":\"light\")},e1(\"p\",null,e),e1(\"button\",{onClick:r},t)))),tT=\"https://www.walletlink.org\";class tU{constructor(){this.attached=!1,this.redirectDialog=new tq}attach(){if(this.attached)throw Error(\"Coinbase Wallet SDK UI is already attached\");this.redirectDialog.attach(),this.attached=!0}redirectToCoinbaseWallet(e){let t=new URL(\"https://go.cb-w.com/walletlink\");t.searchParams.append(\"redirect_url\",function(){try{if(function(){try{return null!==window.frameElement}catch(e){return!1}}()&&window.top)return window.top.location;return window.location}catch(e){return window.location}}().href),e&&t.searchParams.append(\"wl_url\",e);let a=document.createElement(\"a\");a.target=\"cbw-opener\",a.href=t.href,a.rel=\"noreferrer noopener\",a.click()}openCoinbaseWalletDeeplink(e){this.redirectToCoinbaseWallet(e),setTimeout(()=>{this.redirectDialog.present({title:\"Redirecting to Coinbase Wallet...\",buttonText:\"Open\",onButtonClick:()=>{this.redirectToCoinbaseWallet(e)}})},99)}showConnecting(e){return()=>{this.redirectDialog.clear()}}}class tM{constructor(e){var t;this.chainCallbackParams={chainId:\"\",jsonRpcUrl:\"\"},this.isMobileWeb=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(null==(t=null==window?void 0:window.navigator)?void 0:t.userAgent),this.linkedUpdated=e=>{this.isLinked=e;let t=this.storage.getItem(ew);if(e&&(this._session.linked=e),this.isUnlinkedErrorState=!1,t){let a=t.split(\" \"),r=\"true\"===this.storage.getItem(\"IsStandaloneSigning\");\"\"===a[0]||e||!this._session.linked||r||(this.isUnlinkedErrorState=!0)}},this.metadataUpdated=(e,t)=>{this.storage.setItem(e,t)},this.chainUpdated=(e,t)=>{(this.chainCallbackParams.chainId!==e||this.chainCallbackParams.jsonRpcUrl!==t)&&(this.chainCallbackParams={chainId:e,jsonRpcUrl:t},this.chainCallback&&this.chainCallback(t,Number.parseInt(e,10)))},this.accountUpdated=e=>{this.accountsCallback&&this.accountsCallback([e]),tM.accountRequestCallbackIds.size>0&&(Array.from(tM.accountRequestCallbackIds.values()).forEach(t=>{this.invokeCallback(t,{method:\"requestEthereumAccounts\",result:[e]})}),tM.accountRequestCallbackIds.clear())},this.resetAndReload=this.resetAndReload.bind(this),this.linkAPIUrl=e.linkAPIUrl,this.storage=e.storage,this.metadata=e.metadata,this.accountsCallback=e.accountsCallback,this.chainCallback=e.chainCallback;let{session:a,ui:r,connection:n}=this.subscribe();this._session=a,this.connection=n,this.relayEventManager=new ez,this.ui=r,this.ui.attach()}subscribe(){let e=eP.load(this.storage)||eP.create(this.storage),{linkAPIUrl:t}=this,a=new ej({session:e,linkAPIUrl:t,listener:this}),r=this.isMobileWeb?new tU:new tP;return a.connect(),{session:e,ui:r,connection:a}}resetAndReload(){this.connection.destroy().then(()=>{let e=eP.load(this.storage);(null==e?void 0:e.id)===this._session.id&&s.clearAll(),document.location.reload()}).catch(e=>{})}signEthereumTransaction(e){return this.sendRequest({method:\"signEthereumTransaction\",params:{fromAddress:e.fromAddress,toAddress:e.toAddress,weiValue:N(e.weiValue),data:R(e.data,!0),nonce:e.nonce,gasPriceInWei:e.gasPriceInWei?N(e.gasPriceInWei):null,maxFeePerGas:e.gasPriceInWei?N(e.gasPriceInWei):null,maxPriorityFeePerGas:e.gasPriceInWei?N(e.gasPriceInWei):null,gasLimit:e.gasLimit?N(e.gasLimit):null,chainId:e.chainId,shouldSubmit:!1}})}signAndSubmitEthereumTransaction(e){return this.sendRequest({method:\"signEthereumTransaction\",params:{fromAddress:e.fromAddress,toAddress:e.toAddress,weiValue:N(e.weiValue),data:R(e.data,!0),nonce:e.nonce,gasPriceInWei:e.gasPriceInWei?N(e.gasPriceInWei):null,maxFeePerGas:e.maxFeePerGas?N(e.maxFeePerGas):null,maxPriorityFeePerGas:e.maxPriorityFeePerGas?N(e.maxPriorityFeePerGas):null,gasLimit:e.gasLimit?N(e.gasLimit):null,chainId:e.chainId,shouldSubmit:!0}})}submitEthereumTransaction(e,t){return this.sendRequest({method:\"submitEthereumTransaction\",params:{signedTransaction:R(e,!0),chainId:t}})}getWalletLinkSession(){return this._session}sendRequest(e){let t=null,a=T(8),r=r=>{this.publishWeb3RequestCanceledEvent(a),this.handleErrorResponse(a,e.method,r),null==t||t()};return new Promise((n,i)=>{t=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:r,onResetConnection:this.resetAndReload}),this.relayEventManager.callbacks.set(a,e=>{if(null==t||t(),ek(e))return i(Error(e.errorMessage));n(e)}),this.publishWeb3RequestEvent(a,e)})}publishWeb3RequestEvent(e,t){let a={type:\"WEB3_REQUEST\",id:e,request:t};this.publishEvent(\"Web3Request\",a,!0).then(e=>{}).catch(e=>{this.handleWeb3ResponseMessage(a.id,{method:t.method,errorMessage:e.message})}),this.isMobileWeb&&this.openCoinbaseWalletDeeplink(t.method)}openCoinbaseWalletDeeplink(e){if(this.ui instanceof tU)switch(e){case\"requestEthereumAccounts\":case\"switchEthereumChain\":return;default:window.addEventListener(\"blur\",()=>{window.addEventListener(\"focus\",()=>{this.connection.checkUnseenEvents()},{once:!0})},{once:!0}),this.ui.openCoinbaseWalletDeeplink()}}publishWeb3RequestCanceledEvent(e){this.publishEvent(\"Web3RequestCanceled\",{type:\"WEB3_REQUEST_CANCELED\",id:e},!1).then()}publishEvent(e,t,a){return this.connection.publishEvent(e,t,a)}handleWeb3ResponseMessage(e,t){if(\"requestEthereumAccounts\"===t.method){tM.accountRequestCallbackIds.forEach(e=>this.invokeCallback(e,t)),tM.accountRequestCallbackIds.clear();return}this.invokeCallback(e,t)}handleErrorResponse(e,t,a){var r;let n=null!=(r=null==a?void 0:a.message)?r:\"Unspecified error message.\";this.handleWeb3ResponseMessage(e,{method:t,errorMessage:n})}invokeCallback(e,t){let a=this.relayEventManager.callbacks.get(e);a&&(a(t),this.relayEventManager.callbacks.delete(e))}requestEthereumAccounts(){let{appName:e,appLogoUrl:t}=this.metadata,a={method:\"requestEthereumAccounts\",params:{appName:e,appLogoUrl:t}},r=T(8);return new Promise((e,t)=>{this.relayEventManager.callbacks.set(r,a=>{if(ek(a))return t(Error(a.errorMessage));e(a)}),tM.accountRequestCallbackIds.add(r),this.publishWeb3RequestEvent(r,a)})}watchAsset(e,t,a,r,n,i){let s={method:\"watchAsset\",params:{type:e,options:{address:t,symbol:a,decimals:r,image:n},chainId:i}},o=null,l=T(8),c=e=>{this.publishWeb3RequestCanceledEvent(l),this.handleErrorResponse(l,s.method,e),null==o||o()};return o=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:c,onResetConnection:this.resetAndReload}),new Promise((e,t)=>{this.relayEventManager.callbacks.set(l,a=>{if(null==o||o(),ek(a))return t(Error(a.errorMessage));e(a)}),this.publishWeb3RequestEvent(l,s)})}addEthereumChain(e,t,a,r,n,i){let s={method:\"addEthereumChain\",params:{chainId:e,rpcUrls:t,blockExplorerUrls:r,chainName:n,iconUrls:a,nativeCurrency:i}},o=null,l=T(8),c=e=>{this.publishWeb3RequestCanceledEvent(l),this.handleErrorResponse(l,s.method,e),null==o||o()};return o=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:c,onResetConnection:this.resetAndReload}),new Promise((e,t)=>{this.relayEventManager.callbacks.set(l,a=>{if(null==o||o(),ek(a))return t(Error(a.errorMessage));e(a)}),this.publishWeb3RequestEvent(l,s)})}switchEthereumChain(e,t){let a={method:\"switchEthereumChain\",params:Object.assign({chainId:e},{address:t})},r=null,n=T(8),i=e=>{this.publishWeb3RequestCanceledEvent(n),this.handleErrorResponse(n,a.method,e),null==r||r()};return r=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:i,onResetConnection:this.resetAndReload}),new Promise((e,t)=>{this.relayEventManager.callbacks.set(n,a=>(null==r||r(),ek(a)&&a.errorCode)?t(z({code:a.errorCode,message:\"Unrecognized chain ID. Try adding the chain using addEthereumChain first.\"})):ek(a)?t(Error(a.errorMessage)):void e(a)),this.publishWeb3RequestEvent(n,a)})}}tM.accountRequestCallbackIds=new Set;let tR=\"DefaultChainId\",tB=\"DefaultJsonRpcUrl\";class tN{constructor(e){this._relay=null,this._addresses=[],this.metadata=e.metadata,this._storage=new s(\"walletlink\",tT),this.callback=e.callback||null;let t=this._storage.getItem(ew);if(t){let e=t.split(\" \");\"\"!==e[0]&&(this._addresses=e.map(e=>V(e)))}this.initializeRelay()}getSession(){let{id:e,secret:t}=this.initializeRelay().getWalletLinkSession();return{id:e,secret:t}}async handshake(){await this._eth_requestAccounts()}get selectedAddress(){return this._addresses[0]||void 0}get jsonRpcUrl(){var e;return null!=(e=this._storage.getItem(tB))?e:void 0}set jsonRpcUrl(e){this._storage.setItem(tB,e)}updateProviderInfo(e,t){var a;this.jsonRpcUrl=e;let r=this.getChainId();this._storage.setItem(tR,t.toString(10)),J(t)!==r&&(null==(a=this.callback)||a.call(this,\"chainChanged\",D(t)))}async watchAsset(e){let t=Array.isArray(e)?e[0]:e;if(!t.type)throw w(\"Type is required\");if((null==t?void 0:t.type)!==\"ERC20\")throw w(`Asset of type '${t.type}' is not supported`);if(!(null==t?void 0:t.options))throw w(\"Options are required\");if(!(null==t?void 0:t.options.address))throw w(\"Address is required\");let a=this.getChainId(),{address:r,symbol:n,image:i,decimals:s}=t.options,o=this.initializeRelay(),l=await o.watchAsset(t.type,r,n,s,i,null==a?void 0:a.toString());return!ek(l)&&!!l.result}async addEthereumChain(e){var t,a;let r=e[0];if((null==(t=r.rpcUrls)?void 0:t.length)===0)throw w(\"please pass in at least 1 rpcUrl\");if(!r.chainName||\"\"===r.chainName.trim())throw w(\"chainName is a required field\");if(!r.nativeCurrency)throw w(\"nativeCurrency is a required field\");let n=Number.parseInt(r.chainId,16);if(n===this.getChainId())return!1;let i=this.initializeRelay(),{rpcUrls:s=[],blockExplorerUrls:o=[],chainName:l,iconUrls:c=[],nativeCurrency:u}=r,d=await i.addEthereumChain(n.toString(),s,c,o,l,u);if(ek(d))return!1;if((null==(a=d.result)?void 0:a.isApproved)===!0)return this.updateProviderInfo(s[0],n),null;throw k(\"unable to add ethereum chain\")}async switchEthereumChain(e){let t=Number.parseInt(e[0].chainId,16),a=this.initializeRelay(),r=await a.switchEthereumChain(t.toString(10),this.selectedAddress||void 0);if(ek(r))throw r;let n=r.result;return n.isApproved&&n.rpcUrl.length>0&&this.updateProviderInfo(n.rpcUrl,t),null}async cleanup(){this.callback=null,this._relay&&this._relay.resetAndReload(),this._storage.clear()}_setAddresses(e,t){var a;if(!Array.isArray(e))throw Error(\"addresses is not an array\");let r=e.map(e=>V(e));JSON.stringify(r)!==JSON.stringify(this._addresses)&&(this._addresses=r,null==(a=this.callback)||a.call(this,\"accountsChanged\",r),this._storage.setItem(ew,r.join(\" \")))}async request(e){let t=e.params||[];switch(e.method){case\"eth_accounts\":return[...this._addresses];case\"eth_coinbase\":return this.selectedAddress||null;case\"net_version\":return this.getChainId().toString(10);case\"eth_chainId\":return D(this.getChainId());case\"eth_requestAccounts\":return this._eth_requestAccounts();case\"eth_ecRecover\":case\"personal_ecRecover\":return this.ecRecover(e);case\"personal_sign\":return this.personalSign(e);case\"eth_signTransaction\":return this._eth_signTransaction(t);case\"eth_sendRawTransaction\":return this._eth_sendRawTransaction(t);case\"eth_sendTransaction\":return this._eth_sendTransaction(t);case\"eth_signTypedData_v1\":case\"eth_signTypedData_v3\":case\"eth_signTypedData_v4\":case\"eth_signTypedData\":return this.signTypedData(e);case\"wallet_addEthereumChain\":return this.addEthereumChain(t);case\"wallet_switchEthereumChain\":return this.switchEthereumChain(t);case\"wallet_watchAsset\":return this.watchAsset(t);default:if(!this.jsonRpcUrl)throw k(\"No RPC URL set for chain\");return ed(e,this.jsonRpcUrl)}}_ensureKnownAddress(e){let t=V(e);if(!this._addresses.map(e=>V(e)).includes(t))throw Error(\"Unknown Ethereum address\")}_prepareTransactionParams(e){let t=e.from?V(e.from):this.selectedAddress;if(!t)throw Error(\"Ethereum address is unavailable\");this._ensureKnownAddress(t);let a=e.to?V(e.to):null,r=null!=e.value?Z(e.value):BigInt(0),n=e.data?G(e.data):Buffer.alloc(0),i=null!=e.nonce?J(e.nonce):null,s=null!=e.gasPrice?Z(e.gasPrice):null,o=null!=e.maxFeePerGas?Z(e.maxFeePerGas):null,l=null!=e.maxPriorityFeePerGas?Z(e.maxPriorityFeePerGas):null;return{fromAddress:t,toAddress:a,weiValue:r,data:n,nonce:i,gasPriceInWei:s,maxFeePerGas:o,maxPriorityFeePerGas:l,gasLimit:null!=e.gas?Z(e.gas):null,chainId:e.chainId?J(e.chainId):this.getChainId()}}async ecRecover(e){let{method:t,params:a}=e;if(!Array.isArray(a))throw w();let r=this.initializeRelay(),n=await r.sendRequest({method:\"ethereumAddressFromSignedMessage\",params:{message:B(a[0]),signature:B(a[1]),addPrefix:\"personal_ecRecover\"===t}});if(ek(n))throw n;return n.result}getChainId(){var e;return Number.parseInt(null!=(e=this._storage.getItem(tR))?e:\"1\",10)}async _eth_requestAccounts(){var e,t;if(this._addresses.length>0)return null==(e=this.callback)||e.call(this,\"connect\",{chainId:D(this.getChainId())}),this._addresses;let a=this.initializeRelay(),r=await a.requestEthereumAccounts();if(ek(r))throw r;if(!r.result)throw Error(\"accounts received is empty\");return this._setAddresses(r.result),null==(t=this.callback)||t.call(this,\"connect\",{chainId:D(this.getChainId())}),this._addresses}async personalSign({params:e}){if(!Array.isArray(e))throw w();let t=e[1],a=e[0];this._ensureKnownAddress(t);let r=this.initializeRelay(),n=await r.sendRequest({method:\"signEthereumMessage\",params:{address:V(t),message:B(a),addPrefix:!0,typedDataJson:null}});if(ek(n))throw n;return n.result}async _eth_signTransaction(e){let t=this._prepareTransactionParams(e[0]||{}),a=this.initializeRelay(),r=await a.signEthereumTransaction(t);if(ek(r))throw r;return r.result}async _eth_sendRawTransaction(e){let t=G(e[0]),a=this.initializeRelay(),r=await a.submitEthereumTransaction(t,this.getChainId());if(ek(r))throw r;return r.result}async _eth_sendTransaction(e){let t=this._prepareTransactionParams(e[0]||{}),a=this.initializeRelay(),r=await a.signAndSubmitEthereumTransaction(t);if(ek(r))throw r;return r.result}async signTypedData(e){let{method:t,params:a}=e;if(!Array.isArray(a))throw w();let r=a[+(\"eth_signTypedData_v1\"===t)],n=a[+(\"eth_signTypedData_v1\"!==t)];this._ensureKnownAddress(r);let i=this.initializeRelay(),s=await i.sendRequest({method:\"signEthereumMessage\",params:{address:V(r),message:R(({eth_signTypedData_v1:ey.hashForSignTypedDataLegacy,eth_signTypedData_v3:ey.hashForSignTypedData_v3,eth_signTypedData_v4:ey.hashForSignTypedData_v4,eth_signTypedData:ey.hashForSignTypedData_v4})[t]({data:function(e){if(\"string\"==typeof e)return JSON.parse(e);if(\"object\"==typeof e)return e;throw w(`Not a JSON string or an object: ${String(e)}`)}(n)}),!0),typedDataJson:JSON.stringify(n,null,2),addPrefix:!1}});if(ek(s))throw s;return s.result}initializeRelay(){return this._relay||(this._relay=new tM({linkAPIUrl:tT,storage:this._storage,metadata:this.metadata,accountsCallback:this._setAddresses.bind(this),chainCallback:this.updateProviderInfo.bind(this)})),this._relay}}let tD=\"SignerType\",tF=new s(\"CBWSDK\",\"SignerConfigurator\");async function tL(e){let{communicator:t,metadata:a,handshakeRequest:r,callback:n}=e;tW(t,a,n).catch(()=>{});let i={id:crypto.randomUUID(),event:\"selectSignerType\",data:Object.assign(Object.assign({},e.preference),{handshakeRequest:r})},{data:s}=await t.postRequestAndWaitForResponse(i);return s}async function tW(e,t,a){await e.onMessage(({event:e})=>\"WalletLinkSessionRequest\"===e);let r=new tN({metadata:t,callback:a});e.postMessage({event:\"WalletLinkUpdate\",data:{session:r.getSession()}}),await r.handshake(),e.postMessage({event:\"WalletLinkUpdate\",data:{connected:!0}})}let tK=`Coinbase Wallet SDK requires the Cross-Origin-Opener-Policy header to not be set to 'same-origin'. This is to ensure that the SDK can communicate with the Coinbase Smart Wallet app.\n\nPlease see https://www.smartwallet.dev/guides/tips/popup-tips#cross-origin-opener-policy for more information.`,{checkCrossOriginOpenerPolicy:tH,getCrossOriginOpenerPolicy:tV}={getCrossOriginOpenerPolicy:()=>void 0===r?\"undefined\":r,checkCrossOriginOpenerPolicy:async()=>{if(\"u\"{(await this.waitForPopupLoaded()).postMessage(e,this.url.origin)},this.postRequestAndWaitForResponse=async e=>{let t=this.onMessage(({requestId:t})=>t===e.id);return this.postMessage(e),await t},this.onMessage=async e=>new Promise((t,a)=>{let r=a=>{if(a.origin!==this.url.origin)return;let n=a.data;e(n)&&(t(n),window.removeEventListener(\"message\",r),this.listeners.delete(r))};window.addEventListener(\"message\",r),this.listeners.set(r,{reject:a})}),this.disconnect=()=>{var e;(e=this.popup)&&!e.closed&&e.close(),this.popup=null,this.listeners.forEach(({reject:e},t)=>{e(v(\"Request rejected\")),window.removeEventListener(\"message\",t)}),this.listeners.clear()},this.waitForPopupLoaded=async()=>this.popup&&!this.popup.closed?(this.popup.focus(),this.popup):(this.popup=await function(e){let t=(window.innerWidth-420)/2+window.screenX,a=(window.innerHeight-540)/2+window.screenY;function r(){let r=`wallet_${crypto.randomUUID()}`,n=window.open(e,r,`width=420, height=540, left=${t}, top=${a}`);return(null==n||n.focus(),n)?n:null}var n=e;for(let[e,t]of Object.entries({sdkName:eu,sdkVersion:\"4.3.7\",origin:window.location.origin,coop:tV()}))n.searchParams.append(e,t.toString());let i=r();if(!i){let e=function(){if(!tJ){let e=document.createElement(\"div\");e.className=\"-cbwsdk-css-reset\",document.body.appendChild(e),(tJ=new tI).attach(e)}return tJ}();return new Promise((t,a)=>{e.presentItem({autoExpand:!0,message:\"Popup was blocked. Try again.\",menuItems:[Object.assign(Object.assign({},tG),{onClick:()=>{(i=r())?t(i):a(k(\"Popup window was blocked\")),e.clear()}})]})})}return Promise.resolve(i)}(this.url),this.onMessage(({event:e})=>\"PopupUnload\"===e).then(this.disconnect).catch(()=>{}),this.onMessage(({event:e})=>\"PopupLoaded\"===e).then(e=>{this.postMessage({requestId:e.id,data:{version:\"4.3.7\",metadata:this.metadata,preference:this.preference,location:window.location.toString()}})}).then(()=>{if(!this.popup)throw k();return this.popup})),this.url=new URL(e),this.metadata=t,this.preference=a}}var t$=a(7215);class tY extends t${}var tQ=function(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(a[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var n=0,r=Object.getOwnPropertySymbols(e);nt.indexOf(r[n])&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(a[r[n]]=e[r[n]]);return a};class tX extends tY{constructor(e){var{metadata:t}=e,a=e.preference,{keysUrl:r}=a,n=tQ(a,[\"keysUrl\"]);super(),this.signer=null,this.isCoinbaseWallet=!0,this.metadata=t,this.preference=n,this.communicator=new tZ({url:r,metadata:t,preference:n});let i=tF.getItem(tD);i&&(this.signer=this.initSigner(i))}async request(e){try{if(!function(e){if(!e||\"object\"!=typeof e||Array.isArray(e))throw w({message:\"Expected a single, non-array, object argument.\",data:e});let{method:t,params:a}=e;if(\"string\"!=typeof t||0===t.length)throw w({message:\"'args.method' must be a non-empty string.\",data:e});if(void 0!==a&&!Array.isArray(a)&&(\"object\"!=typeof a||null===a))throw w({message:\"'args.params' must be an object or array if provided.\",data:e});switch(t){case\"eth_sign\":case\"eth_signTypedData_v2\":case\"eth_subscribe\":case\"eth_unsubscribe\":throw _()}}(e),!this.signer)switch(e.method){case\"eth_requestAccounts\":{let t=await this.requestSignerSelection(e),a=this.initSigner(t);await a.handshake(e),this.signer=a,tF.setItem(tD,t);break}case\"wallet_sendCalls\":{let t=this.initSigner(\"scw\");await t.handshake({method:\"handshake\"});let a=await t.request(e);return await t.cleanup(),a}case\"wallet_getCallsStatus\":return ed(e,\"https://rpc.wallet.coinbase.com\");case\"net_version\":return 1;case\"eth_chainId\":return D(1);default:throw x(\"Must call 'eth_requestAccounts' before other methods\")}return await this.signer.request(e)}catch(r){let e,t,{code:a}=r;return a===u&&this.disconnect(),Promise.reject((e=function(e,{shouldIncludeStack:t=!1}={}){var a,r;let n={};if(e&&\"object\"==typeof e&&!Array.isArray(e)&&b(e,\"code\")&&Number.isInteger(a=e.code)&&(m[a.toString()]||(r=a)>=-32099&&r<=-32e3))n.code=e.code,e.message&&\"string\"==typeof e.message?(n.message=e.message,b(e,\"data\")&&(n.data=e.data)):(n.message=f(n.code),n.data={originalError:g(e)});else n.code=l,n.message=y(e,\"message\")?e.message:p,n.data={originalError:g(e)};return t&&(n.stack=y(e,\"stack\")?e.stack:void 0),n}(function(e){var t;if(\"string\"==typeof e)return{message:e,code:l};if(ek(e)){let a=e.errorMessage,r=null!=(t=e.errorCode)?t:a.match(/(denied|rejected)/i)?c:void 0;return Object.assign(Object.assign({},e),{message:a,code:r,data:{method:e.method}})}return e}(r),{shouldIncludeStack:!0}),(t=new URL(\"https://docs.cloud.coinbase.com/wallet-sdk/docs/errors\")).searchParams.set(\"version\",\"4.3.7\"),t.searchParams.set(\"code\",e.code.toString()),t.searchParams.set(\"message\",e.message),Object.assign(Object.assign({},e),{docUrl:t.href})))}}async enable(){return console.warn('.enable() has been deprecated. Please use .request({ method: \"eth_requestAccounts\" }) instead.'),await this.request({method:\"eth_requestAccounts\"})}async disconnect(){var e;await (null==(e=this.signer)?void 0:e.cleanup()),this.signer=null,s.clearAll(),this.emit(\"disconnect\",j(\"User initiated disconnection\"))}requestSignerSelection(e){return tL({communicator:this.communicator,preference:this.preference,metadata:this.metadata,handshakeRequest:e,callback:this.emit.bind(this)})}initSigner(e){return function(e){let{signerType:t,metadata:a,communicator:r,callback:n}=e;switch(t){case\"scw\":return new eb({metadata:a,callback:n,communicator:r});case\"walletlink\":return new tN({metadata:a,callback:n})}}({signerType:e,metadata:this.metadata,communicator:this.communicator,callback:this.emit.bind(this)})}}function t1(e){if(e){if(![\"all\",\"smartWalletOnly\",\"eoaOnly\"].includes(e.options))throw Error(`Invalid options: ${e.options}`);if(e.attribution&&void 0!==e.attribution.auto&&void 0!==e.attribution.dataSuffix)throw Error(\"Attribution cannot contain both auto and dataSuffix properties\")}}class t0{constructor(e){this.metadata={appName:e.appName||\"Dapp\",appLogoUrl:e.appLogoUrl||function(){let e=document.querySelector('link[sizes=\"192x192\"]')||document.querySelector('link[sizes=\"180x180\"]')||document.querySelector('link[rel=\"icon\"]')||document.querySelector('link[rel=\"shortcut icon\"]'),{protocol:t,host:a}=document.location,r=e?e.getAttribute(\"href\"):null;return!r||r.startsWith(\"javascript:\")||r.startsWith(\"vbscript:\")?`${t}//${a}/favicon.ico`:r.startsWith(\"http://\")||r.startsWith(\"https://\")||r.startsWith(\"data:\")?r:r.startsWith(\"//\")?t+r:`${t}//${a}${r}`}(),appChainIds:e.appChainIds||[]},this.storeLatestVersion(),tH()}makeWeb3Provider(e={options:\"all\"}){var t;t1(e);let a={metadata:this.metadata,preference:e};return null!=(t=eh(a))?t:new tX(a)}getCoinbaseWalletLogo(e,t=240){let a;switch(e){case\"standard\":default:return a=t,`data:image/svg+xml,%3Csvg width='${t}' height='${a}' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Crect width='1024' height='1024' fill='%230052FF'/%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z' fill='white'/%3E %3C/svg%3E `;case\"circle\":return a=t,`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${t}' height='${a}' viewBox='0 0 999.81 999.81'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052fe;%7D.cls-2%7Bfill:%23fefefe;%7D.cls-3%7Bfill:%230152fe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M655-115.9h56c.83,1.59,2.36.88,3.56,1a478,478,0,0,1,75.06,10.42C891.4-81.76,978.33-32.58,1049.19,44q116.7,126,131.94,297.61c.38,4.14-.34,8.53,1.78,12.45v59c-1.58.84-.91,2.35-1,3.56a482.05,482.05,0,0,1-10.38,74.05c-24,106.72-76.64,196.76-158.83,268.93s-178.18,112.82-287.2,122.6c-4.83.43-9.86-.25-14.51,1.77H654c-1-1.68-2.69-.91-4.06-1a496.89,496.89,0,0,1-105.9-18.59c-93.54-27.42-172.78-77.59-236.91-150.94Q199.34,590.1,184.87,426.58c-.47-5.19.25-10.56-1.77-15.59V355c1.68-1,.91-2.7,1-4.06a498.12,498.12,0,0,1,18.58-105.9c26-88.75,72.64-164.9,140.6-227.57q126-116.27,297.21-131.61C645.32-114.57,650.35-113.88,655-115.9Zm377.92,500c0-192.44-156.31-349.49-347.56-350.15-194.13-.68-350.94,155.13-352.29,347.42-1.37,194.55,155.51,352.1,348.56,352.47C876.15,734.23,1032.93,577.84,1032.93,384.11Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-2' d='M1032.93,384.11c0,193.73-156.78,350.12-351.29,349.74-193-.37-349.93-157.92-348.56-352.47C334.43,189.09,491.24,33.28,685.37,34,876.62,34.62,1032.94,191.67,1032.93,384.11ZM683,496.81q43.74,0,87.48,0c15.55,0,25.32-9.72,25.33-25.21q0-87.48,0-175c0-15.83-9.68-25.46-25.59-25.46H595.77c-15.88,0-25.57,9.64-25.58,25.46q0,87.23,0,174.45c0,16.18,9.59,25.7,25.84,25.71Z' transform='translate(-183.1 115.9)'/%3E%3Cpath class='cls-3' d='M683,496.81H596c-16.25,0-25.84-9.53-25.84-25.71q0-87.23,0-174.45c0-15.82,9.7-25.46,25.58-25.46H770.22c15.91,0,25.59,9.63,25.59,25.46q0,87.47,0,175c0,15.49-9.78,25.2-25.33,25.21Q726.74,496.84,683,496.81Z' transform='translate(-183.1 115.9)'/%3E%3C/svg%3E`;case\"text\":return a=(.1*t).toFixed(2),`data:image/svg+xml,%3Csvg width='${t}' height='${a}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case\"textWithLogo\":return a=(.25*t).toFixed(2),`data:image/svg+xml,%3Csvg width='${t}' height='${a}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230052ff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`;case\"textLight\":return a=(.1*t).toFixed(2),`data:image/svg+xml,%3Csvg width='${t}' height='${a}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 528.15 53.64'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3ECoinbase_Wordmark_SubBrands_ALL%3C/title%3E%3Cpath class='cls-1' d='M164.45,15a15,15,0,0,0-11.74,5.4V0h-8.64V52.92h8.5V48a15,15,0,0,0,11.88,5.62c10.37,0,18.21-8.21,18.21-19.3S174.67,15,164.45,15Zm-1.3,30.67c-6.19,0-10.73-4.83-10.73-11.31S157,23,163.22,23s10.66,4.82,10.66,11.37S169.34,45.65,163.15,45.65Zm83.31-14.91-6.34-.93c-3-.43-5.18-1.44-5.18-3.82,0-2.59,2.8-3.89,6.62-3.89,4.18,0,6.84,1.8,7.42,4.76h8.35c-.94-7.49-6.7-11.88-15.55-11.88-9.15,0-15.2,4.68-15.2,11.3,0,6.34,4,10,12,11.16l6.33.94c3.1.43,4.83,1.65,4.83,4,0,2.95-3,4.17-7.2,4.17-5.12,0-8-2.09-8.43-5.25h-8.49c.79,7.27,6.48,12.38,16.84,12.38,9.44,0,15.7-4.32,15.7-11.74C258.12,35.28,253.58,31.82,246.46,30.74Zm-27.65-2.3c0-8.06-4.9-13.46-15.27-13.46-9.79,0-15.26,5-16.34,12.6h8.57c.43-3,2.73-5.4,7.63-5.4,4.39,0,6.55,1.94,6.55,4.32,0,3.09-4,3.88-8.85,4.39-6.63.72-14.84,3-14.84,11.66,0,6.7,5,11,12.89,11,6.19,0,10.08-2.59,12-6.7.28,3.67,3,6.05,6.84,6.05h5v-7.7h-4.25Zm-8.5,9.36c0,5-4.32,8.64-9.57,8.64-3.24,0-6-1.37-6-4.25,0-3.67,4.39-4.68,8.42-5.11s6-1.22,7.13-2.88ZM281.09,15c-11.09,0-19.23,8.35-19.23,19.36,0,11.6,8.72,19.3,19.37,19.3,9,0,16.06-5.33,17.86-12.89h-9c-1.3,3.31-4.47,5.19-8.71,5.19-5.55,0-9.72-3.46-10.66-9.51H299.3V33.12C299.3,22.46,291.53,15,281.09,15Zm-9.87,15.26c1.37-5.18,5.26-7.7,9.72-7.7,4.9,0,8.64,2.8,9.51,7.7ZM19.3,23a9.84,9.84,0,0,1,9.5,7h9.14c-1.65-8.93-9-15-18.57-15A19,19,0,0,0,0,34.34c0,11.09,8.28,19.3,19.37,19.3,9.36,0,16.85-6,18.5-15H28.8a9.75,9.75,0,0,1-9.43,7.06c-6.27,0-10.66-4.83-10.66-11.31S13,23,19.3,23Zm41.11-8A19,19,0,0,0,41,34.34c0,11.09,8.28,19.3,19.37,19.3A19,19,0,0,0,79.92,34.27C79.92,23.33,71.64,15,60.41,15Zm.07,30.67c-6.19,0-10.73-4.83-10.73-11.31S54.22,23,60.41,23s10.8,4.89,10.8,11.37S66.67,45.65,60.48,45.65ZM123.41,15c-5.62,0-9.29,2.3-11.45,5.54V15.7h-8.57V52.92H112V32.69C112,27,115.63,23,121,23c5,0,8.06,3.53,8.06,8.64V52.92h8.64V31C137.66,21.6,132.84,15,123.41,15ZM92,.36a5.36,5.36,0,0,0-5.55,5.47,5.55,5.55,0,0,0,11.09,0A5.35,5.35,0,0,0,92,.36Zm-9.72,23h5.4V52.92h8.64V15.7h-14Zm298.17-7.7L366.2,52.92H372L375.29,44H392l3.33,8.88h6L386.87,15.7ZM377,39.23l6.45-17.56h.1l6.56,17.56ZM362.66,15.7l-7.88,29h-.11l-8.14-29H341l-8,28.93h-.1l-8-28.87H319L329.82,53h5.45l8.19-29.24h.11L352,53h5.66L368.1,15.7Zm135.25,0v4.86h12.32V52.92h5.6V20.56h12.32V15.7ZM467.82,52.92h25.54V48.06H473.43v-12h18.35V31.35H473.43V20.56h19.93V15.7H467.82ZM443,15.7h-5.6V52.92h24.32V48.06H443Zm-30.45,0h-5.61V52.92h24.32V48.06H412.52Z'/%3E%3C/svg%3E`;case\"textWithLogoLight\":return a=(.25*t).toFixed(2),`data:image/svg+xml,%3Csvg width='${t}' height='${a}' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 308.44 77.61'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fefefe;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M142.94,20.2l-7.88,29H135l-8.15-29h-5.55l-8,28.93h-.11l-8-28.87H99.27l10.84,37.27h5.44l8.2-29.24h.1l8.41,29.24h5.66L148.39,20.2Zm17.82,0L146.48,57.42h5.82l3.28-8.88h16.65l3.34,8.88h6L167.16,20.2Zm-3.44,23.52,6.45-17.55h.11l6.56,17.55ZM278.2,20.2v4.86h12.32V57.42h5.6V25.06h12.32V20.2ZM248.11,57.42h25.54V52.55H253.71V40.61h18.35V35.85H253.71V25.06h19.94V20.2H248.11ZM223.26,20.2h-5.61V57.42H242V52.55H223.26Zm-30.46,0h-5.6V57.42h24.32V52.55H192.8Zm-154,38A19.41,19.41,0,1,1,57.92,35.57H77.47a38.81,38.81,0,1,0,0,6.47H57.92A19.39,19.39,0,0,1,38.81,58.21Z'/%3E%3C/svg%3E`}}storeLatestVersion(){new s(\"CBWSDK\").setItem(\"VERSION\",\"4.3.7\")}}let t2={options:\"all\"};function t3(e){var t;new s(\"CBWSDK\").setItem(\"VERSION\",\"4.3.7\"),tH();let a={metadata:{appName:e.appName||\"Dapp\",appLogoUrl:e.appLogoUrl||\"\",appChainIds:e.appChainIds||[]},preference:Object.assign(t2,null!=(t=e.preference)?t:{})};t1(a.preference);let r=null;return{getProvider:()=>{var e;let t;return r||(r=null!=(e=eh(t={metadata:a.metadata,preference:a.preference}))?e:new tX(t)),r}}}let t9=t0},152(e,t,a){let r;a.d(t,{secp256k1:()=>e_});var n,i,s=a(5314),o=a(2733),l=a(1374);let c=BigInt(0),u=BigInt(1);function d(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&\"Uint8Array\"===e.constructor.name}function h(e){if(!d(e))throw Error(\"Uint8Array expected\")}function m(e,t){if(\"boolean\"!=typeof t)throw Error(e+\" boolean expected, got \"+t)}function p(e){let t=e.toString(16);return 1&t.length?\"0\"+t:t}function f(e){if(\"string\"!=typeof e)throw Error(\"hex string expected, got \"+typeof e);return\"\"===e?c:BigInt(\"0x\"+e)}let g=\"function\"==typeof Uint8Array.from([]).toHex&&\"function\"==typeof Uint8Array.fromHex,b=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));function y(e){if(h(e),g)return e.toHex();let t=\"\";for(let a=0;a=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function k(e){if(\"string\"!=typeof e)throw Error(\"hex string expected, got \"+typeof e);if(g)return Uint8Array.fromHex(e);let t=e.length,a=t/2;if(t%2)throw Error(\"hex string expected, got unpadded hex of length \"+t);let r=new Uint8Array(a);for(let t=0,n=0;t\"bigint\"==typeof e&&c<=e;function A(e,t,a){return I(e)&&I(t)&&I(a)&&t<=e&&e(u<new Uint8Array(e),q={bigint:e=>\"bigint\"==typeof e,function:e=>\"function\"==typeof e,boolean:e=>\"boolean\"==typeof e,string:e=>\"string\"==typeof e,stringOrUint8Array:e=>\"string\"==typeof e||d(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>\"function\"==typeof e&&Number.isSafeInteger(e.outputLen)};function O(e,t,a={}){let r=(t,a,r)=>{let n=q[a];if(\"function\"!=typeof n)throw Error(\"invalid validator function\");let i=e[t];if((!r||void 0!==i)&&!n(i,e))throw Error(\"param \"+String(t)+\" is invalid. Expected \"+a+\", got \"+i)};for(let[e,a]of Object.entries(t))r(e,a,!1);for(let[e,t]of Object.entries(a))r(e,t,!0);return e}function T(e){let t=new WeakMap;return(a,...r)=>{let n=t.get(a);if(void 0!==n)return n;let i=e(a,...r);return t.set(a,i),i}}let U=BigInt(0),M=BigInt(1),R=BigInt(2),B=BigInt(3),N=BigInt(4),D=BigInt(5),F=BigInt(8);function L(e,t){let a=e%t;return a>=U?a:t+a}function W(e,t,a){let r=e;for(;t-- >U;)r*=r,r%=a;return r}function K(e,t){if(e===U)throw Error(\"invert: expected non-zero number\");if(t<=U)throw Error(\"invert: expected positive modulus, got \"+t);let a=L(e,t),r=t,n=U,i=M,s=M,o=U;for(;a!==U;){let e=r/a,t=r%a,l=n-s*e,c=i-o*e;r=a,a=t,n=s,i=o,s=l,o=c}if(r!==M)throw Error(\"invert: does not exist\");return L(n,t)}function H(e,t){let a=(e.ORDER+M)/N,r=e.pow(t,a);if(!e.eql(e.sqr(r),t))throw Error(\"Cannot find square root\");return r}function V(e,t){let a=(e.ORDER-D)/F,r=e.mul(t,R),n=e.pow(r,a),i=e.mul(t,n),s=e.mul(e.mul(i,R),n),o=e.mul(i,e.sub(s,e.ONE));if(!e.eql(e.sqr(o),t))throw Error(\"Cannot find square root\");return o}let G=[\"create\",\"isValid\",\"is0\",\"neg\",\"inv\",\"sqrt\",\"sqr\",\"eql\",\"add\",\"sub\",\"mul\",\"pow\",\"div\",\"addN\",\"subN\",\"mulN\",\"sqrN\"];function J(e,t,a=!1){let r=Array(t.length).fill(a?e.ZERO:void 0),n=t.reduce((t,a,n)=>e.is0(a)?t:(r[n]=t,e.mul(t,a)),e.ONE),i=e.inv(n);return t.reduceRight((t,a,n)=>e.is0(a)?t:(r[n]=e.mul(t,r[n]),e.mul(t,a)),i),r}function Z(e,t){let a=(e.ORDER-M)/R,r=e.pow(t,a),n=e.eql(r,e.ONE),i=e.eql(r,e.ZERO),s=e.eql(r,e.neg(e.ONE));if(!n&&!i&&!s)throw Error(\"invalid Legendre symbol result\");return n?1:i?0:-1}function $(e,t){void 0!==t&&(0,l.Fe)(t);let a=void 0!==t?t:e.toString(2).length,r=Math.ceil(a/8);return{nBitLength:a,nByteLength:r}}function Y(e,t,a=!1,r={}){let n;if(e<=U)throw Error(\"invalid field: expected ORDER > 0, got \"+e);let{nBitLength:i,nByteLength:s}=$(e,t);if(s>2048)throw Error(\"invalid field: expected ORDER of <= 2048 bytes\");let o=Object.freeze({ORDER:e,isLE:a,BITS:i,BYTES:s,MASK:C(i),ZERO:U,ONE:M,create:t=>L(t,e),isValid:t=>{if(\"bigint\"!=typeof t)throw Error(\"invalid field element: expected bigint, got \"+typeof t);return U<=t&&te===U,isOdd:e=>(e&M)===M,neg:t=>L(-t,e),eql:(e,t)=>e===t,sqr:t=>L(t*t,e),add:(t,a)=>L(t+a,e),sub:(t,a)=>L(t-a,e),mul:(t,a)=>L(t*a,e),pow:(e,t)=>(function(e,t,a){if(aU;)a&M&&(r=e.mul(r,n)),n=e.sqr(n),a>>=M;return r})(o,e,t),div:(t,a)=>L(t*K(a,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>K(t,e),sqrt:r.sqrt||(t=>(n||(n=e%N===B?H:e%F===D?V:function(e){if(e1e3)throw Error(\"Cannot find square root: probably non-prime P\");if(1===a)return H;let i=n.pow(r,t),s=(t+M)/R;return function(e,r){if(e.is0(r))return r;if(1!==Z(e,r))throw Error(\"Cannot find square root\");let n=a,o=e.mul(e.ONE,i),l=e.pow(r,t),c=e.pow(r,s);for(;!e.eql(l,e.ONE);){if(e.is0(l))return e.ZERO;let t=1,a=e.sqr(l);for(;!e.eql(a,e.ONE);)if(t++,a=e.sqr(a),t===n)throw Error(\"Cannot find square root\");let r=M<a?j(e,s):_(e,s),fromBytes:e=>{if(e.length!==s)throw Error(\"Field.fromBytes: expected \"+s+\" bytes, got \"+e.length);return a?x(e):v(e)},invertBatch:e=>J(o,e),cmov:(e,t,a)=>a?t:e});return Object.freeze(o)}function Q(e){if(\"bigint\"!=typeof e)throw Error(\"field order must be bigint\");return Math.ceil(e.toString(2).length/8)}function X(e){let t=Q(e);return t+Math.ceil(t/2)}let ee=BigInt(0),et=BigInt(1);function ea(e,t){let a=t.negate();return e?a:t}function er(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(\"invalid window size, expected [1..\"+t+\"], got W=\"+e)}function en(e,t){er(e,t);let a=Math.ceil(t/e)+1,r=2**(e-1),n=2**e;return{windows:a,windowSize:r,mask:C(e),maxNumber:n,shiftBy:BigInt(e)}}function ei(e,t,a){let{windowSize:r,mask:n,maxNumber:i,shiftBy:s}=a,o=Number(e&n),l=e>>s;o>r&&(o-=i,l+=et);let c=t*r,u=c+Math.abs(o)-1,d=0===o;return{nextN:l,offset:u,isZero:d,isNeg:o<0,isNegF:t%2!=0,offsetF:c}}let es=new WeakMap,eo=new WeakMap;function el(e){return eo.get(e)||1}function ec(e){return O(e.Fp,G.reduce((e,t)=>(e[t]=\"function\",e),{ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"isSafeInteger\",BITS:\"isSafeInteger\"})),O(e,{n:\"bigint\",h:\"bigint\",Gx:\"field\",Gy:\"field\"},{nBitLength:\"isSafeInteger\",nByteLength:\"isSafeInteger\"}),Object.freeze({...$(e.n,e.nBitLength),...e,...{p:e.Fp.ORDER}})}function eu(e){void 0!==e.lowS&&m(\"lowS\",e.lowS),void 0!==e.prehash&&m(\"prehash\",e.prehash)}let ed={Err:class extends Error{constructor(e=\"\"){super(e)}},_tlv:{encode:(e,t)=>{let{Err:a}=ed;if(e<0||e>256)throw new a(\"tlv.encode: wrong tag\");if(1&t.length)throw new a(\"tlv.encode: unpadded data\");let r=t.length/2,n=p(r);if(n.length/2&128)throw new a(\"tlv.encode: long form length too big\");let i=r>127?p(n.length/2|128):\"\";return p(e)+i+n+t},decode(e,t){let{Err:a}=ed,r=0;if(e<0||e>256)throw new a(\"tlv.encode: wrong tag\");if(t.length<2||t[r++]!==e)throw new a(\"tlv.decode: wrong tlv\");let n=t[r++],i=0;if(128&n){let e=127&n;if(!e)throw new a(\"tlv.decode(long): indefinite length not supported\");if(e>4)throw new a(\"tlv.decode(long): byte length is too big\");let s=t.subarray(r,r+e);if(s.length!==e)throw new a(\"tlv.decode: length bytes not complete\");if(0===s[0])throw new a(\"tlv.decode(long): zero leftmost byte\");for(let e of s)i=i<<8|e;if(r+=e,i<128)throw new a(\"tlv.decode(long): not minimal encoding\")}else i=n;let s=t.subarray(r,r+i);if(s.length!==i)throw new a(\"tlv.decode: wrong value length\");return{v:s,l:t.subarray(r+i)}}},_int:{encode(e){let{Err:t}=ed;if(e(e+t/ek)/t,ex=Y(eg,void 0,void 0,{sqrt:function(e){let t=BigInt(3),a=BigInt(6),r=BigInt(11),n=BigInt(22),i=BigInt(23),s=BigInt(44),o=BigInt(88),l=e*e*e%eg,c=l*l*e%eg,u=W(c,t,eg)*c%eg,d=W(u,t,eg)*c%eg,h=W(d,ek,eg)*l%eg,m=W(h,r,eg)*h%eg,p=W(m,n,eg)*m%eg,f=W(p,s,eg)*p%eg,g=W(f,o,eg)*f%eg,b=W(g,s,eg)*p%eg,y=W(b,t,eg)*c%eg,w=W(y,i,eg)*m%eg,k=W(w,a,eg)*l%eg,v=W(k,ek,eg);if(!ex.eql(ex.sqr(v),e))throw Error(\"Cannot find square root\");return v}}),e_=(n={a:ey,b:BigInt(7),Fp:ex,n:eb,Gx:BigInt(\"55066263022277343669578718895168534326250603453777594175500187360389116729240\"),Gy:BigInt(\"32670510020758816978083085130507043184471273380659243275938904335757337482424\"),h:BigInt(1),lowS:!0,endo:{beta:BigInt(\"0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\"),splitScalar:e=>{let t=BigInt(\"0x3086d221a7d46bcde86c90e49284eb15\"),a=-ew*BigInt(\"0xe4437ed6010e88286f547fa90abfe4c3\"),r=BigInt(\"0x114ca50f7a8e2f3f657c1108d9d44cfd8\"),n=BigInt(\"0x100000000000000000000000000000000\"),i=ev(t*e,eb),s=ev(-a*e,eb),o=L(e-i*t-s*r,eb),l=L(-i*a-s*t,eb),c=o>n,u=l>n;if(c&&(o=eb-o),u&&(l=eb-l),o>n||l>n)throw Error(\"splitScalar: Endomorphism failed, k=\"+e);return{k1neg:c,k1:o,k2neg:u,k2:l}}}},i=s.sc,{...(r=e=>(function(e){let t,a=(O(t=ec(e),{hash:\"hash\",hmac:\"function\",randomBytes:\"function\"},{bits2int:\"function\",bits2int_modN:\"function\",lowS:\"boolean\"}),Object.freeze({lowS:!0,...t})),{Fp:r,n:n,nByteLength:i,nBitLength:s}=a,o=r.BYTES+1,l=2*r.BYTES+1;function h(e){return L(e,n)}let{ProjectivePoint:p,normPrivateKeyToScalar:f,weierstrassEquation:g,isWithinCurveOrder:b}=function(e){var t;let a=function(e){let t=ec(e);O(t,{a:\"field\",b:\"field\"},{allowInfinityPoint:\"boolean\",allowedPrivateKeyLengths:\"array\",clearCofactor:\"function\",fromBytes:\"function\",isTorsionFree:\"function\",toBytes:\"function\",wrapPrivateKey:\"boolean\"});let{endo:a,Fp:r,a:n}=t;if(a){if(!r.eql(n,r.ZERO))throw Error(\"invalid endo: CURVE.a must be 0\");if(\"object\"!=typeof a||\"bigint\"!=typeof a.beta||\"function\"!=typeof a.splitScalar)throw Error('invalid endo: expected \"beta\": bigint and \"splitScalar\": function')}return Object.freeze({...t})}(e),{Fp:r}=a,n=Y(a.n,a.nBitLength),i=a.toBytes||((e,t,a)=>{let n=t.toAffine();return S(Uint8Array.from([4]),r.toBytes(n.x),r.toBytes(n.y))}),s=a.fromBytes||(e=>{let t=e.subarray(1);return{x:r.fromBytes(t.subarray(0,r.BYTES)),y:r.fromBytes(t.subarray(r.BYTES,2*r.BYTES))}});function o(e){let{a:t,b:n}=a,i=r.sqr(e),s=r.mul(i,e);return r.add(r.add(s,r.mul(e,t)),n)}function l(e,t){let a=r.sqr(t),n=o(e);return r.eql(a,n)}if(!l(a.Gx,a.Gy))throw Error(\"bad curve params: generator point\");let h=r.mul(r.pow(a.a,ep),ef),p=r.mul(r.sqr(a.b),BigInt(27));if(r.is0(r.add(h,p)))throw Error(\"bad curve params: a or b\");function f(e){let t,{allowedPrivateKeyLengths:r,nByteLength:n,wrapPrivateKey:i,n:s}=a;if(r&&\"bigint\"!=typeof e){if(d(e)&&(e=y(e)),\"string\"!=typeof e||!r.includes(e.length))throw Error(\"invalid private key\");e=e.padStart(2*n,\"0\")}try{t=\"bigint\"==typeof e?e:v(z(\"private key\",e,n))}catch(t){throw Error(\"invalid private key, expected hex or \"+n+\" bytes, got \"+typeof e)}return i&&(t=L(t,s)),E(\"private key\",t,em,s),t}function g(e){if(!(e instanceof k))throw Error(\"ProjectivePoint expected\")}let b=T((e,t)=>{let{px:a,py:n,pz:i}=e;if(r.eql(i,r.ONE))return{x:a,y:n};let s=e.is0();null==t&&(t=s?r.ONE:r.inv(i));let o=r.mul(a,t),l=r.mul(n,t),c=r.mul(i,t);if(s)return{x:r.ZERO,y:r.ZERO};if(!r.eql(c,r.ONE))throw Error(\"invZ was invalid\");return{x:o,y:l}}),w=T(e=>{if(e.is0()){if(a.allowInfinityPoint&&!r.is0(e.py))return;throw Error(\"bad point: ZERO\")}let{x:t,y:n}=e.toAffine();if(!r.isValid(t)||!r.isValid(n))throw Error(\"bad point: x or y not FE\");if(!l(t,n))throw Error(\"bad point: equation left != right\");if(!e.isTorsionFree())throw Error(\"bad point: not in prime-order subgroup\");return!0});class k{constructor(e,t,a){if(null==e||!r.isValid(e))throw Error(\"x required\");if(null==t||!r.isValid(t)||r.is0(t))throw Error(\"y required\");if(null==a||!r.isValid(a))throw Error(\"z required\");this.px=e,this.py=t,this.pz=a,Object.freeze(this)}static fromAffine(e){let{x:t,y:a}=e||{};if(!e||!r.isValid(t)||!r.isValid(a))throw Error(\"invalid affine point\");if(e instanceof k)throw Error(\"projective point not allowed\");let n=e=>r.eql(e,r.ZERO);return n(t)&&n(a)?k.ZERO:new k(t,a,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=J(r,e.map(e=>e.pz));return e.map((e,a)=>e.toAffine(t[a])).map(k.fromAffine)}static fromHex(e){let t=k.fromAffine(s(z(\"pointHex\",e)));return t.assertValidity(),t}static fromPrivateKey(e){return k.BASE.multiply(f(e))}static msm(e,t){return function(e,t,a,r){if(!Array.isArray(a))throw Error(\"array expected\");a.forEach((t,a)=>{if(!(t instanceof e))throw Error(\"invalid point at index \"+a)});if(!Array.isArray(r))throw Error(\"array of scalars expected\");r.forEach((e,a)=>{if(!t.isValid(e))throw Error(\"invalid scalar at index \"+a)});let n=a.length,i=r.length;if(n!==i)throw Error(\"arrays of points and scalars must have equal length\");let s=e.ZERO,o=function(e){let t;for(t=0;e>c;e>>=u,t+=1);return t}(BigInt(n)),l=1;o>12?l=o-3:o>4?l=o-2:o>0&&(l=2);let d=C(l),h=Array(Number(d)+1).fill(s),m=Math.floor((t.BITS-1)/l)*l,p=s;for(let e=m;e>=0;e-=l){h.fill(s);for(let t=0;t>BigInt(e)&d);h[n]=h[n].add(a[t])}let t=s;for(let e=h.length-1,a=s;e>0;e--)a=a.add(h[e]),t=t.add(a);if(p=p.add(t),0!==e)for(let e=0;eeh||c>eh;)o&em&&(u=u.add(h)),c&em&&(d=d.add(h)),h=h.double(),o>>=em,c>>=em;return s&&(u=u.negate()),l&&(d=d.negate()),d=new k(r.mul(d.px,t.beta),d.py,d.pz),u.add(d)}multiply(e){let t,n,{endo:i,n:s}=a;if(E(\"scalar\",e,em,s),i){let{k1neg:a,k1:s,k2neg:o,k2:l}=i.splitScalar(e),{p:c,f:u}=this.wNAF(s),{p:d,f:h}=this.wNAF(l);c=j.constTimeNegate(a,c),d=j.constTimeNegate(o,d),d=new k(r.mul(d.px,i.beta),d.py,d.pz),t=c.add(d),n=u.add(h)}else{let{p:a,f:r}=this.wNAF(e);t=a,n=r}return k.normalizeZ([t,n])[0]}multiplyAndAddUnsafe(e,t,a){let r=k.BASE,n=(e,t)=>t!==eh&&t!==em&&e.equals(r)?e.multiply(t):e.multiplyUnsafe(t),i=n(this,t).add(n(e,a));return i.is0()?void 0:i}toAffine(e){return b(this,e)}isTorsionFree(){let{h:e,isTorsionFree:t}=a;if(e===em)return!0;if(t)return t(k,this);throw Error(\"isTorsionFree() has not been declared for the elliptic curve\")}clearCofactor(){let{h:e,clearCofactor:t}=a;return e===em?this:t?t(k,this):this.multiplyUnsafe(a.h)}toRawBytes(e=!0){return m(\"isCompressed\",e),this.assertValidity(),i(k,this,e)}toHex(e=!0){return m(\"isCompressed\",e),y(this.toRawBytes(e))}}k.BASE=new k(a.Gx,a.Gy,r.ONE),k.ZERO=new k(r.ZERO,r.ONE,r.ZERO);let{endo:x,nBitLength:_}=a,j=(t=x?Math.ceil(_/2):_,{constTimeNegate:ea,hasPrecomputes:e=>1!==el(e),unsafeLadder(e,t,a=k.ZERO){let r=e;for(;t>ee;)t&et&&(a=a.add(r)),r=r.double(),t>>=et;return a},precomputeWindow(e,a){let{windows:r,windowSize:n}=en(a,t),i=[],s=e,o=s;for(let e=0;ev(e.slice(t,a));class I{constructor(e,t,a){E(\"r\",e,em,n),E(\"s\",t,em,n),this.r=e,this.s=t,null!=a&&(this.recovery=a),Object.freeze(this)}static fromCompact(e){return new I(w(e=z(\"compactSignature\",e,2*i),0,i),w(e,i,2*i))}static fromDER(e){let{r:t,s:a}=ed.toSig(z(\"DER\",e));return new I(t,a)}assertValidity(){}addRecoveryBit(e){return new I(this.r,this.s,e)}recoverPublicKey(e){let{r:t,s:i,recovery:s}=this,o=R(z(\"msgHash\",e));if(null==s||![0,1,2,3].includes(s))throw Error(\"recovery id invalid\");let l=2===s||3===s?t+a.n:t;if(l>=r.ORDER)throw Error(\"recovery id 2 or 3 invalid\");let c=(1&s)==0?\"02\":\"03\",u=p.fromHex(c+y(_(l,r.BYTES))),d=K(l,n),m=h(-o*d),f=h(i*d),g=p.BASE.multiplyAndAddUnsafe(u,m,f);if(!g)throw Error(\"point at infinify\");return g.assertValidity(),g}hasHighS(){return this.s>n>>em}normalizeS(){return this.hasHighS()?new I(this.r,h(-this.s),this.recovery):this}toDERRawBytes(){return k(this.toDERHex())}toDERHex(){return ed.hexFromSig(this)}toCompactRawBytes(){return k(this.toCompactHex())}toCompactHex(){return y(_(this.r,i))+y(_(this.s,i))}}function q(e){if(\"bigint\"==typeof e)return!1;if(e instanceof p)return!0;let t=z(\"key\",e).length,n=r.BYTES,s=n+1;if(!a.allowedPrivateKeyLengths&&i!==s)return t===s||t===2*n+1}let U=a.bits2int||function(e){if(e.length>8192)throw Error(\"input is too large\");let t=v(e),a=8*e.length-s;return a>0?t>>BigInt(a):t},R=a.bits2int_modN||function(e){return h(U(e))},B=C(s);function N(e){return E(\"num < 2^\"+s,e,eh,B),_(e,i)}let D={lowS:a.lowS,prehash:!1},F={lowS:a.lowS,prehash:!1};return p.BASE._setWindowSize(8),{CURVE:a,getPublicKey:function(e,t=!0){return p.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,a=!0){if(!0===q(e))throw Error(\"first arg must be private key\");if(!1===q(t))throw Error(\"second arg must be public key\");return p.fromHex(t).multiply(f(e)).toRawBytes(a)},sign:function(e,t,i=D){let{seed:s,k2sig:o}=function(e,t,i=D){if([\"recovered\",\"canonical\"].some(e=>e in i))throw Error(\"sign() legacy options not supported\");let{hash:s,randomBytes:o}=a,{lowS:l,prehash:c,extraEntropy:u}=i;null==l&&(l=!0),e=z(\"msgHash\",e),eu(i),c&&(e=z(\"prehashed msgHash\",s(e)));let d=R(e),m=f(t),g=[N(m),N(d)];if(null!=u&&!1!==u){let e=!0===u?o(r.BYTES):u;g.push(z(\"extraEntropy\",e))}return{seed:S(...g),k2sig:function(e){var t;let a=U(e);if(!b(a))return;let r=K(a,n),i=p.BASE.multiply(a).toAffine(),s=h(i.x);if(s===eh)return;let o=h(r*h(d+s*m));if(o===eh)return;let c=2*(i.x!==s)|Number(i.y&em),u=o;return l&&o>n>>em&&(u=(t=o)>n>>em?h(-t):t,c^=1),new I(s,u,c)}}}(e,t,i);return(function(e,t,a){if(\"number\"!=typeof e||e<2)throw Error(\"hashLen must be a number\");if(\"number\"!=typeof t||t<2)throw Error(\"qByteLen must be a number\");if(\"function\"!=typeof a)throw Error(\"hmacFn must be a function\");let r=P(e),n=P(e),i=0,s=()=>{r.fill(1),n.fill(0),i=0},o=(...e)=>a(n,r,...e),l=(e=P(0))=>{let t;if(n=o((t=[0],Uint8Array.from(t)),e),r=o(),0!==e.length){let t;n=o((t=[1],Uint8Array.from(t)),e),r=o()}},c=()=>{if(i++>=1e3)throw Error(\"drbg: tried 1000 values\");let e=0,a=[];for(;e{let a;for(s(),l(e);!(a=t(c()));)l();return s(),a}})(a.hash.outputLen,a.nByteLength,a.hmac)(s,o)},verify:function(e,t,r,i=F){let s,o;t=z(\"msgHash\",t),r=z(\"publicKey\",r);let{lowS:l,prehash:c,format:u}=i;if(eu(i),\"strict\"in i)throw Error(\"options.strict was renamed to lowS\");if(void 0!==u&&\"compact\"!==u&&\"der\"!==u)throw Error(\"format must be compact or der\");let m=\"string\"==typeof e||d(e),f=!m&&!u&&\"object\"==typeof e&&null!==e&&\"bigint\"==typeof e.r&&\"bigint\"==typeof e.s;if(!m&&!f)throw Error(\"invalid signature, expected Uint8Array, hex string or Signature instance\");try{if(f&&(o=new I(e.r,e.s)),m){try{\"compact\"!==u&&(o=I.fromDER(e))}catch(e){if(!(e instanceof ed.Err))throw e}o||\"der\"===u||(o=I.fromCompact(e))}s=p.fromHex(r)}catch(e){return!1}if(!o||l&&o.hasHighS())return!1;c&&(t=a.hash(t));let{r:g,s:b}=o,y=R(t),w=K(b,n),k=h(y*w),v=h(g*w),x=p.BASE.multiplyAndAddUnsafe(s,k,v)?.toAffine();return!!x&&h(x.x)===g},ProjectivePoint:p,Signature:I,utils:{isValidPrivateKey(e){try{return f(e),!0}catch(e){return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let e=X(a.n);return function(e,t,a=!1){let r=e.length,n=Q(t),i=X(t);if(r<16||r1024)throw Error(\"expected \"+i+\"-1024 bytes of input, got \"+r);let s=L(a?x(e):v(e),t-M)+M;return a?j(s,n):_(s,n)}(a.randomBytes(e),a.n)},precompute:(e=8,t=p.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}})({...n,...{hash:e,hmac:(t,...a)=>(0,o.w)(e,t,(0,l.Id)(...a)),randomBytes:l.po}}))(i),create:r})},2320(e,t,a){a.d(t,{B4:()=>m,CQ:()=>k,CW:()=>w,Ei:()=>d,F8:()=>v,P5:()=>h,TH:()=>x,Vl:()=>b,Vr:()=>y,WM:()=>p,WQ:()=>g,im:()=>f,jm:()=>o,lD:()=>i,qh:()=>u,rE:()=>l,ry:()=>c,xn:()=>s});let r=BigInt(0x100000000-1),n=BigInt(32);function i(e,t=!1){let a=e.length,s=new Uint32Array(a),o=new Uint32Array(a);for(let i=0;i>n&r)}:{h:0|Number(e>>n&r),l:0|Number(e&r)}}(e[i],t);[s[i],o[i]]=[a,l]}return[s,o]}let s=(e,t,a)=>e>>>a,o=(e,t,a)=>e<<32-a|t>>>a,l=(e,t,a)=>e>>>a|t<<32-a,c=(e,t,a)=>e<<32-a|t>>>a,u=(e,t,a)=>e<<64-a|t>>>a-32,d=(e,t,a)=>e>>>a-32|t<<64-a,h=(e,t,a)=>e<>>32-a,m=(e,t,a)=>t<>>32-a,p=(e,t,a)=>t<>>64-a,f=(e,t,a)=>e<>>64-a;function g(e,t,a,r){let n=(t>>>0)+(r>>>0);return{h:e+a+(n/0x100000000|0)|0,l:0|n}}let b=(e,t,a)=>(e>>>0)+(t>>>0)+(a>>>0),y=(e,t,a,r)=>t+a+r+(e/0x100000000|0)|0,w=(e,t,a,r)=>(e>>>0)+(t>>>0)+(a>>>0)+(r>>>0),k=(e,t,a,r,n)=>t+a+r+n+(e/0x100000000|0)|0,v=(e,t,a,r,n)=>(e>>>0)+(t>>>0)+(a>>>0)+(r>>>0)+(n>>>0),x=(e,t,a,r,n,i)=>t+a+r+n+i+(e/0x100000000|0)|0},2733(e,t,a){a.d(t,{w:()=>i});var r=a(1374);class n extends r.Vw{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,(0,r.sd)(e);let a=(0,r.ZJ)(t);if(this.iHash=e.create(),\"function\"!=typeof this.iHash.update)throw Error(\"Expected instance of class which extends utils.Hash\");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,i=new Uint8Array(n);i.set(a.length>n?e.create().update(a).digest():a);for(let e=0;enew n(e,t).update(a).digest();i.create=(e,t)=>new n(e,t)},5314(e,t,a){a.d(t,{sc:()=>w,qt:()=>v,Zf:()=>k});var r=a(1374);class n extends r.Vw{constructor(e,t,a,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=a,this.isLE=n,this.buffer=new Uint8Array(e),this.view=(0,r.O8)(this.buffer)}update(e){(0,r.CC)(this),e=(0,r.ZJ)(e),(0,r.DO)(e);let{view:t,buffer:a,blockLen:n}=this,i=e.length;for(let s=0;sn-s&&(this.process(a,0),s=0);for(let e=s;e>n&i),o=Number(a&i),l=4*!!r,c=4*!r;e.setUint32(t+l,s,r),e.setUint32(t+c,o,r)}(a,n-8,BigInt(8*this.length),i),this.process(a,0);let o=(0,r.O8)(e),l=this.outputLen;if(l%4)throw Error(\"_sha2: outputLen should be aligned to 32bit\");let c=l/4,u=this.get();if(c>u.length)throw Error(\"_sha2: outputLen bigger than state\");for(let e=0;e>>3,i=(0,r.Ow)(a,17)^(0,r.Ow)(a,19)^a>>>10;u[e]=i+u[e-7]+n+u[e-16]|0}let{A:a,B:n,C:i,D:s,E:o,F:l,G:d,H:h}=this;for(let e=0;e<64;e++){var m,p,f,g;let t=h+((0,r.Ow)(o,6)^(0,r.Ow)(o,11)^(0,r.Ow)(o,25))+((m=o)&l^~m&d)+c[e]+u[e]|0,b=((0,r.Ow)(a,2)^(0,r.Ow)(a,13)^(0,r.Ow)(a,22))+((p=a)&(f=n)^p&(g=i)^f&g)|0;h=d,d=l,l=o,o=s+t|0,s=i,i=n,n=a,a=t+b|0}a=a+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,o=o+this.E|0,l=l+this.F|0,d=d+this.G|0,h=h+this.H|0,this.set(a,n,i,s,o,l,d,h)}roundClean(){(0,r.uH)(u)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,r.uH)(this.buffer)}}let h=l.lD([\"0x428a2f98d728ae22\",\"0x7137449123ef65cd\",\"0xb5c0fbcfec4d3b2f\",\"0xe9b5dba58189dbbc\",\"0x3956c25bf348b538\",\"0x59f111f1b605d019\",\"0x923f82a4af194f9b\",\"0xab1c5ed5da6d8118\",\"0xd807aa98a3030242\",\"0x12835b0145706fbe\",\"0x243185be4ee4b28c\",\"0x550c7dc3d5ffb4e2\",\"0x72be5d74f27b896f\",\"0x80deb1fe3b1696b1\",\"0x9bdc06a725c71235\",\"0xc19bf174cf692694\",\"0xe49b69c19ef14ad2\",\"0xefbe4786384f25e3\",\"0x0fc19dc68b8cd5b5\",\"0x240ca1cc77ac9c65\",\"0x2de92c6f592b0275\",\"0x4a7484aa6ea6e483\",\"0x5cb0a9dcbd41fbd4\",\"0x76f988da831153b5\",\"0x983e5152ee66dfab\",\"0xa831c66d2db43210\",\"0xb00327c898fb213f\",\"0xbf597fc7beef0ee4\",\"0xc6e00bf33da88fc2\",\"0xd5a79147930aa725\",\"0x06ca6351e003826f\",\"0x142929670a0e6e70\",\"0x27b70a8546d22ffc\",\"0x2e1b21385c26c926\",\"0x4d2c6dfc5ac42aed\",\"0x53380d139d95b3df\",\"0x650a73548baf63de\",\"0x766a0abb3c77b2a8\",\"0x81c2c92e47edaee6\",\"0x92722c851482353b\",\"0xa2bfe8a14cf10364\",\"0xa81a664bbc423001\",\"0xc24b8b70d0f89791\",\"0xc76c51a30654be30\",\"0xd192e819d6ef5218\",\"0xd69906245565a910\",\"0xf40e35855771202a\",\"0x106aa07032bbd1b8\",\"0x19a4c116b8d2d0c8\",\"0x1e376c085141ab53\",\"0x2748774cdf8eeb99\",\"0x34b0bcb5e19b48a8\",\"0x391c0cb3c5c95a63\",\"0x4ed8aa4ae3418acb\",\"0x5b9cca4f7763e373\",\"0x682e6ff3d6b2b8a3\",\"0x748f82ee5defb2fc\",\"0x78a5636f43172f60\",\"0x84c87814a1f0ab72\",\"0x8cc702081a6439ec\",\"0x90befffa23631e28\",\"0xa4506cebde82bde9\",\"0xbef9a3f7b2c67915\",\"0xc67178f2e372532b\",\"0xca273eceea26619c\",\"0xd186b8c721c0c207\",\"0xeada7dd6cde0eb1e\",\"0xf57d4f7fee6ed178\",\"0x06f067aa72176fba\",\"0x0a637dc5a2c898a6\",\"0x113f9804bef90dae\",\"0x1b710b35131c471b\",\"0x28db77f523047d84\",\"0x32caab7b40c72493\",\"0x3c9ebe0a15c9bebc\",\"0x431d67c49c100d4c\",\"0x4cc5d4becb3e42b6\",\"0x597f299cfc657e2a\",\"0x5fcb6fab3ad6faec\",\"0x6c44198c4a475817\"].map(e=>BigInt(e))),m=h[0],p=h[1],f=new Uint32Array(80),g=new Uint32Array(80);class b extends n{constructor(e=64){super(128,e,16,!1),this.Ah=0|o[\"0\"],this.Al=0|o[\"1\"],this.Bh=0|o[\"2\"],this.Bl=0|o[\"3\"],this.Ch=0|o[\"4\"],this.Cl=0|o[\"5\"],this.Dh=0|o[\"6\"],this.Dl=0|o[\"7\"],this.Eh=0|o[\"8\"],this.El=0|o[\"9\"],this.Fh=0|o[\"10\"],this.Fl=0|o[\"11\"],this.Gh=0|o[\"12\"],this.Gl=0|o[\"13\"],this.Hh=0|o[\"14\"],this.Hl=0|o[\"15\"]}get(){let{Ah:e,Al:t,Bh:a,Bl:r,Ch:n,Cl:i,Dh:s,Dl:o,Eh:l,El:c,Fh:u,Fl:d,Gh:h,Gl:m,Hh:p,Hl:f}=this;return[e,t,a,r,n,i,s,o,l,c,u,d,h,m,p,f]}set(e,t,a,r,n,i,s,o,l,c,u,d,h,m,p,f){this.Ah=0|e,this.Al=0|t,this.Bh=0|a,this.Bl=0|r,this.Ch=0|n,this.Cl=0|i,this.Dh=0|s,this.Dl=0|o,this.Eh=0|l,this.El=0|c,this.Fh=0|u,this.Fl=0|d,this.Gh=0|h,this.Gl=0|m,this.Hh=0|p,this.Hl=0|f}process(e,t){for(let a=0;a<16;a++,t+=4)f[a]=e.getUint32(t),g[a]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=0|f[e-15],a=0|g[e-15],r=l.rE(t,a,1)^l.rE(t,a,8)^l.xn(t,a,7),n=l.ry(t,a,1)^l.ry(t,a,8)^l.jm(t,a,7),i=0|f[e-2],s=0|g[e-2],o=l.rE(i,s,19)^l.qh(i,s,61)^l.xn(i,s,6),c=l.ry(i,s,19)^l.Ei(i,s,61)^l.jm(i,s,6),u=l.CW(n,c,g[e-7],g[e-16]),d=l.CQ(u,r,o,f[e-7],f[e-16]);f[e]=0|d,g[e]=0|u}let{Ah:a,Al:r,Bh:n,Bl:i,Ch:s,Cl:o,Dh:c,Dl:u,Eh:d,El:h,Fh:b,Fl:y,Gh:w,Gl:k,Hh:v,Hl:x}=this;for(let e=0;e<80;e++){let t=l.rE(d,h,14)^l.rE(d,h,18)^l.qh(d,h,41),_=l.ry(d,h,14)^l.ry(d,h,18)^l.Ei(d,h,41),j=d&b^~d&w,z=h&y^~h&k,S=l.F8(x,_,z,p[e],g[e]),I=l.TH(S,v,t,j,m[e],f[e]),A=0|S,E=l.rE(a,r,28)^l.qh(a,r,34)^l.qh(a,r,39),C=l.ry(a,r,28)^l.Ei(a,r,34)^l.Ei(a,r,39),P=a&n^a&s^n&s,q=r&i^r&o^i&o;v=0|w,x=0|k,w=0|b,k=0|y,b=0|d,y=0|h,({h:d,l:h}=l.WQ(0|c,0|u,0|I,0|A)),c=0|s,u=0|o,s=0|n,o=0|i,n=0|a,i=0|r;let O=l.Vl(A,C,q);a=l.Vr(O,I,E,P),r=0|O}({h:a,l:r}=l.WQ(0|this.Ah,0|this.Al,0|a,0|r)),({h:n,l:i}=l.WQ(0|this.Bh,0|this.Bl,0|n,0|i)),({h:s,l:o}=l.WQ(0|this.Ch,0|this.Cl,0|s,0|o)),({h:c,l:u}=l.WQ(0|this.Dh,0|this.Dl,0|c,0|u)),({h:d,l:h}=l.WQ(0|this.Eh,0|this.El,0|d,0|h)),({h:b,l:y}=l.WQ(0|this.Fh,0|this.Fl,0|b,0|y)),({h:w,l:k}=l.WQ(0|this.Gh,0|this.Gl,0|w,0|k)),({h:v,l:x}=l.WQ(0|this.Hh,0|this.Hl,0|v,0|x)),this.set(a,r,n,i,s,o,c,u,d,h,b,y,w,k,v,x)}roundClean(){(0,r.uH)(f,g)}destroy(){(0,r.uH)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class y extends b{constructor(){super(48),this.Ah=0|s[\"0\"],this.Al=0|s[\"1\"],this.Bh=0|s[\"2\"],this.Bl=0|s[\"3\"],this.Ch=0|s[\"4\"],this.Cl=0|s[\"5\"],this.Dh=0|s[\"6\"],this.Dl=0|s[\"7\"],this.Eh=0|s[\"8\"],this.El=0|s[\"9\"],this.Fh=0|s[\"10\"],this.Fl=0|s[\"11\"],this.Gh=0|s[\"12\"],this.Gl=0|s[\"13\"],this.Hh=0|s[\"14\"],this.Hl=0|s[\"15\"]}}let w=(0,r.qj)(()=>new d),k=(0,r.qj)(()=>new b),v=(0,r.qj)(()=>new y)},5013(e,t,a){a.d(t,{sc:()=>r});let r=a(5314).sc},2645(e,t,a){a.d(t,{lY:()=>k});var r=a(2320),n=a(1374);let i=BigInt(0),s=BigInt(1),o=BigInt(2),l=BigInt(7),c=BigInt(256),u=BigInt(113),d=[],h=[],m=[];for(let e=0,t=s,a=1,r=0;e<24;e++){[a,r]=[r,(2*a+3*r)%5],d.push(2*(5*r+a)),h.push((e+1)*(e+2)/2%64);let n=i;for(let e=0;e<7;e++)(t=(t<>l)*u)%c)&o&&(n^=s<<(s<a>32?(0,r.WM)(e,t,a):(0,r.P5)(e,t,a),y=(e,t,a)=>a>32?(0,r.im)(e,t,a):(0,r.B4)(e,t,a);class w extends n.Vw{constructor(e,t,a,r=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=a,this.enableXOF=r,this.rounds=i,(0,n.Fe)(a),!(0=a&&this.keccak();let i=Math.min(a-this.posOut,n-r);e.set(t.subarray(this.posOut,this.posOut+i),r),this.posOut+=i,r+=i}return e}xofInto(e){if(!this.enableXOF)throw Error(\"XOF is not possible for this instance\");return this.writeInto(e)}xof(e){return(0,n.Fe)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,n.Ht)(e,this),this.finished)throw Error(\"digest() was already called\");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,n.uH)(this.state)}_cloneInto(e){let{blockLen:t,suffix:a,outputLen:r,rounds:n,enableXOF:i}=this;return e||(e=new w(t,a,r,i,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=a,e.outputLen=r,e.enableXOF=i,e.destroyed=this.destroyed,e}}let k=(0,n.qj)(()=>new w(136,1,32))},1374(e,t,a){a.d(t,{DH:()=>u,po:()=>j,sd:()=>o,Ht:()=>c,O8:()=>h,uH:()=>d,Vw:()=>x,qj:()=>_,aT:()=>w,aY:()=>n,Ow:()=>m,DO:()=>s,My:()=>b,fd:()=>p,ZJ:()=>k,Fe:()=>i,CC:()=>l,Id:()=>v});let r=\"object\"==typeof globalThis&&\"crypto\"in globalThis?globalThis.crypto:void 0;function n(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&\"Uint8Array\"===e.constructor.name}function i(e){if(!Number.isSafeInteger(e)||e<0)throw Error(\"positive integer expected, got \"+e)}function s(e,...t){if(!n(e))throw Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function o(e){if(\"function\"!=typeof e||\"function\"!=typeof e.create)throw Error(\"Hash should be wrapped by utils.createHasher\");i(e.outputLen),i(e.blockLen)}function l(e,t=!0){if(e.destroyed)throw Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw Error(\"Hash#digest() has already been called\")}function c(e,t){s(e);let a=t.outputLen;if(e.length>>t}let p=68===new Uint8Array(new Uint32Array([0x11223344]).buffer)[0]?e=>e:function(e){for(let a=0;a>>8&65280|t>>>24&255}return e},f=\"function\"==typeof Uint8Array.from([]).toHex&&\"function\"==typeof Uint8Array.fromHex,g=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));function b(e){if(s(e),f)return e.toHex();let t=\"\";for(let a=0;a=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function w(e){if(\"string\"!=typeof e)throw Error(\"hex string expected, got \"+typeof e);if(f)return Uint8Array.fromHex(e);let t=e.length,a=t/2;if(t%2)throw Error(\"hex string expected, got unpadded hex of length \"+t);let r=new Uint8Array(a);for(let t=0,n=0;te().update(k(t)).digest(),a=e();return t.outputLen=a.outputLen,t.blockLen=a.blockLen,t.create=()=>e(),t}function j(e=32){if(r&&\"function\"==typeof r.getRandomValues)return r.getRandomValues(new Uint8Array(e));if(r&&\"function\"==typeof r.randomBytes)return Uint8Array.from(r.randomBytes(e));throw Error(\"crypto.getRandomValues must be defined\")}},8755(e,t,a){a.r(t),a.d(t,{loadStripe:()=>f});var r,n=\"https://js.stripe.com/v3\",i=/^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/,s=function(){for(var e=document.querySelectorAll('script[src^=\"'.concat(n,'\"]')),t=0;t element.\");return r.appendChild(a),a},l=function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:\"stripe-js\",version:\"5.6.0\",startTime:t})},c=null,u=null,d=null,h=function(e,t,a){if(null===e)return null;var r=e.apply(void 0,t);return l(r,a),r},m=!1,p=function(){return r||(r=(null!==c?c:(c=new Promise(function(e,t){if(\"u\"U});var r=a(5092);let n=/^error (?[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?.*?)\\)$/,i=/^event (?[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?.*?)\\)$/,s=/^function (?[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?.*?)\\)(?: (?external|public{1}))?(?: (?pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?.*?)\\))?$/,o=/^struct (?[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?.*?)\\}$/,l=/^constructor\\((?.*?)\\)(?:\\s(?payable{1}))?$/,c=/^fallback\\(\\) external(?:\\s(?payable{1}))?$/,u=/^receive\\(\\) external payable$/,d=new Set([\"indexed\"]),h=new Set([\"calldata\",\"memory\",\"storage\"]);class m extends Error{constructor(e,t={}){let a=t.cause instanceof m?t.cause.details:t.cause?.message?t.cause.message:t.details,r=t.cause instanceof m&&t.cause.docsPath||t.docsPath;super([e||\"An error occurred.\",\"\",...t.metaMessages?[...t.metaMessages,\"\"]:[],...r?[`Docs: https://abitype.dev${r}`]:[],...a?[`Details: ${a}`]:[],\"Version: abitype@1.1.0\"].join(\"\\n\")),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"AbiTypeError\"}),t.cause&&(this.cause=t.cause),this.details=a,this.docsPath=r,this.metaMessages=t.metaMessages,this.shortMessage=e}}class p extends m{constructor({type:e}){super(\"Unknown type.\",{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"UnknownTypeError\"})}}class f extends m{constructor({type:e}){super(\"Unknown type.\",{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"UnknownSolidityTypeError\"})}}class g extends m{constructor({param:e}){super(\"Invalid ABI parameter.\",{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidParameterError\"})}}class b extends m{constructor({param:e,name:t}){super(\"Invalid ABI parameter.\",{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"SolidityProtectedKeywordError\"})}}class y extends m{constructor({param:e,type:t,modifier:a}){super(\"Invalid ABI parameter.\",{details:e,metaMessages:[`Modifier \"${a}\" not allowed${t?` in \"${t}\" type`:\"\"}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidModifierError\"})}}class w extends m{constructor({param:e,type:t,modifier:a}){super(\"Invalid ABI parameter.\",{details:e,metaMessages:[`Modifier \"${a}\" not allowed${t?` in \"${t}\" type`:\"\"}.`,`Data location can only be specified for array, struct, or mapping types, but \"${a}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidFunctionModifierError\"})}}class k extends m{constructor({abiParameter:e}){super(\"Invalid ABI parameter.\",{details:JSON.stringify(e,null,2),metaMessages:[\"ABI parameter type is invalid.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidAbiTypeParameterError\"})}}class v extends m{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidSignatureError\"})}}class x extends m{constructor({signature:e}){super(\"Unknown signature.\",{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"UnknownSignatureError\"})}}class _ extends m{constructor({signature:e}){super(\"Invalid struct signature.\",{details:e,metaMessages:[\"No properties exist.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidStructSignatureError\"})}}class j extends m{constructor({type:e}){super(\"Circular reference detected.\",{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"CircularReferenceError\"})}}class z extends m{constructor({current:e,depth:t}){super(\"Unbalanced parentheses.\",{metaMessages:[`\"${e.trim()}\" has too many ${t>0?\"opening\":\"closing\"} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"InvalidParenthesisError\"})}}let S=new Map([[\"address\",{type:\"address\"}],[\"bool\",{type:\"bool\"}],[\"bytes\",{type:\"bytes\"}],[\"bytes32\",{type:\"bytes32\"}],[\"int\",{type:\"int256\"}],[\"int256\",{type:\"int256\"}],[\"string\",{type:\"string\"}],[\"uint\",{type:\"uint256\"}],[\"uint8\",{type:\"uint8\"}],[\"uint16\",{type:\"uint16\"}],[\"uint24\",{type:\"uint24\"}],[\"uint32\",{type:\"uint32\"}],[\"uint64\",{type:\"uint64\"}],[\"uint96\",{type:\"uint96\"}],[\"uint112\",{type:\"uint112\"}],[\"uint160\",{type:\"uint160\"}],[\"uint192\",{type:\"uint192\"}],[\"uint256\",{type:\"uint256\"}],[\"address owner\",{type:\"address\",name:\"owner\"}],[\"address to\",{type:\"address\",name:\"to\"}],[\"bool approved\",{type:\"bool\",name:\"approved\"}],[\"bytes _data\",{type:\"bytes\",name:\"_data\"}],[\"bytes data\",{type:\"bytes\",name:\"data\"}],[\"bytes signature\",{type:\"bytes\",name:\"signature\"}],[\"bytes32 hash\",{type:\"bytes32\",name:\"hash\"}],[\"bytes32 r\",{type:\"bytes32\",name:\"r\"}],[\"bytes32 root\",{type:\"bytes32\",name:\"root\"}],[\"bytes32 s\",{type:\"bytes32\",name:\"s\"}],[\"string name\",{type:\"string\",name:\"name\"}],[\"string symbol\",{type:\"string\",name:\"symbol\"}],[\"string tokenURI\",{type:\"string\",name:\"tokenURI\"}],[\"uint tokenId\",{type:\"uint256\",name:\"tokenId\"}],[\"uint8 v\",{type:\"uint8\",name:\"v\"}],[\"uint256 balance\",{type:\"uint256\",name:\"balance\"}],[\"uint256 tokenId\",{type:\"uint256\",name:\"tokenId\"}],[\"uint256 value\",{type:\"uint256\",name:\"value\"}],[\"event:address indexed from\",{type:\"address\",name:\"from\",indexed:!0}],[\"event:address indexed to\",{type:\"address\",name:\"to\",indexed:!0}],[\"event:uint indexed tokenId\",{type:\"uint256\",name:\"tokenId\",indexed:!0}],[\"event:uint256 indexed tokenId\",{type:\"uint256\",name:\"tokenId\",indexed:!0}]]),I=/^(?[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?(?:\\[\\d*?\\])+?)?(?:\\s(?calldata|indexed|memory|storage{1}))?(?:\\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,A=/^\\((?.+?)\\)(?(?:\\[\\d*?\\])+?)?(?:\\s(?calldata|indexed|memory|storage{1}))?(?:\\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,E=/^u?int$/;function C(e,t){var a,n;let i,s=function(e,t,a){let r=\"\";if(a)for(let e of Object.entries(a)){if(!e)continue;let t=\"\";for(let a of e[1])t+=`[${a.type}${a.name?`:${a.name}`:\"\"}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:e}(e,t?.type,t?.structs);if(S.has(s))return S.get(s);let o=r.wj.test(e),l=(0,r.Yv)(o?A:I,e);if(!l)throw new g({param:e});if(l.name&&(\"address\"===(a=l.name)||\"bool\"===a||\"function\"===a||\"string\"===a||\"tuple\"===a||r.BD.test(a)||r.Ge.test(a)||O.test(a)))throw new b({param:e,name:l.name});let c=l.name?{name:l.name}:{},u=\"indexed\"===l.modifier?{indexed:!0}:{},d=t?.structs??{},m={};if(o){i=\"tuple\";let e=P(l.type),t=[],a=e.length;for(let r=0;r[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\\[\\d*?\\])+?)?$/;function U(e){let t=function(e){let t={},a=e.length;for(let n=0;nn,Ge:()=>i,Yv:()=>r,wj:()=>s});let n=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,i=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,s=/^\\(.+?\\).*?$/},7065(e,t,a){a.d(t,{J:()=>i});var r=a(4825);function n(e){return{address:e.address,amount:r.oB(e.amount),index:r.oB(e.index),validatorIndex:r.oB(e.validatorIndex)}}function i(e){return{...\"bigint\"==typeof e.baseFeePerGas&&{baseFeePerGas:r.oB(e.baseFeePerGas)},...\"bigint\"==typeof e.blobBaseFee&&{blobBaseFee:r.oB(e.blobBaseFee)},...\"string\"==typeof e.feeRecipient&&{feeRecipient:e.feeRecipient},...\"bigint\"==typeof e.gasLimit&&{gasLimit:r.oB(e.gasLimit)},...\"bigint\"==typeof e.number&&{number:r.oB(e.number)},...\"bigint\"==typeof e.prevRandao&&{prevRandao:r.oB(e.prevRandao)},...\"bigint\"==typeof e.time&&{time:r.oB(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(n)}}}},919(e,t,a){a.d(t,{C:()=>r});class r extends Error{constructor(e,t={}){let a=(()=>{if(t.cause instanceof r){if(t.cause.details)return t.cause.details;if(t.cause.shortMessage)return t.cause.shortMessage}return t.cause&&\"details\"in t.cause&&\"string\"==typeof t.cause.details?t.cause.details:t.cause?.message?t.cause.message:t.details})(),n=t.cause instanceof r&&t.cause.docsPath||t.docsPath,i=`https://oxlib.sh${n??\"\"}`;super([e||\"An error occurred.\",...t.metaMessages?[\"\",...t.metaMessages]:[],...a||n?[\"\",a?`Details: ${a}`:void 0,n?`See: ${i}`:void 0]:[]].filter(e=>\"string\"==typeof e).join(\"\\n\"),t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"BaseError\"}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:\"ox@0.1.1\"}),this.cause=t.cause,this.details=a,this.docs=i,this.docsPath=n,this.shortMessage=e}walk(e){return function e(t,a){return a?.(t)?t:t&&\"object\"==typeof t&&\"cause\"in t&&t.cause?e(t.cause,a):a?null:t}(this,e)}}},4825(e,t,a){a.d(t,{Dg:()=>y,Ej:()=>b,Fl:()=>S,HT:()=>c,Ho:()=>p,M7:()=>f,Ro:()=>w,Ty:()=>v,di:()=>g,ii:()=>z,oB:()=>h,sH:()=>m,tf:()=>k,u:()=>j,uK:()=>d,xW:()=>l,xb:()=>u});var r=a(919),n=a(3361),i=a(2660);let s=new TextEncoder,o=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));function l(...e){return`0x${e.reduce((e,t)=>e+t.replace(\"0x\",\"\"),\"\")}`}function c(e){return e instanceof Uint8Array?d(e):Array.isArray(e)?d(new Uint8Array(e)):e}function u(e,t={}){let a=`0x${Number(e)}`;return\"number\"==typeof t.size?(n.Sl(a,t.size),p(a,t.size)):a}function d(e,t={}){let a=\"\";for(let t=0;ta||i>1n?r:r-i-1n}function w(e,t={}){let{signed:a,size:r}=t;return a||r?Number(y(e,t)):Number(e)}function k(e,t={}){let{strict:a=!1}=t;try{return!function(e,t={}){let{strict:a=!1}=t;if(!e||\"string\"!=typeof e)throw new x(e);if(a&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(\"0x\"))throw new _(e)}(e,{strict:a}),!0}catch{return!1}}class v extends r.C{constructor({max:e,min:t,signed:a,size:r,value:n}){super(`Number \\`${n}\\` is not in safe${r?` ${8*r}-bit`:\"\"}${a?\" signed\":\" unsigned\"} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.IntegerOutOfRangeError\"})}}r.C;class x extends r.C{constructor(e){super(`Value \\`${\"object\"==typeof e?i.A(e):e}\\` of type \\`${typeof e}\\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `\"0x${string}\"`.']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.InvalidHexTypeError\"})}}class _ extends r.C{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.InvalidHexValueError\"})}}r.C;class j extends r.C{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.SizeOverflowError\"})}}class z extends r.C{constructor({offset:e,position:t,size:a}){super(`Slice ${\"start\"===t?\"starting\":\"ending\"} at offset \\`${e}\\` is out-of-bounds (size: \\`${a}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.SliceOffsetOutOfBoundsError\"})}}class S extends r.C{constructor({size:e,targetSize:t,type:a}){super(`${a.charAt(0).toUpperCase()}${a.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"Hex.SizeExceedsPaddingSizeError\"})}}},2660(e,t,a){a.d(t,{A:()=>r});function r(e,t,a){return JSON.stringify(e,(e,a)=>\"function\"==typeof t?t(e,a):\"bigint\"==typeof a?a.toString()+\"#__bigint\":a,a)}},3361(e,t,a){a.d(t,{Sl:()=>n,X:()=>s,eV:()=>o,kK:()=>i});var r=a(4825);function n(e,t){if(r.Ej(e)>t)throw new r.u({givenSize:r.Ej(e),maxSize:t})}function i(e,t){if(\"number\"==typeof t&&t>0&&t>r.Ej(e)-1)throw new r.ii({offset:t,position:\"start\",size:r.Ej(e)})}function s(e,t,a){if(\"number\"==typeof t&&\"number\"==typeof a&&r.Ej(e)!==a-t)throw new r.ii({offset:a,position:\"end\",size:r.Ej(e)})}function o(e,t={}){let{dir:a,size:n=32}=t;if(0===n)return e;let i=e.replace(\"0x\",\"\");if(i.length>2*n)throw new r.Fl({size:Math.ceil(i.length/2),targetSize:n,type:\"Hex\"});return`0x${i[\"right\"===a?\"padEnd\":\"padStart\"](2*n,\"0\")}`}},3599(e,t,a){a.d(t,{J:()=>r});function r(e){return\"string\"==typeof e?{address:e,type:\"json-rpc\"}:e}},18(e,t,a){a.d(t,{T:()=>x});var r=a(1298),n=a(7065),i=a(3599),s=a(7717),o=a(2891),l=a(5103),c=a(2433),u=a(1236),d=a(9266),h=a(9476),m=a(1939),p=a(3575),f=a(4062),g=a(4074),b=a(2487),y=a(1781),w=a(6189),k=a(2077),v=a(2128);async function x(e,t){let{account:s=e.account,authorizationList:d,batch:m=!!e.batch?.multicall,blockNumber:p,blockTag:w=e.experimental_blockTag??\"latest\",accessList:x,blobs:z,blockOverrides:S,code:I,data:A,factory:E,factoryData:C,gas:P,gasPrice:q,maxFeePerBlobGas:O,maxFeePerGas:T,maxPriorityFeePerGas:U,nonce:M,to:R,value:B,stateOverride:N,...D}=t,F=s?(0,i.J)(s):void 0;if(I&&(E||C))throw new l.C(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(I&&R)throw new l.C(\"Cannot provide both `code` & `to` as parameters.\");let L=I&&A,W=E&&C&&R&&A,K=L||W,H=L?j({code:I,data:A}):W?function(e){let{data:t,factory:a,factoryData:n,to:i}=e;return(0,h.m)({abi:(0,r.U)([\"constructor(address, bytes, address, bytes)\"]),bytecode:o.WN,args:[i,t,a,n]})}({data:A,factory:E,factoryData:C,to:R}):A;try{let a;(0,v.c)(t);let r=(\"bigint\"==typeof p?(0,f.cK)(p):void 0)||w,i=S?n.J(S):void 0,s=(0,k.yH)(N),o=e.chain?.formatters?.transactionRequest?.format,l=(o||y.Bv)({...(0,b.o)(D,{format:o}),accessList:x,account:F,authorizationList:d,blobs:z,data:H,gas:P,gasPrice:q,maxFeePerBlobGas:O,maxFeePerGas:T,maxPriorityFeePerGas:U,nonce:M,to:K?void 0:R,value:B},\"call\");if(m&&function({request:e}){let{data:t,to:a,...r}=e;return!(!t||t.startsWith(\"0x82ad56cb\"))&&!!a&&!(Object.values(r).filter(e=>void 0!==e).length>0)}({request:l})&&!s&&!i)try{return await _(e,{...l,blockNumber:p,blockTag:w})}catch(e){if(!(e instanceof c.YE)&&!(e instanceof c.rj))throw e}let u=(a=[l,r],s&&i?[...a,s,i]:s?[...a,s]:i?[...a,{},i]:a),h=await e.request({method:\"eth_call\",params:u});if(\"0x\"===h)return{data:void 0};return{data:h}}catch(s){let r=function(e){if(!(e instanceof l.C))return;let t=e.walk();return\"object\"==typeof t?.data?t.data?.data:t.data}(s),{offchainLookup:n,offchainLookupSignature:i}=await Promise.resolve().then(a.bind(a,8369));if(!1!==e.ccipRead&&r?.slice(0,10)===i&&R)return{data:await n(e,{data:r,to:R})};if(K&&r?.slice(0,10)===\"0x101bb98d\")throw new u.Po({factory:E});throw(0,g.d)(s,{...t,account:F,chain:e.chain})}}async function _(e,t){let{batchSize:a=1024,deployless:r=!1,wait:n=0}=\"object\"==typeof e.batch?.multicall?e.batch.multicall:{},{blockNumber:i,blockTag:l=e.experimental_blockTag??\"latest\",data:h,to:g}=t,b=(()=>{if(r)return null;if(t.multicallAddress)return t.multicallAddress;if(e.chain)return(0,p.M)({blockNumber:i,chain:e.chain,contract:\"multicall3\"});throw new c.YE})(),y=(\"bigint\"==typeof i?(0,f.cK)(i):void 0)||l,{schedule:k}=(0,w.u)({id:`${e.uid}.${y}`,wait:n,shouldSplitBatch:e=>e.reduce((e,{data:t})=>e+(t.length-2),0)>2*a,fn:async t=>{let a=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=(0,m.p)({abi:s.v2,args:[a],functionName:\"aggregate3\"}),n=await e.request({method:\"eth_call\",params:[{...null===b?{data:j({code:o.Ez,data:r})}:{to:b,data:r}},y]});return(0,d.e)({abi:s.v2,args:[a],functionName:\"aggregate3\",data:n||\"0x\"})}}),[{returnData:v,success:x}]=await k({data:h,to:g});if(!x)throw new u.$S({data:v});return\"0x\"===v?{data:void 0}:{data:v}}function j(e){let{code:t,data:a}=e;return(0,h.m)({abi:(0,r.U)([\"constructor(bytes, bytes)\"]),bytecode:o.LX,args:[t,a]})}},7717(e,t,a){a.d(t,{Ag:()=>s,E5:()=>d,Rm:()=>c,SJ:()=>l,UW:()=>u,b2:()=>n,oX:()=>o,v2:()=>r,xw:()=>h});let r=[{inputs:[{components:[{name:\"target\",type:\"address\"},{name:\"allowFailure\",type:\"bool\"},{name:\"callData\",type:\"bytes\"}],name:\"calls\",type:\"tuple[]\"}],name:\"aggregate3\",outputs:[{components:[{name:\"success\",type:\"bool\"},{name:\"returnData\",type:\"bytes\"}],name:\"returnData\",type:\"tuple[]\"}],stateMutability:\"view\",type:\"function\"},{inputs:[],name:\"getCurrentBlockTimestamp\",outputs:[{internalType:\"uint256\",name:\"timestamp\",type:\"uint256\"}],stateMutability:\"view\",type:\"function\"}],n=[{name:\"query\",type:\"function\",stateMutability:\"view\",inputs:[{type:\"tuple[]\",name:\"queries\",components:[{type:\"address\",name:\"sender\"},{type:\"string[]\",name:\"urls\"},{type:\"bytes\",name:\"data\"}]}],outputs:[{type:\"bool[]\",name:\"failures\"},{type:\"bytes[]\",name:\"responses\"}]},{name:\"HttpError\",type:\"error\",inputs:[{type:\"uint16\",name:\"status\"},{type:\"string\",name:\"message\"}]}],i=[{inputs:[{name:\"dns\",type:\"bytes\"}],name:\"DNSDecodingFailed\",type:\"error\"},{inputs:[{name:\"ens\",type:\"string\"}],name:\"DNSEncodingFailed\",type:\"error\"},{inputs:[],name:\"EmptyAddress\",type:\"error\"},{inputs:[{name:\"status\",type:\"uint16\"},{name:\"message\",type:\"string\"}],name:\"HttpError\",type:\"error\"},{inputs:[],name:\"InvalidBatchGatewayResponse\",type:\"error\"},{inputs:[{name:\"errorData\",type:\"bytes\"}],name:\"ResolverError\",type:\"error\"},{inputs:[{name:\"name\",type:\"bytes\"},{name:\"resolver\",type:\"address\"}],name:\"ResolverNotContract\",type:\"error\"},{inputs:[{name:\"name\",type:\"bytes\"}],name:\"ResolverNotFound\",type:\"error\"},{inputs:[{name:\"primary\",type:\"string\"},{name:\"primaryAddress\",type:\"bytes\"}],name:\"ReverseAddressMismatch\",type:\"error\"},{inputs:[{internalType:\"bytes4\",name:\"selector\",type:\"bytes4\"}],name:\"UnsupportedResolverProfile\",type:\"error\"}],s=[...i,{name:\"resolveWithGateways\",type:\"function\",stateMutability:\"view\",inputs:[{name:\"name\",type:\"bytes\"},{name:\"data\",type:\"bytes\"},{name:\"gateways\",type:\"string[]\"}],outputs:[{name:\"\",type:\"bytes\"},{name:\"address\",type:\"address\"}]}],o=[...i,{name:\"reverseWithGateways\",type:\"function\",stateMutability:\"view\",inputs:[{type:\"bytes\",name:\"reverseName\"},{type:\"uint256\",name:\"coinType\"},{type:\"string[]\",name:\"gateways\"}],outputs:[{type:\"string\",name:\"resolvedName\"},{type:\"address\",name:\"resolver\"},{type:\"address\",name:\"reverseResolver\"}]}],l=[{name:\"text\",type:\"function\",stateMutability:\"view\",inputs:[{name:\"name\",type:\"bytes32\"},{name:\"key\",type:\"string\"}],outputs:[{name:\"\",type:\"string\"}]}],c=[{name:\"addr\",type:\"function\",stateMutability:\"view\",inputs:[{name:\"name\",type:\"bytes32\"}],outputs:[{name:\"\",type:\"address\"}]},{name:\"addr\",type:\"function\",stateMutability:\"view\",inputs:[{name:\"name\",type:\"bytes32\"},{name:\"coinType\",type:\"uint256\"}],outputs:[{name:\"\",type:\"bytes\"}]}],u=[{name:\"isValidSignature\",type:\"function\",stateMutability:\"view\",inputs:[{name:\"hash\",type:\"bytes32\"},{name:\"signature\",type:\"bytes\"}],outputs:[{name:\"\",type:\"bytes4\"}]}],d=[{inputs:[{name:\"_signer\",type:\"address\"},{name:\"_hash\",type:\"bytes32\"},{name:\"_signature\",type:\"bytes\"}],stateMutability:\"nonpayable\",type:\"constructor\"},{inputs:[{name:\"_signer\",type:\"address\"},{name:\"_hash\",type:\"bytes32\"},{name:\"_signature\",type:\"bytes\"}],outputs:[{type:\"bool\"}],stateMutability:\"nonpayable\",type:\"function\",name:\"isValidSig\"}],h=[{type:\"event\",name:\"Approval\",inputs:[{indexed:!0,name:\"owner\",type:\"address\"},{indexed:!0,name:\"spender\",type:\"address\"},{indexed:!1,name:\"value\",type:\"uint256\"}]},{type:\"event\",name:\"Transfer\",inputs:[{indexed:!0,name:\"from\",type:\"address\"},{indexed:!0,name:\"to\",type:\"address\"},{indexed:!1,name:\"value\",type:\"uint256\"}]},{type:\"function\",name:\"allowance\",stateMutability:\"view\",inputs:[{name:\"owner\",type:\"address\"},{name:\"spender\",type:\"address\"}],outputs:[{type:\"uint256\"}]},{type:\"function\",name:\"approve\",stateMutability:\"nonpayable\",inputs:[{name:\"spender\",type:\"address\"},{name:\"amount\",type:\"uint256\"}],outputs:[{type:\"bool\"}]},{type:\"function\",name:\"balanceOf\",stateMutability:\"view\",inputs:[{name:\"account\",type:\"address\"}],outputs:[{type:\"uint256\"}]},{type:\"function\",name:\"decimals\",stateMutability:\"view\",inputs:[],outputs:[{type:\"uint8\"}]},{type:\"function\",name:\"name\",stateMutability:\"view\",inputs:[],outputs:[{type:\"string\"}]},{type:\"function\",name:\"symbol\",stateMutability:\"view\",inputs:[],outputs:[{type:\"string\"}]},{type:\"function\",name:\"totalSupply\",stateMutability:\"view\",inputs:[],outputs:[{type:\"uint256\"}]},{type:\"function\",name:\"transfer\",stateMutability:\"nonpayable\",inputs:[{name:\"recipient\",type:\"address\"},{name:\"amount\",type:\"uint256\"}],outputs:[{type:\"bool\"}]},{type:\"function\",name:\"transferFrom\",stateMutability:\"nonpayable\",inputs:[{name:\"sender\",type:\"address\"},{name:\"recipient\",type:\"address\"},{name:\"amount\",type:\"uint256\"}],outputs:[{type:\"bool\"}]}]},2891(e,t,a){a.d(t,{Ez:()=>s,LX:()=>r,WN:()=>n,fT:()=>i});let r=\"0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe\",n=\"0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe\",i=\"0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572\",s=\"0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033\"},5547(e,t,a){a.d(t,{J9:()=>i,Mc:()=>n,fD:()=>r});let r={1:\"An `assert` condition failed.\",17:\"Arithmetic operation resulted in underflow or overflow.\",18:\"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).\",33:\"Attempted to convert to an invalid type.\",34:\"Attempted to access a storage byte array that is incorrectly encoded.\",49:\"Performed `.pop()` on an empty array\",50:\"Array index is out of bounds.\",65:\"Allocated too much memory or created an array which is too large.\",81:\"Attempted to call a zero-initialized variable of internal function type.\"},n={inputs:[{name:\"message\",type:\"string\"}],name:\"Error\",type:\"error\"},i={inputs:[{name:\"reason\",type:\"uint256\"}],name:\"Panic\",type:\"error\"}},7712(e,t,a){a.d(t,{eL:()=>r,sz:()=>n});let r={gwei:9,wei:18},n={ether:-9,wei:9}},4538(e,t,a){a.d(t,{BI:()=>_,EB:()=>v,Iy:()=>l,Iz:()=>w,MR:()=>k,M_:()=>y,Nc:()=>u,O:()=>c,Wl:()=>C,Wq:()=>f,YE:()=>h,YF:()=>o,YW:()=>s,ZP:()=>m,_z:()=>g,d_:()=>E,dm:()=>A,fo:()=>j,gH:()=>d,j:()=>I,kE:()=>b,l3:()=>z,nK:()=>S,nM:()=>x,yy:()=>p});var r=a(4805),n=a(4888),i=a(5103);class s extends i.C{constructor({docsPath:e}){super(\"A constructor was not found on the ABI.\\nMake sure you are using the correct ABI and that the constructor exists on it.\",{docsPath:e,name:\"AbiConstructorNotFoundError\"})}}class o extends i.C{constructor({docsPath:e}){super(\"Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.\\nMake sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.\",{docsPath:e,name:\"AbiConstructorParamsNotFoundError\"})}}i.C;class l extends i.C{constructor({data:e,params:t,size:a}){super(`Data size of ${a} bytes is too small for given parameters.`,{metaMessages:[`Params: (${(0,r.A)(t,{includeName:!0})})`,`Data: ${e} (${a} bytes)`],name:\"AbiDecodingDataSizeTooSmallError\"}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e,this.params=t,this.size=a}}class c extends i.C{constructor(){super('Cannot decode zero data (\"0x\") with ABI parameters.',{name:\"AbiDecodingZeroDataError\"})}}class u extends i.C{constructor({expectedLength:e,givenLength:t,type:a}){super(`ABI encoding array length mismatch for type ${a}.\nExpected length: ${e}\nGiven length: ${t}`,{name:\"AbiEncodingArrayLengthMismatchError\"})}}class d extends i.C{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${(0,n.E)(t)}) does not match expected size (bytes${e}).`,{name:\"AbiEncodingBytesSizeMismatchError\"})}}class h extends i.C{constructor({expectedLength:e,givenLength:t}){super(`ABI encoding params/values length mismatch.\nExpected length (params): ${e}\nGiven length (values): ${t}`,{name:\"AbiEncodingLengthMismatchError\"})}}class m extends i.C{constructor(e,{docsPath:t}){super(`Arguments (\\`args\\`) were provided to \"${e}\", but \"${e}\" on the ABI does not contain any parameters (\\`inputs\\`).\nCannot encode error result without knowing what the parameter types are.\nMake sure you are using the correct ABI and that the inputs exist on it.`,{docsPath:t,name:\"AbiErrorInputsNotFoundError\"})}}class p extends i.C{constructor(e,{docsPath:t}={}){super(`Error ${e?`\"${e}\" `:\"\"}not found on ABI.\nMake sure you are using the correct ABI and that the error exists on it.`,{docsPath:t,name:\"AbiErrorNotFoundError\"})}}class f extends i.C{constructor(e,{docsPath:t}){super(`Encoded error signature \"${e}\" not found on ABI.\nMake sure you are using the correct ABI and that the error exists on it.\nYou can look up the decoded signature here: https://openchain.xyz/signatures?query=${e}.`,{docsPath:t,name:\"AbiErrorSignatureNotFoundError\"}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}}class g extends i.C{constructor({docsPath:e}){super(\"Cannot extract event signature from empty topics.\",{docsPath:e,name:\"AbiEventSignatureEmptyTopicsError\"})}}class b extends i.C{constructor(e,{docsPath:t}){super(`Encoded event signature \"${e}\" not found on ABI.\nMake sure you are using the correct ABI and that the event exists on it.\nYou can look up the signature here: https://openchain.xyz/signatures?query=${e}.`,{docsPath:t,name:\"AbiEventSignatureNotFoundError\"})}}class y extends i.C{constructor(e,{docsPath:t}={}){super(`Event ${e?`\"${e}\" `:\"\"}not found on ABI.\nMake sure you are using the correct ABI and that the event exists on it.`,{docsPath:t,name:\"AbiEventNotFoundError\"})}}class w extends i.C{constructor(e,{docsPath:t}={}){super(`Function ${e?`\"${e}\" `:\"\"}not found on ABI.\nMake sure you are using the correct ABI and that the function exists on it.`,{docsPath:t,name:\"AbiFunctionNotFoundError\"})}}class k extends i.C{constructor(e,{docsPath:t}){super(`Function \"${e}\" does not contain any \\`outputs\\` on ABI.\nCannot decode function result without knowing what the parameter types are.\nMake sure you are using the correct ABI and that the function exists on it.`,{docsPath:t,name:\"AbiFunctionOutputsNotFoundError\"})}}class v extends i.C{constructor(e,{docsPath:t}){super(`Encoded function signature \"${e}\" not found on ABI.\nMake sure you are using the correct ABI and that the function exists on it.\nYou can look up the signature here: https://openchain.xyz/signatures?query=${e}.`,{docsPath:t,name:\"AbiFunctionSignatureNotFoundError\"})}}class x extends i.C{constructor(e,t){super(\"Found ambiguous types in overloaded ABI items.\",{metaMessages:[`\\`${e.type}\\` in \\`${(0,r.B)(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${(0,r.B)(t.abiItem)}\\``,\"\",\"These types encode differently and cannot be distinguished at runtime.\",\"Remove one of the ambiguous items in the ABI.\"],name:\"AbiItemAmbiguityError\"})}}class _ extends i.C{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:\"BytesSizeMismatchError\"})}}class j extends i.C{constructor({abiItem:e,data:t,params:a,size:n}){super(`Data size of ${n} bytes is too small for non-indexed event parameters.`,{metaMessages:[`Params: (${(0,r.A)(a,{includeName:!0})})`,`Data: ${t} (${n} bytes)`],name:\"DecodeLogDataMismatch\"}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"params\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e,this.data=t,this.params=a,this.size=n}}class z extends i.C{constructor({abiItem:e,param:t}){super(`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:\"\"} on event \"${(0,r.B)(e,{includeName:!0})}\".`,{name:\"DecodeLogTopicsMismatch\"}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}}class S extends i.C{constructor(e,{docsPath:t}){super(`Type \"${e}\" is not a valid encoding type.\nPlease provide a valid ABI type.`,{docsPath:t,name:\"InvalidAbiEncodingType\"})}}class I extends i.C{constructor(e,{docsPath:t}){super(`Type \"${e}\" is not a valid decoding type.\nPlease provide a valid ABI type.`,{docsPath:t,name:\"InvalidAbiDecodingType\"})}}class A extends i.C{constructor(e){super(`Value \"${e}\" is not a valid array.`,{name:\"InvalidArrayError\"})}}class E extends i.C{constructor(e){super(`\"${e}\" is not a valid definition type.\nValid types: \"function\", \"event\", \"error\"`,{name:\"InvalidDefinitionTypeError\"})}}class C extends i.C{constructor(e){super(`Type \"${e}\" is not supported for packed encoding.`,{name:\"UnsupportedPackedAbiType\"})}}},7064(e,t,a){a.d(t,{M:()=>n});var r=a(5103);class n extends r.C{constructor({address:e}){super(`Address \"${e}\" is invalid.`,{metaMessages:[\"- Address must be a hex value of 20 bytes (40 hex characters).\",\"- Address must match its checksum counterpart.\"],name:\"InvalidAddressError\"})}}},5103(e,t,a){a.d(t,{C:()=>i});let r=({docsBaseUrl:e,docsPath:t=\"\",docsSlug:a})=>t?`${e??\"https://viem.sh\"}${t}${a?`#${a}`:\"\"}`:void 0,n=\"viem@2.38.6\";class i extends Error{constructor(e,t={}){let a=t.cause instanceof i?t.cause.details:t.cause?.message?t.cause.message:t.details,s=t.cause instanceof i&&t.cause.docsPath||t.docsPath,o=r?.({...t,docsPath:s});super([e||\"An error occurred.\",\"\",...t.metaMessages?[...t.metaMessages,\"\"]:[],...o?[`Docs: ${o}`]:[],...a?[`Details: ${a}`]:[],...n?[`Version: ${n}`]:[]].join(\"\\n\"),t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:\"BaseError\"}),this.details=a,this.docsPath=s,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=\"2.38.6\"}walk(e){return function e(t,a){return a?.(t)?t:t&&\"object\"==typeof t&&\"cause\"in t&&void 0!==t.cause?e(t.cause,a):a?null:t}(this,e)}}},2433(e,t,a){a.d(t,{YE:()=>i,rj:()=>n});var r=a(5103);class n extends r.C{constructor({blockNumber:e,chain:t,contract:a}){super(`Chain \"${t.name}\" does not support contract \"${a.name}\".`,{metaMessages:[\"This could be due to any of the following:\",...e&&a.blockCreated&&a.blockCreated>e?[`- The contract \"${a.name}\" was not deployed until block ${a.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract \"${a.name}\" configured.`]],name:\"ChainDoesNotSupportContract\"})}}r.C,r.C;class i extends r.C{constructor(){super(\"No chain was provided to the Client.\",{name:\"ClientChainNotConfiguredError\"})}}r.C},1236(e,t,a){a.d(t,{zX:()=>b,rR:()=>k,$S:()=>x,bG:()=>y,M:()=>w,Po:()=>v});var r=a(3599),n=a(5547),i=a(8092),s=a(4805),o=a(385);function l({abiItem:e,args:t,includeFunctionName:a=!0,includeName:r=!1}){if(\"name\"in e&&\"inputs\"in e&&e.inputs)return`${a?e.name:\"\"}(${e.inputs.map((e,a)=>`${r&&e.name?`${e.name}: `:\"\"}${\"object\"==typeof t[a]?(0,o.A)(t[a]):t[a]}`).join(\", \")})`}var c=a(7780),u=a(5510),d=a(2608),h=a(4538),m=a(5103),p=a(8681),f=a(8248),g=a(4441);class b extends m.C{constructor(e,{account:t,docsPath:a,chain:n,data:i,gas:s,gasPrice:o,maxFeePerGas:l,maxPriorityFeePerGas:c,nonce:h,to:m,value:g,stateOverride:b}){let y=t?(0,r.J)(t):void 0,w=(0,f.aO)({from:y?.address,to:m,value:void 0!==g&&`${(0,u.c)(g)} ${n?.nativeCurrency?.symbol||\"ETH\"}`,data:i,gas:s,gasPrice:void 0!==o&&`${(0,d.Q)(o)} gwei`,maxFeePerGas:void 0!==l&&`${(0,d.Q)(l)} gwei`,maxPriorityFeePerGas:void 0!==c&&`${(0,d.Q)(c)} gwei`,nonce:h});b&&(w+=`\n${(0,p.uj)(b)}`),super(e.shortMessage,{cause:e,docsPath:a,metaMessages:[...e.metaMessages?[...e.metaMessages,\" \"]:[],\"Raw Call Arguments:\",w].filter(Boolean),name:\"CallExecutionError\"}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class y extends m.C{constructor(e,{abi:t,args:a,contractAddress:r,docsPath:n,functionName:i,sender:o}){let u=(0,c.iY)({abi:t,args:a,name:i}),d=u?l({abiItem:u,args:a,includeFunctionName:!1,includeName:!1}):void 0,h=u?(0,s.B)(u,{includeName:!0}):void 0,m=(0,f.aO)({address:r&&(0,g.R)(r),function:h,args:d&&\"()\"!==d&&`${[...Array(i?.length??0).keys()].map(()=>\" \").join(\"\")}${d}`,sender:o});super(e.shortMessage||`An unknown error occurred while executing the contract function \"${i}\".`,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,\" \"]:[],m&&\"Contract Call:\",m].filter(Boolean),name:\"ContractFunctionExecutionError\"}),Object.defineProperty(this,\"abi\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"args\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"contractAddress\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"formattedArgs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"functionName\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"sender\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=t,this.args=a,this.cause=e,this.contractAddress=r,this.functionName=i,this.sender=o}}class w extends m.C{constructor({abi:e,data:t,functionName:a,message:r}){let o,c,u,d,m;if(t&&\"0x\"!==t)try{let{abiItem:a,errorName:r,args:o}=c=(0,i.W)({abi:e,data:t});if(\"Error\"===r)d=o[0];else if(\"Panic\"===r){let[e]=o;d=n.fD[e]}else{let e=a?(0,s.B)(a,{includeName:!0}):void 0,t=a&&o?l({abiItem:a,args:o,includeFunctionName:!1,includeName:!1}):void 0;u=[e?`Error: ${e}`:\"\",t&&\"()\"!==t?` ${[...Array(r?.length??0).keys()].map(()=>\" \").join(\"\")}${t}`:\"\"]}}catch(e){o=e}else r&&(d=r);o instanceof h.Wq&&(m=o.signature,u=[`Unable to decode signature \"${m}\" as it was not found on the provided ABI.`,\"Make sure you are using the correct ABI and that the error exists on it.\",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${m}.`]),super(d&&\"execution reverted\"!==d||m?[`The contract function \"${a}\" reverted with the following ${m?\"signature\":\"reason\"}:`,d||m].join(\"\\n\"):`The contract function \"${a}\" reverted.`,{cause:o,metaMessages:u,name:\"ContractFunctionRevertedError\"}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"raw\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"reason\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=c,this.raw=t,this.reason=d,this.signature=m}}class k extends m.C{constructor({functionName:e}){super(`The contract function \"${e}\" returned no data (\"0x\").`,{metaMessages:[\"This could be due to any of the following:\",` - The contract does not have the function \"${e}\",`,\" - The parameters passed to the contract function may be invalid, or\",\" - The address is not a contract.\"],name:\"ContractFunctionZeroDataError\"})}}class v extends m.C{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory \"${e}\".`:\"\"}`,{metaMessages:[\"Please ensure:\",\"- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).\",\"- The `factoryData` is a valid encoded function call for contract deployment function on the factory.\"],name:\"CounterfactualDeploymentFailedError\"})}}class x extends m.C{constructor({data:e,message:t}){super(t||\"\",{name:\"RawContractError\"}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}},5340(e,t,a){a.d(t,{B4:()=>n,SK:()=>i,hX:()=>s});var r=a(5103);class n extends r.C{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:\"NegativeOffsetError\"})}}class i extends r.C{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:\"PositionOutOfBoundsError\"})}}class s extends r.C{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:\"RecursiveReadLimitExceededError\"})}}},3350(e,t,a){a.d(t,{Fl:()=>i,NV:()=>s,ii:()=>n});var r=a(5103);class n extends r.C{constructor({offset:e,position:t,size:a}){super(`Slice ${\"start\"===t?\"starting\":\"ending\"} at offset \"${e}\" is out-of-bounds (size: ${a}).`,{name:\"SliceOffsetOutOfBoundsError\"})}}class i extends r.C{constructor({size:e,targetSize:t,type:a}){super(`${a.charAt(0).toUpperCase()}${a.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:\"SizeExceedsPaddingSizeError\"})}}class s extends r.C{constructor({size:e,targetSize:t,type:a}){super(`${a.charAt(0).toUpperCase()}${a.slice(1).toLowerCase()} is expected to be ${t} ${a} long, but is ${e} ${a} long.`,{name:\"InvalidBytesLengthError\"})}}},9679(e,t,a){a.d(t,{H2:()=>s,Ty:()=>n,u:()=>o,xO:()=>i});var r=a(5103);class n extends r.C{constructor({max:e,min:t,signed:a,size:r,value:n}){super(`Number \"${n}\" is not in safe ${r?`${8*r}-bit ${a?\"signed\":\"unsigned\"} `:\"\"}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:\"IntegerOutOfRangeError\"})}}class i extends r.C{constructor(e){super(`Bytes value \"${e}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:\"InvalidBytesBooleanError\"})}}class s extends r.C{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:\"InvalidHexBooleanError\"})}}r.C;class o extends r.C{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:\"SizeOverflowError\"})}}},8670(e,t,a){a.d(t,{A7:()=>i,BG:()=>s,Fo:()=>m,K0:()=>l,Oh:()=>c,RM:()=>g,jj:()=>o,k5:()=>d,lN:()=>f,lY:()=>h,uC:()=>p,vW:()=>u});var r=a(2608),n=a(5103);class i extends n.C{constructor({cause:e,message:t}={}){let a=t?.replace(\"execution reverted: \",\"\")?.replace(\"execution reverted\",\"\");super(`Execution reverted ${a?`with reason: ${a}`:\"for an unknown reason\"}.`,{cause:e,name:\"ExecutionRevertedError\"})}}Object.defineProperty(i,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(i,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class s extends n.C{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${(0,r.Q)(t)} gwei`:\"\"}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:\"FeeCapTooHighError\"})}}Object.defineProperty(s,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/});class o extends n.C{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${(0,r.Q)(t)}`:\"\"} gwei) cannot be lower than the block base fee.`,{cause:e,name:\"FeeCapTooLowError\"})}}Object.defineProperty(o,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class l extends n.C{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:\"\"}is higher than the next one expected.`,{cause:e,name:\"NonceTooHighError\"})}}Object.defineProperty(l,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class c extends n.C{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:\"\"}is lower than the current nonce of the account.\nTry increasing the nonce or find the latest nonce with \\`getTransactionCount\\`.`,{cause:e,name:\"NonceTooLowError\"})}}Object.defineProperty(c,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class u extends n.C{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:\"\"}exceeds the maximum allowed nonce.`,{cause:e,name:\"NonceMaxValueError\"})}}Object.defineProperty(u,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class d extends n.C{constructor({cause:e}={}){super(\"The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.\",{cause:e,metaMessages:[\"This error could arise when the account does not have enough funds to:\",\" - pay for the total gas fee,\",\" - pay for the value to send.\",\" \",\"The cost of the transaction is calculated as `gas * gas fee + value`, where:\",\" - `gas` is the amount of gas needed for transaction to execute,\",\" - `gas fee` is the gas fee,\",\" - `value` is the amount of ether to send to the recipient.\"],name:\"InsufficientFundsError\"})}}Object.defineProperty(d,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class h extends n.C{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:\"\"}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:\"IntrinsicGasTooHighError\"})}}Object.defineProperty(h,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class m extends n.C{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:\"\"}provided for the transaction is too low.`,{cause:e,name:\"IntrinsicGasTooLowError\"})}}Object.defineProperty(m,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class p extends n.C{constructor({cause:e}){super(\"The transaction type is not supported for this chain.\",{cause:e,name:\"TransactionTypeNotSupportedError\"})}}Object.defineProperty(p,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class f extends n.C{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:a}={}){super(`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${(0,r.Q)(t)} gwei`:\"\"}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${a?` = ${(0,r.Q)(a)} gwei`:\"\"}).`,{cause:e,name:\"TipAboveFeeCapError\"})}}Object.defineProperty(f,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class g extends n.C{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:\"UnknownNodeError\"})}}},1181(e,t,a){a.d(t,{Ci:()=>s,J8:()=>o,MU:()=>l});var r=a(385),n=a(5103),i=a(4441);class s extends n.C{constructor({body:e,cause:t,details:a,headers:n,status:s,url:o}){super(\"HTTP request failed.\",{cause:t,details:a,metaMessages:[s&&`Status: ${s}`,`URL: ${(0,i.I)(o)}`,e&&`Request body: ${(0,r.A)(e)}`].filter(Boolean),name:\"HttpRequestError\"}),Object.defineProperty(this,\"body\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"headers\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"status\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=n,this.status=s,this.url=o}}n.C;class o extends n.C{constructor({body:e,error:t,url:a}){super(\"RPC Request failed.\",{cause:t,details:t.message,metaMessages:[`URL: ${(0,i.I)(a)}`,`Request body: ${(0,r.A)(e)}`],name:\"RpcRequestError\"}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data}}n.C;class l extends n.C{constructor({body:e,url:t}){super(\"The request took too long to respond.\",{details:\"The request timed out.\",metaMessages:[`URL: ${(0,i.I)(t)}`,`Request body: ${(0,r.A)(e)}`],name:\"TimeoutError\"})}}},8681(e,t,a){a.d(t,{Hi:()=>n,ft:()=>i,uj:()=>o});var r=a(5103);class n extends r.C{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:\"AccountStateConflictError\"})}}class i extends r.C{constructor(){super(\"state and stateDiff are set on the same account.\",{name:\"StateAssignmentConflictError\"})}}function s(e){return e.reduce((e,{slot:t,value:a})=>`${e} ${t}: ${a}\n`,\"\")}function o(e){return e.reduce((e,{address:t,...a})=>{let r=`${e} ${t}:\n`;return a.nonce&&(r+=` nonce: ${a.nonce}\n`),a.balance&&(r+=` balance: ${a.balance}\n`),a.code&&(r+=` code: ${a.code}\n`),a.state&&(r+=\" state:\\n\",r+=s(a.state)),a.stateDiff&&(r+=\" stateDiff:\\n\",r+=s(a.stateDiff)),r},\" State Override:\\n\").slice(0,-1)}},8248(e,t,a){a.d(t,{Kc:()=>l,Kz:()=>o,Sq:()=>c,Vg:()=>s,WA:()=>u,aO:()=>n,n3:()=>i}),a(5510),a(2608);var r=a(5103);function n(e){let t=Object.entries(e).map(([e,t])=>void 0===t||!1===t?null:[e,t]).filter(Boolean),a=t.reduce((e,[t])=>Math.max(e,t.length),0);return t.map(([e,t])=>` ${`${e}:`.padEnd(a+1)} ${t}`).join(\"\\n\")}class i extends r.C{constructor(){super(\"Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.\\nUse `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others.\",{name:\"FeeConflictError\"})}}r.C;class s extends r.C{constructor({transaction:e}){super(\"Cannot infer a transaction type from provided transaction.\",{metaMessages:[\"Provided Transaction:\",\"{\",n(e),\"}\",\"\",\"To infer the type, either provide:\",\"- a `type` to the Transaction, or\",\"- an EIP-1559 Transaction with `maxFeePerGas`, or\",\"- an EIP-2930 Transaction with `gasPrice` & `accessList`, or\",\"- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or\",\"- an EIP-7702 Transaction with `authorizationList`, or\",\"- a Legacy Transaction with `gasPrice`\"],name:\"InvalidSerializableTransactionError\"})}}r.C,r.C,r.C,r.C;class o extends r.C{constructor({blockHash:e,blockNumber:t,blockTag:a,hash:r,index:n}){let i=\"Transaction\";a&&void 0!==n&&(i=`Transaction at block time \"${a}\" at index \"${n}\"`),e&&void 0!==n&&(i=`Transaction at block hash \"${e}\" at index \"${n}\"`),t&&void 0!==n&&(i=`Transaction at block number \"${t}\" at index \"${n}\"`),r&&(i=`Transaction with hash \"${r}\"`),super(`${i} could not be found.`,{name:\"TransactionNotFoundError\"})}}class l extends r.C{constructor({hash:e}){super(`Transaction receipt with hash \"${e}\" could not be found. The Transaction may not be processed on a block yet.`,{name:\"TransactionReceiptNotFoundError\"})}}class c extends r.C{constructor({receipt:e}){super(`Transaction with hash \"${e.transactionHash}\" reverted.`,{metaMessages:['The receipt marked the transaction as \"reverted\". This could mean that the function on the contract you are trying to call threw an error.',\" \",\"You can attempt to extract the revert reason by:\",\"- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract\",\"- using the `call` Action with raw `data`\"],name:\"TransactionReceiptRevertedError\"}),Object.defineProperty(this,\"receipt\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}}class u extends r.C{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:\"WaitForTransactionReceiptTimeoutError\"})}}},4441(e,t,a){a.d(t,{I:()=>n,R:()=>r});let r=e=>e,n=e=>e},2770(e,t,a){a.d(t,{n:()=>f});var r=a(4538),n=a(3211),i=a(6808),s=a(4888),o=a(2863),l=a(5925),c=a(9679),u=a(3601),d=a(4062);function h(e,t={}){void 0!==t.size&&(0,u.Sl)(e,{size:t.size});let a=(0,d.My)(e,t);return(0,u.ME)(a,t)}var m=a(904),p=a(5581);function f(e,t){let a=\"string\"==typeof t?(0,m.aT)(t):t,f=(0,i.l)(a);if(0===(0,s.E)(a)&&e.length>0)throw new r.O;if((0,s.E)(t)&&32>(0,s.E)(t))throw new r.Iy({data:\"string\"==typeof t?t:(0,d.My)(t),params:e,size:(0,s.E)(t)});let b=0,y=[];for(let t=0;t!e),i=n?[]:{},s=0;if(g(a)){let o=r+h(t.readBytes(32));for(let r=0;r1||a[0]>1)throw new c.xO(a);return!!a[0]}(t.readBytes(32),{size:32}),32];if(a.type.startsWith(\"bytes\"))return function(e,t,{staticPosition:a}){let[r,n]=t.type.split(\"bytes\");if(!n){let t=h(e.readBytes(32));e.setPosition(a+t);let r=h(e.readBytes(32));if(0===r)return e.setPosition(a+32),[\"0x\",32];let n=e.readBytes(r);return e.setPosition(a+32),[(0,d.My)(n),32]}return[(0,d.My)(e.readBytes(Number.parseInt(n,10),32)),32]}(t,a,{staticPosition:i});if(a.type.startsWith(\"uint\")||a.type.startsWith(\"int\")){var m,f;let e,r,n;return m=t,e=(f=a).type.startsWith(\"int\"),r=Number.parseInt(f.type.split(\"int\")[1]||\"256\",10),n=m.readBytes(32),[r>48?function(e,t={}){void 0!==t.size&&(0,u.Sl)(e,{size:t.size});let a=(0,d.My)(e,t);return(0,u.uU)(a,t)}(n,{signed:e}):h(n,{signed:e}),32]}if(\"string\"===a.type)return function(e,{staticPosition:t}){let a=h(e.readBytes(32));e.setPosition(t+a);let r=h(e.readBytes(32));if(0===r)return e.setPosition(t+32),[\"\",32];let n=e.readBytes(r,32),i=function(e,t={}){let a=e;return void 0!==t.size&&((0,u.Sl)(a,{size:t.size}),a=(0,l.B)(a,{dir:\"right\"})),new TextDecoder().decode(a)}((0,l.B)(n));return e.setPosition(t+32),[i,32]}(t,{staticPosition:i});throw new r.j(a.type,{docsPath:\"/docs/contract/decodeAbiParameters\"})}(f,a,{staticPosition:0});b+=s,y.push(i)}return y}function g(e){let{type:t}=e;if(\"string\"===t||\"bytes\"===t||t.endsWith(\"[]\"))return!0;if(\"tuple\"===t)return e.components?.some(g);let a=(0,p.k)(e.type);return!!(a&&g({...e,type:a[1]}))}},8092(e,t,a){a.d(t,{W:()=>c});var r=a(5547),n=a(4538),i=a(2863),s=a(1069),o=a(2770),l=a(4805);function c(e){let{abi:t,data:a}=e,c=(0,i.di)(a,0,4);if(\"0x\"===c)throw new n.O;let u=[...t||[],r.Mc,r.J9].find(e=>\"error\"===e.type&&c===(0,s.V)((0,l.B)(e)));if(!u)throw new n.Wq(c,{docsPath:\"/docs/contract/decodeErrorResult\"});return{abiItem:u,args:\"inputs\"in u&&u.inputs&&u.inputs.length>0?(0,o.n)(u.inputs,(0,i.di)(a,4)):void 0,errorName:u.name}}},519(e,t,a){a.d(t,{J:()=>l});var r=a(4538),n=a(2863),i=a(1069),s=a(2770),o=a(4805);function l(e){let{abi:t,data:a}=e,l=(0,n.di)(a,0,4),c=t.find(e=>\"function\"===e.type&&l===(0,i.V)((0,o.B)(e)));if(!c)throw new r.EB(l,{docsPath:\"/docs/contract/decodeFunctionData\"});return{functionName:c.name,args:\"inputs\"in c&&c.inputs&&c.inputs.length>0?(0,s.n)(c.inputs,(0,n.di)(a,4)):void 0}}},9266(e,t,a){a.d(t,{e:()=>o});var r=a(4538),n=a(2770),i=a(7780);let s=\"/docs/contract/decodeFunctionResult\";function o(e){let{abi:t,args:a,functionName:o,data:l}=e,c=t[0];if(o){let e=(0,i.iY)({abi:t,args:a,name:o});if(!e)throw new r.Iz(o,{docsPath:s});c=e}if(\"function\"!==c.type)throw new r.Iz(void 0,{docsPath:s});if(!c.outputs)throw new r.MR(c.name,{docsPath:s});let u=(0,n.n)(c.outputs,l);return u&&u.length>1?u:u&&1===u.length?u[0]:void 0}},5581(e,t,a){a.d(t,{h:()=>p,k:()=>g});var r=a(4538),n=a(7064),i=a(5103),s=a(9679),o=a(5407),l=a(2845),c=a(7816),u=a(4888),d=a(2863),h=a(4062),m=a(4691);function p(e,t){if(e.length!==t.length)throw new r.YE({expectedLength:e.length,givenLength:t.length});let a=f(function({params:e,values:t}){let a=[];for(let p=0;p0?(0,l.xW)([t,e]):t}}if(s)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:(0,l.xW)(o.map(({encoded:e})=>e))}}(a,{length:n,param:{...t,type:i}})}if(\"tuple\"===t.type)return function(t,{param:a}){let r=!1,n=[];for(let i=0;ie))}}(a,{param:t});if(\"address\"===t.type){var b=a;if(!(0,o.P)(b))throw new n.M({address:b});return{dynamic:!1,encoded:(0,c.db)(b.toLowerCase())}}if(\"bool\"===t.type){var y=a;if(\"boolean\"!=typeof y)throw new i.C(`Invalid boolean value: \"${y}\" (type: ${typeof y}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:(0,c.db)((0,h.$P)(y))}}if(t.type.startsWith(\"uint\")||t.type.startsWith(\"int\")){let e=t.type.startsWith(\"int\"),[,,r=\"256\"]=m.Ge.exec(t.type)??[];return function(e,{signed:t,size:a=256}){if(\"number\"==typeof a){let r=2n**(BigInt(a)-(t?1n:0n))-1n,n=t?-r-1n:0n;if(e>r||eo});var r=a(4538),n=a(2845),i=a(5581);let s=\"/docs/contract/encodeDeployData\";function o(e){let{abi:t,args:a,bytecode:o}=e;if(!a||0===a.length)return o;let l=t.find(e=>\"type\"in e&&\"constructor\"===e.type);if(!l)throw new r.YW({docsPath:s});if(!(\"inputs\"in l)||!l.inputs||0===l.inputs.length)throw new r.YF({docsPath:s});let c=(0,i.h)(l.inputs,a);return(0,n.aP)([o,c])}},1939(e,t,a){a.d(t,{p:()=>u});var r=a(2845),n=a(5581),i=a(4538),s=a(1069),o=a(4805),l=a(7780);let c=\"/docs/contract/encodeFunctionData\";function u(e){let{args:t}=e,{abi:a,functionName:u}=1===e.abi.length&&e.functionName?.startsWith(\"0x\")?e:function(e){let{abi:t,args:a,functionName:r}=e,n=t[0];if(r){let e=(0,l.iY)({abi:t,args:a,name:r});if(!e)throw new i.Iz(r,{docsPath:c});n=e}if(\"function\"!==n.type)throw new i.Iz(void 0,{docsPath:c});return{abi:[n],functionName:(0,s.V)((0,o.B)(n))}}(e),d=a[0],h=\"inputs\"in d&&d.inputs?(0,n.h)(d.inputs,t??[]):void 0;return(0,r.aP)([u,h??\"0x\"])}},4805(e,t,a){a.d(t,{A:()=>i,B:()=>n});var r=a(4538);function n(e,{includeName:t=!1}={}){if(\"function\"!==e.type&&\"event\"!==e.type&&\"error\"!==e.type)throw new r.d_(e.type);return`${e.name}(${i(e.inputs,{includeName:t})})`}function i(e,{includeName:t=!1}={}){return e?e.map(e=>(function(e,{includeName:t}){return e.type.startsWith(\"tuple\")?`(${i(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:\"\")})(e,{includeName:t})).join(t?\", \":\",\"):\"\"}},7780(e,t,a){a.d(t,{iY:()=>l});var r=a(4538),n=a(8828),i=a(5407),s=a(4615),o=a(1069);function l(e){let t,{abi:a,args:l=[],name:c}=e,u=(0,n.q)(c,{strict:!1}),d=a.filter(e=>u?\"function\"===e.type?(0,o.V)(e)===c:\"event\"===e.type&&(0,s.h)(e)===c:\"name\"in e&&e.name===c);if(0!==d.length){if(1===d.length)return d[0];for(let e of d){if(\"inputs\"in e){if(!l||0===l.length){if(!e.inputs||0===e.inputs.length)return e;continue}if(e.inputs&&0!==e.inputs.length&&e.inputs.length===l.length&&l.every((t,a)=>{let r=\"inputs\"in e&&e.inputs[a];return!!r&&function e(t,a){let r=typeof t,n=a.type;switch(n){case\"address\":return(0,i.P)(t,{strict:!1});case\"bool\":return\"boolean\"===r;case\"function\":case\"string\":return\"string\"===r;default:if(\"tuple\"===n&&\"components\"in a)return Object.values(a.components).every((a,r)=>e(Object.values(t)[r],a));if(/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n))return\"number\"===r||\"bigint\"===r;if(/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n))return\"string\"===r||t instanceof Uint8Array;if(/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(n))return Array.isArray(t)&&t.every(t=>e(t,{...a,type:n.replace(/(\\[[0-9]{0,}\\])$/,\"\")}));return!1}}(t,r)})){if(t&&\"inputs\"in t&&t.inputs){let a=function e(t,a,r){for(let n in t){let s=t[n],o=a[n];if(\"tuple\"===s.type&&\"tuple\"===o.type&&\"components\"in s&&\"components\"in o)return e(s.components,o.components,r[n]);let l=[s.type,o.type];if(l.includes(\"address\")&&l.includes(\"bytes20\")||(l.includes(\"address\")&&l.includes(\"string\")||l.includes(\"address\")&&l.includes(\"bytes\"))&&(0,i.P)(r[n],{strict:!1}))return l}}(e.inputs,t.inputs,l);if(a)throw new r.nM({abiItem:e,type:a[0]},{abiItem:t,type:a[1]})}t=e}}}return t||d[0]}}},3211(e,t,a){a.d(t,{b:()=>u,o:()=>c});var r=a(7064),n=a(904),i=a(1746),s=a(9081),o=a(5407);let l=new s.A(8192);function c(e,t){if(l.has(`${e}.${t}`))return l.get(`${e}.${t}`);let a=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=(0,i.S)((0,n.Af)(a),\"bytes\"),s=(t?a.substring(`${t}0x`.length):a).split(\"\");for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&s[e]&&(s[e]=s[e].toUpperCase()),(15&r[e>>1])>=8&&s[e+1]&&(s[e+1]=s[e+1].toUpperCase());let o=`0x${s.join(\"\")}`;return l.set(`${e}.${t}`,o),o}function u(e,t){if(!(0,o.P)(e,{strict:!1}))throw new r.M({address:e});return c(e,t)}},5407(e,t,a){a.d(t,{P:()=>o});var r=a(9081),n=a(3211);let i=/^0x[a-fA-F0-9]{40}$/,s=new r.A(8192);function o(e,t){let{strict:a=!0}=t??{},r=`${e}.${a}`;if(s.has(r))return s.get(r);let o=!!i.test(e)&&(e.toLowerCase()===e||!a||(0,n.o)(e)===e);return s.set(r,o),o}},1591(e,t,a){a.d(t,{h:()=>i});var r=a(7064),n=a(5407);function i(e,t){if(!(0,n.P)(e,{strict:!1}))throw new r.M({address:e});if(!(0,n.P)(t,{strict:!1}))throw new r.M({address:t});return e.toLowerCase()===t.toLowerCase()}},8369(e,t,a){a.d(t,{offchainLookupSignature:()=>b,offchainLookup:()=>w});var r=a(18),n=a(385),i=a(5103),s=a(4441);class o extends i.C{constructor({callbackSelector:e,cause:t,data:a,extraData:r,sender:n,urls:i}){super(t.shortMessage||\"An error occurred while fetching for an offchain result.\",{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?\"\":[],\"Offchain Gateway Call:\",i&&[\" Gateway URL(s):\",...i.map(e=>` ${(0,s.I)(e)}`)],` Sender: ${n}`,` Data: ${a}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:\"OffchainLookupError\"})}}class l extends i.C{constructor({result:e,url:t}){super(\"Offchain gateway response is malformed. Response data must be a hex value.\",{metaMessages:[`Gateway URL: ${(0,s.I)(t)}`,`Response: ${(0,n.A)(e)}`],name:\"OffchainLookupResponseMalformedError\"})}}class c extends i.C{constructor({sender:e,to:t}){super(\"Reverted sender address does not match target contract address (`to`).\",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:\"OffchainLookupSenderMismatchError\"})}}var u=a(1181),d=a(8092),h=a(5581),m=a(1591),p=a(2845),f=a(8828),g=a(9398);let b=\"0x556f1830\",y={name:\"OffchainLookup\",type:\"error\",inputs:[{name:\"sender\",type:\"address\"},{name:\"urls\",type:\"string[]\"},{name:\"callData\",type:\"bytes\"},{name:\"callbackFunction\",type:\"bytes4\"},{name:\"extraData\",type:\"bytes\"}]};async function w(e,{blockNumber:t,blockTag:a,data:n,to:i}){let{args:s}=(0,d.W)({data:n,abi:[y]}),[l,u,f,b,v]=s,{ccipRead:x}=e,_=x&&\"function\"==typeof x?.request?x.request:k;try{if(!(0,m.h)(i,l))throw new c({sender:l,to:i});let n=u.includes(g.J)?await (0,g.X)({data:f,ccipRequest:_}):await _({data:f,sender:l,urls:u}),{data:s}=await (0,r.T)(e,{blockNumber:t,blockTag:a,data:(0,p.xW)([b,(0,h.h)([{type:\"bytes\"},{type:\"bytes\"}],[n,v])]),to:i});return s}catch(e){throw new o({callbackSelector:b,cause:e,data:n,extraData:v,sender:l,urls:u})}}async function k({data:e,sender:t,urls:a}){let r=Error(\"An unknown error occurred.\");for(let i=0;in});var r=a(2433);function n({blockNumber:e,chain:t,contract:a}){let i=t?.contracts?.[a];if(!i)throw new r.rj({chain:t,contract:{name:a}});if(e&&i.blockCreated&&i.blockCreated>e)throw new r.rj({blockNumber:e,chain:t,contract:{name:a,blockCreated:i.blockCreated}});return i.address}},6808(e,t,a){a.d(t,{l:()=>i});var r=a(5340);let n={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new r.hX({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new r.SK({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new r.B4({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new r.B4({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let a=t??this.position;return this.assertPosition(a+e-1),this.bytes.subarray(a,a+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,255&e),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let a=this.inspectBytes(e);return this.position+=t??e,a},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function i(e,{recursiveReadLimit:t=8192}={}){let a=Object.create(n);return a.bytes=e,a.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),a.positionReadCount=new Map,a.recursiveReadLimit=t,a}},2845(e,t,a){function r(e){return\"string\"==typeof e[0]?n(e):function(e){let t=0;for(let a of e)t+=a.length;let a=new Uint8Array(t),r=0;for(let t of e)a.set(t,r),r+=t.length;return a}(e)}function n(e){return`0x${e.reduce((e,t)=>e+t.replace(\"0x\",\"\"),\"\")}`}a.d(t,{aP:()=>n,xW:()=>r})},8828(e,t,a){a.d(t,{q:()=>r});function r(e,{strict:t=!0}={}){return!!e&&\"string\"==typeof e&&(t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(\"0x\"))}},7816(e,t,a){a.d(t,{db:()=>i,eV:()=>n});var r=a(3350);function n(e,{dir:t,size:a=32}={}){return\"string\"==typeof e?i(e,{dir:t,size:a}):function(e,{dir:t,size:a=32}={}){if(null===a)return e;if(e.length>a)throw new r.Fl({size:e.length,targetSize:a,type:\"bytes\"});let n=new Uint8Array(a);for(let r=0;r2*a)throw new r.Fl({size:Math.ceil(n.length/2),targetSize:a,type:\"hex\"});return`0x${n[\"right\"===t?\"padEnd\":\"padStart\"](2*a,\"0\")}`}},4888(e,t,a){a.d(t,{E:()=>n});var r=a(8828);function n(e){return(0,r.q)(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}},2863(e,t,a){a.d(t,{A1:()=>c,di:()=>s,iN:()=>u});var r=a(3350),n=a(8828),i=a(4888);function s(e,t,a,{strict:r}={}){return(0,n.q)(e,{strict:!1})?u(e,t,a,{strict:r}):c(e,t,a,{strict:r})}function o(e,t){if(\"number\"==typeof t&&t>0&&t>(0,i.E)(e)-1)throw new r.ii({offset:t,position:\"start\",size:(0,i.E)(e)})}function l(e,t,a){if(\"number\"==typeof t&&\"number\"==typeof a&&(0,i.E)(e)!==a-t)throw new r.ii({offset:a,position:\"end\",size:(0,i.E)(e)})}function c(e,t,a,{strict:r}={}){o(e,t);let n=e.slice(t,a);return r&&l(n,t,a),n}function u(e,t,a,{strict:r}={}){o(e,t);let n=`0x${e.replace(\"0x\",\"\").slice((t??0)*2,(a??e.length)*2)}`;return r&&l(n,t,a),n}},5925(e,t,a){a.d(t,{B:()=>r});function r(e,{dir:t=\"left\"}={}){let a=\"string\"==typeof e?e.replace(\"0x\",\"\"):e,n=0;for(let e=0;ed,ME:()=>u,Nx:()=>c,Sl:()=>o,uU:()=>l});var r=a(9679),n=a(4888),i=a(5925),s=a(904);function o(e,{size:t}){if((0,n.E)(e)>t)throw new r.u({givenSize:(0,n.E)(e),maxSize:t})}function l(e,t={}){let{signed:a}=t;t.size&&o(e,{size:t.size});let r=BigInt(e);if(!a)return r;let n=(e.length-2)/2;return r<=(1n<<8n*BigInt(n)-1n)-1n?r:r-BigInt(`0x${\"f\".padStart(2*n,\"f\")}`)-1n}function c(e,t={}){let a=e;if(t.size&&(o(a,{size:t.size}),a=(0,i.B)(a)),\"0x00\"===(0,i.B)(a))return!1;if(\"0x01\"===(0,i.B)(a))return!0;throw new r.H2(a)}function u(e,t={}){return Number(l(e,t))}function d(e,t={}){let a=(0,s.aT)(e);return t.size&&(o(a,{size:t.size}),a=(0,i.B)(a,{dir:\"right\"})),new TextDecoder().decode(a)}},904(e,t,a){a.d(t,{Af:()=>h,ZJ:()=>c,aT:()=>d});var r=a(5103),n=a(8828),i=a(7816),s=a(3601),o=a(4062);let l=new TextEncoder;function c(e,t={}){var a,r;return\"number\"==typeof e||\"bigint\"==typeof e?(a=e,r=t,d((0,o.cK)(a,r))):\"boolean\"==typeof e?function(e,t={}){let a=new Uint8Array(1);return(a[0]=Number(e),\"number\"==typeof t.size)?((0,s.Sl)(a,{size:t.size}),(0,i.eV)(a,{size:t.size})):a}(e,t):(0,n.q)(e)?d(e,t):h(e,t)}function u(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function d(e,t={}){let a=e;t.size&&((0,s.Sl)(a,{size:t.size}),a=(0,i.eV)(a,{dir:\"right\",size:t.size}));let n=a.slice(2);n.length%2&&(n=`0${n}`);let o=n.length/2,l=new Uint8Array(o);for(let e=0,t=0;el,My:()=>c,cK:()=>u,i3:()=>h,nj:()=>o});var r=a(9679),n=a(7816),i=a(3601);let s=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));function o(e,t={}){return\"number\"==typeof e||\"bigint\"==typeof e?u(e,t):\"string\"==typeof e?h(e,t):\"boolean\"==typeof e?l(e,t):c(e,t)}function l(e,t={}){let a=`0x${Number(e)}`;return\"number\"==typeof t.size?((0,i.Sl)(a,{size:t.size}),(0,n.eV)(a,{size:t.size})):a}function c(e,t={}){let a=\"\";for(let t=0;ta||og,J:()=>f});var r=a(7717),n=a(5547),i=a(519),s=a(4538),o=a(2845),l=a(1069),c=a(5581),u=a(4805),d=a(7780);let h=\"/docs/contract/encodeErrorResult\";function m(e){let{abi:t,errorName:a,args:r}=e,n=t[0];if(a){let e=(0,d.iY)({abi:t,args:r,name:a});if(!e)throw new s.yy(a,{docsPath:h});n=e}if(\"error\"!==n.type)throw new s.yy(void 0,{docsPath:h});let i=(0,u.B)(n),m=(0,l.V)(i),p=\"0x\";if(r&&r.length>0){if(!n.inputs)throw new s.ZP(n.name,{docsPath:h});p=(0,c.h)(n.inputs,r)}return(0,o.aP)([m,p])}let p=\"/docs/contract/encodeFunctionResult\",f=\"x-batch-gateway:true\";async function g(e){let{data:t,ccipRequest:a}=e,{args:[o]}=(0,i.J)({abi:r.b2,data:t}),l=[],u=[];return await Promise.all(o.map(async(e,t)=>{try{u[t]=e.urls.includes(f)?await g({data:e.data,ccipRequest:a}):await a(e),l[t]=!1}catch(e){var i;l[t]=!0,u[t]=\"HttpRequestError\"===(i=e).name&&i.status?m({abi:r.b2,errorName:\"HttpError\",args:[i.status,i.shortMessage]}):m({abi:[n.Mc],errorName:\"Error\",args:[\"shortMessage\"in i?i.shortMessage:i.message]})}})),function(e){let{abi:t,functionName:a,result:r}=e,n=t[0];if(a){let e=(0,d.iY)({abi:t,name:a});if(!e)throw new s.Iz(a,{docsPath:p});n=e}if(\"function\"!==n.type)throw new s.Iz(void 0,{docsPath:p});if(!n.outputs)throw new s.MR(n.name,{docsPath:p});let i=(()=>{if(0===n.outputs.length)return[];if(1===n.outputs.length)return[r];if(Array.isArray(r))return r;throw new s.dm(r)})();return(0,c.h)(n.outputs,i)}({abi:r.b2,functionName:\"query\",result:[l,u]})}},4074(e,t,a){a.d(t,{d:()=>s});var r=a(1236),n=a(8670),i=a(8606);function s(e,{docsPath:t,...a}){let o,l=(o=(0,i.l)(e,a))instanceof n.RM?e:o;return new r.zX(l,{docsPath:t,...a})}},8606(e,t,a){a.d(t,{l:()=>i});var r=a(5103),n=a(8670);function i(e,t){let a=(e.details||\"\").toLowerCase(),i=e instanceof r.C?e.walk(e=>e?.code===n.A7.code):e;return i instanceof r.C?new n.A7({cause:e,message:i.details}):n.A7.nodeMessage.test(a)?new n.A7({cause:e,message:e.details}):n.BG.nodeMessage.test(a)?new n.BG({cause:e,maxFeePerGas:t?.maxFeePerGas}):n.jj.nodeMessage.test(a)?new n.jj({cause:e,maxFeePerGas:t?.maxFeePerGas}):n.K0.nodeMessage.test(a)?new n.K0({cause:e,nonce:t?.nonce}):n.Oh.nodeMessage.test(a)?new n.Oh({cause:e,nonce:t?.nonce}):n.vW.nodeMessage.test(a)?new n.vW({cause:e,nonce:t?.nonce}):n.k5.nodeMessage.test(a)?new n.k5({cause:e}):n.lY.nodeMessage.test(a)?new n.lY({cause:e,gas:t?.gas}):n.Fo.nodeMessage.test(a)?new n.Fo({cause:e,gas:t?.gas}):n.uC.nodeMessage.test(a)?new n.uC({cause:e}):n.lN.nodeMessage.test(a)?new n.lN({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new n.RM({cause:e})}},2487(e,t,a){a.d(t,{o:()=>r});function r(e,{format:t}){if(!t)return{};let a={};return!function t(r){for(let n of Object.keys(r))n in e&&(a[n]=e[n]),r[n]&&\"object\"==typeof r[n]&&!Array.isArray(r[n])&&t(r[n])}(t(e||{})),a}},1781(e,t,a){a.d(t,{Bv:()=>i});var r=a(4062);let n={legacy:\"0x0\",eip2930:\"0x1\",eip1559:\"0x2\",eip4844:\"0x3\",eip7702:\"0x4\"};function i(e,t){let a={};return void 0!==e.authorizationList&&(a.authorizationList=e.authorizationList.map(e=>({address:e.address,r:e.r?(0,r.cK)(BigInt(e.r)):e.r,s:e.s?(0,r.cK)(BigInt(e.s)):e.s,chainId:(0,r.cK)(e.chainId),nonce:(0,r.cK)(e.nonce),...void 0!==e.yParity?{yParity:(0,r.cK)(e.yParity)}:{},...void 0!==e.v&&void 0===e.yParity?{v:(0,r.cK)(e.v)}:{}}))),void 0!==e.accessList&&(a.accessList=e.accessList),void 0!==e.blobVersionedHashes&&(a.blobVersionedHashes=e.blobVersionedHashes),void 0!==e.blobs&&(\"string\"!=typeof e.blobs[0]?a.blobs=e.blobs.map(e=>(0,r.My)(e)):a.blobs=e.blobs),void 0!==e.data&&(a.data=e.data),e.account&&(a.from=e.account.address),void 0!==e.from&&(a.from=e.from),void 0!==e.gas&&(a.gas=(0,r.cK)(e.gas)),void 0!==e.gasPrice&&(a.gasPrice=(0,r.cK)(e.gasPrice)),void 0!==e.maxFeePerBlobGas&&(a.maxFeePerBlobGas=(0,r.cK)(e.maxFeePerBlobGas)),void 0!==e.maxFeePerGas&&(a.maxFeePerGas=(0,r.cK)(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(a.maxPriorityFeePerGas=(0,r.cK)(e.maxPriorityFeePerGas)),void 0!==e.nonce&&(a.nonce=(0,r.cK)(e.nonce)),void 0!==e.to&&(a.to=e.to),void 0!==e.type&&(a.type=n[e.type]),void 0!==e.value&&(a.value=(0,r.cK)(e.value)),a}},1746(e,t,a){a.d(t,{S:()=>o});var r=a(2645),n=a(8828),i=a(904),s=a(4062);function o(e,t){let a=(0,r.lY)((0,n.q)(e,{strict:!1})?(0,i.ZJ)(e):e);return\"bytes\"===(t||\"hex\")?a:(0,s.nj)(a)}},4615(e,t,a){a.d(t,{h:()=>r});let r=a(7681).k},1069(e,t,a){a.d(t,{V:()=>i});var r=a(2863),n=a(7681);let i=e=>(0,r.di)((0,n.k)(e),0,4)},7681(e,t,a){a.d(t,{k:()=>c});var r=a(904),n=a(1746),i=a(5092);let s=/^tuple(?(\\[(\\d*)\\])*)$/;function o(e){let t=\"\",a=e.length;for(let r=0;r\"string\"==typeof e?e:\"function\"===e.type?`function ${e.name}(${o(e.inputs)})${e.stateMutability&&\"nonpayable\"!==e.stateMutability?` ${e.stateMutability}`:\"\"}${e.outputs?.length?` returns (${o(e.outputs)})`:\"\"}`:\"event\"===e.type?`event ${e.name}(${o(e.inputs)})`:\"error\"===e.type?`error ${e.name}(${o(e.inputs)})`:\"constructor\"===e.type?`constructor(${o(e.inputs)})${\"payable\"===e.stateMutability?\" payable\":\"\"}`:\"fallback\"===e.type?`fallback() external${\"payable\"===e.stateMutability?\" payable\":\"\"}`:\"receive() external payable\")()),(0,n.S)((0,r.ZJ)(t))}},9081(e,t,a){a.d(t,{A:()=>r});class r extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&void 0!==t&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}},6189(e,t,a){a.d(t,{u:()=>i});var r=a(9693);let n=new Map;function i({fn:e,id:t,shouldSplitBatch:a,wait:s=0,sort:o}){let l=async()=>{let t=u();c();let a=t.map(({args:e})=>e);0!==a.length&&e(a).then(e=>{o&&Array.isArray(e)&&e.sort(o);for(let a=0;a{for(let a=0;an.delete(t),u=()=>n.get(t)||[],d=e=>n.set(t,[...u(),e]);return{flush:c,async schedule(e){let{promise:t,resolve:n,reject:i}=(0,r.Y)();return(a?.([...u().map(({args:e})=>e),e])&&l(),u().length>0)?d({args:e,resolve:n,reject:i}):(d({args:e,resolve:n,reject:i}),setTimeout(l,s)),t}}}},9693(e,t,a){a.d(t,{Y:()=>r});function r(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((a,r)=>{e=a,t=r}),resolve:e,reject:t}}},4691(e,t,a){a.d(t,{BD:()=>n,D5:()=>r,Ge:()=>i});let r=/^(.*)\\[([0-9]*)\\]$/,n=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,i=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/},2077(e,t,a){a.d(t,{yH:()=>c});var r=a(7064),n=a(3350),i=a(8681),s=a(5407),o=a(4062);function l(e){if(e&&0!==e.length)return e.reduce((e,{slot:t,value:a})=>{if(66!==t.length)throw new n.NV({size:t.length,targetSize:66,type:\"hex\"});if(66!==a.length)throw new n.NV({size:a.length,targetSize:66,type:\"hex\"});return e[t]=a,e},{})}function c(e){if(!e)return;let t={};for(let{address:a,...n}of e){if(!(0,s.P)(a,{strict:!1}))throw new r.M({address:a});if(t[a])throw new i.Hi({address:a});t[a]=function(e){let{balance:t,nonce:a,state:r,stateDiff:n,code:s}=e,c={};if(void 0!==s&&(c.code=s),void 0!==t&&(c.balance=(0,o.cK)(t)),void 0!==a&&(c.nonce=(0,o.cK)(a)),void 0!==r&&(c.state=l(r)),void 0!==n){if(c.state)throw new i.ft;c.stateDiff=l(n)}return c}(n)}return t}},385(e,t,a){a.d(t,{A:()=>r});let r=(e,t,a)=>JSON.stringify(e,(e,a)=>{let r=\"bigint\"==typeof a?a.toString():a;return\"function\"==typeof t?t(e,r):r},a)},2128(e,t,a){a.d(t,{c:()=>c});var r=a(3599);let n=2n**256n-1n;var i=a(7064),s=a(8670),o=a(8248),l=a(5407);function c(e){let{account:t,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,to:d}=e,h=t?(0,r.J)(t):void 0;if(h&&!(0,l.P)(h.address))throw new i.M({address:h.address});if(d&&!(0,l.P)(d))throw new i.M({address:d});if(void 0!==a&&(void 0!==c||void 0!==u))throw new o.n3;if(c&&c>n)throw new s.BG({maxFeePerGas:c});if(u&&c&&u>c)throw new s.lN({maxFeePerGas:c,maxPriorityFeePerGas:u})}},5510(e,t,a){a.d(t,{c:()=>i});var r=a(7712),n=a(1869);function i(e,t=\"wei\"){return(0,n.J)(e,r.eL[t])}},2608(e,t,a){a.d(t,{Q:()=>i});var r=a(7712),n=a(1869);function i(e,t=\"wei\"){return(0,n.J)(e,r.sz[t])}},1869(e,t,a){a.d(t,{J:()=>r});function r(e,t){let a=e.toString(),r=a.startsWith(\"-\");r&&(a=a.slice(1));let[n,i]=[(a=a.padStart(t,\"0\")).slice(0,a.length-t),a.slice(a.length-t)];return i=i.replace(/(0+)$/,\"\"),`${r?\"-\":\"\"}${n||\"0\"}${i?`.${i}`:\"\"}`}},7410(e,t,a){let r,n;a.d(t,{getWallets:()=>u});var i,s=function(e,t,a,r){if(\"a\"===a&&!r)throw TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof t?e!==t||!r:!t.has(e))throw TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===a?r:\"a\"===a?r.call(e):r?r.value:t.get(e)},o=function(e,t,a,r,n){if(\"m\"===r)throw TypeError(\"Private method is not writable\");if(\"a\"===r&&!n)throw TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof t?e!==t||!n:!t.has(e))throw TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===r?n.call(e,a):n?n.value=a:t.set(e,a),a};let l=new Set,c={};function u(){if(n||(n=Object.freeze({register:d,get:h,on:m}),\"u\"t(e))}catch(e){console.error(\"wallet-standard:register-wallet event listener could not be added\\n\",e)}try{window.dispatchEvent(new f(e))}catch(e){console.error(\"wallet-standard:app-ready event could not be dispatched\\n\",e)}return n}function d(...e){return(e=e.filter(e=>!l.has(e))).length?(e.forEach(e=>{r=void 0,l.add(e)}),c.register?.forEach(t=>p(()=>t(...e))),function(){e.forEach(e=>{r=void 0,l.delete(e)}),c.unregister?.forEach(t=>p(()=>t(...e)))}):()=>{}}function h(){return r||(r=[...l]),r}function m(e,t){return c[e]?.push(t)||(c[e]=[t]),function(){c[e]=c[e]?.filter(e=>t!==e)}}function p(e){try{e()}catch(e){console.error(e)}}var f=class extends Event{get detail(){return s(this,i,\"f\")}get type(){return\"wallet-standard:app-ready\"}constructor(e){super(\"wallet-standard:app-ready\",{bubbles:!1,cancelable:!1,composed:!1}),i.set(this,void 0),o(this,i,e,\"f\")}preventDefault(){throw Error(\"preventDefault cannot be called\")}stopImmediatePropagation(){throw Error(\"stopImmediatePropagation cannot be called\")}stopPropagation(){throw Error(\"stopPropagation cannot be called\")}};i=new WeakMap},1118(e,t,a){a.d(t,{t:()=>r});let r=(...e)=>{}},9536(e,t,a){function r(e){return Promise.all(Array.from(e).map(e=>e.then(e=>({status:\"fulfilled\",value:e}),e=>({status:\"rejected\",reason:e}))))}a.d(t,{a:()=>r})},7009(e,t,a){function r(e,t,a){return\"function\"==typeof e?e(t):void 0!==e?e:void 0!==a?a:void 0}a.d(t,{vd:()=>i.a,VK:()=>r,lQ:()=>n.t});var n=a(1118),i=a(9536)}},r={};function n(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={exports:{}};return a[e].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(a,r){if(1&r&&(a=this(a)),8&r||\"object\"==typeof a&&a&&(4&r&&a.__esModule||16&r&&\"function\"==typeof a.then))return a;var i=Object.create(null);n.r(i);var s={};e=e||[null,t({}),t([]),t(t)];for(var o=2&r&&a;(\"object\"==typeof o||\"function\"==typeof o)&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach(e=>{s[e]=()=>a[e]});return s.default=()=>a,n.d(i,s),i},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.g=(()=>{if(\"object\"==typeof globalThis)return globalThis;try{return this||Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}})(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"u\">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var i={};(()=>{let e,t,a,r,s;function o(){return\"u\">typeof window}n.d(i,{Ys:()=>q,hl:()=>F,NZ:()=>P,si:()=>N,LR:()=>z,ux:()=>B,_d:()=>D,$R:()=>S,Cm:()=>_,kl:()=>O,c2:()=>nZ,cR:()=>x});let l=RegExp(\"bot|spider|crawl|APIs-Google|AdsBot|Googlebot|mediapartners|Google Favicon|FeedFetcher|Google-Read-Aloud|DuplexWeb-Google|googleweblight|bing|yandex|baidu|duckduck|yahoo|ecosia|ia_archiver|facebook|instagram|pinterest|reddit|slack|twitter|whatsapp|youtube|semrush\",\"i\");function c(){var e;let t=o()?window?.navigator:null;return!!t&&!((e=t?.userAgent)&&l.test(e))&&!t?.webdriver}function u(){let e=o()?window?.navigator:null;return!!e&&(\"boolean\"!=typeof e.onLine||!!e.onLine)}function d(){return u()&&c()}let h=(e,t,a,r,n)=>{let{notify:i}=n||{},s=e.get(a);s||(s=[],e.set(a,s)),s.push(r),i&&t.has(a)&&r(t.get(a))},m=(e,t,a)=>(e.get(t)||[]).map(e=>e(a)),p=(e,t,a)=>{let r=e.get(t);r&&(a?r.splice(r.indexOf(a)>>>0,1):e.set(t,[]))},f=()=>{let e=new Map,t=new Map,a=new Map;return{on:(...a)=>h(e,t,...a),prioritizedOn:(...e)=>h(a,t,...e),emit:(r,n)=>{t.set(r,n),m(a,r,n),m(e,r,n)},off:(...t)=>p(e,...t),prioritizedOff:(...e)=>p(a,...e),internal:{retrieveListeners:t=>e.get(t)||[]}}},g=\"status\";function b(e){return function(t){let a=t??this;if(!a)throw TypeError(`${e.kind||e.name} type guard requires an error object`);return!!e.kind&&\"object\"==typeof a&&null!==a&&\"constructor\"in a&&a.constructor?.kind===e.kind||a instanceof e}}var y,w,k,v=class e extends Error{static kind=\"ClerkError\";clerkError=!0;code;longMessage;docsUrl;cause;get name(){return this.constructor.name}constructor(t){super(new.target.formatMessage(new.target.kind,t.message,t.code,t.docsUrl),{cause:t.cause}),Object.setPrototypeOf(this,e.prototype),this.code=t.code,this.docsUrl=t.docsUrl,this.longMessage=t.longMessage,this.cause=t.cause}toString(){return`[${this.name}]\nMessage:${this.message}`}static formatMessage(e,t,a,r){let n=\"Clerk:\",i=RegExp(n.replace(\" \",\"\\\\s*\"),\"i\");return t=t.replace(i,\"\"),t=`${n} ${t.trim()}\n\n(code=\"${a}\")\n\n`,r&&(t+=`\n\nDocs: ${r}`),t}},x=class e extends v{static kind=\"ClerkRuntimeError\";clerkRuntimeError=!0;constructor(t,a){super({...a,message:t}),Object.setPrototypeOf(this,e.prototype)}};let _=b(x);var j=class{static kind=\"ClerkAPIError\";code;message;longMessage;meta;constructor(e){let t={code:e.code,message:e.message,longMessage:e.long_message,meta:{paramName:e.meta?.param_name,sessionId:e.meta?.session_id,emailAddresses:e.meta?.email_addresses,identifiers:e.meta?.identifiers,zxcvbn:e.meta?.zxcvbn,plan:e.meta?.plan,isPlanUpgradePossible:e.meta?.is_plan_upgrade_possible}};this.code=t.code,this.message=t.message,this.longMessage=t.longMessage,this.meta=t.meta}};b(j);var z=class e extends v{static kind=\"ClerkAPIResponseError\";status;clerkTraceId;retryAfter;errors;constructor(t,a){let{data:r,status:n,clerkTraceId:i,retryAfter:s}=a;super({...a,message:t,code:\"api_response_error\"}),Object.setPrototypeOf(this,e.prototype),this.status=n,this.clerkTraceId=i,this.retryAfter=s,this.errors=(r||[]).map(e=>new j(e))}toString(){let e=`[${this.name}]\nMessage:${this.message}\nStatus:${this.status}\nSerialized errors: ${this.errors.map(e=>JSON.stringify(e))}`;return this.clerkTraceId&&(e+=`\nClerk Trace ID: ${this.clerkTraceId}`),e}static formatMessage(e,t,a,r){return t}};let S=b(z);var I=class e extends z{static kind=\"MissingExpiredTokenError\";static ERROR_CODE=\"missing_expired_token\";static STATUS=422;static is(t){return S(t)&&t.status===e.STATUS&&t.errors.length>0&&t.errors[0].code===e.ERROR_CODE}},A=class e extends x{static kind=\"ClerkOfflineError\";static ERROR_CODE=\"clerk_offline\";constructor(t){super(t,{code:e.ERROR_CODE}),Object.setPrototypeOf(this,e.prototype)}static is(t){return null!=t&&(t instanceof e||_(t)&&t.code===e.ERROR_CODE)}};let E=Object.freeze({InvalidProxyUrlErrorMessage:\"The proxyUrl passed to Clerk is invalid. The expected value for proxyUrl is an absolute URL or a relative path with a leading '/'. (key={{url}})\",InvalidPublishableKeyErrorMessage:\"The publishableKey passed to Clerk is invalid. You can get your Publishable key at https://dashboard.clerk.com/last-active?path=api-keys. (key={{key}})\",MissingPublishableKeyErrorMessage:\"Missing publishableKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.\",MissingSecretKeyErrorMessage:\"Missing secretKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.\",MissingClerkProvider:\"{{source}} can only be used within the component. Learn more: https://clerk.com/docs/components/clerk-provider\"});function C({packageName:e,customMessages:t}){let a=e;function r(e,t){if(!t)return`${a}: ${e}`;let r=e;for(let a of e.matchAll(/{{([a-zA-Z0-9-_]+)}}/g)){let e=(t[a[1]]||\"\").toString();r=r.replace(`{{${a[1]}}}`,e)}return`${a}: ${r}`}let n={...E,...t};return{setPackageName({packageName:e}){return\"string\"==typeof e&&(a=e),this},setMessages({customMessages:e}){return Object.assign(n,e||{}),this},throwInvalidPublishableKeyError(e){throw Error(r(n.InvalidPublishableKeyErrorMessage,e))},throwInvalidProxyUrl(e){throw Error(r(n.InvalidProxyUrlErrorMessage,e))},throwMissingPublishableKeyError(){throw Error(r(n.MissingPublishableKeyErrorMessage))},throwMissingSecretKeyError(){throw Error(r(n.MissingSecretKeyErrorMessage))},throwMissingClerkProviderError(e){throw Error(r(n.MissingClerkProvider,e))},throw(e){throw Error(r(e))}}}var P=class e extends Error{code;constructor(t){super(t),this.code=t,this.name=\"EmailLinkError\",Object.setPrototypeOf(this,e.prototype)}};let q={Expired:\"expired\",Failed:\"failed\",ClientMismatch:\"client_mismatch\"},O={Expired:\"expired\",Failed:\"failed\",ClientMismatch:\"client_mismatch\"};var T=class extends x{code;constructor(e,t){super(e,t),this.code=t.code}};function U(e){return[\"captcha_invalid\",\"captcha_not_enabled\",\"captcha_missing_token\"].includes(e.errors[0].code)}function M(e){let t=e?.status;return!!t&&t>=400&&t<500}function R(e){let t=e?.status;return 401===t||422===t}function B(e){return S(e)||N(e)||_(e)}function N(e){return\"code\"in e&&[4001,32602,32603].includes(e.code)&&\"message\"in e}function D(e){return S(e)&&e.errors?.[0]?.code===\"user_locked\"}function F(e){return\"EmailLinkError\"===e.name}function L(e){for(let[t,a]of Object.entries({isClerkAPIResponseError:S,isClerkRuntimeError:_}))Object.assign(e,{[t]:a});return e}let W=(e,t)=>!!(e.isSignedIn&&t?.authConfig.singleSessionMode),K=(e,t)=>!t?.commerceSettings.billing.user.enabled&&!t?.commerceSettings.billing.organization.enabled,H=(e,t)=>!t?.apiKeysSettings?.user_api_keys_enabled,V=(e,t)=>!t?.apiKeysSettings?.orgs_api_keys_enabled,G=\"__clerk_synced\",J=\"false\",Z=\"true\",$=\"suffixed_cookies\",Y=\"__clerk_satellite_url\",Q=\"clerk-captcha\",X=\"clerk-invisible-captcha\";var ee=n(547);let et=new Set,ea=e=>{et.has(e)||(et.add(e),console.warn(e))},er=(e,t)=>{let a={};for(let r in e)a[r]=t(e[r],r);return a},en=(e,t)=>{let a={};for(let r in e)e[r]&&t(e[r])&&(a[r]=e[r]);return a};function ei(e){return e?e.replace(/([-_][a-z])/g,e=>e.toUpperCase().replace(/-|_/,\"\")):\"\"}function es(e){return e?e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`):\"\"}let eo=e=>{let t=a=>{if(!a)return a;if(Array.isArray(a))return a.map(e=>\"object\"==typeof e||Array.isArray(e)?t(e):e);let r={...a};for(let a of Object.keys(r)){let n=e(a.toString());n!==a&&(r[n]=r[a],delete r[a]),\"object\"==typeof r[n]&&(r[n]=t(r[n]))}return r};return t},el=eo(es),ec=eo(ei);function eu(e){if(\"boolean\"==typeof e)return e;if(null==e)return!1;if(\"string\"==typeof e){if(\"true\"===e.toLowerCase())return!0;if(\"false\"===e.toLowerCase())return!1}let t=parseInt(e,10);return!isNaN(t)&&t>0}let ed=RegExp(\"/{1,}\",\"g\"),eh=[\".lcl.dev\",\".lclstage.dev\",\".lclclerk.com\"],em=[\".accounts.dev\",\".accountsstage.dev\",\".accounts.lclclerk.com\"],ep=[\".lcl.dev\",\".stg.dev\",\".lclstage.dev\",\".stgstage.dev\",\".dev.lclclerk.com\",\".stg.lclclerk.com\",\".accounts.lclclerk.com\",\"accountsstage.dev\",\"accounts.dev\"],ef=e=>\"u\">typeof atob&&\"function\"==typeof atob?atob(e):void 0!==globalThis.Buffer?globalThis.Buffer.from(e,\"base64\").toString():e,eg=\"pk_live_\";function eb(e){if(!e.endsWith(\"$\"))return!1;let t=e.slice(0,-1);return!t.includes(\"$\")&&t.includes(\".\")}function ey(e,t={}){let a;if(!(e=e||\"\")||!ew(e)){if(t.fatal&&!e)throw Error(\"Publishable key is missing. Ensure that your publishable key is correctly configured. Double-check your environment configuration for your keys, or access them here: https://dashboard.clerk.com/last-active?path=api-keys\");if(t.fatal&&!ew(e))throw Error(\"Publishable key not valid.\");return null}let r=e.startsWith(eg)?\"production\":\"development\";try{a=ef(e.split(\"_\")[2])}catch{if(t.fatal)throw Error(\"Publishable key not valid: Failed to decode key.\");return null}if(!eb(a)){if(t.fatal)throw Error(\"Publishable key not valid: Decoded key has invalid format.\");return null}let n=a.slice(0,-1);return t.proxyUrl?n=t.proxyUrl:\"development\"!==r&&t.domain&&t.isSatellite&&(n=`clerk.${t.domain}`),{instanceType:r,frontendApi:n}}function ew(e=\"\"){try{if(!(e.startsWith(eg)||e.startsWith(\"pk_test_\")))return!1;let t=e.split(\"_\");if(3!==t.length)return!1;let a=t[2];if(!a)return!1;return eb(ef(a))}catch{return!1}}async function ek(e,t=globalThis.crypto.subtle){var a;let r=new TextEncoder().encode(e);return(a=String.fromCharCode(...new Uint8Array(await t.digest(\"sha-1\",r))),\"u\">typeof btoa&&\"function\"==typeof btoa?btoa(a):void 0!==globalThis.Buffer?globalThis.Buffer.from(a).toString(\"base64\"):a).replace(/\\+/gi,\"-\").replace(/\\//gi,\"_\").substring(0,8)}let ev=(e,t)=>`${e}_${t}`;function ex(e=\"\"){return(e||\"\").replace(/^.+:\\/\\//,\"\")}let e_=/^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/,ej=(e,t={})=>{if(null==e||!e||\"object\"!=typeof e)return\"\";let a=new URLSearchParams;return Object.keys(e).forEach(r=>{let n=t.keyEncoder?t.keyEncoder(r):r,i=e[r];if(Array.isArray(i))i.forEach(e=>void 0!==e&&a.append(n,e||\"\"));else{if(void 0===i)return;\"object\"==typeof i&&null!==i?a.append(n,JSON.stringify(i)):a.append(n,String(i??\"\"))}}),a.toString()},ez=\"http://clerk-dummy\",eS=[\"javascript:\"],{isDevOrStagingUrl:eI}=(r=new Map,{isDevOrStagingUrl:e=>{if(!e)return!1;let t=\"string\"==typeof e?e:e.hostname,a=r.get(t);return void 0===a&&(a=ep.some(e=>t.endsWith(e)),r.set(t,a)),a}}),eA=new Map;function eE(e){return e.replace(\"clerk.\",\"\")}function eC(e,t={}){let{base:a,hashPath:r,hashSearch:n,searchParams:i,hashSearchParams:s,...o}=e,l=new URL(a||\"\",\"u\">typeof window&&window.location?window.location.href:\"http://react-native-fake-base-url\");if(i instanceof URLSearchParams&&i.forEach((e,t)=>{null!=e&&l.searchParams.set(es(t),e)}),Object.assign(l,o),r||n||s){var c;let e,t=new URL(ez+l.hash.substring(1));for(let[a,i]of(c=t.pathname,t.pathname=[c,r||\"\"].filter(e=>e).join(\"/\").replace(ed,\"/\"),Object.entries((e={},new URLSearchParams(n||\"\").forEach((t,a)=>{if(a in e){let r=e[a];Array.isArray(r)?r.push(t):e[a]=[r,t]}else e[a]=t}),e))))t.searchParams.append(a,i);if(s)for(let e of Array.isArray(s)?s:[s])(e instanceof URLSearchParams||\"object\"==typeof e)&&new URLSearchParams(e).forEach((e,a)=>{null!=e&&t.searchParams.set(es(a),e)});let a=t.href.replace(ez,\"\");\"/\"!==a&&(l.hash=a)}let{stringify:u,skipOrigin:d}=t;return u?d?l.href.replace(l.origin,\"\"):l.href:l}function eP(e){return void 0===window.location&&\"string\"==typeof e?e:(e=new URL(e.toString(),window.location.origin)).href.replace(e.origin,\"\")}let eq=e=>(e||\"\").replace(/\\/+$/,\"\");function eO(e,t){try{return new URL(e)}catch{return new URL(e,t)}}let eT=[/\\0/,/^\\/\\//,/[\\x00-\\x1F]/],eU=[\"/oauth/authorize\"],eM=[\"/v1/verify\",\"/v1/tickets/accept\",\"/oauth/authorize-with-immediate-redirect\",\"/oauth/end_session\"];var eR=class e{static keys=[\"signInForceRedirectUrl\",\"signInFallbackRedirectUrl\",\"signUpForceRedirectUrl\",\"signUpFallbackRedirectUrl\",\"redirectUrl\"];static preserved=[\"redirectUrl\"];options;fromOptions;fromProps;fromSearchParams;mode;constructor(e,t={},a={},r){this.options=e,this.fromOptions=this.#I(e||{}),this.fromProps=this.#I(t||{}),this.fromSearchParams=this.#A(a||{}),this.mode=r}getAfterSignInUrl(){return this.#E(\"signIn\")}getAfterSignUpUrl(){return this.#E(\"signUp\")}getPreservedSearchParams(){return this.#C(this.#P())}toSearchParams(){return this.#C(this.#q())}#C(e){return new URLSearchParams(Object.entries(Object.fromEntries(Object.entries(e).map(([e,t])=>[es(e),t]))).reduce((e,[t,a])=>(null!=a&&(e[t]=a),e),{}))}#P(){return Object.fromEntries(Object.entries({...this.fromSearchParams}).filter(([t])=>e.preserved.includes(t)))}#q(){let e=this.fromSearchParams.signUpForceRedirectUrl||this.fromProps.signUpForceRedirectUrl||this.fromOptions.signUpForceRedirectUrl,t=this.fromSearchParams.signUpFallbackRedirectUrl||this.fromProps.signUpFallbackRedirectUrl||this.fromOptions.signUpFallbackRedirectUrl,a=this.fromSearchParams.signInForceRedirectUrl||this.fromProps.signInForceRedirectUrl||this.fromOptions.signInForceRedirectUrl,r={signUpForceRedirectUrl:e,signUpFallbackRedirectUrl:t,signInFallbackRedirectUrl:this.fromSearchParams.signInFallbackRedirectUrl||this.fromProps.signInFallbackRedirectUrl||this.fromOptions.signInFallbackRedirectUrl,signInForceRedirectUrl:a,redirectUrl:this.fromSearchParams.redirectUrl||this.fromProps.redirectUrl};return e&&delete r.signUpFallbackRedirectUrl,a&&delete r.signInFallbackRedirectUrl,r}#E(e){let t,a=`${e}ForceRedirectUrl`,r=`${e}FallbackRedirectUrl`;return(t=this.fromSearchParams[a]||this.fromProps[a]||this.fromOptions[a],t||=this.fromSearchParams.redirectUrl,(t||=this.fromSearchParams[r]||this.fromProps[r]||this.fromOptions[r])||\"modal\"!==this.mode)?t||\"/\":window.location.href}#I(t){let a={};return e.keys.forEach(e=>{a[e]=t[e]}),er(this.#O(this.#T(en(a,Boolean))),e=>e.toString())}#A(t){let a={};return e.keys.forEach(e=>{t instanceof URLSearchParams?a[e]=t.get(es(e)):a[e]=t[es(e)]}),er(this.#O(this.#T(en(a,Boolean))),e=>e.toString())}#T(e){return er(e,e=>eO(e,window.location.origin))}#O=e=>{let t,a;return en(e,(t=this.options?.allowedRedirectOrigins,a=window.location.origin,e=>{let r=e;if(\"string\"==typeof r&&(r=eO(r,a)),!t)return!0;let n=a===r.origin,i=!function(e){if(function(e){if(!function(e){if(!e)return!1;try{return new URL(e),!0}catch{return!1}}(e))return!1;let t=new URL(e).protocol;return eS.some(e=>e===t)}(e))return!0;for(let t of eT)if(t.test(e.pathname))return!0;return!1}(r)&&(n||t.map(e=>\"string\"==typeof e?(e=>{try{return ee(e)}catch(t){throw Error(`Invalid pattern: ${e}.\nConsult the documentation of glob-to-regexp here: https://www.npmjs.com/package/glob-to-regexp.\n${t.message}`)}})(eq(e)):e).some(e=>e.test(eq(r.origin))));return i||ea(`Clerk: Redirect URL ${r} is not on one of the allowedRedirectOrigins, falling back to the default redirect URL.`),i}))}};let eB=\"__clerk_netlify_cache_bust\",eN=[\"__clerk_status\",\"__clerk_created_session\",\"__clerk_invitation_token\",\"__clerk_ticket\",\"__clerk_modal_state\",\"__clerk_handshake\",\"__clerk_handshake_nonce\",\"__clerk_help\",eB,G,Y,$];function eD(e){return new URL(window.location.href).searchParams.get(e)||null}function eF(e){let t=new URL(window.location.href);t.searchParams.has(e)&&(t.searchParams.delete(e),window.history.replaceState(window.history.state,\"\",t))}function eL(e){let t=new URLSearchParams(window.location.search),a=e||new URLSearchParams;for(let e of eN){let r=t.get(e);r&&a.set(e,r)}return a}let eW={\"choose-organization\":\"choose-organization\",\"reset-password\":\"reset-password\",\"setup-mfa\":\"setup-mfa\"},eK=e=>`/tasks/${eW[e.key]}`;function eH(e,{navigate:t,baseUrl:a}){let r=e.currentTask;if(r){var n;let e;return t((n={base:a},e=eL(),eC({base:n.base,hashPath:eK(r),searchParams:e},{stringify:!0})))}}let eV=e=>`🔒 Clerk:\n${e.trim()}\n(This notice only appears in development)`,eG=e=>eV(`${e} as a function is not supported in this environment. The value will be ignored. Provide an absolute URL instead.`),eJ={proxyUrlAsFunctionNotSupported:eG(\"proxyUrl\"),domainAsFunctionNotSupported:eG(\"domain\"),cannotRenderComponentWhenSessionExists:\"The and components cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the Home URL instead.\",cannotRenderSignUpComponentWhenSessionExists:\"The component cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the value set in `afterSignUp` URL instead.\",cannotRenderSignUpComponentWhenTaskExists:\"The component cannot render when a user has a pending task, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the task instead.\",cannotRenderComponentWhenTaskDoesNotExist:\" cannot render unless a session task is pending. Clerk is redirecting to the value set in `redirectUrlComplete` instead.\",cannotRenderSignInComponentWhenSessionExists:\"The component cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the `afterSignIn` URL instead.\",cannotRenderSignInComponentWhenTaskExists:\"The component cannot render when a user has a pending task, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the task instead.\",cannotRenderComponentWhenUserDoesNotExist:\" cannot render unless a user is signed in. Since no user is signed in, this is no-op.\",cannotRenderComponentWhenOrgDoesNotExist:\" cannot render unless an organization is active. Since no organization is currently active, this is no-op.\",cannotRenderAnyOrganizationComponent:e=>eV(`The <${e}/> cannot be rendered when the feature is turned off. Visit 'dashboard.clerk.com' to enable the feature. Since the feature is turned off, this is no-op.`),cannotRenderAnyBillingComponent:e=>eV(`The <${e}/> component cannot be rendered when billing is disabled. Visit 'https://dashboard.clerk.com/last-active?path=billing/settings' to follow the necessary steps to enable billing. Since billing is disabled, this is no-op.`),cannotOpenUserProfile:\"The UserProfile modal cannot render unless a user is signed in. Since no user is signed in, this is no-op.\",cannotOpenCheckout:\"The Checkout drawer cannot render unless a user is signed in. Since no user is signed in, this is no-op.\",cannotOpenSignInOrSignUp:\"The SignIn or SignUp modals do not render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, this is no-op.\",cannotRenderAPIKeysComponent:\"The component cannot be rendered when API keys is disabled. Since API keys is disabled, this is no-op.\",cannotRenderAPIKeysComponentForOrgWhenUnauthorized:\"The component cannot be rendered for an organization unless a user has the required permissions. Since the user does not have the necessary permissions, this is no-op.\",cannotRenderAPIKeysComponentForUserWhenDisabled:\"The component cannot be rendered when user API keys are disabled. Since user API keys are disabled, this is no-op.\",cannotRenderAPIKeysComponentForOrgWhenDisabled:\"The component cannot be rendered when organization API keys are disabled. Since organization API keys are disabled, this is no-op.\",cannotRenderOAuthConsentComponentWhenUserDoesNotExist:\" cannot render unless a user is signed in. Since no user is signed in, this is no-op.\"};for(let e of Object.keys(eJ)){let t=eJ[e];\"function\"!=typeof t&&(eJ[e]=eV(t))}let eZ=\"clerk:beforeunload\",e$=[\"http:\",\"https:\",\"wails:\",\"chrome-extension:\"];function eY(e){let t=new URL(e,window.location.href);window.dispatchEvent(new CustomEvent(eZ)),window.location.href=t.href}function eQ(e){return/^http(s)?:\\/\\//.test(e||\"\")}function eX(e){return e.startsWith(\"/\")}var e1=class{#c;#U=864e5;constructor(e){this.#c=e}isEventThrottled(e){let t=Date.now(),a=this.#M(e),r=this.#c.getItem(a);return!!r&&!(t-r>this.#U)||(this.#c.setItem(a,t),!1)}#M(e){let{sk:t,pk:a,payload:r,...n}=e,i={...r,...n};return JSON.stringify(Object.keys({...r,...n}).sort().map(e=>i[e]))}},e0=class{#R=\"clerk_telemetry_throttler\";getItem(e){return this.#B()[e]}setItem(e,t){try{let a=this.#B();a[e]=t,localStorage.setItem(this.#R,JSON.stringify(a))}catch(e){e instanceof DOMException&&(\"QuotaExceededError\"===e.name||\"NS_ERROR_DOM_QUOTA_REACHED\"===e.name)&&localStorage.length>0&&localStorage.removeItem(this.#R)}}removeItem(e){try{let t=this.#B();delete t[e],localStorage.setItem(this.#R,JSON.stringify(t))}catch{}}#B(){try{let e=localStorage.getItem(this.#R);if(!e)return{};return JSON.parse(e)}catch{return{}}}static isSupported(){return\"u\">typeof window&&!!window.localStorage}},e2=class{#c=new Map;#N=1e4;getItem(e){return this.#c.size>this.#N?void this.#c.clear():this.#c.get(e)}setItem(e,t){this.#c.set(e,t)}removeItem(e){this.#c.delete(e)}};let e3=new Set([\"error\",\"warn\",\"info\",\"debug\",\"trace\"]);var e9=class{#D;#F;#L={};#W=[];#K=null;constructor(e){this.#D={maxBufferSize:e.maxBufferSize??5,samplingRate:e.samplingRate??1,perEventSampling:e.perEventSampling??!0,disabled:e.disabled??!1,debug:e.debug??!1,endpoint:\"https://clerk-telemetry.com\"},!e.clerkVersion&&\"u\"typeof process&&process.env&&eu(process.env.CLERK_TELEMETRY_DISABLED)||\"u\">typeof window&&window?.navigator?.webdriver)}get isDebug(){return this.#D.debug||\"u\">typeof process&&process.env&&eu(process.env.CLERK_TELEMETRY_DEBUG)}record(e){try{let t=this.#H(e.event,e.payload);if(this.#V(t.event,t),!this.#G(t,e.eventSamplingRate))return;this.#W.push({kind:\"event\",value:t}),this.#J()}catch(e){console.error(\"[clerk/telemetry] Error recording telemetry event\",e)}}recordLog(e){try{if(!this.#Z(e))return;let t=\"string\"==typeof e?.level&&e3.has(e.level),a=\"string\"==typeof e?.message&&e.message.trim().length>0,r=null,n=e?.timestamp;if(\"number\"==typeof n||\"string\"==typeof n){let e=new Date(n);Number.isNaN(e.getTime())||(r=e)}if(!t||!a||null===r){this.isDebug&&\"u\">typeof console&&console.warn(\"[clerk/telemetry] Dropping invalid telemetry log entry\",{levelIsValid:t,messageIsValid:a,timestampIsValid:null!==r});return}let i=this.#$(),s={sdk:i.name,sdkv:i.version,cv:this.#L.clerkVersion??\"\",lvl:e.level,msg:e.message,ts:r.toISOString(),pk:this.#L.publishableKey||null,payload:this.#Y(e.context)};this.#W.push({kind:\"log\",value:s}),this.#J()}catch(e){console.error(\"[clerk/telemetry] Error recording telemetry log entry\",e)}}#G(e,t){return this.isEnabled&&!this.isDebug&&this.#Q(e,t)}#Z(e){return!0}#Q(e,t){let a=Math.random();return!!(a<=this.#D.samplingRate&&(!1===this.#D.perEventSampling||void 0===t||a<=t))&&!this.#F.isEventThrottled(e)}#J(){if(\"u\"=this.#D.maxBufferSize){this.#K&&(\"u\">typeof cancelIdleCallback?cancelIdleCallback(Number(this.#K)):clearTimeout(Number(this.#K))),this.#X();return}this.#K||(\"requestIdleCallback\"in window?this.#K=requestIdleCallback(()=>{this.#X(),this.#K=null}):this.#K=setTimeout(()=>{this.#X(),this.#K=null},0))}#X(){let e=[...this.#W];if(this.#W=[],this.#K=null,0===e.length)return;let t=e.filter(e=>\"event\"===e.kind).map(e=>e.value),a=e.filter(e=>\"log\"===e.kind).map(e=>e.value);t.length>0&&fetch(new URL(\"/v1/event\",this.#D.endpoint),{headers:{\"Content-Type\":\"application/json\"},keepalive:!0,method:\"POST\",body:JSON.stringify({events:t})}).catch(()=>void 0),a.length>0&&fetch(new URL(\"/v1/logs\",this.#D.endpoint),{headers:{\"Content-Type\":\"application/json\"},keepalive:!0,method:\"POST\",body:JSON.stringify({logs:a})}).catch(()=>void 0)}#V(e,t){this.isDebug&&(void 0!==console.groupCollapsed?(console.groupCollapsed(\"[clerk/telemetry]\",e),console.log(t),console.groupEnd()):console.log(\"[clerk/telemetry]\",e,t))}#$(){let e={name:this.#L.sdk,version:this.#L.sdkVersion};if(\"u\">typeof window){let t=window;if(t.Clerk){let a=t.Clerk;if(\"object\"==typeof a&&null!==a&&\"constructor\"in a&&\"function\"==typeof a.constructor&&a.constructor.sdkMetadata){let{name:t,version:r}=a.constructor.sdkMetadata;void 0!==t&&(e.name=t),void 0!==r&&(e.version=r)}}}return e}#H(e,t){let a=this.#$();return{event:e,cv:this.#L.clerkVersion??\"\",it:this.#L.instanceType??\"\",sdk:a.name,sdkv:a.version,...this.#L.publishableKey?{pk:this.#L.publishableKey}:{},...this.#L.secretKey?{sk:this.#L.secretKey}:{},payload:t}}#Y(e){if(null==e||\"object\"!=typeof e)return null;try{let t=JSON.parse(JSON.stringify(e));if(t&&\"object\"==typeof t&&!Array.isArray(t))return t;return null}catch{return null}}};let e5=\"COMPONENT_MOUNTED\",e6=new Set([\"SignIn\",\"SignUp\"]);function e8(e){return function(t,a,r){return{event:e,eventSamplingRate:e===e5?e6.has(t)?1:.1:.1,payload:{component:t,appearanceProp:!!a?.appearance,theme:!!a?.appearance?.theme,elements:!!a?.appearance?.elements,variables:!!a?.appearance?.variables,...r}}}}function e4(e,t,a){return e8(e5)(e,t,a)}function e7(e,t,a){return e8(\"COMPONENT_OPENED\")(e,t,a)}function te(e){return\"string\"==typeof e?e:\"object\"==typeof e&&null!==e&&\"name\"in e&&\"string\"==typeof e.name?e.name:void 0}var tt=n(7009);let ta=!1,tr=null,tn=!1,ti=[];function ts(e,t,a,r){ta&&(ti.push({level:e,message:t,context:a,source:r,ts:Date.now()}),ti.length>200&&ti.shift())}async function to(e){try{if(!ta||tr)return;let{getDebugLogger:t}=await Promise.resolve().then(n.bind(n,1521)),a=await t({logLevel:e?.logLevel,telemetryCollector:e?.telemetryCollector});if(a&&(tr=a)&&0!==ti.length){for(let e of ti){let t={...e.context||{},__preInit:!0,__preInitTs:e.ts};switch(e.level){case\"error\":tr.error(e.message,t,e.source);break;case\"warn\":tr.warn(e.message,t,e.source);break;case\"info\":tr.info(e.message,t,e.source);break;case\"debug\":tr.debug(e.message,t,e.source)}}ti.length=0}}catch(e){try{console.debug?.(\"Debug logger initialization failed\",e)}catch{}return}}let tl={debug(e,t,a){tr?tr.debug(e,t,a):ts(\"debug\",e,t,a)},error(e,t,a){tr?tr.error(e,t,a):ts(\"error\",e,t,a)},info(e,t,a){tr?tr.info(e,t,a):ts(\"info\",e,t,a)},warn(e,t,a){tr?tr.warn(e,t,a):ts(\"warn\",e,t,a)}},tc={initialDelay:125,maxDelayBetweenRetries:0,factor:2,shouldRetry:(e,t)=>t<5,retryImmediately:!1,jitter:!0},tu=async e=>new Promise(t=>setTimeout(t,e)),td=(e,t)=>t?e*(1+Math.random()):e,th=async(e,t={})=>{var a;let r,n=0,{shouldRetry:i,initialDelay:s,maxDelayBetweenRetries:o,factor:l,retryImmediately:c,jitter:u,onBeforeRetry:d}={...tc,...t},h=(a={initialDelay:s,maxDelayBetweenRetries:o,factor:l,jitter:u},r=0,async()=>{let e;await tu((e=td(e=a.initialDelay*Math.pow(a.factor,r),a.jitter),Math.min(a.maxDelayBetweenRetries||e,e))),r++});for(;;)try{return await e()}catch(e){if(!i(e,++n))throw e;d&&await d(n),c&&1===n?await tu(td(100,u)):await h()}},tm=async e=>th(e,{initialDelay:100,shouldRetry:(e,t)=>t<=3,retryImmediately:!0,factor:2});class tp{#ee={\"@zxcvbn-ts/core\":()=>tm(()=>Promise.resolve().then(n.bind(n,1835))),\"@zxcvbn-ts/language-common\":()=>tm(()=>Promise.resolve().then(n.bind(n,3618))),\"@base-org/account\":()=>tm(()=>Promise.resolve().then(n.bind(n,9018))),\"@coinbase/wallet-sdk\":()=>tm(()=>Promise.resolve().then(n.bind(n,1276))),\"@stripe/stripe-js\":()=>tm(()=>Promise.resolve().then(n.bind(n,8755)))};import(e){return this.#ee[e]?this.#ee[e]():Promise.resolve(void 0)}}let tf=(e=!1)=>{let t,a;if(!e)return{track:async e=>{await e()},isUnloading:()=>!1};let r=(t=!1,a=()=>t=!0,{startListening:()=>{window.addEventListener(\"beforeunload\",a),window.addEventListener(eZ,a)},stopListening:()=>{window.removeEventListener(\"beforeunload\",a),window.removeEventListener(eZ,a)},isUnloading:()=>t});return{track:async e=>{r.startListening(),await e(),r.stopListening()},isUnloading:r.isUnloading}},tg=e=>({amount:e.amount,amountFormatted:e.amount_formatted,currency:e.currency,currencySymbol:e.currency_symbol}),tb=e=>({proration:e.proration?{amount:tg(e.proration.amount),cycleDaysRemaining:e.proration.cycle_days_remaining,cycleDaysTotal:e.proration.cycle_days_total,cycleRemainingPercent:e.proration.cycle_remaining_percent}:null,payer:e.payer?{remainingBalance:tg(e.payer.remaining_balance),appliedAmount:tg(e.payer.applied_amount)}:null,total:tg(e.total)}),ty=e=>{let t={grandTotal:tg(e.grand_total),subtotal:tg(e.subtotal),taxTotal:tg(e.tax_total)};return\"past_due\"in e&&(t.pastDue=e.past_due?tg(e.past_due):null),\"credit\"in e&&(t.credit=e.credit?tg(e.credit):null),\"per_unit_totals\"in e&&(t.perUnitTotals=e.per_unit_totals?e.per_unit_totals.map(e=>({name:e.name,blockSize:e.block_size,tiers:e.tiers.map(e=>({quantity:e.quantity,feePerBlock:tg(e.fee_per_block),total:tg(e.total)}))})):void 0),\"credits\"in e&&(t.credits=e.credits?tb(e.credits):null),\"total_due_now\"in e&&(t.totalDueNow=tg(e.total_due_now)),\"total_due_after_free_trial\"in e&&(t.totalDueAfterFreeTrial=e.total_due_after_free_trial?tg(e.total_due_after_free_trial):null),t};function tw(e,t=\"\"){return e.errors&&!!e.errors.find(e=>e.code===t)}let tk=C({packageName:\"@clerk/clerk-js\"});function tv(e){return decodeURIComponent(globalThis.atob(e.replace(/_/g,\"/\").replace(/-/g,\"+\")).split(\"\").map(e=>\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2)).join(\"\"))}function tx(e){let t=(e||\"\").split(\".\"),[a,r,n]=t;if(3!==t.length||!a||!r||!n)throw Error(\"JWT could not be decoded\");let i=JSON.parse(tv(r)),s={__raw:e};return Object.keys(i).forEach(e=>{s[e]=i[e]}),{encoded:{header:a,payload:r,signature:n},header:JSON.parse(tv(a)),claims:s}}function t_(){if(!o())return null;try{let e=navigator?.language;if(!e||\"string\"!=typeof e||\"\"===e.trim())return null;return e}catch{return null}}function tj(){return void 0!==globalThis.document}function tz(){if(!function(){if(!tj())return!1;try{return window.self!==window.top}catch{return!0}}())return!1;try{return window.top?.location.href,!1}catch{return!0}}var tS=class e{#et=[];#ea={metamask:\"MetaMask\",okx_wallet:\"OKX Wallet\"};static #er=null;constructor(){if(\"u\"{let t=this.#et.find(t=>t.info.name===this.#ea[e])?.provider;return void 0!==t?t:window.ethereum};#en=e=>{this.#et.some(t=>t.info.uuid===e.detail.info.uuid)||this.#et.push(e.detail)}},tI=class e{#ei=void 0;#es=!1;static #er=null;async #eo(){if(this.#es)return;this.#es=!0;let e=await Promise.resolve().then(n.bind(n,7410)).then(e=>e.getWallets());this.#ei=e.get(),e.on(\"register\",()=>{this.#ei=e.get()}),e.on(\"unregister\",()=>{this.#ei=e.get()})}#el(e){return e.chains?.some(e=>e.startsWith(\"solana:\"))??!1}#ec(e){return\"solana:signMessage\"in e.features}static getInstance(){return e.#er||(e.#er=new e),e.#er}get=async e=>{await this.#eo();let t=(this.#ei||[]).find(t=>t.name===e&&this.#el(t)&&this.#ec(t));if(t&&this.#el(t))return t;if(\"u\"(function(e){let t=C({packageName:\"@clerk/shared\"});async function a(e){let{provider:t,walletName:a}=e,r=await p(t,a);if(!r)return\"\";if(\"solana\"===t){let e=await r.features[\"standard:connect\"].connect();return e&&e.accounts[0].address||\"\"}let n=await r.request({method:\"eth_requestAccounts\"});return n&&n[0]||\"\"}let r=async e=>{let{identifier:t,nonce:a,provider:r,walletName:n=\"\"}=e,i=await p(r,n);if(!i)return\"\";if(\"solana\"===r)try{let e=i.accounts.find(e=>e.address===t);if(!e)return console.warn(`Wallet account with address ${t} not found`),\"\";let r=await i.features[\"solana:signMessage\"]?.signMessage({account:e,message:new TextEncoder().encode(a)});return r?.[0]?.signature?btoa(String.fromCharCode(...r[0].signature)):\"\"}catch(e){if(e instanceof Error&&e.message.includes(\"User rejected the request.\"))throw new x(\"Web3 signature request was rejected by the user.\",{code:\"web3_signature_request_rejected\"});throw new x(\"An error occurred while generating the Solana signature.\",{code:\"web3_solana_signature_generation_failed\",cause:e instanceof Error?e:void 0})}return await i.request({method:\"personal_sign\",params:[`0x${a.split(\"\").map(e=>e.charCodeAt(0).toString(16).padStart(2,\"0\")).join(\"\")}`,t]})};async function n(){return await a({provider:\"metamask\"})}async function i(){return await a({provider:\"coinbase_wallet\"})}async function s(){return await a({provider:\"okx_wallet\"})}async function o(){return await a({provider:\"base\"})}async function l(e){return await a({provider:\"solana\",walletName:e})}async function c(e){return await r({...e,provider:\"metamask\"})}async function u(e){return await r({...e,provider:\"coinbase_wallet\"})}async function d(e){return await r({...e,provider:\"okx_wallet\"})}async function h(e){return await r({...e,provider:\"base\"})}async function m(e){return await r({...e,provider:\"solana\"})}async function p(a,r){if(\"coinbase_wallet\"===a){let t=await e.import(\"@coinbase/wallet-sdk\");return t?t.createCoinbaseWalletSDK({appName:\"u\">typeof window&&window.Clerk?.__internal_environment?.displayConfig?.applicationName||\"u\">typeof document&&document.title||\"Web3 Application\",preference:{options:\"all\"}}).getProvider():null}if(\"base\"===a)try{let t=await e.import(\"@base-org/account\");if(!t)return null;return t.createBaseAccountSDK({appName:\"u\">typeof window&&window.Clerk?.__internal_environment?.displayConfig?.applicationName||\"u\">typeof document&&document.title||\"Web3 Application\"}).getProvider()}catch{return null}return\"solana\"===a?r&&0!==r.length?await tI.getInstance().get(r):void t.throw(\"Wallet name must be provided to get Solana wallet provider\"):tS.getInstance().get(a)}return{getWeb3Identifier:a,generateWeb3Signature:r,getMetamaskIdentifier:n,getCoinbaseWalletIdentifier:i,getOKXWalletIdentifier:s,getBaseIdentifier:o,getSolanaIdentifier:l,generateSignatureWithMetamask:c,generateSignatureWithCoinbaseWallet:u,generateSignatureWithOKXWallet:d,generateSignatureWithBase:h,generateSignatureWithSolana:m}})(new tp),tE=\"environment\",tC=JSON.stringify,tP=JSON.parse;class tq{static _key(e){return`__clerk_${e}`}static isExpired(e){return!!e.exp&&Date.now()>e.exp}static setItem(e,t,a){try{let r={value:t,...a&&{exp:Date.now()+a}};window.localStorage.setItem(this._key(e),tC(r))}catch{}}static getItem(e,t){try{let a=window.localStorage.getItem(this._key(e));if(!a)return t;let r=tP(a);if(!r)return t;if(this.isExpired(r))return this.removeItem(e),t;return r?.value??t}catch{return t}}static removeItem(e){try{window.localStorage.removeItem(this._key(e))}catch{}}}let tO=\"ClerkJS:\";function tT(e=\"\"){throw Error(`${tO} Something went wrong initializing Clerk in development mode.${e&&` ${e}`}`)}function tU(e){throw Error(`${tO} Something went wrong initializing Clerk during the ${e} flow. Please contact support.`)}function tM(e){throw Error(`${tO} You need to start a ${e} flow by calling ${e}.create() first.`)}function tR(e,t){throw Error(`${tO} Strategy \"${t}\" is not a valid strategy for ${e}.`)}function tB(e){throw Error(`${tO} You need to start a ${e} flow by calling ${e}.create({ identifier: 'your web3 wallet address' }) first`)}function tN(e=\"\"){throw Error(`${tO} Missing '${e}' option`)}function tD(e,t){throw Error(`${tO} Response: ${e||0} not supported yet.\nFor more information contact us at ${t}`)}function tF(e){throw Error(`${tO} Missing publicKey. When calling 'navigator.credentials.${e}()' it is required to pass a publicKey object.`)}async function tL(e=\"\",t){let{async:a,defer:r,beforeLoad:n,crossOrigin:i,nonce:s}=t||{};return th(()=>new Promise((t,o)=>{e||o(Error(\"loadScript cannot be called without a src\")),document&&document.body||o(Error(\"loadScript cannot be called when document does not exist\"));let l=document.createElement(\"script\");i&&l.setAttribute(\"crossorigin\",i),l.async=a||!1,l.defer=r||!1,l.addEventListener(\"load\",()=>{l.remove(),t(l)}),l.addEventListener(\"error\",t=>{l.remove(),o(t.error??Error(`failed to load script: ${e}`))}),l.src=e,l.nonce=s,n?.(l),document.body.appendChild(l)}),{shouldRetry:(e,t)=>t<=5})}async function tW(e){return window.turnstile||await tK(e).catch(()=>{throw{captchaError:\"captcha_script_failed_to_load\"}}),window.turnstile}async function tK(e){try{return await tL(\"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit\",{defer:!0,nonce:e})}catch(e){throw console.warn(\"Clerk: Failed to load the CAPTCHA script from Cloudflare. If you see a CSP error in your browser, please add the necessary CSP rules to your app. Visit https://clerk.com/docs/security/clerk-csp for more information.\"),e}}function tH(e){try{let t=e.getAttribute(\"data-cl-theme\")||void 0,a=e.getAttribute(\"data-cl-language\")||void 0,r=e.getAttribute(\"data-cl-size\")||void 0;return{theme:t,language:a,size:r}}catch{return{theme:void 0,language:void 0,size:void 0}}}let tV=async e=>{let t,a,r,n,{siteKey:i,widgetType:s,invisibleSiteKey:o,nonce:l}=e,{modalContainerQuerySelector:c,modalWrapperQuerySelector:u,closeModal:d,openModal:h}=e,m=await tW(l),p=[],f=\"\",g=\"\",b=i,y=0,w=null,k=\"invisible\";if(c&&u){w=s,n=c,k=\"modal\";try{await h?.()}catch{throw{captchaError:\"modal_component_not_ready\"}}let e=await new Promise(e=>{if(document.querySelector(c))return e(document.querySelector(c));let t=new MutationObserver(()=>{document.querySelector(c)&&(t.disconnect(),e(document.querySelector(c)))});t.observe(document.body,{childList:!0,subtree:!0})});if(e){let{theme:n,language:i,size:s}=tH(e);t=n,r=i,a=s}}if(!n&&\"smart\"===s){let e=document.getElementById(Q);if(e){k=\"smart\",w=\"smart\",n=`#${Q}`,e.style.maxHeight=\"0\";let{theme:i,language:s,size:o}=tH(e);t=i,r=s,a=o}else console.error(\"Cannot initialize Smart CAPTCHA widget because the `clerk-captcha` DOM element was not found; falling back to Invisible CAPTCHA widget. If you are using a custom flow, visit https://clerk.com/docs/guides/development/custom-flows/authentication/bot-sign-up-protection for instructions\")}if(!n){k=\"invisible\",b=o,w=\"invisible\",n=`.${X}`;let e=document.createElement(\"div\");e.classList.add(X),e.style.display=\"none\",document.body.appendChild(e)}let v=async()=>new Promise((i,s)=>{try{let o=m.render(n,{sitekey:b,appearance:\"interaction-only\",theme:t||\"auto\",size:a||\"normal\",language:r||\"auto\",action:e.action,retry:\"never\",\"refresh-expired\":\"auto\",callback:function(e){d?.(),i([e,o])},\"before-interactive-callback\":()=>{if(u){let e=document.querySelector(u);e?.style.setProperty(\"visibility\",\"visible\"),e?.style.setProperty(\"pointer-events\",\"all\")}else{let e=document.getElementById(Q);e&&(e.style.maxHeight=\"unset\",e.style.minHeight=\"compact\"===a?\"140px\":\"68px\",e.style.marginBottom=\"1.5rem\")}},\"error-callback\":function(e){var t;(p.push(e),y<2&&(t=e.toString(),[\"crashed\",\"undefined_error\",\"102\",\"103\",\"104\",\"106\",\"110600\",\"300\",\"600\"].find(e=>t.startsWith(e))))?setTimeout(()=>{n&&!document.querySelector(n)?s([p.join(\",\"),o]):(m.reset(o),y++)},250):s([p.join(\",\"),o])},\"unsupported-callback\":function(){return s([\"This browser is not supported by the CAPTCHA.\",o]),!0}})}catch(e){s([e,void 0])}});try{[f,g]=await v(),m.remove(g)}catch([e,t]){throw t&&m.remove(t),{captchaError:e}}finally{if(\"modal\"===k&&d?.(),\"invisible\"===k){let e=document.querySelector(`.${X}`);e&&document.body.removeChild(e)}if(\"smart\"===k){let e=document.getElementById(Q);e&&(e.style.maxHeight=\"0\",e.style.minHeight=\"unset\",e.style.marginBottom=\"unset\")}}return{captchaToken:f,captchaWidgetType:w}},tG=e=>{let t=e.__internal_environment,a=t?t.displayConfig.captchaProvider:\"turnstile\",r=e.__internal_getOption?.(\"nonce\");return{captchaSiteKey:t?t.displayConfig.captchaPublicKey:null,captchaWidgetType:t?t.displayConfig.captchaWidgetType:null,captchaProvider:a,captchaPublicKeyInvisible:t?t.displayConfig.captchaPublicKeyInvisible:null,canUseCaptcha:t?t.userSettings.signUp.captcha_enabled&&e.isStandardBrowser:null,nonce:r||void 0}};class tJ{clerk;constructor(e){this.clerk=e}async invisible(e){let{captchaSiteKey:t,canUseCaptcha:a,captchaPublicKeyInvisible:r,nonce:n}=tG(this.clerk);return a&&t&&r?{...await tV({action:e?.action,captchaProvider:\"turnstile\",invisibleSiteKey:r,nonce:e?.nonce||n||void 0,siteKey:r,widgetType:\"invisible\"}).catch(e=>e.captchaError?{captchaError:e.captchaError}:{captchaError:e?.message||e||\"unexpected_captcha_error\"}),captchaAction:e?.action}:{captchaError:\"captcha_unavailable\",captchaAction:e?.action}}async managedOrInvisible(e){let{captchaSiteKey:t,canUseCaptcha:a,captchaWidgetType:r,captchaProvider:n,captchaPublicKeyInvisible:i,nonce:s}=tG(this.clerk);if(a&&t&&i){let a=await tV({captchaProvider:n,invisibleSiteKey:i,nonce:s||void 0,siteKey:t,widgetType:r,...e}).catch(t=>t.captchaError?{captchaError:t.captchaError}:e?.action===\"verify\"?{captchaError:t?.message||t||\"unexpected_captcha_error\"}:void 0);return e?.action===\"verify\"?{...a,captchaAction:\"verify\"}:a}return e?.action===\"verify\"?{captchaError:\"captcha_unavailable\",captchaAction:e?.action}:{}}async managedInModal(e){if(\"u\"this.clerk.__internal_openBlankCaptchaModal(),closeModal:()=>this.clerk.__internal_closeBlankCaptchaModal(),action:e?.action})}}class tZ{client;CaptchaChallengeImpl;static instance;inflightException=null;captchaRetryCount=0;MAX_RETRY_ATTEMPTS=3;static getInstance(){return tZ.instance||(tZ.instance=new tZ(a6,tJ)),tZ.instance}constructor(e,t){this.client=e,this.CaptchaChallengeImpl=t}async execute(e,t){if(this.captchaAttemptsExceeded())throw new x(\"Security verification failed. Please try again by refreshing the page, clearing your browser cookies, or using a different web browser.\",{code:\"captcha_client_attempts_exceeded\"});try{return this.inflightException&&await this.inflightException,await t()}catch(r){let a;if(!S(r)||_(r)&&\"network_error\"===r.code||r.errors[0]?.code!==\"requires_captcha\")throw r;if(this.inflightException)return await this.inflightException,await t();this.inflightException=new Promise(e=>a=e);try{let t=await this.managedChallenge(e);t?.captchaError!==\"modal_component_not_ready\"&&(await this.client.getOrCreateInstance().__internal_sendCaptchaToken(t),this.captchaRetryCount=0)}catch(e){throw this.captchaRetryCount++,e}finally{a(),this.inflightException=null}return await t()}}managedChallenge(e){return new this.CaptchaChallengeImpl(e).managedInModal({action:\"verify\"})}captchaAttemptsExceeded=()=>this.captchaRetryCount>=this.MAX_RETRY_ATTEMPTS}class t${static clerk;id;pathRoot=\"\";static get fapiClient(){return t$.clerk.getFapiClient()}async reload(e){let{rotatingTokenNonce:t}=e||{};return this._baseGet({forceUpdateClient:!0,rotatingTokenNonce:t})}isNew(){return!this.id}static async _fetch(e,t={}){return tZ.getInstance().execute(this.clerk,()=>this._baseFetch(e,t))}static async _baseFetch(e,t={}){let a;t$.fapiClient||function(){throw Error(`${tO} Missing FAPI client in resources.`)}();let{fetchMaxTries:r}=t;try{a=await t$.fapiClient.request(e,{fetchMaxTries:r})}catch(t){if(this.shouldRethrowOfflineNetworkErrors())throw new x(t?.message||t,{code:\"network_error\"});if(!d())return tl.warn(\"Network request failed while offline, returning null\",{method:e.method,path:e.path},\"baseResource\"),null;throw t}let{payload:n,status:i,statusText:s,headers:o}=a;if(o){let e=o.get(\"x-country\");this.clerk.__internal_setCountry(e?e.toLowerCase():null)}if((\"GET\"!==e.method||t.forceUpdateClient)&&!t.skipUpdateClient&&this._updateClient(n),i>=200&&i<=299)return n;if(i>=400){let e=n?.errors,t=e?.[0]?.long_message,a=e?.[0]?.code;401===i&&\"dev_browser_unauthenticated\"===a?await t$.clerk.__internal_handleUnauthenticatedDevBrowser():401===i&&\"requires_captcha\"!==a&&await t$.clerk.handleUnauthenticated(),function(e,t){var a;if(!t||!t[0])return;let r=t[0],n=r.long_message;if(\"origin_invalid\"===r.code&&((a=t$.clerk.publishableKey).startsWith(\"live_\")||a.startsWith(\"pk_live_\"))){let a=t$.clerk.frontendApi.replace(\"clerk.\",\"\");throw new z(`Clerk: Production Keys are only allowed for domain \"${a}\". \nAPI Error: ${n}`,{data:t,status:e})}}(i,e);let r={data:e,status:i};if(429===i&&o){let e=o.get(\"retry-after\");if(e){let t=parseInt(e,10);isNaN(t)||(r.retryAfter=t)}}throw new z(t||s,r)}return null}static _updateClient(e){let t=a5(e);t&&t$.clerk&&t$.clerk.updateClient(t)}path(e){let t=this.pathRoot;if(this.isNew())return t;let a=t.replace(/[^/]$/,\"$&/\")+encodeURIComponent(this.id);return e?a.replace(/[^/]$/,\"$&/\")+encodeURIComponent(e):a}withDefault(e,t){return e??t}async _baseGet(e={}){let t=await t$._fetch({method:\"GET\",path:this.path(),rotatingTokenNonce:e.rotatingTokenNonce},e);return this.fromJSON(t?.response||t)}async _baseMutate(e){let{action:t,body:a,method:r,path:n}=e,i=await t$._fetch({method:r,path:n||this.path(t),body:a});return this.fromJSON(i?.response||i)}async _baseMutateBypass(e){let{action:t,body:a,method:r,path:n}=e,i=await t$._baseFetch({method:r,path:n||this.path(t),body:a});return this.fromJSON(i?.response||i)}async _basePost(e={}){return this._baseMutate({...e,method:\"POST\"})}async _basePostBypass(e={}){return this._baseMutateBypass({...e,method:\"POST\"})}async _basePut(e={}){return this._baseMutate({...e,method:\"PUT\"})}async _basePatch(e={}){return this._baseMutate({...e,method:\"PATCH\"})}async _baseDelete(e={}){await this._baseMutate({...e,method:\"DELETE\"})}static shouldRethrowOfflineNetworkErrors(){let e=t$.clerk?.__internal_getOption?.(\"experimental\");return e?.rethrowOfflineNetworkErrors||!1}}function tY(e){let t=new Date(e||new Date);return t instanceof Date&&!isNaN(t.getTime())?t:new Date}class tQ extends t${pathRoot=\"/api_keys\";id;type;name;subject;scopes;claims;revoked;revocationReason;expired;expiration;createdBy;description;secret;lastUsedAt;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.type=e.type,this.name=e.name,this.subject=e.subject,this.scopes=e.scopes,this.claims=e.claims,this.revoked=e.revoked,this.revocationReason=e.revocation_reason,this.expired=e.expired,this.expiration=e.expiration?tY(e.expiration):null,this.createdBy=e.created_by,this.description=e.description,this.secret=e.secret,this.lastUsedAt=e.last_used_at?tY(e.last_used_at):null,this.updatedAt=tY(e.updated_at),this.createdAt=tY(e.created_at)),this}__internal_toSnapshot(){return{object:\"api_key\",id:this.id,type:this.type,name:this.name,subject:this.subject,scopes:this.scopes,claims:this.claims,revoked:this.revoked,revocation_reason:this.revocationReason,expired:this.expired,expiration:this.expiration?this.expiration.getTime():null,created_by:this.createdBy,description:this.description,last_used_at:this.lastUsedAt?this.lastUsedAt.getTime():null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}class tX extends t${claimedAt=null;reverification=!1;singleSessionMode=!1;preferredChannels=null;sessionMinter=!1;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.claimedAt=this.withDefault(e.claimed_at?tY(e.claimed_at):null,this.claimedAt),this.reverification=this.withDefault(e.reverification,this.reverification),this.singleSessionMode=this.withDefault(e.single_session_mode,this.singleSessionMode),this.preferredChannels=this.withDefault(e.preferred_channels,this.preferredChannels),this.sessionMinter=this.withDefault(e.session_minter,this.sessionMinter)),this}__internal_toSnapshot(){return{claimed_at:this.claimedAt?this.claimedAt.getTime():null,id:this.id??\"\",object:\"auth_config\",reverification:this.reverification,single_session_mode:this.singleSessionMode,session_minter:this.sessionMinter}}}(y=k||(k={}))[y.None=0]=\"None\",y[y.Mutable=1]=\"Mutable\",y[y.Watching=2]=\"Watching\",y[y.RecursedCheck=4]=\"RecursedCheck\",y[y.Recursed=8]=\"Recursed\",y[y.Dirty=16]=\"Dirty\",y[y.Pending=32]=\"Pending\";let t1=[],{link:t0,unlink:t2,propagate:t3,checkDirty:t9,endTracking:t5,startTracking:t6,shallowPropagate:t8}=function({update:e,notify:t,unwatched:a}){let r=0;return{link:function(e,t){let a,n=t.depsTail;if(void 0!==n&&n.dep===e)return;if(4&t.flags&&void 0!==(a=void 0!==n?n.nextDep:t.deps)&&a.dep===e){a.version=r,t.depsTail=a;return}let i=e.subsTail;if(void 0!==i&&i.version===r&&i.sub===t)return;let s=t.depsTail=e.subsTail={version:r,dep:e,sub:t,prevDep:n,nextDep:a,prevSub:i,nextSub:void 0};void 0!==a&&(a.prevDep=s),void 0!==n?n.nextDep=s:t.deps=s,void 0!==i?i.nextSub=s:e.subs=s},unlink:n,propagate:function(e){let a,r=e.nextSub;t:for(;;){let n=e.sub,i=n.flags;if(3&i&&(60&i?12&i?4&i?!(48&i)&&function(e,t){let a=t.depsTail;if(void 0!==a){let r=t.deps;do{if(r===e)return!0;if(r===a)break;r=r.nextDep}while(void 0!==r)}return!1}(e,n)?(n.flags=40|i,i&=1):i=0:n.flags=-9&i|32:i=0:n.flags=32|i,2&i&&t(n),1&i)){let t=n.subs;if(void 0!==t){e=t,void 0!==t.nextSub&&(a={value:r,prev:a},r=e.nextSub);continue}}if(void 0!==(e=r)){r=e.nextSub;continue}for(;void 0!==a;)if(e=a.value,a=a.prev,void 0!==e){r=e.nextSub;continue t}break}},checkDirty:function(t,a){let r,n=0;t:for(;;){let s=t.dep,o=s.flags,l=!1;if(16&a.flags)l=!0;else if((17&o)==17){if(e(s)){let e=s.subs;void 0!==e.nextSub&&i(e),l=!0}}else if((33&o)==33){(void 0!==t.nextSub||void 0!==t.prevSub)&&(r={value:t,prev:r}),t=s.deps,a=s,++n;continue}if(!l&&void 0!==t.nextDep){t=t.nextDep;continue}for(;n;){--n;let s=a.subs,o=void 0!==s.nextSub;if(o?(t=r.value,r=r.prev):t=s,l){if(e(a)){o&&i(s),a=t.sub;continue}}else a.flags&=-33;if(a=t.sub,void 0!==t.nextDep){t=t.nextDep;continue t}l=!1}return l}},endTracking:function(e){let t=e.depsTail,a=void 0!==t?t.nextDep:e.deps;for(;void 0!==a;)a=n(a,e);e.flags&=-5},startTracking:function(e){++r,e.depsTail=void 0,e.flags=-57&e.flags|4},shallowPropagate:i};function n(e,t=e.sub){let r=e.dep,i=e.prevDep,s=e.nextDep,o=e.nextSub,l=e.prevSub;return void 0!==s?s.prevDep=i:t.depsTail=i,void 0!==i?i.nextDep=s:t.deps=s,void 0!==o?o.prevSub=l:r.subsTail=l,void 0!==l?l.nextSub=o:void 0===(r.subs=o)&&a(r),s}function i(e){do{let a=e.sub,r=e.nextSub,n=a.flags;(48&n)==32&&(a.flags=16|n,2&n&&t(a)),e=r}while(void 0!==e)}}({update:e=>\"getter\"in e?ai(e):as(e,e.value),notify:function e(t){let a=t.flags;if(!(64&a)){t.flags=64|a;let r=t.subs;void 0!==r?e(r.sub):t1[ae++]=t}},unwatched(e){if(\"getter\"in e){let t=e.deps;if(void 0!==t){e.flags=17;do t=t2(t,e);while(void 0!==t)}}else\"previousValue\"in e||au.call(e)}}),t4=0,t7=0,ae=0;function at(t){let a=e;return e=t,a}function aa(e){return ac.bind({previousValue:e,value:e,subs:void 0,subsTail:void 0,flags:1})}function ar(e){return al.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:17,getter:e})}function an(a){let r={fn:a,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:2};void 0!==e?t0(r,e):void 0!==t&&t0(r,t);let n=at(r);try{r.fn()}finally{at(n)}return au.bind(r)}function ai(e){let t=at(e);t6(e);try{let t=e.value;return t!==(e.value=e.getter(t))}finally{at(t),t5(e)}}function as(e,t){return e.flags=1,e.previousValue!==(e.previousValue=t)}function ao(){for(;t7(void 0!==a&&(e[t]=a),e),{}),limit:n+\"\",offset:((a??1)-1)*n+\"\"})}class ah{static #eu=\"/billing\";static path(e,t){let{orgId:a}=t||{},r=a?`/organizations/${a}`:\"/me\";return`${r}${ah.#eu}${e}`}getPlans=async e=>{let{for:t,...a}=e||{},r={...a,payer_type:\"organization\"===t?\"org\":\"user\"};return await t$._fetch({path:`${ah.#eu}/plans`,method:\"GET\",search:ad(r)}).then(e=>{let{data:t,total_count:a}=e;return{total_count:a,data:t.map(e=>new aM(e))}})};getPlan=async e=>new aM(await t$._fetch({path:`${ah.#eu}/plans/${e.id}`,method:\"GET\"}));getSubscription=async e=>await t$._fetch({path:ah.path(\"/subscription\",{orgId:e.orgId}),method:\"GET\"}).then(e=>new aN(e?.response));getStatements=async e=>{let{orgId:t,...a}=e;return await t$._fetch({path:ah.path(\"/statements\",{orgId:t}),method:\"GET\",search:ad(a)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new aR(e))}})};getStatement=async e=>new aR((await t$._fetch({path:ah.path(`/statements/${e.id}`,{orgId:e.orgId}),method:\"GET\"}))?.response);getPaymentAttempts=async e=>{let{orgId:t,...a}=e;return await t$._fetch({path:ah.path(\"/payment_attempts\",{orgId:t}),method:\"GET\",search:ad(a)}).then(e=>{let{data:t,total_count:a}=e;return{total_count:a,data:t.map(e=>new aE(e))}})};getPaymentAttempt=async e=>new aE(await t$._fetch({path:ah.path(`/payment_attempts/${e.id}`,{orgId:e.orgId}),method:\"GET\"}));startCheckout=async e=>{let{orgId:t,...a}=e;return new aI((await t$._fetch({path:ah.path(\"/checkouts\",{orgId:t}),method:\"POST\",body:a}))?.response)}}let am=aa({resource:null}),ap=aa({error:null}),af=aa({status:\"idle\"}),ag=ar(()=>{let e=am().resource,t=ap().error,a=af().status;return{errors:az(t,{identifier:null,password:null,code:null}),fetchStatus:a,signIn:e?e.__internal_future:null}}),ab=aa({resource:null}),ay=aa({error:null}),aw=aa({status:\"idle\"}),ak=ar(()=>{let e=ab().resource,t=ay().error,a=aw().status;return{errors:az(t,{firstName:null,lastName:null,emailAddress:null,phoneNumber:null,password:null,username:null,code:null,captcha:null,legalAccepted:null}),fetchStatus:a,signUp:e?e.__internal_future:null}}),av=aa({resource:null}),ax=aa({error:null}),a_=aa({status:\"idle\"}),aj=ar(()=>{let e=av().resource,t=ax().error,a=a_().status;return{errors:az(t,{emailAddress:null}),fetchStatus:a,waitlist:e}});function az(e,t){let a={fields:{...t},raw:null,global:null};if(!e)return a;if(!S(e))return a.raw=[e],a.global=[L(e)],a;function r(e){return\"meta\"in e&&e.meta&&\"paramName\"in e.meta&&void 0!==e.meta.paramName}return e.errors.some(r)?e.errors.forEach(e=>{if(a.raw?a.raw.push(e):a.raw=[e],r(e)){let t=ei(e.meta.paramName);t in a.fields&&(a.fields[t]=e)}}):(a.raw=[e],a.global=[L(e)]),a}class aS extends t${id;createdAt;updatedAt;imageUrl;userId=null;email;firstName;lastName;organizationId=null;organizationName;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,e.created_at&&(this.createdAt=tY(e.created_at)),e.updated_at&&(this.updatedAt=tY(e.updated_at)),this.imageUrl=e.image_url,this.userId=e.user_id,this.email=e.email,this.firstName=e.first_name,this.lastName=e.last_name,this.organizationId=e.organization_id,this.organizationName=e.organization_name),this}}class aI extends t${id;externalClientSecret;externalGatewayId;paymentMethod;plan;planPeriod;planPeriodStart;status;totals;isImmediatePlanChange;freeTrialEndsAt;payer;needsPaymentMethod;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.externalClientSecret=e.external_client_secret,this.externalGatewayId=e.external_gateway_id,this.paymentMethod=e.payment_method?new aT(e.payment_method):void 0,this.plan=new aM(e.plan),this.planPeriod=e.plan_period,this.planPeriodStart=e.plan_period_start,this.status=e.status,this.totals=ty(e.totals),this.isImmediatePlanChange=e.is_immediate_plan_change,e.free_trial_ends_at&&(this.freeTrialEndsAt=tY(e.free_trial_ends_at)),this.payer=new aS(e.payer),this.needsPaymentMethod=e.needs_payment_method),this}confirm=e=>th(()=>this._basePatch({path:ah.path(`/checkouts/${this.id}/confirm`,{orgId:this.payer.organizationId}),body:e}),{factor:1.1,maxDelayBetweenRetries:2e3,initialDelay:2e3,jitter:!1,shouldRetry(e,t){if(!S(e)||t>=4)return!1;let a=e?.status,r=409===a&&e.errors?.[0]?.code===\"checkout_already_in_progress\";return a>=500||r}})}class aA{resource=new aI(null);config;signals;pendingOperations=new Map;constructor(e,t){this.config=t,this.signals=e,this.signals.resourceSignal({resource:this})}get status(){return this.resource.status??\"needs_initialization\"}get externalClientSecret(){return this.resource.externalClientSecret}get externalGatewayId(){return this.resource.externalGatewayId}get plan(){return this.resource.plan}get planPeriod(){return this.resource.planPeriod}get totals(){return this.resource.totals}get isImmediatePlanChange(){return this.resource.isImmediatePlanChange}get freeTrialEndsAt(){return this.resource.freeTrialEndsAt}get payer(){return this.resource.payer}get paymentMethod(){return this.resource.paymentMethod??null}get planPeriodStart(){return this.resource.planPeriodStart}get needsPaymentMethod(){return this.resource.needsPaymentMethod}async start(){return this.runAsyncCheckoutTask(\"start\",async()=>{let e=await aI.clerk.billing?.startCheckout(this.config);this.resource=e},()=>{this.resource=new aI(null),this.signals.resourceSignal({resource:this})})}async confirm(e){if(!this.resource.id)throw Error(\"Clerk: `start()` must be called before `confirm()`\");return this.runAsyncCheckoutTask(\"confirm\",async()=>{await this.resource.confirm(e)})}async finalize(e){let{navigate:t}=e||{};return this.runAsyncCheckoutTask(\"finalize\",async()=>{if(\"completed\"!==this.resource.status)throw Error(\"Clerk: `confirm()` must be called before `finalize()`\");await aI.clerk.setActive({session:aI.clerk.session?.id,navigate:t})})}runAsyncCheckoutTask(e,t,a){var r,n,i;return void 0===aI.clerk.user?(console.warn(\"Clerk: Checkout operations cannot be performed during transitive state\"),{error:null}):(r=this,n=this.signals,i=this.pendingOperations,async(e,t,a)=>{if(i.get(e))return i.get(e);let s=(async()=>{++t4,n.errorSignal({error:null}),n.fetchSignal({status:\"fetching\"}),a?.(),--t4||ao(),++t4;try{return await t(),n.resourceSignal({resource:r}),{error:null}}catch(e){return n.errorSignal({error:e}),{error:e}}finally{i.delete(e),n.fetchSignal({status:\"idle\"}),--t4||ao()}})();return i.set(e,s),s})(e,t,a)}}class aE extends t${id;amount;failedAt=null;paidAt=null;updatedAt;paymentMethod=null;subscriptionItem;chargeType;status;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.amount=tg(e.amount),this.paidAt=e.paid_at?tY(e.paid_at):null,this.failedAt=e.failed_at?tY(e.failed_at):null,this.updatedAt=tY(e.updated_at),this.paymentMethod=e.payment_method?new aT(e.payment_method):null,this.subscriptionItem=new aD(e.subscription_item),this.chargeType=e.charge_type,this.status=e.status),this}}let aC=\"/payment_methods\",aP=async e=>{let{orgId:t,...a}=e;return new aU((await t$._fetch({path:ah.path(`${aC}/initialize`,{orgId:t}),method:\"POST\",body:a}))?.response)},aq=async e=>{let{orgId:t,...a}=e;return new aT((await t$._fetch({path:ah.path(aC,{orgId:t}),method:\"POST\",body:a}))?.response)},aO=async e=>{let{orgId:t,...a}=e??{};return await t$._fetch({path:ah.path(aC,{orgId:t}),method:\"GET\",search:ad(a)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new aT(e))}})};class aT extends t${id;last4=null;paymentType;cardType=null;isDefault;isRemovable;status;walletType;expiryYear;expiryMonth;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.last4=e.last4,this.paymentType=e.payment_type,this.cardType=e.card_type,this.isDefault=e.is_default,this.isRemovable=e.is_removable,this.status=e.status,this.walletType=e.wallet_type,this.expiryYear=e.expiry_year,this.expiryMonth=e.expiry_month,this.createdAt=null==e.created_at?e.created_at:tY(e.created_at),this.updatedAt=null==e.updated_at?e.updated_at:tY(e.updated_at)),this}async remove(e){let{orgId:t}=e??{};return new a4((await t$._fetch({path:ah.path(`/payment_methods/${this.id}`,{orgId:t}),method:\"DELETE\"}))?.response)}async makeDefault(e){let{orgId:t}=e??{};return await t$._fetch({path:ah.path(\"/payers/default_payment_method\",{orgId:t}),method:\"PUT\",body:{payment_method_id:this.id}}),null}}class aU extends t${externalClientSecret;externalGatewayId;paymentMethodOrder;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.externalClientSecret=e.external_client_secret,this.externalGatewayId=e.external_gateway_id,this.paymentMethodOrder=e.payment_method_order??[\"card\"]),this}}class aM extends t${id;name;fee=null;annualFee=null;annualMonthlyFee=null;description=null;isDefault;isRecurring;hasBaseFee;forPayerType;publiclyVisible;slug;avatarUrl=null;features;unitPrices;freeTrialDays;freeTrialEnabled;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.fee=e.fee?tg(e.fee):null,this.annualFee=e.annual_fee?tg(e.annual_fee):null,this.annualMonthlyFee=e.annual_monthly_fee?tg(e.annual_monthly_fee):null,this.description=e.description,this.isDefault=e.is_default,this.isRecurring=e.is_recurring,this.hasBaseFee=e.has_base_fee,this.forPayerType=e.for_payer_type,this.publiclyVisible=e.publicly_visible,this.slug=e.slug,this.avatarUrl=e.avatar_url,this.freeTrialDays=this.withDefault(e.free_trial_days,null),this.freeTrialEnabled=this.withDefault(e.free_trial_enabled,!1),this.features=(e.features||[]).map(e=>new r_(e)),this.unitPrices=e.unit_prices?.map(e=>({name:e.name,blockSize:e.block_size,tiers:e.tiers.map(e=>({id:e.id,startsAtBlock:e.starts_at_block,endsAfterBlock:e.ends_after_block,feePerBlock:tg(e.fee_per_block)}))}))),this}}class aR extends t${id;status;timestamp;totals;groups;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.timestamp=tY(e.timestamp),this.totals=ty(e.totals),this.groups=e.groups.map(e=>new aB(e))),this}}class aB{id;timestamp;items;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.timestamp=tY(e.timestamp),this.items=e.items.map(e=>new aE(e))),this}}class aN extends t${id;status;activeAt;createdAt;pastDueAt;updatedAt;nextPayment;subscriptionItems;eligibleForFreeTrial;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.createdAt=tY(e.created_at),this.updatedAt=e.updated_at?tY(e.updated_at):null,this.activeAt=tY(e.active_at),this.pastDueAt=e.past_due_at?tY(e.past_due_at):null,e.next_payment&&(this.nextPayment={amount:tg(e.next_payment.amount),date:tY(e.next_payment.date)}),this.subscriptionItems=(e.subscription_items||[]).map(e=>new aD(e)),this.eligibleForFreeTrial=this.withDefault(e.eligible_for_free_trial,!1)),this}}class aD extends t${id;plan;planPeriod;status;createdAt;periodStart;periodEnd;canceledAt;pastDueAt;amount;credit;seats;credits;isFreeTrial;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.plan=new aM(e.plan),this.planPeriod=e.plan_period,this.status=e.status,this.createdAt=tY(e.created_at),this.pastDueAt=e.past_due_at?tY(e.past_due_at):null,this.periodStart=tY(e.period_start),this.periodEnd=e.period_end?tY(e.period_end):null,this.canceledAt=e.canceled_at?tY(e.canceled_at):null,this.amount=e.amount?tg(e.amount):void 0,this.credit=e.credit&&e.credit.amount?{amount:tg(e.credit.amount)}:void 0,this.seats=e.seats?{quantity:e.seats.quantity}:void 0,this.credits=e.credits?tb(e.credits):void 0,this.isFreeTrial=this.withDefault(e.is_free_trial,!1)),this}async cancel(e){let{orgId:t}=e;return new a4((await t$._fetch({path:ah.path(`/subscription_items/${this.id}`,{orgId:t}),method:\"DELETE\"}))?.response)}}let aF=\"token:update\",aL=\"user:signOut\",aW=\"environment:update\",aK=\"session:tokenResolved\",aH=f(),aV={build:(e,t,a)=>[e,t,a].filter(Boolean).join(\"-\"),parse:(e,t,a)=>{let r=aV.extractTemplate(e,t,a);return{organizationId:a,sessionId:t,template:r}},extractTemplate:(e,t,a)=>{if(e===t||a&&e===`${t}-${a}`)return;let r=e.slice(t.length+1);return a&&r.endsWith(`-${a}`)&&(r=r.slice(0,-(a.length+1))),r||void 0}};var aG=n(1118),aJ='const respond=r=>{self.postMessage(r)},workerToTabIds={};self.addEventListener(\"message\",r=>{const e=r.data;switch(e.type){case\"setTimeout\":workerToTabIds[e.id]=setTimeout(()=>{respond({id:e.id}),delete workerToTabIds[e.id]},e.ms);break;case\"clearTimeout\":workerToTabIds[e.id]&&(clearTimeout(workerToTabIds[e.id]),delete workerToTabIds[e.id]);break;case\"setInterval\":workerToTabIds[e.id]=setInterval(()=>{respond({id:e.id})},e.ms);break;case\"clearInterval\":workerToTabIds[e.id]&&(clearInterval(workerToTabIds[e.id]),delete workerToTabIds[e.id]);break}});\\n';let aZ=(e,t={})=>{if(\"u\"{let e=0,t=()=>e++,a=new Map,r=(e,t)=>e?.postMessage(t),n=e=>{a.get(e.data.id)?.()},i=aZ(aJ,{name:\"clerk-timers\"});if(i?.addEventListener(\"message\",n),!i)return{setTimeout:globalThis.setTimeout.bind(globalThis),setInterval:globalThis.setInterval.bind(globalThis),clearTimeout:globalThis.clearTimeout.bind(globalThis),clearInterval:globalThis.clearInterval.bind(globalThis),cleanup:aG.t};let s=()=>{i||(i=aZ(aJ,{name:\"clerk-timers\"}),i?.addEventListener(\"message\",n))};return{setTimeout:(e,n)=>{s();let o=t();return a.set(o,()=>{e(),a.delete(o)}),r(i,{type:\"setTimeout\",id:o,ms:n}),o},setInterval:(e,n)=>{s();let o=t();return a.set(o,e),r(i,{type:\"setInterval\",id:o,ms:n}),o},clearTimeout:e=>{s(),a.delete(e),r(i,{type:\"clearTimeout\",id:e})},clearInterval:e=>{s(),a.delete(e),r(i,{type:\"clearInterval\",id:e})},cleanup:()=>{i&&(i.terminate(),i=null,a.clear())}}};var aY=n(8388),aQ=n.n(aY);class aX{lock=(w=\"clerk.lock.refreshSessionToken\",s=new(aQ()),{acquireLockAndRun:async e=>{if(\"locks\"in navigator&&isSecureContext){let t=new AbortController,a=setTimeout(()=>t.abort(),4999);return await navigator.locks.request(w,{signal:t.signal},async()=>(clearTimeout(a),await e())).catch(()=>!1)}if(await s.acquireLock(w,5e3))try{return await e()}finally{await s.releaseLock(w)}}});workerTimers=a$();timerId=null;initiated=!1;startPollingForSessionToken(e){if(this.timerId||this.initiated)return;let t=async()=>{this.initiated=!0,await this.lock.acquireLockAndRun(e),this.timerId=this.workerTimers.setTimeout(t,5e3)};t()}stopPollingForSessionToken(){null!=this.timerId&&(this.workerTimers.clearTimeout(this.timerId),this.timerId=null),this.initiated=!1}}let a1=\"clerk\",a0={broadcast:!0},a2={broadcast:!1};class a3{prefix;data;static fromKey(e){let[t,a,r=\"\"]=e.split(\"::\");return new a3(t,{audience:r,tokenId:a})}constructor(e,t){this.prefix=e,this.data=t,this.prefix=e,this.data=t}toKey(){let{tokenId:e,audience:t}=this.data;return[this.prefix,e,t||\"\"].join(\"::\")}}let a9=((e=a1)=>{let t=new Map,a=Math.random().toString(36).slice(2),r=null,n=()=>r||(\"u\"{s(e)}),r));n();let i=a=>{n();let r=new a3(e,a),i=t.get(r.toKey());if(!i)return;let s=Math.floor(Date.now()/1e3)-i.createdAt;if((i.expiresIn??1/0)-s<=5){void 0!==i.timeoutId&&clearTimeout(i.timeoutId),void 0!==i.refreshTimeoutId&&clearTimeout(i.refreshTimeoutId),t.delete(r.toKey());return}return{entry:i.entry}},s=async({data:e})=>{let t,r=aV.build(e.sessionId,e.template,e.organizationId);if(e.tokenId!==r)return void tl.warn(\"Ignoring token broadcast with mismatched tokenId\",{expectedTokenId:r,organizationId:e.organizationId,receivedTokenId:e.tokenId,tabId:a,template:e.template,traceId:e.traceId},\"tokenCache\");try{t=new nn({id:e.tokenId,jwt:e.tokenRaw,object:\"token\"})}catch(t){tl.warn(\"Failed to parse token from broadcast, skipping cache update\",{error:t,tabId:a,tokenId:e.tokenId,traceId:e.traceId},\"tokenCache\");return}let n=t.jwt?.claims?.iat,s=t.jwt?.claims?.exp;if(!n||!s)return void tl.warn(\"Token missing iat/exp claim, skipping cache update\",{tabId:a,tokenId:e.tokenId,traceId:e.traceId},\"tokenCache\");try{let t=i({tokenId:e.tokenId});if(t){let r=await t.entry.tokenResolver,i=r.jwt?.claims?.iat;if(i&&i>=n)return void tl.debug(\"Ignoring older token broadcast\",{existingIat:i,incomingIat:n,tabId:a,tokenId:e.tokenId,traceId:e.traceId},\"tokenCache\")}}catch(t){tl.warn(\"Existing entry compare failed; proceeding with broadcast update\",{error:t,tabId:a,tokenId:e.tokenId,traceId:e.traceId},\"tokenCache\")}tl.info(\"Updating token cache from broadcast\",{iat:n,organizationId:e.organizationId,tabId:a,template:e.template,tokenId:e.tokenId,traceId:e.traceId},\"tokenCache\"),o({createdAt:n,tokenId:e.tokenId,tokenResolver:Promise.resolve(t)},a2)},o=(n,i=a0)=>{let s=new a3(e,{audience:n.audience,tokenId:n.tokenId}).toKey(),o=t.get(s);clearTimeout(o?.timeoutId),clearTimeout(o?.refreshTimeoutId);let l=Math.floor(Date.now()/1e3),c={createdAt:n.createdAt??l,entry:n,expiresIn:void 0},u=()=>{let e=t.get(s);e===c&&(void 0!==e.timeoutId&&clearTimeout(e.timeoutId),void 0!==e.refreshTimeoutId&&clearTimeout(e.refreshTimeoutId),t.delete(s))};t.set(s,c),n.tokenResolver.then(e=>{if(t.get(s)!==c)return;n.resolvedToken=e;let o=e.jwt?.claims;if(!o||\"number\"!=typeof o.exp||\"number\"!=typeof o.iat)return u();let l=o.exp,d=o.iat,h=l-d;c.createdAt=d,c.expiresIn=h;let m=setTimeout(u,1e3*h);c.timeoutId=m,\"function\"==typeof m.unref&&m.unref();let p=h-15-2;if(p>0&&n.onRefresh){let e=setTimeout(()=>{n.onRefresh?.()},1e3*p);c.refreshTimeoutId=e,\"function\"==typeof e.unref&&e.unref()}let f=r;if(f&&i.broadcast){let t=e.getRawString();if(t&&o.sid){let e=o.sid,r=o.org_id||o.o?.id,i=aV.extractTemplate(n.tokenId,e,r),s=aV.build(e,i,r);if(n.tokenId===s){let s=`bc_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;tl.info(\"Broadcasting token update to other tabs\",{organizationId:r,sessionId:e,tabId:a,template:i,tokenId:n.tokenId,traceId:s},\"tokenCache\");let o={organizationId:r,sessionId:e,template:i,tokenId:n.tokenId,tokenRaw:t,traceId:s};f.postMessage(o)}}}}).catch(()=>{u()})};return{clear:()=>{t.forEach(e=>{void 0!==e.timeoutId&&clearTimeout(e.timeoutId),void 0!==e.refreshTimeoutId&&clearTimeout(e.refreshTimeoutId)}),t.clear()},close:()=>{r&&(r.close(),r=null)},get:i,set:e=>{n(),o(e,a0)},size:()=>t.size}})();function a5(e){if(!e)return;let t=e.client||e.meta?.client;return t?a6.getOrCreateInstance().fromJSON(t):void 0}class a6 extends t${static instance;pathRoot=\"/client\";sessions=[];signUp=new r4;signIn=new r5;lastActiveSessionId=null;captchaBypass=!1;cookieExpiresAt=null;lastAuthenticationStrategy=null;createdAt=null;updatedAt=null;static getOrCreateInstance(e=null){return a6.instance||(a6.instance=new a6(e)),a6.instance}static clearInstance(){a6.instance=null}static isClientResource(e){return!!e&&e instanceof a6}constructor(e=null){super(),this.fromJSON(e)}get signUpAttempt(){return this.signUp}get signInAttempt(){return this.signIn}get signedInSessions(){return this.sessions.filter(e=>\"active\"===e.status||\"pending\"===e.status)}create(){return this._basePut()}fetch({fetchMaxTries:e}={}){return this._baseGet({fetchMaxTries:e})}async destroy(){return this._baseDelete({path:\"/client\"}).then(()=>{a9.clear(),this.id=\"\",this.sessions=[],this.signUp=new r4(null),this.signIn=new r5(null),this.lastActiveSessionId=null,this.lastAuthenticationStrategy=null,this.cookieExpiresAt=null,this.createdAt=null,this.updatedAt=null})}removeSessions(){return this._baseDelete({path:this.path()+\"/sessions\"}).then(e=>(a9.clear(),e))}resetSignIn(){this.signIn=new r5(null),aH.emit(\"resource:error\",{resource:this.signIn,error:null})}resetSignUp(){this.signUp=new r4(null),aH.emit(\"resource:error\",{resource:this.signUp,error:null})}clearCache(){return this.sessions.forEach(e=>e.clearCache())}isEligibleForTouch(){return!!this.cookieExpiresAt&&this.cookieExpiresAt.getTime()-Date.now()<=6912e5}buildTouchUrl({redirectUrl:e}){return t$.fapiClient.buildUrl({method:\"GET\",path:\"/client/touch\",pathPrefix:\"v1\",search:{redirect_url:e.toString()}}).toString()}__internal_sendCaptchaToken(e){return this._basePostBypass({body:e,path:this.path()+\"/verify\"})}fromJSON(e){return e&&(this.id=e.id,this.sessions=(e.sessions||[]).map(e=>new r$(e)),e.sign_up&&this.signUp instanceof r4&&this.signUp.id===e.sign_up.id?this.signUp.__internal_updateFromJSON(e.sign_up):this.signUp=new r4(e.sign_up),e.sign_in&&this.signIn instanceof r5&&this.signIn.id===e.sign_in.id?this.signIn.__internal_updateFromJSON(e.sign_in):this.signIn=new r5(e.sign_in),this.lastActiveSessionId=e.last_active_session_id,this.captchaBypass=e.captcha_bypass||!1,this.cookieExpiresAt=e.cookie_expires_at?tY(e.cookie_expires_at):null,this.lastAuthenticationStrategy=e.last_authentication_strategy||null,this.createdAt=tY(e.created_at||void 0),this.updatedAt=tY(e.updated_at||void 0)),this}__internal_toSnapshot(){return{object:\"client\",id:this.id||\"\",sessions:this.sessions.map(e=>e.__internal_toSnapshot()),sign_up:this.signUp.__internal_toSnapshot(),sign_in:this.signIn.__internal_toSnapshot(),last_active_session_id:this.lastActiveSessionId,captcha_bypass:this.captchaBypass,cookie_expires_at:this.cookieExpiresAt?this.cookieExpiresAt.getTime():null,last_authentication_strategy:this.lastAuthenticationStrategy??null,created_at:this.createdAt?.getTime()??null,updated_at:this.updatedAt?.getTime()??null}}path(){return this.pathRoot}}class a8 extends t${billing={stripePublishableKey:null,organization:{enabled:!1,hasPaidPlans:!1},user:{enabled:!1,hasPaidPlans:!1}};constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.billing.stripePublishableKey=e.billing.stripe_publishable_key,this.billing.organization.enabled=e.billing.organization.enabled,this.billing.organization.hasPaidPlans=e.billing.organization.has_paid_plans,this.billing.user.enabled=e.billing.user.enabled,this.billing.user.hasPaidPlans=e.billing.user.has_paid_plans),this}__internal_toSnapshot(){return{billing:{stripe_publishable_key:this.billing.stripePublishableKey,organization:{enabled:this.billing.organization.enabled,has_paid_plans:this.billing.organization.hasPaidPlans},user:{enabled:this.billing.user.enabled,has_paid_plans:this.billing.user.hasPaidPlans}}}}}class a4{object=\"\";id;slug;deleted=!1;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.object=e.object,this.id=e.id,this.slug=e.slug,this.deleted=e.deleted),this}}class a7 extends t${afterCreateOrganizationUrl=\"\";afterJoinWaitlistUrl=\"\";afterLeaveOrganizationUrl=\"\";afterSignInUrl=\"\";afterSignOutAllUrl=\"\";afterSignOutOneUrl=\"\";afterSignOutUrl=\"\";afterSignUpUrl=\"\";afterSwitchSessionUrl=\"\";applicationName=\"\";backendHost=\"\";branded=!1;captchaHeartbeat=!1;captchaHeartbeatIntervalMs;captchaOauthBypass=[\"oauth_google\",\"oauth_microsoft\",\"oauth_apple\"];captchaProvider=\"turnstile\";captchaPublicKey=null;captchaPublicKeyInvisible=null;captchaWidgetType=null;clerkJSVersion;createOrganizationUrl=\"\";faviconImageUrl=\"\";googleOneTapClientId;homeUrl=\"\";id=\"\";instanceEnvironmentType=\"\";logoImageUrl=\"\";organizationProfileUrl=\"\";preferredSignInStrategy=\"password\";privacyPolicyUrl=\"\";showDevModeWarning=!1;signInUrl=\"\";signUpUrl=\"\";supportEmail=\"\";termsUrl=\"\";theme={};userProfileUrl=\"\";waitlistUrl=\"\";constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.afterCreateOrganizationUrl=this.withDefault(e.after_create_organization_url,this.afterCreateOrganizationUrl),this.afterJoinWaitlistUrl=this.withDefault(e.after_join_waitlist_url,this.afterJoinWaitlistUrl),this.afterLeaveOrganizationUrl=this.withDefault(e.after_leave_organization_url,this.afterLeaveOrganizationUrl),this.afterSignInUrl=this.withDefault(e.after_sign_in_url,this.afterSignInUrl),this.afterSignOutAllUrl=this.withDefault(e.after_sign_out_all_url,this.afterSignOutAllUrl),this.afterSignOutOneUrl=this.withDefault(e.after_sign_out_one_url,this.afterSignOutOneUrl),this.afterSignUpUrl=this.withDefault(e.after_sign_up_url,this.afterSignUpUrl),this.afterSwitchSessionUrl=this.withDefault(e.after_switch_session_url,this.afterSwitchSessionUrl),this.applicationName=this.withDefault(e.application_name,this.applicationName),this.branded=this.withDefault(e.branded,this.branded),this.captchaHeartbeat=this.withDefault(e.captcha_heartbeat,this.captchaHeartbeat),this.captchaHeartbeatIntervalMs=this.withDefault(e.captcha_heartbeat_interval_ms,this.captchaHeartbeatIntervalMs),this.captchaOauthBypass=this.withDefault(e.captcha_oauth_bypass,this.captchaOauthBypass),this.captchaProvider=this.withDefault(e.captcha_provider,this.captchaProvider),this.captchaPublicKey=this.withDefault(e.captcha_public_key,this.captchaPublicKey),this.captchaPublicKeyInvisible=this.withDefault(e.captcha_public_key_invisible,this.captchaPublicKeyInvisible),this.captchaWidgetType=this.withDefault(e.captcha_widget_type,this.captchaWidgetType),this.clerkJSVersion=this.withDefault(e.clerk_js_version,this.clerkJSVersion),this.createOrganizationUrl=this.withDefault(e.create_organization_url,this.createOrganizationUrl),this.faviconImageUrl=this.withDefault(e.favicon_image_url,this.faviconImageUrl),this.googleOneTapClientId=this.withDefault(e.google_one_tap_client_id,this.googleOneTapClientId),this.homeUrl=this.withDefault(e.home_url,this.homeUrl),this.id=this.withDefault(e.id,this.id),this.instanceEnvironmentType=this.withDefault(e.instance_environment_type,this.instanceEnvironmentType),this.logoImageUrl=this.withDefault(e.logo_image_url,this.logoImageUrl),this.organizationProfileUrl=this.withDefault(e.organization_profile_url,this.organizationProfileUrl),this.preferredSignInStrategy=this.withDefault(e.preferred_sign_in_strategy,this.preferredSignInStrategy),this.privacyPolicyUrl=this.withDefault(e.privacy_policy_url,this.privacyPolicyUrl),this.showDevModeWarning=this.withDefault(e.show_devmode_warning,this.showDevModeWarning),this.signInUrl=this.withDefault(e.sign_in_url,this.signInUrl),this.signUpUrl=this.withDefault(e.sign_up_url,this.signUpUrl),this.supportEmail=this.withDefault(e.support_email,this.supportEmail),this.termsUrl=this.withDefault(e.terms_url,this.termsUrl),this.theme=this.withDefault(e.theme,this.theme),this.userProfileUrl=this.withDefault(e.user_profile_url,this.userProfileUrl),this.waitlistUrl=this.withDefault(e.waitlist_url,this.waitlistUrl)),this}__internal_toSnapshot(){return{object:\"display_config\",after_create_organization_url:this.afterCreateOrganizationUrl,after_join_waitlist_url:this.afterJoinWaitlistUrl,after_leave_organization_url:this.afterLeaveOrganizationUrl,after_sign_in_url:this.afterSignInUrl,after_sign_out_all_url:this.afterSignOutAllUrl,after_sign_out_one_url:this.afterSignOutOneUrl,after_sign_up_url:this.afterSignUpUrl,after_switch_session_url:this.afterSwitchSessionUrl,application_name:this.applicationName,branded:this.branded,captcha_heartbeat_interval_ms:this.captchaHeartbeatIntervalMs,captcha_heartbeat:this.captchaHeartbeat,captcha_oauth_bypass:this.captchaOauthBypass,captcha_provider:this.captchaProvider,captcha_public_key_invisible:this.captchaPublicKeyInvisible,captcha_public_key:this.captchaPublicKey,captcha_widget_type:this.captchaWidgetType,clerk_js_version:this.clerkJSVersion,create_organization_url:this.createOrganizationUrl,favicon_image_url:this.faviconImageUrl,google_one_tap_client_id:this.googleOneTapClientId,home_url:this.homeUrl,id:this.id,instance_environment_type:this.instanceEnvironmentType,logo_image_url:this.logoImageUrl,organization_profile_url:this.organizationProfileUrl,preferred_sign_in_strategy:this.preferredSignInStrategy,privacy_policy_url:this.privacyPolicyUrl,show_devmode_warning:this.showDevModeWarning,sign_in_url:this.signInUrl,sign_up_url:this.signUpUrl,support_email:this.supportEmail,terms_url:this.termsUrl,theme:this.theme,user_profile_url:this.userProfileUrl,waitlist_url:this.waitlistUrl}}}function re({delayInMs:e}={delayInMs:1e3}){let t,a=a$(),r=!1,n=()=>{t&&(a.clearTimeout(t),a.cleanup()),r=!0},i=async s=>{r=!1,await s(n),r||(t=a.setTimeout(()=>{i(s)},e))};return{run:i,stop:n}}class rt extends t${id;emailAddress=\"\";matchesSsoConnection=!1;linkedTo=[];verification;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}create(){return this._basePost({body:{email_address:this.emailAddress}})}prepareVerification=e=>this._basePost({action:\"prepare_verification\",body:{...e}});attemptVerification=e=>{let{code:t}=e||{};return this._basePost({action:\"attempt_verification\",body:{code:t}})};createEmailLinkFlow=()=>{let{run:e,stop:t}=re();return{startEmailLinkFlow:async({redirectUrl:a})=>(await this.prepareVerification({strategy:\"email_link\",redirectUrl:a}),new Promise((a,r)=>{e(()=>this.reload().then(e=>{\"verified\"===e.verification.status&&(t(),a(e))}).catch(e=>{t(),r(e)}))})),cancelEmailLinkFlow:t}};createEnterpriseSSOLinkFlow=()=>{let{run:e,stop:t}=re();return{startEnterpriseSSOLinkFlow:async({redirectUrl:a})=>{if(!(await this.prepareVerification({strategy:\"enterprise_sso\",redirectUrl:a})).verification.externalVerificationRedirectURL)throw Error(\"Unexpected: External verification redirect URL is missing\");return new Promise((a,r)=>{e(()=>this.reload().then(e=>{\"verified\"===e.verification.status&&(t(),a(e))}).catch(e=>{t(),r(e)}))})},cancelEnterpriseSSOLinkFlow:t}};destroy=()=>this._baseDelete();toString=()=>this.emailAddress;fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.verification=new rh(e.verification),this.matchesSsoConnection=e.matches_sso_connection,this.linkedTo=(e.linked_to||[]).map(e=>new rj(e))),this}__internal_toSnapshot(){return{object:\"email_address\",id:this.id,email_address:this.emailAddress,verification:this.verification.__internal_toSnapshot(),linked_to:this.linkedTo.map(e=>e.__internal_toSnapshot()),matches_sso_connection:this.matchesSsoConnection}}}var ra=class{static encode(e){return btoa(String.fromCharCode(...new Uint8Array(e))).replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=+$/,\"\")}static decode(e){let t=atob(e.replace(/-/g,\"+\").replace(/_/g,\"/\")),a=t.length,r=new Uint8Array(a);for(let e=0;e({...e,id:rd(e.id)}));return{...e,allowCredentials:a,challenge:t}}function rl(e){return{type:e.type,id:e.id,rawId:ru(e.rawId),authenticatorAttachment:e.authenticatorAttachment}}function rc(e){let t=e.response;return{...rl(e),response:{clientDataJSON:ru(t.clientDataJSON),authenticatorData:ru(t.authenticatorData),signature:ru(t.signature),userHandle:t.userHandle?ru(t.userHandle):null}}}let ru=ra.encode.bind(ra),rd=ra.decode.bind(ra);class rh extends t${pathRoot=\"\";status=null;strategy=null;nonce=null;message=null;externalVerificationRedirectURL=null;attempts=null;expireAt=null;error=null;verifiedAtClient=null;channel;constructor(e){super(),this.fromJSON(e)}verifiedFromTheSameClient=()=>this.verifiedAtClient===t$.clerk?.client?.id;fromJSON(e){return e&&(this.status=e.status,this.verifiedAtClient=e.verified_at_client,this.strategy=e.strategy,this.nonce=e.nonce||null,this.message=e.message||null,e.external_verification_redirect_url?this.externalVerificationRedirectURL=new URL(e.external_verification_redirect_url):this.externalVerificationRedirectURL=null,this.attempts=e.attempts,this.expireAt=tY(e.expire_at||void 0),this.error=e.error?new j(e.error):null,this.channel=e.channel||void 0),this}__internal_toSnapshot(){var e;return{object:\"verification\",id:this.id||\"\",status:this.status,strategy:this.strategy,nonce:this.nonce,message:this.message,external_verification_redirect_url:this.externalVerificationRedirectURL?.toString()||null,attempts:this.attempts,expire_at:this.expireAt?.getTime()||null,error:(e=this.error,{code:e?.code||\"\",message:e?.message||\"\",long_message:e?.longMessage,meta:{param_name:e?.meta?.paramName,session_id:e?.meta?.sessionId,email_addresses:e?.meta?.emailAddresses,identifiers:e?.meta?.identifiers,zxcvbn:e?.meta?.zxcvbn,plan:e?.meta?.plan,is_plan_upgrade_possible:e?.meta?.isPlanUpgradePossible}}),verified_at_client:this.verifiedAtClient}}}class rm extends rh{publicKey=null;constructor(e){super(e),this.fromJSON(e)}fromJSON(e){var t;let a,r,n;return super.fromJSON(e),e?.nonce&&(this.publicKey=(a=rd((t=JSON.parse(e.nonce)).user.id),r=rd(t.challenge),n=(t.excludeCredentials||[]).map(e=>({...e,id:rd(e.id)})),{...t,excludeCredentials:n,challenge:r,user:{...t.user,id:a}})),this}}class rp{emailAddress;phoneNumber;web3Wallet;externalAccount;constructor(e){e?(this.emailAddress=new rf(e.email_address),this.phoneNumber=new rf(e.phone_number),this.web3Wallet=new rf(e.web3_wallet),this.externalAccount=new rh(e.external_account)):(this.emailAddress=new rf(null),this.phoneNumber=new rf(null),this.web3Wallet=new rf(null),this.externalAccount=new rh(null))}__internal_toSnapshot(){return{email_address:this.emailAddress.__internal_toSnapshot(),phone_number:this.phoneNumber.__internal_toSnapshot(),web3_wallet:this.web3Wallet.__internal_toSnapshot(),external_account:this.externalAccount.__internal_toSnapshot()}}}class rf extends rh{nextAction;supportedStrategies;constructor(e){super(e),e?(this.nextAction=e.next_action,this.supportedStrategies=e.supported_strategies):(this.nextAction=\"\",this.supportedStrategies=[])}__internal_toSnapshot(){return{...super.__internal_toSnapshot(),next_action:this.nextAction,supported_strategies:this.supportedStrategies}}}class rg extends t${id;protocol;provider;providerUserId=null;active;emailAddress=\"\";firstName=\"\";lastName=\"\";publicMetadata={};verification=null;enterpriseConnection=null;lastAuthenticatedAt=null;enterpriseConnectionId=null;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.provider=e.provider,this.protocol=e.protocol,this.providerUserId=e.provider_user_id,this.active=e.active,this.emailAddress=e.email_address,this.firstName=e.first_name,this.lastName=e.last_name,this.publicMetadata=e.public_metadata,this.lastAuthenticatedAt=e.last_authenticated_at?tY(e.last_authenticated_at):null,this.enterpriseConnectionId=e.enterprise_connection_id,e.verification&&(this.verification=new rh(e.verification)),e.enterprise_connection&&(this.enterpriseConnection=new rb(e.enterprise_connection))),this}destroy=()=>this._baseDelete();__internal_toSnapshot(){return{object:\"enterprise_account\",id:this.id,provider:this.provider,protocol:this.protocol,provider_user_id:this.providerUserId,active:this.active,email_address:this.emailAddress,first_name:this.firstName,last_name:this.lastName,public_metadata:this.publicMetadata,verification:this.verification?.__internal_toSnapshot()||null,enterprise_connection:this.enterpriseConnection?.__internal_toSnapshot()||null,last_authenticated_at:this.lastAuthenticatedAt?this.lastAuthenticatedAt.getTime():null,enterprise_connection_id:this.enterpriseConnectionId}}}class rb extends t${id;active;allowIdpInitiated;allowSubdomains;disableAdditionalIdentifications;domain;logoPublicUrl=\"\";name;protocol;provider;syncUserAttributes;allowOrganizationAccountLinking;createdAt;updatedAt;enterpriseConnectionId=\"\";constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.domain=e.domain,this.active=e.active,this.provider=e.provider,this.logoPublicUrl=e.logo_public_url,this.syncUserAttributes=e.sync_user_attributes,this.allowSubdomains=e.allow_subdomains,this.allowIdpInitiated=e.allow_idp_initiated,this.disableAdditionalIdentifications=e.disable_additional_identifications,this.allowOrganizationAccountLinking=e.allow_organization_account_linking,this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at),this.enterpriseConnectionId=e.enterprise_connection_id),this}__internal_toSnapshot(){return{object:\"enterprise_account_connection\",id:this.id,name:this.name,domain:this.domain,active:this.active,protocol:this.protocol,provider:this.provider,logo_public_url:this.logoPublicUrl,sync_user_attributes:this.syncUserAttributes,allow_subdomains:this.allowSubdomains,allow_idp_initiated:this.allowIdpInitiated,disable_additional_identifications:this.disableAdditionalIdentifications,allow_organization_account_linking:this.allowOrganizationAccountLinking,enterprise_connection_id:this.enterpriseConnectionId,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}class ry extends t${id;name;active;provider;logoPublicUrl=null;domains=[];organizationId=null;syncUserAttributes;disableAdditionalIdentifications;allowOrganizationAccountLinking;customAttributes=[];oauthConfig=null;samlConnection=null;createdAt=null;updatedAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){var t,a;return e?(this.id=e.id,this.name=e.name,this.active=e.active,this.provider=e.provider,this.logoPublicUrl=e.logo_public_url??null,this.domains=e.domains??[],this.organizationId=e.organization_id??null,this.syncUserAttributes=e.sync_user_attributes,this.disableAdditionalIdentifications=e.disable_additional_identifications,this.allowOrganizationAccountLinking=e.allow_organization_account_linking??!1,this.customAttributes=e.custom_attributes??[],this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at),this.samlConnection=e.saml_connection?{id:(t=e.saml_connection).id,name:t.name,active:t.active,idpEntityId:t.idp_entity_id,idpSsoUrl:t.idp_sso_url,idpCertificate:t.idp_certificate,idpMetadataUrl:t.idp_metadata_url,idpMetadata:t.idp_metadata,acsUrl:t.acs_url,spEntityId:t.sp_entity_id,spMetadataUrl:t.sp_metadata_url,allowSubdomains:t.allow_subdomains,allowIdpInitiated:t.allow_idp_initiated,forceAuthn:t.force_authn}:null,this.oauthConfig=e.oauth_config?{id:(a=e.oauth_config).id,name:a.name,clientId:a.client_id,providerKey:a.provider_key,discoveryUrl:a.discovery_url,logoPublicUrl:a.logo_public_url,requiresPkce:a.requires_pkce,createdAt:tY(a.created_at),updatedAt:tY(a.updated_at)}:null,this):this}__internal_toSnapshot(){var e,t;return{object:\"enterprise_connection\",id:this.id,name:this.name,active:this.active,provider:this.provider,logo_public_url:this.logoPublicUrl,domains:this.domains,organization_id:this.organizationId,sync_user_attributes:this.syncUserAttributes,disable_additional_identifications:this.disableAdditionalIdentifications,allow_organization_account_linking:this.allowOrganizationAccountLinking,custom_attributes:this.customAttributes,saml_connection:this.samlConnection?{id:(e=this.samlConnection).id,name:e.name,active:e.active,idp_entity_id:e.idpEntityId,idp_sso_url:e.idpSsoUrl,idp_certificate:e.idpCertificate,idp_metadata_url:e.idpMetadataUrl,idp_metadata:e.idpMetadata,acs_url:e.acsUrl,sp_entity_id:e.spEntityId,sp_metadata_url:e.spMetadataUrl,allow_subdomains:e.allowSubdomains,allow_idp_initiated:e.allowIdpInitiated,force_authn:e.forceAuthn}:void 0,oauth_config:this.oauthConfig?{id:(t=this.oauthConfig).id,name:t.name,client_id:t.clientId,provider_key:t.providerKey,discovery_url:t.discoveryUrl,logo_public_url:t.logoPublicUrl,requires_pkce:t.requiresPkce,created_at:t.createdAt?.getTime()??0,updated_at:t.updatedAt?.getTime()??0}:void 0,created_at:this.createdAt?.getTime()??0,updated_at:this.updatedAt?.getTime()??0}}}class rw extends t${user_api_keys_enabled=!1;orgs_api_keys_enabled=!1;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.user_api_keys_enabled=e.user_api_keys_enabled,this.orgs_api_keys_enabled=e.orgs_api_keys_enabled),this}__internal_toSnapshot(){return{user_api_keys_enabled:this.user_api_keys_enabled,orgs_api_keys_enabled:this.orgs_api_keys_enabled}}}class rk extends t${actions={adminDelete:!1};domains={enabled:!1,enrollmentModes:[],defaultRole:null};slug={disabled:!1};organizationCreationDefaults={enabled:!1};enabled=!1;maxAllowedMemberships=1;forceOrganizationSelection;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(e.actions&&(this.actions.adminDelete=this.withDefault(e.actions.admin_delete,this.actions.adminDelete)),e.domains&&(this.domains.enabled=this.withDefault(e.domains.enabled,this.domains.enabled),this.domains.enrollmentModes=this.withDefault(e.domains.enrollment_modes,this.domains.enrollmentModes),this.domains.defaultRole=this.withDefault(e.domains.default_role,this.domains.defaultRole)),e.slug&&(this.slug.disabled=this.withDefault(e.slug.disabled,this.slug.disabled)),e.organization_creation_defaults&&(this.organizationCreationDefaults.enabled=this.withDefault(e.organization_creation_defaults.enabled,this.organizationCreationDefaults.enabled)),this.enabled=this.withDefault(e.enabled,this.enabled),this.maxAllowedMemberships=this.withDefault(e.max_allowed_memberships,this.maxAllowedMemberships),this.forceOrganizationSelection=this.withDefault(e.force_organization_selection,this.forceOrganizationSelection)),this}__internal_toSnapshot(){return{actions:{admin_delete:this.actions.adminDelete},domains:{enabled:this.domains.enabled,enrollment_modes:this.domains.enrollmentModes,default_role:this.domains.defaultRole},enabled:this.enabled,max_allowed_memberships:this.maxAllowedMemberships}}}class rv extends t${static instance;authConfig=new tX;displayConfig=new a7;maintenanceMode=!1;clientDebugMode=!1;partitionedCookies=!1;pathRoot=\"/environment\";userSettings=new nh;organizationSettings=new rk;commerceSettings=new a8;apiKeysSettings=new rw;protectConfig=new rN;static getInstance(){return rv.instance||(rv.instance=new rv),rv.instance}constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.authConfig=new tX(e.auth_config),this.displayConfig=new a7(e.display_config),this.maintenanceMode=this.withDefault(e.maintenance_mode,this.maintenanceMode),this.clientDebugMode=this.withDefault(e.client_debug_mode,this.clientDebugMode),this.partitionedCookies=this.withDefault(e.partitioned_cookies,this.partitionedCookies),this.organizationSettings=new rk(e.organization_settings),this.userSettings=new nh(e.user_settings),this.commerceSettings=new a8(e.commerce_settings),this.apiKeysSettings=new rw(e.api_keys_settings),this.protectConfig=new rN(e.protect_config)),this}fetch({touch:e,fetchMaxTries:t}={touch:!1}){return(e?this._basePatch({}):this._baseGet({fetchMaxTries:t})).then(e=>(aH.emit(aW,null),e))}isDevelopmentOrStaging=()=>!this.isProduction();isProduction=()=>\"production\"===this.displayConfig.instanceEnvironmentType;isSingleSession=()=>this.authConfig.singleSessionMode;onWindowLocationHost=()=>this.displayConfig.backendHost===window.location.host;__internal_toSnapshot(){return{object:\"environment\",auth_config:this.authConfig.__internal_toSnapshot(),display_config:this.displayConfig.__internal_toSnapshot(),id:this.id??\"\",maintenance_mode:this.maintenanceMode,client_debug_mode:this.clientDebugMode,partitioned_cookies:this.partitionedCookies,organization_settings:this.organizationSettings.__internal_toSnapshot(),user_settings:this.userSettings.__internal_toSnapshot(),commerce_settings:this.commerceSettings.__internal_toSnapshot(),api_keys_settings:this.apiKeysSettings.__internal_toSnapshot(),protect_config:this.protectConfig.__internal_toSnapshot()}}async __internal_enableEnvironmentSetting(e){await this._basePatch({path:\"/dev_tools/enable_environment_setting\",body:e})}}class rx extends t${id;identificationId;provider;providerUserId=\"\";emailAddress=\"\";approvedScopes=\"\";firstName=\"\";lastName=\"\";imageUrl=\"\";username=\"\";phoneNumber=\"\";publicMetadata={};label=\"\";verification=null;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}reauthorize=e=>{let{additionalScopes:t,redirectUrl:a}=e||{};return this._basePatch({action:\"reauthorize\",body:{additional_scope:t,redirect_url:a}})};destroy=()=>this._baseDelete();fromJSON(e){return e&&(this.id=e.id,this.identificationId=e.identification_id,this.providerUserId=e.provider_user_id,this.approvedScopes=e.approved_scopes,this.imageUrl=e.image_url,this.emailAddress=e.email_address,this.firstName=e.first_name,this.lastName=e.last_name,this.provider=(e.provider||\"\").replace(\"oauth_\",\"\"),this.username=e.username,this.phoneNumber=e.phone_number,this.publicMetadata=e.public_metadata,this.label=e.label,e.verification&&(this.verification=new rh(e.verification))),this}__internal_toSnapshot(){return{object:\"external_account\",id:this.id,identification_id:this.identificationId,provider:this.provider,provider_user_id:this.providerUserId,email_address:this.emailAddress,approved_scopes:this.approvedScopes,first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl,username:this.username,phone_number:this.phoneNumber,public_metadata:this.publicMetadata,label:this.label,verification:this.verification?.__internal_toSnapshot()||null}}providerSlug(){return this.provider}providerTitle(){let e;return[(e=this.providerSlug()||\"\").charAt(0).toUpperCase()+e.slice(1),\"Account\"].join(\" \")}accountIdentifier(){return this.username||this.emailAddress||this.label}}class r_ extends t${id;name;description=null;slug;avatarUrl=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.description=e.description,this.slug=e.slug,this.avatarUrl=e.avatar_url),this}}class rj extends t${id;type;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.type=e.type),this}__internal_toSnapshot(){return{object:\"identification_link\",id:this.id,type:this.type}}}class rz extends t${id;name=null;publicUrl=null;static async create(e,t={}){let a,r=t;return\"string\"==typeof t.file?(r=t.file,a=new Headers({\"Content-Type\":\"application/octet-stream\"})):t.file&&(r=new FormData).append(\"file\",t.file),new rz((await t$._fetch({path:e,method:\"POST\",body:r,headers:a}))?.response)}static async delete(e){return new rz((await t$._fetch({path:e,method:\"DELETE\"}))?.response)}constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.publicUrl=e.public_url),this}}class rS extends t${id;name;organizationId;enrollmentMode;verification;affiliationEmailAddress;createdAt;updatedAt;totalPendingInvitations;totalPendingSuggestions;constructor(e){super(),this.fromJSON(e)}static async create(e,{name:t}){return new rS((await t$._fetch({path:`/organizations/${e}/domains`,method:\"POST\",body:{name:t}}))?.response)}prepareAffiliationVerification=async e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/prepare_affiliation_verification`,method:\"POST\",body:e});attemptAffiliationVerification=async e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/attempt_affiliation_verification`,method:\"POST\",body:e});updateEnrollmentMode=e=>this._basePost({path:`/organizations/${this.organizationId}/domains/${this.id}/update_enrollment_mode`,body:e});delete=()=>this._baseDelete({path:`/organizations/${this.organizationId}/domains/${this.id}`});fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.organizationId=e.organization_id,this.enrollmentMode=e.enrollment_mode,this.affiliationEmailAddress=e.affiliation_email_address,this.totalPendingSuggestions=e.total_pending_suggestions,this.totalPendingInvitations=e.total_pending_invitations,e.verification?this.verification={status:e.verification.status,strategy:e.verification.strategy,attempts:e.verification.attempts,expiresAt:tY(e.verification.expires_at)}:this.verification=null),this}}class rI extends t${id;organizationId;status;publicUserData;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}accept=async()=>await this._basePost({path:`/organizations/${this.organizationId}/membership_requests/${this.id}/accept`});reject=async()=>await this._basePost({path:`/organizations/${this.organizationId}/membership_requests/${this.id}/reject`});fromJSON(e){return e&&(this.id=e.id,this.organizationId=e.organization_id,this.status=e.status,this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at),e.public_user_data&&(this.publicUserData=new rD(e.public_user_data))),this}}class rA extends t${id;key;name;description;type;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.key=e.key,this.name=e.name,this.description=e.description,this.type=e.type,this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at)),this}}class rE extends t${id;key;name;description;permissions=[];createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.key=e.key,this.name=e.name,this.description=e.description,this.permissions=e.permissions.map(e=>new rA(e)),this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at)),this}}class rC extends t${pathRoot=\"/organizations\";id;name;slug;imageUrl;hasImage;publicMetadata={};adminDeleteEnabled;createdAt;updatedAt;membersCount=0;pendingInvitationsCount=0;maxAllowedMemberships;constructor(e){super(),this.fromJSON(e)}static async create(e){return new rC((await t$._fetch({path:\"/organizations\",method:\"POST\",body:e}))?.response)}static async get(e){return new rC((await t$._fetch({path:`/organizations/${e}`,method:\"GET\"}))?.response)}update=async e=>this._basePatch({body:e});getRoles=async e=>await t$._fetch({path:`/organizations/${this.id}/roles`,method:\"GET\",search:ad(e)},{forceUpdateClient:!0}).then(e=>{let{data:t,total_count:a,has_role_set_migration:r}=e?.response;return{data:t.map(e=>new rE(e)),total_count:a,has_role_set_migration:r}});getDomains=async e=>await t$._fetch({path:`/organizations/${this.id}/domains`,method:\"GET\",search:ad(e)},{forceUpdateClient:!0}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rS(e))}});getDomain=async({domainId:e})=>new rS((await t$._fetch({path:`/organizations/${this.id}/domains/${e}`,method:\"GET\"}))?.response);getMembershipRequests=async e=>await t$._fetch({path:`/organizations/${this.id}/membership_requests`,method:\"GET\",search:ad(e)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rI(e))}});createDomain=async e=>rS.create(this.id,{name:e});getMemberships=async e=>await t$._fetch({path:`/organizations/${this.id}/memberships`,method:\"GET\",search:ad({...e,paginated:!0})}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rq(e))}});getInvitations=async e=>await t$._fetch({path:`/organizations/${this.id}/invitations`,method:\"GET\",search:ad(e)},{forceUpdateClient:!0}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rP(e))}});addMember=async({userId:e,role:t})=>await t$._fetch({method:\"POST\",path:`/organizations/${this.id}/memberships`,body:{userId:e,role:t}}).then(e=>new rq(e?.response));inviteMember=async e=>rP.create(this.id,e);inviteMembers=async e=>rP.createBulk(this.id,e);updateMember=async({userId:e,role:t})=>await t$._fetch({method:\"PATCH\",path:`/organizations/${this.id}/memberships/${e}`,body:{role:t}}).then(e=>new rq(e?.response));removeMember=async e=>await t$._fetch({method:\"DELETE\",path:`/organizations/${this.id}/memberships/${e}`}).then(e=>new rq(e?.response));destroy=async()=>this._baseDelete();setLogo=async({file:e})=>{let t,a;return null===e?await t$._fetch({path:`/organizations/${this.id}/logo`,method:\"DELETE\"}).then(e=>new rC(e?.response)):(\"string\"==typeof e?(t=e,a=new Headers({\"Content-Type\":\"application/octet-stream\"})):(t=new FormData).append(\"file\",e),await t$._fetch({path:`/organizations/${this.id}/logo`,method:\"PUT\",body:t,headers:a}).then(e=>new rC(e?.response)))};initializePaymentMethod=e=>aP({...e,orgId:this.id});addPaymentMethod=e=>aq({...e,orgId:this.id});getPaymentMethods=e=>aO({...e,orgId:this.id});fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.slug=e.slug,this.imageUrl=e.image_url||\"\",this.hasImage=e.has_image||!1,this.publicMetadata=e.public_metadata||{},this.membersCount=e.members_count||0,this.pendingInvitationsCount=e.pending_invitations_count||0,this.maxAllowedMemberships=e.max_allowed_memberships||0,this.adminDeleteEnabled=e.admin_delete_enabled||!1,this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at)),this}__internal_toSnapshot(){return{object:\"organization\",id:this.id,name:this.name,slug:this.slug,image_url:this.imageUrl,has_image:this.hasImage,public_metadata:this.publicMetadata,members_count:this.membersCount,pending_invitations_count:this.pendingInvitationsCount,max_allowed_memberships:this.maxAllowedMemberships,admin_delete_enabled:this.adminDeleteEnabled,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}async reload(e){let{rotatingTokenNonce:t}=e||{},a=(await t$._fetch({path:`/organizations/${this.id}`,method:\"GET\",rotatingTokenNonce:t},{forceUpdateClient:!0}))?.response;return this.fromJSON(a)}}class rP extends t${id;emailAddress;organizationId;publicMetadata={};status;role;roleName;createdAt;updatedAt;static async create(e,{emailAddress:t,role:a}){return new rP((await t$._fetch({path:`/organizations/${e}/invitations`,method:\"POST\",body:{email_address:t,role:a}}))?.response)}static async createBulk(e,t){let{emailAddresses:a,role:r}=t;return((await t$._fetch({path:`/organizations/${e}/invitations/bulk`,method:\"POST\",body:{email_address:a,role:r}}))?.response).map(e=>new rP(e))}constructor(e){super(),this.fromJSON(e)}revoke=async()=>await this._basePost({path:`/organizations/${this.organizationId}/invitations/${this.id}/revoke`});fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.organizationId=e.organization_id,this.publicMetadata=e.public_metadata,this.role=e.role,this.roleName=e.role_name,this.status=e.status,this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at)),this}}class rq extends t${id;publicMetadata={};publicUserData;organization;permissions=[];role;roleName;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static retrieve=async e=>await t$._fetch({path:\"/me/organization_memberships\",method:\"GET\",search:ad({...e,paginated:!0})}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rq(e))}});destroy=async()=>await this._baseDelete({path:`/organizations/${this.organization.id}/memberships/${this.publicUserData?.userId}`});update=async({role:e})=>await this._basePatch({path:`/organizations/${this.organization.id}/memberships/${this.publicUserData?.userId}`,body:{role:e}});fromJSON(e){return e&&(this.id=e.id,this.organization=new rC(e.organization),this.publicMetadata=e.public_metadata||{},e.public_user_data&&(this.publicUserData=new rD(e.public_user_data)),this.permissions=Array.isArray(e.permissions)?[...e.permissions]:[],this.role=e.role,this.roleName=e.role_name,this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at)),this}__internal_toSnapshot(){return{object:\"organization_membership\",id:this.id,organization:this.organization.__internal_toSnapshot(),public_metadata:this.publicMetadata,public_user_data:this.publicUserData?.__internal_toSnapshot(),permissions:this.permissions,role:this.role,role_name:this.roleName,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}reload(e){throw Error(`${tO} Calling OrganizationMembership.reload is not currently supported. Please contact support.`)}}class rO extends t${id;publicOrganizationData;status;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static async retrieve(e){return await t$._fetch({path:\"/me/organization_suggestions\",method:\"GET\",search:ad(e)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new rO(e))}})}accept=async()=>await this._basePost({path:`/me/organization_suggestions/${this.id}/accept`});fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.publicOrganizationData={hasImage:e.public_organization_data.has_image,imageUrl:e.public_organization_data.image_url,name:e.public_organization_data.name,id:e.public_organization_data.id,slug:e.public_organization_data.slug},this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at)),this}}function rT(){return c()&&\"function\"==typeof window.PublicKeyCredential}async function rU(){try{return rT()&&await window.PublicKeyCredential.isConditionalMediationAvailable()}catch{return!1}}async function rM(){try{return\"u\">typeof window&&await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()}catch{return!1}}class rR extends t${id;pathRoot=\"/me/passkeys\";verification=null;name=null;lastUsedAt=null;createdAt;updatedAt;constructor(e){super(),this.fromJSON(e)}static async create(){return t$._fetch({path:\"/me/passkeys\",method:\"POST\"}).then(e=>new rR(e?.response))}static async attemptVerification(e,t){let a,r=(a=t.response,{...rl(t),response:{clientDataJSON:ru(a.clientDataJSON),attestationObject:ru(a.attestationObject),transports:a.getTransports()}});return t$._fetch({path:`/me/passkeys/${e}/attempt_verification`,method:\"POST\",body:{strategy:\"passkey\",publicKeyCredential:JSON.stringify(r)}}).then(e=>new rR(e?.response))}static async registerPasskey(){let e=rR.clerk.__internal_isWebAuthnSupported||rT,t=rR.clerk.__internal_createPublicCredentials||rr,a=rR.clerk.__internal_isWebAuthnPlatformAuthenticatorSupported||rM;if(!e())throw new T(\"Passkeys are not supported on this device.\",{code:\"passkey_not_supported\"});let r=await this.create(),{verification:n}=r,i=n?.publicKey;if(i||tF(\"create\"),i.authenticatorSelection?.authenticatorAttachment===\"platform\"&&!await a())throw new T(\"Registration requires a platform authenticator but the device does not support it.\",{code:\"passkey_pa_not_supported\"});let{publicKeyCredential:s,error:o}=await t(i);if(!s)throw o;return this.attemptVerification(r.id,s)}update=e=>this._basePatch({body:e});delete=async()=>new a4((await t$._fetch({path:this.path(),method:\"DELETE\"}))?.response);fromJSON(e){return e&&(this.id=e.id,this.name=e.name,this.lastUsedAt=e.last_used_at?tY(e.last_used_at):null,this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at),e.verification&&(this.verification=new rm(e.verification))),this}__internal_toSnapshot(){return{object:\"passkey\",id:this.id,name:this.name,verification:this.verification?.__internal_toSnapshot()||null,last_used_at:this.lastUsedAt?.getTime()||null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}}class rB extends t${id;phoneNumber=\"\";reservedForSecondFactor=!1;defaultSecondFactor=!1;linkedTo=[];verification;backupCodes;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}create=()=>this._basePost({body:{phone_number:this.phoneNumber}});prepareVerification=()=>this._basePost({action:\"prepare_verification\",body:{strategy:\"phone_code\"}});attemptVerification=e=>{let{code:t}=e||{};return this._basePost({action:\"attempt_verification\",body:{code:t}})};setReservedForSecondFactor=e=>{let{reserved:t}=e||{};return this._basePatch({body:{reserved_for_second_factor:t}})};makeDefaultSecondFactor=()=>this._basePatch({body:{default_second_factor:!0}});destroy=()=>this._baseDelete();toString=()=>{let e=this.phoneNumber.match(/^(\\d{3})(\\d{3})(\\d{4})$/);return e?\"(\"+e[1]+\") \"+e[2]+\"-\"+e[3]:this.phoneNumber};fromJSON(e){return e&&(this.id=e.id,this.phoneNumber=e.phone_number,this.reservedForSecondFactor=e.reserved_for_second_factor,this.defaultSecondFactor=e.default_second_factor,this.verification=new rh(e.verification),this.linkedTo=(e.linked_to||[]).map(e=>new rj(e)),this.backupCodes=e.backup_codes),this}__internal_toSnapshot(){return{object:\"phone_number\",id:this.id||\"\",phone_number:this.phoneNumber,reserved_for_second_factor:this.reservedForSecondFactor,default_second_factor:this.defaultSecondFactor,verification:this.verification.__internal_toSnapshot(),linked_to:this.linkedTo.map(e=>e.__internal_toSnapshot()),backup_codes:this.backupCodes}}}class rN extends t${id=\"\";loaders;rollout;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=this.withDefault(e.id,this.id),this.loaders=this.withDefault(e.loaders,this.loaders)),this}__internal_toSnapshot(){return{object:\"protect_config\",id:this.id,loaders:this.loaders}}}class rD{firstName;lastName;imageUrl;hasImage;identifier;userId;username;banned;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.firstName=e.first_name||null,this.lastName=e.last_name||null,this.imageUrl=e.image_url||\"\",this.hasImage=e.has_image||!1,this.identifier=e.identifier||\"\",this.userId=e.user_id,this.username=e.username,this.banned=e.banned??void 0),this}__internal_toSnapshot(){return{first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl,has_image:this.hasImage,identifier:this.identifier,user_id:this.userId,username:this.username,banned:this.banned}}}let rF={strict_mfa:{afterMinutes:10,level:\"multi_factor\"},strict:{afterMinutes:10,level:\"second_factor\"},moderate:{afterMinutes:60,level:\"second_factor\"},lax:{afterMinutes:1440,level:\"second_factor\"}},rL=new Set([\"first_factor\",\"second_factor\",\"multi_factor\"]),rW=new Set([\"strict_mfa\",\"strict\",\"moderate\",\"lax\"]),rK=new Set([\"o\",\"org\",\"organization\"]),rH=new Set([\"u\",\"user\"]),rV=e=>\"number\"==typeof e&&Number.isFinite(e)&&(-1===e||e>=0),rG=(e,t)=>{let{org:a,user:r}=rJ(e),[n,i]=t.split(\":\"),s=void 0!==i,o=i||n;if(s&&!rK.has(n)&&!rH.has(n))throw Error(`Invalid scope: ${n}`);if(s){if(rK.has(n))return a.includes(o);if(rH.has(n))return r.includes(o)}return[...a,...r].includes(o)},rJ=e=>{let t=[],a=[];if(!e)return{org:t,user:a};let r=e.split(\",\");for(let e=0;e(a9.clear(),this._basePost({action:\"end\"}));remove=()=>(a9.clear(),this._basePost({action:\"remove\"}));_touchPost=async({intent:e,skipUpdateClient:t}={skipUpdateClient:!1})=>{let a=await t$._fetch({method:\"POST\",path:this.path(\"touch\"),body:{active_organization_id:this.lastActiveOrganizationId,intent:e}},{skipUpdateClient:t});return this.fromJSON(a?.response||a),a};touch=async({intent:e}={})=>(await this._touchPost({intent:e,skipUpdateClient:!1}),this.lastActiveToken&&aH.emit(aF,{token:this.lastActiveToken}),this);__internal_touch=async({intent:e}={})=>a5(await this._touchPost({intent:e,skipUpdateClient:!0}));clearCache=()=>a9.clear();getToken=async e=>{try{let t=await th(()=>this._getToken(e),{factor:1.55,initialDelay:3e3,maxDelayBetweenRetries:5e4,jitter:!1,shouldRetry:(e,t)=>(!M(e)||e?.status===429)&&(d()?t<=8:t<=3)});if(!t&&!d())throw new A(\"Network request failed while offline. The browser appears to be disconnected.\");return t}catch(e){if(!d())throw new A(\"Network request failed while offline. The browser appears to be disconnected.\");throw e}};checkAuthorization=e=>{let t,a=(this.user?.organizationMemberships||[]).find(e=>e.organization.id===this.lastActiveOrganizationId);return(t={userId:this.user?.id,factorVerificationAge:this.factorVerificationAge,orgId:a?.organization?.id,orgRole:a?.role,orgPermissions:a?.permissions,features:this.lastActiveToken?.jwt?.claims.fea||\"\",plans:this.lastActiveToken?.jwt?.claims.pla||\"\"},e=>{let a;return!!t.userId&&(a=[((e,t)=>{let{orgId:a,orgRole:r,orgPermissions:n}=t,i=void 0!==e.role,s=void 0!==e.permission;return i||s?i&&\"string\"!=typeof e.role||s&&\"string\"!=typeof e.permission||!a||i&&(\"string\"!=typeof r||!r||r.replace(/^(org:)*/,\"org:\")!==e.role.replace(/^(org:)*/,\"org:\"))||s&&(!Array.isArray(n)||!n.includes(e.permission.replace(/^(org:)*/,\"org:\")))?\"fail\":\"pass\":\"skip\"})(e,t),((e,t)=>{let{features:a,plans:r}=t,n=void 0!==e.feature,i=void 0!==e.plan;if(!n&&!i)return\"skip\";if(n&&\"string\"!=typeof e.feature||i&&\"string\"!=typeof e.plan)return\"fail\";if(n){if(\"string\"!=typeof a||!a)return\"fail\";try{if(!rG(a,e.feature))return\"fail\"}catch{return\"fail\"}}if(i){if(\"string\"!=typeof r||!r)return\"fail\";try{if(!rG(r,e.plan))return\"fail\"}catch{return\"fail\"}}return\"pass\"})(e,t),((e,{factorVerificationAge:t})=>{if(void 0===e.reverification)return\"skip\";if(!t||!Array.isArray(t)||2!==t.length||!rV(t[0])||!rV(t[1]))return\"fail\";let a=(e=>{let t,a;if(!e)return!1;let r=\"string\"==typeof e&&rW.has(e),n=\"object\"==typeof e&&(t=e.level,rL.has(t))&&\"number\"==typeof(a=e.afterMinutes)&&a>0;return(!!r||!!n)&&(e=>\"string\"==typeof e?rF[e]:e).bind(null,e)})(e.reverification);if(!a)return\"fail\";let{level:r,afterMinutes:n}=a(),[i,s]=t;if(-1===i&&-1===s)return\"fail\";let o=-1!==i&&n>i,l=-1!==s&&n>s;switch(r){case\"first_factor\":return o?\"pass\":\"fail\";case\"second_factor\":if(-1===s)return o?\"pass\":\"fail\";return l?\"pass\":\"fail\";case\"multi_factor\":if(-1===s)return o?\"pass\":\"fail\";if(-1===i)return\"fail\";return o&&l?\"pass\":\"fail\"}})(e,t)]).some(e=>\"pass\"===e)&&a.every(e=>\"pass\"===e||\"skip\"===e)})(e)};#eh=e=>{if(e){let t=this.#em();a9.set({tokenId:t,tokenResolver:Promise.resolve(e),onRefresh:()=>this.#ep(void 0,this.lastActiveOrganizationId,t,!0)})}};#em(e,t){let a=void 0===t?this.lastActiveOrganizationId:t;return aV.build(this.id,e,a)}startVerification=async({level:e})=>new rZ((await t$._fetch({method:\"POST\",path:`/client/sessions/${this.id}/verify`,body:{level:e}}))?.response);prepareFirstFactorVerification=async e=>{let t;switch(e.strategy){case\"email_code\":t={emailAddressId:e.emailAddressId};break;case\"phone_code\":t={phoneNumberId:e.phoneNumberId,default:e.default};break;case\"passkey\":t={};break;case\"enterprise_sso\":t={emailAddressId:e.emailAddressId,enterpriseConnectionId:e.enterpriseConnectionId,redirectUrl:e.redirectUrl};break;default:tR(\"Session.prepareFirstFactorVerification\",e.strategy)}return new rZ((await t$._fetch({method:\"POST\",path:`/client/sessions/${this.id}/verify/prepare_first_factor`,body:{...t,strategy:e.strategy}}))?.response)};attemptFirstFactorVerification=async e=>{let t;return t=\"passkey\"===e.strategy?{publicKeyCredential:JSON.stringify(rc(e.publicKeyCredential))}:{...e},new rZ((await t$._fetch({method:\"POST\",path:`/client/sessions/${this.id}/verify/attempt_first_factor`,body:{...t,strategy:e.strategy}}))?.response)};verifyWithPasskey=async()=>{let{nonce:e=null}=(await this.prepareFirstFactorVerification({strategy:\"passkey\"})).firstFactorVerification,t=r$.clerk.__internal_isWebAuthnSupported||rT,a=r$.clerk.__internal_getPublicCredentials||ri;if(!t())throw new T(\"Passkeys are not supported\",{code:\"passkey_not_supported\"});let r=e?ro(JSON.parse(e)):null;r||tF(\"get\");let{publicKeyCredential:n,error:i}=await a({publicKeyOptions:r,conditionalUI:!1});if(!n)throw i;return this.attemptFirstFactorVerification({strategy:\"passkey\",publicKeyCredential:n})};prepareSecondFactorVerification=async e=>new rZ((await t$._fetch({method:\"POST\",path:`/client/sessions/${this.id}/verify/prepare_second_factor`,body:e}))?.response);attemptSecondFactorVerification=async e=>new rZ((await t$._fetch({method:\"POST\",path:`/client/sessions/${this.id}/verify/attempt_second_factor`,body:e}))?.response);fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.expireAt=tY(e.expire_at),this.abandonAt=tY(e.abandon_at),this.factorVerificationAge=e.factor_verification_age,this.lastActiveAt=tY(e.last_active_at||void 0),this.lastActiveOrganizationId=e.last_active_organization_id,this.actor=e.actor||null,this.agent=e.actor?.type===\"agent\"?e.actor:null,this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at),this.user=new nl(e.user),this.tasks=e.tasks||null,e.public_user_data&&(this.publicUserData=new rD(e.public_user_data)),this.lastActiveToken=e.last_active_token?new nn(e.last_active_token):null),this}__internal_toSnapshot(){return{object:\"session\",id:this.id,status:this.status,expire_at:this.expireAt.getTime(),abandon_at:this.abandonAt.getTime(),factor_verification_age:this.factorVerificationAge,last_active_at:this.lastActiveAt.getTime(),last_active_organization_id:this.lastActiveOrganizationId,actor:this.actor,tasks:this.tasks,user:this.user?.__internal_toSnapshot()||null,public_user_data:this.publicUserData.__internal_toSnapshot(),last_active_token:this.lastActiveToken?.__internal_toSnapshot()||null,created_at:this.createdAt.getTime(),updated_at:this.updatedAt.getTime()}}async _getToken(e){let t;if(!this.user)return null;let{skipCache:a=!1,template:r}=e||{},n=void 0===e?.organizationId?this.lastActiveOrganizationId:e?.organizationId,i=this.#em(r,n),s=a?void 0:a9.get({tokenId:i}),o=!r&&n===this.lastActiveOrganizationId;if(s){let e=s.entry.resolvedToken??await s.entry.tokenResolver;o&&e.getRawString()&&aH.emit(aF,{token:e}),t=e.getRawString()||null}else if(u())t=await this.#ef(r,n,i,o,a);else throw new x(\"Browser is offline, skipping token fetch\",{code:\"network_error\"});if(null===t&&!d())throw new x(\"Network request failed while offline\",{code:\"network_error\"});return t}#eg(e,t,a){let r=e?`${this.path()}/tokens/${e}`:`${this.path()}/tokens`,n=r$.clerk?.__internal_environment?.authConfig?.sessionMinter,i=e?{}:{organizationId:t??null,...n&&this.lastActiveToken?{token:this.lastActiveToken.getRawString()}:{},...n&&a?{forceOrigin:\"true\"}:{}};if(n)return nn.create(r,i,a?{debug:\"skip_cache\"}:void 0);let s=this.lastActiveToken?.getRawString();return nn.create(r,i,a?{debug:\"skip_cache\"}:void 0).catch(e=>{if(I.is(e)&&s)return nn.create(r,{...i},{expired_token:s});throw e})}#eb(e,t){!t||e.getRawString()&&(aH.emit(aF,{token:e}),e.jwt&&(this.lastActiveToken=e,aH.emit(aK,null)))}#ef(e,t,a,r,n){tl.info(\"Fetching new token from API\",{organizationId:t,template:e,tokenId:a},\"session\");let i=this.#eg(e,t,n);return a9.set({tokenId:a,tokenResolver:i,onRefresh:()=>this.#ep(e,t,a,r)}),i.then(e=>{let t=e.getRawString();if(!t)throw new x(\"Token fetch returned empty response\",{code:\"network_error\"});return this.#eb(e,r),t})}#ep(e,t,a,r){if(r$.#ed.has(a))return;r$.#ed.add(a);let n=r$.clerk?.__internal_getOption?.(\"experimental\"),i=n?.runtimeEnvironment===\"headless\",s=this.lastActiveToken?.jwt?.claims?.exp;i&&s&&Date.now()/1e3>s?r$.#ed.delete(a):this.#eg(e,t,!1).then(n=>{n.getRawString()&&(a9.set({tokenId:a,tokenResolver:Promise.resolve(n),onRefresh:()=>this.#ep(e,t,a,r)}),this.#eb(n,r))}).catch(e=>{tl.warn(\"Background token refresh failed\",{error:e,tokenId:a},\"session\")}).finally(()=>{r$.#ed.delete(a)})}get currentTask(){let[e]=this.tasks??[];return e}}class rY extends t${pathRoot=\"\";id;status;abandonAt;expireAt;lastActiveAt;latestActivity;actor;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}static retrieve(){let e=t$.clerk.session?.id;return this.clerk.getFapiClient().request({method:\"GET\",path:\"/me/sessions/active\",sessionId:e}).then(e=>e.payload.map(e=>new rY(e,\"/me/sessions\"))).catch(()=>[])}revoke(){return this._basePost({action:\"revoke\",body:{}})}fromJSON(e){let t;return e?(this.id=e.id,this.status=e.status,this.expireAt=tY(e.expire_at),this.abandonAt=tY(e.abandon_at),this.lastActiveAt=tY(e.last_active_at||void 0),this.latestActivity={id:(t=e.latest_activity??{}).id,deviceType:t.device_type,browserName:t.browser_name,browserVersion:t.browser_version,country:t.country,city:t.city,isMobile:t.is_mobile,ipAddress:t.ip_address},this.actor=e.actor,this):this}}n(9536);let rQ=(e,t,a)=>{let{onValidation:r=aG.t,onValidationComplexity:n=aG.t}=a||{},{show_zxcvbn:i,validatePassword:s}=t,o=e=>((e,t)=>{let{max_length:a,min_length:r,require_special_char:n,require_lowercase:i,require_numbers:s,require_uppercase:o}=t,l=(e=>{let t;if(e.allowed_special_characters){let a=e.allowed_special_characters.replace(\"[\",\"\\\\[\");a=a.replace(\"]\",\"\\\\]\"),t=RegExp(`[${a}]`)}else t=/[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]/;return(e,{minLength:a,maxLength:r})=>({max_length:e.length=a,require_numbers:/\\d/.test(e),require_lowercase:/[a-z]/.test(e),require_uppercase:/[A-Z]/.test(e),require_special_char:t.test(e)})})(t)(e,{maxLength:t.max_length,minLength:t.min_length}),c={max_length:a,min_length:r,require_special_char:n,require_lowercase:i,require_numbers:s,require_uppercase:o},u=new Map;for(let e in c)c[e]&&!l[e]&&u.set(e,!0);return Object.freeze(Object.fromEntries(u))})(e,t),l=(({min_zxcvbn_strength:e,onResult:t})=>a=>r=>{let n=a(r);return(t?.(n),n.score>=e&&n.score<3)?{state:\"pass\",keys:[\"unstable__errors.zxcvbn.couldBeStronger\"],result:n}:n.score>=e?{state:\"excellent\",result:n}:{state:\"fail\",keys:[\"unstable__errors.zxcvbn.notEnough\",...n.feedback.suggestions.map(e=>`unstable__errors.zxcvbn.suggestions.${e}`)],result:n}})(t),c={};return(t,a)=>{let{onValidation:u=r,onValidationComplexity:d=n}=a||{};if(!s)return;let h=o(t);d(0===Object.keys(h).length),c={...c,complexity:h},i&&e().then(e=>{let a=l(e)(t);u({...c={...c,strength:a},strength:a})}),c.complexity&&0===Object.keys(c.complexity).length&&i||u(c)}};function rX(e){return e?`https://${e.replace(/clerk\\.accountsstage\\./,\"accountsstage.\").replace(/clerk\\.accounts\\.|clerk\\./,\"accounts.\")}`:\"\"}async function r1(e,t,a,r,n){if(!e.client||!r.popup)return;let i=rX(e.frontendApi),{redirectUrl:s}=r,o=new URL(s);o.searchParams.set(\"sign_in_force_redirect_url\",r.redirectUrlComplete),o.searchParams.set(\"sign_up_force_redirect_url\",r.redirectUrlComplete),o.searchParams.set(\"intent\",t);let l=e.buildUrlWithAuth(o.toString()),c=e.buildUrlWithAuth(`${i}/popup-callback`),u=e.buildUrlWithAuth(`${i}/popup-callback?return_url=${encodeURIComponent(l)}`),d=async t=>{if(t.origin!==i)return;let a=!1;if(t.data.session){if(!e.client?.sessions.find(e=>e.id===t.data.session))try{await e.client?.reload()}catch(e){console.error(e)}await e.setActive({session:t.data.session,redirectUrl:r.redirectUrlComplete}),a=!0}else t.data.return_url&&(e.navigate(t.data.return_url),a=!0);a&&window.removeEventListener(\"message\",d)};window.addEventListener(\"message\",d),await a({...r,redirectUrlComplete:c,redirectUrl:u},n)}function r0(e,{redirectCallbackUrl:t,redirectUrl:a}){let r=rX(e.frontendApi),n=new URL(t);n.searchParams.set(\"sign_in_force_redirect_url\",a),n.searchParams.set(\"sign_up_force_redirect_url\",a);let i=e.buildUrlWithAuth(n.toString()),s=e.buildUrlWithAuth(`${r}/popup-callback`);return{redirectCallbackUrl:e.buildUrlWithAuth(`${r}/popup-callback?return_url=${encodeURIComponent(i)}`),redirectUrl:s}}function r2(e,t){return new Promise((a,r)=>{if(!e.client||!t.popup)return void r();let n=async t=>{t.origin===rX(e.frontendApi)&&(t.data.session||t.data.return_url?(window.removeEventListener(\"message\",n),a()):r())};window.addEventListener(\"message\",n),t.popup.location.href=t.externalVerificationRedirectURL.toString()})}async function r3(e,t){aH.emit(\"resource:error\",{resource:e,error:null}),aH.emit(\"resource:fetch\",{resource:e,status:\"fetching\"});try{return{result:await t(),error:null}}catch(t){return aH.emit(\"resource:error\",{resource:e,error:t}),{error:t}}finally{aH.emit(\"resource:fetch\",{resource:e,status:\"idle\"})}}let r9=()=>{var e;return(e=new tp,{loadZxcvbn:()=>Promise.all([e.import(\"@zxcvbn-ts/core\"),e.import(\"@zxcvbn-ts/language-common\")]).then(([e,t])=>{if(!e||!t)throw Error(\"Failed to load zxcvbn modules\");let{zxcvbnOptions:a,zxcvbn:r}=e,{dictionary:n,adjacencyGraphs:i}=t;return a.setOptions({dictionary:{...n},graphs:i}),r})}).loadZxcvbn};class r5 extends t${pathRoot=\"/client/sign_ins\";id;_status=null;supportedIdentifiers=[];supportedFirstFactors=[];supportedSecondFactors=null;firstFactorVerification=new rh(null);secondFactorVerification=new rh(null);identifier=null;createdSessionId=null;userData=new nc(null);clientTrustState;get status(){return this._status}set status(e){let t=this._status;this._status=e,e&&t!==e&&tl.debug(\"SignIn.status\",{id:this.id,from:t,to:e})}__internal_future=new r6(this);__internal_basePost=this._basePost.bind(this);__internal_baseGet=this._baseGet.bind(this);constructor(e=null){super(),this.fromJSON(e)}create=async e=>{tl.debug(\"SignIn.create\",{id:this.id,strategy:\"strategy\"in e?e.strategy:void 0});let t={...e},a=t_();if(a&&(t.locale=a),this.shouldRequireCaptcha(e)&&!this.clientBypass()&&!this.shouldBypassCaptchaForAttempt(e)){let e=new tJ(r5.clerk),a=await e.managedOrInvisible({action:\"signin\"});if(!a)throw new x(\"\",{code:\"captcha_unavailable\"});t={...t,...a}}return this._basePost({path:this.pathRoot,body:t})};resetPassword=e=>this._basePost({body:e,action:\"reset_password\"});prepareFirstFactor=e=>{let t;switch(tl.debug(\"SignIn.prepareFirstFactor\",{id:this.id,strategy:e.strategy}),e.strategy){case\"passkey\":t={};break;case\"email_link\":t={emailAddressId:e.emailAddressId,redirectUrl:e.redirectUrl};break;case\"email_code\":case\"reset_password_email_code\":t={emailAddressId:e.emailAddressId};break;case\"phone_code\":t={phoneNumberId:e.phoneNumberId,default:e.default,channel:e.channel};break;case\"web3_metamask_signature\":case\"web3_base_signature\":case\"web3_coinbase_wallet_signature\":case\"web3_okx_wallet_signature\":case\"web3_solana_signature\":t={web3WalletId:e.web3WalletId};break;case\"reset_password_phone_code\":t={phoneNumberId:e.phoneNumberId};break;case\"enterprise_sso\":t={redirectUrl:e.redirectUrl,actionCompleteRedirectUrl:e.actionCompleteRedirectUrl,oidcPrompt:e.oidcPrompt,enterpriseConnectionId:e.enterpriseConnectionId};break;default:tR(\"SignIn.prepareFirstFactor\",e.strategy)}return this._basePost({body:{...t,strategy:e.strategy},action:\"prepare_first_factor\"})};attemptFirstFactor=e=>{let t;return tl.debug(\"SignIn.attemptFirstFactor\",{id:this.id,strategy:e.strategy}),t=\"passkey\"===e.strategy?{publicKeyCredential:JSON.stringify(rc(e.publicKeyCredential))}:{...e},this._basePost({body:{...t,strategy:e.strategy},action:\"attempt_first_factor\"})};createEmailLinkFlow=()=>{let{run:e,stop:t}=re();return{startEmailLinkFlow:async({emailAddressId:a,redirectUrl:r})=>{this.id||tM(\"SignIn\");let n={strategy:\"email_link\",emailAddressId:a,redirectUrl:r},i=\"needs_second_factor\"===this.status||\"needs_client_trust\"===this.status,s=i?\"secondFactorVerification\":\"firstFactorVerification\";return i?await this.prepareSecondFactor(n):await this.prepareFirstFactor(n),new Promise((a,r)=>{e(()=>this.reload().then(e=>{let r=e[s].status;(\"verified\"===r||\"expired\"===r)&&(t(),a(e))}).catch(e=>{t(),r(e)}))})},cancelEmailLinkFlow:t}};prepareSecondFactor=e=>(tl.debug(\"SignIn.prepareSecondFactor\",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:\"prepare_second_factor\"}));attemptSecondFactor=e=>(tl.debug(\"SignIn.attemptSecondFactor\",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:\"attempt_second_factor\"}));authenticateWithRedirectOrPopup=async(e,t)=>{let{strategy:a,redirectUrlComplete:r,identifier:n,oidcPrompt:i,continueSignIn:s,enterpriseConnectionId:o}=e||{},l=r5.clerk.buildUrlWithAuth(e.redirectUrl);this.id&&s||await this.create({strategy:a,identifier:n,redirectUrl:l,actionCompleteRedirectUrl:r}),\"enterprise_sso\"===a&&await this.prepareFirstFactor({strategy:a,redirectUrl:l,actionCompleteRedirectUrl:r,oidcPrompt:i,enterpriseConnectionId:o});let{status:c,externalVerificationRedirectURL:u}=this.firstFactorVerification;\"unverified\"===c&&u?t(u):tD(c,r5.fapiClient.buildEmailAddress(\"support\"))};authenticateWithRedirect=async e=>this.authenticateWithRedirectOrPopup(e,eY);authenticateWithPopup=async e=>{let{popup:t}=e||{};return t||tN(\"popup\"),r1(r5.clerk,\"signIn\",this.authenticateWithRedirectOrPopup,e,e=>{t.location.href=e.toString()})};authenticateWithWeb3=async e=>{let t,{identifier:a,generateSignature:r,strategy:n=\"web3_metamask_signature\",walletName:i}=e||{},s=n.replace(\"web3_\",\"\").replace(\"_signature\",\"\");\"function\"!=typeof r&&tN(\"generateSignature\"),\"solana\"!==s||i||tN(\"walletName\"),await this.create({identifier:a});let o=this.supportedFirstFactors?.find(e=>e.strategy===n);o||tB(\"SignIn\"),await this.prepareFirstFactor(o);let{message:l}=this.firstFactorVerification;l||tB(\"SignIn\");try{t=await r({identifier:a,nonce:l,walletName:i,provider:s})}catch(e){if(\"coinbase_wallet\"===s&&4001===e.code)t=await r({identifier:a,nonce:l,provider:s,walletName:i});else throw e}return this.attemptFirstFactor({signature:t,strategy:n})};authenticateWithMetamask=async()=>{let e=await tA().getMetamaskIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tA().generateSignatureWithMetamask,strategy:\"web3_metamask_signature\"})};authenticateWithCoinbaseWallet=async()=>{let e=await tA().getCoinbaseWalletIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tA().generateSignatureWithCoinbaseWallet,strategy:\"web3_coinbase_wallet_signature\"})};authenticateWithBase=async()=>{let e=await tA().getBaseIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tA().generateSignatureWithBase,strategy:\"web3_base_signature\"})};authenticateWithOKXWallet=async()=>{let e=await tA().getOKXWalletIdentifier();return this.authenticateWithWeb3({identifier:e,generateSignature:tA().generateSignatureWithOKXWallet,strategy:\"web3_okx_wallet_signature\"})};authenticateWithSolana=async({walletName:e})=>{let t=await tA().getSolanaIdentifier(e);return this.authenticateWithWeb3({identifier:t,generateSignature:t=>tA().generateSignatureWithSolana({...t,walletName:e}),strategy:\"web3_solana_signature\",walletName:e})};authenticateWithPasskey=async e=>{let{flow:t}=e||{},a=r5.clerk.__internal_isWebAuthnSupported||rT,r=r5.clerk.__internal_getPublicCredentials||ri,n=r5.clerk.__internal_isWebAuthnAutofillSupported||rU;if(!a())throw new T(\"Passkeys are not supported\",{code:\"passkey_not_supported\"});if(\"autofill\"===t||\"discoverable\"===t)await this.create({strategy:\"passkey\"});else{let e=this.supportedFirstFactors.find(e=>\"passkey\"===e.strategy);e||function(){throw Error(`${tO} You need to start a SignIn flow by calling SignIn.create({ strategy: 'passkey' }) first`)}(),await this.prepareFirstFactor(e)}let{nonce:i}=this.firstFactorVerification,s=i?ro(JSON.parse(i)):null;s||tF(\"get\");let o=!1;\"autofill\"===t&&(o=await n());let{publicKeyCredential:l,error:c}=await r({publicKeyOptions:s,conditionalUI:o});if(!l)throw c;return this.attemptFirstFactor({publicKeyCredential:l,strategy:\"passkey\"})};validatePassword=(e,t)=>{if(r5.clerk.__internal_environment?.userSettings.passwordSettings)return rQ(r9(),{...r5.clerk.__internal_environment?.userSettings.passwordSettings,validatePassword:!0})(e,t)};fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.supportedIdentifiers=e.supported_identifiers,this.identifier=e.identifier,this.supportedFirstFactors=ec(e.supported_first_factors),this.supportedSecondFactors=ec(e.supported_second_factors),this.firstFactorVerification=new rh(e.first_factor_verification),this.secondFactorVerification=new rh(e.second_factor_verification),this.createdSessionId=e.created_session_id,this.userData=new nc(e.user_data),this.clientTrustState=e.client_trust_state??void 0),aH.emit(\"resource:update\",{resource:this}),this}clientBypass(){return r5.clerk.client?.captchaBypass}shouldRequireCaptcha(e){return\"signUpIfMissing\"in e&&!!e.signUpIfMissing}shouldBypassCaptchaForAttempt(e){let t=r5.clerk.__internal_environment.displayConfig.captchaOauthBypass;if(e.transfer&&r5.clerk.client?.signUp?.verifications?.externalAccount?.status===\"transferable\"){let e=r5.clerk.client.signUp.verifications.externalAccount.strategy;return!!e&&t.some(t=>t===e)}return\"strategy\"in e&&!!e.strategy&&t.some(t=>t===e.strategy)}__internal_updateFromJSON(e){return this.fromJSON(e)}__internal_toSnapshot(){return{object:\"sign_in\",id:this.id||\"\",status:this.status||null,supported_identifiers:this.supportedIdentifiers,supported_first_factors:el(this.supportedFirstFactors),supported_second_factors:el(this.supportedSecondFactors),first_factor_verification:this.firstFactorVerification.__internal_toSnapshot(),second_factor_verification:this.secondFactorVerification.__internal_toSnapshot(),identifier:this.identifier,created_session_id:this.createdSessionId,user_data:this.userData.__internal_toSnapshot()}}}class r6{emailCode={sendCode:this.sendEmailCode.bind(this),verifyCode:this.verifyEmailCode.bind(this)};emailLink={sendLink:this.sendEmailLink.bind(this),waitForVerification:this.waitForEmailLinkVerification.bind(this),get verification(){if(!o())return null;let e=eD(\"__clerk_status\"),t=eD(\"__clerk_created_session\");if(!e||!t)return null;let a=\"verified\"===e&&void 0!==r5.clerk.client&&r5.clerk.client.sessions.some(e=>e.id===t);return{status:e,createdSessionId:t,verifiedFromTheSameClient:a}}};resetPasswordEmailCode={sendCode:this.sendResetPasswordEmailCode.bind(this),verifyCode:this.verifyResetPasswordEmailCode.bind(this),submitPassword:this.submitResetPassword.bind(this)};resetPasswordPhoneCode={sendCode:this.sendResetPasswordPhoneCode.bind(this),verifyCode:this.verifyResetPasswordPhoneCode.bind(this),submitPassword:this.submitResetPassword.bind(this)};phoneCode={sendCode:this.sendPhoneCode.bind(this),verifyCode:this.verifyPhoneCode.bind(this)};mfa={sendPhoneCode:this.sendMFAPhoneCode.bind(this),verifyPhoneCode:this.verifyMFAPhoneCode.bind(this),sendEmailCode:this.sendMFAEmailCode.bind(this),verifyEmailCode:this.verifyMFAEmailCode.bind(this),verifyTOTP:this.verifyTOTP.bind(this),verifyBackupCode:this.verifyBackupCode.bind(this)};#ey=!1;#ew;constructor(e){this.#ew=e}get id(){return this.#ew.id}get identifier(){return this.#ew.identifier}get createdSessionId(){return this.#ew.createdSessionId}get userData(){return this.#ew.userData}get status(){return this.#ew.status||\"needs_identifier\"}get supportedFirstFactors(){return this.#ew.supportedFirstFactors??[]}get supportedSecondFactors(){return this.#ew.supportedSecondFactors??[]}get isTransferable(){return\"transferable\"===this.#ew.firstFactorVerification.status}get existingSession(){if(\"failed\"===this.#ew.firstFactorVerification.status&&this.#ew.firstFactorVerification.error?.code===\"identifier_already_signed_in\"&&this.#ew.firstFactorVerification.error?.meta?.sessionId)return{sessionId:this.#ew.firstFactorVerification.error?.meta?.sessionId}}get firstFactorVerification(){return this.#ew.firstFactorVerification}get secondFactorVerification(){return this.#ew.secondFactorVerification}get canBeDiscarded(){return this.#ey}async sendResetPasswordEmailCode(){if(!this.#ew.id)throw Error(\"Cannot reset password without a sign in.\");return r3(this.#ew,async()=>{let e=this.#ew.supportedFirstFactors?.find(e=>\"reset_password_email_code\"===e.strategy);if(!e)throw new x(\"Reset password email code factor not found\",{code:\"factor_not_found\"});let{emailAddressId:t}=e;await this.#ew.__internal_basePost({body:{emailAddressId:t,strategy:\"reset_password_email_code\"},action:\"prepare_first_factor\"})})}async verifyResetPasswordEmailCode(e){let{code:t}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{code:t,strategy:\"reset_password_email_code\"},action:\"attempt_first_factor\"})})}async sendResetPasswordPhoneCode(e={}){let{phoneNumber:t}=e;if(!this.#ew.id&&!t)throw Error(\"signIn.resetPasswordPhoneCode.sendCode() cannot be called without a phoneNumber if an existing signIn does not exist.\");return r3(this.#ew,async()=>{t&&await this._create({identifier:t});let e=this.#ew.supportedFirstFactors?.find(e=>\"reset_password_phone_code\"===e.strategy);if(!e)throw new x(\"Reset password phone code factor not found\",{code:\"factor_not_found\"});let{phoneNumberId:a}=e;await this.#ew.__internal_basePost({body:{phoneNumberId:a,strategy:\"reset_password_phone_code\"},action:\"prepare_first_factor\"})})}async verifyResetPasswordPhoneCode(e){let{code:t}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{code:t,strategy:\"reset_password_phone_code\"},action:\"attempt_first_factor\"})})}async submitResetPassword(e){let{password:t,signOutOfOtherSessions:a=!0}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{password:t,signOutOfOtherSessions:a},action:\"reset_password\"})})}shouldRequireCaptcha(e){return!!e.signUpIfMissing}shouldBypassCaptchaForAttempt(e){let t=r5.clerk.__internal_environment.displayConfig.captchaOauthBypass;if(e.transfer&&r5.clerk.client?.signUp?.verifications?.externalAccount?.status===\"transferable\"){let e=r5.clerk.client.signUp.verifications.externalAccount.strategy;return!!e&&t.some(t=>t===e)}return!!e.strategy&&t.some(t=>t===e.strategy)}async getCaptchaToken(e={}){if(!this.shouldRequireCaptcha(e)||r5.clerk.client?.captchaBypass||this.shouldBypassCaptchaForAttempt(e))return{captchaToken:void 0,captchaWidgetType:void 0,captchaError:void 0};let t=new tJ(r5.clerk),a=await t.managedOrInvisible({action:\"signin\"});if(!a)throw Error(\"Captcha challenge failed\");let{captchaError:r,captchaToken:n,captchaWidgetType:i}=a;return{captchaToken:n,captchaWidgetType:i,captchaError:r}}async _create(e){let{captchaToken:t,captchaWidgetType:a,captchaError:r}=await this.getCaptchaToken(e),n={...e,captchaToken:t,captchaWidgetType:a,captchaError:r,locale:t_()||void 0};await this.#ew.__internal_basePost({path:this.#ew.pathRoot,body:n})}async create(e){return r3(this.#ew,async()=>{await this._create(e)})}async password(e){if([e.identifier,e.emailAddress,e.phoneNumber].filter(Boolean).length>1)throw Error(\"Only one of identifier, emailAddress, or phoneNumber can be provided\");return r3(this.#ew,async()=>{let t=e.identifier||e.emailAddress||e.phoneNumber,a=this.#ew.identifier,r=t_();await this.#ew.__internal_basePost({path:this.#ew.pathRoot,body:{identifier:t||a,password:e.password,...r?{locale:r}:{}}})})}async sendEmailCode(e={}){let{emailAddress:t,emailAddressId:a}=e;if(!this.#ew.id&&a)throw Error(\"signIn.emailCode.sendCode() cannot be called with an emailAddressId if an existing signIn does not exist.\");if(!this.#ew.id&&!t)throw Error(\"signIn.emailCode.sendCode() cannot be called without an emailAddress if an existing signIn does not exist.\");return r3(this.#ew,async()=>{t&&await this._create({identifier:t});let e=this.selectFirstFactor({strategy:\"email_code\",emailAddressId:a});if(!e)throw new x(\"Email code factor not found\",{code:\"factor_not_found\"});await this.#ew.__internal_basePost({body:{emailAddressId:e.emailAddressId,strategy:\"email_code\"},action:\"prepare_first_factor\"})})}async verifyEmailCode(e){let{code:t}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{code:t,strategy:\"email_code\"},action:\"attempt_first_factor\"})})}async sendEmailLink(e){let{emailAddress:t,verificationUrl:a,emailAddressId:r}=e;if(!this.#ew.id&&r)throw Error(\"signIn.emailLink.sendLink() cannot be called with an emailAddressId if an existing signIn does not exist.\");if(!this.#ew.id&&!t)throw Error(\"signIn.emailLink.sendLink() cannot be called without an emailAddress if an existing signIn does not exist.\");return r3(this.#ew,async()=>{t&&await this._create({identifier:t});let e=this.selectFirstFactor({strategy:\"email_link\",emailAddressId:r});if(!e)throw new x(\"Email link factor not found\",{code:\"factor_not_found\"});let n=a;try{new URL(a)}catch{n=window.location.origin+a}await this.#ew.__internal_basePost({body:{emailAddressId:e.emailAddressId,redirectUrl:n,strategy:\"email_link\"},action:\"prepare_first_factor\"})})}async waitForEmailLinkVerification(){return r3(this.#ew,async()=>{let{run:e,stop:t}=re();await new Promise((a,r)=>{e(async()=>{try{let e=await this.#ew.__internal_baseGet(),r=e.firstFactorVerification.status;(\"verified\"===r||\"expired\"===r)&&(t(),a(e))}catch(e){t(),r(e)}})})})}async sendPhoneCode(e={}){let{phoneNumber:t,phoneNumberId:a,channel:r=\"sms\"}=e;if(!this.#ew.id&&a)throw Error(\"signIn.phoneCode.sendCode() cannot be called with an phoneNumberId if an existing signIn does not exist.\");if(!this.#ew.id&&!t)throw Error(\"signIn.phoneCode.sendCode() cannot be called without an phoneNumber if an existing signIn does not exist.\");return r3(this.#ew,async()=>{t&&await this._create({identifier:t});let e=this.selectFirstFactor({strategy:\"phone_code\",phoneNumberId:a});if(!e)throw new x(\"Phone code factor not found\",{code:\"factor_not_found\"});await this.#ew.__internal_basePost({body:{phoneNumberId:e.phoneNumberId,strategy:\"phone_code\",channel:r},action:\"prepare_first_factor\"})})}async verifyPhoneCode(e){let{code:t}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{code:t,strategy:\"phone_code\"},action:\"attempt_first_factor\"})})}async sso(e){let{strategy:t,redirectUrl:a,redirectCallbackUrl:r,popup:n,oidcPrompt:i,enterpriseConnectionId:s,identifier:o}=e;return r3(this.#ew,async()=>{let e=a;try{new URL(a)}catch{e=window.location.origin+a}let l={redirectUrl:r5.clerk.buildUrlWithAuth(r),actionCompleteRedirectUrl:e};if(n){let t=r0(r5.clerk,{redirectCallbackUrl:l.redirectUrl,redirectUrl:e});l.redirectUrl=t.redirectCallbackUrl,l.actionCompleteRedirectUrl=t.redirectUrl}this.#ew.id||await this._create({strategy:t,...l,identifier:o}),\"enterprise_sso\"===t&&await this.#ew.__internal_basePost({body:{...l,oidcPrompt:i,enterpriseConnectionId:s,strategy:\"enterprise_sso\"},action:\"prepare_first_factor\"});let{status:c,externalVerificationRedirectURL:u}=this.#ew.firstFactorVerification;\"unverified\"===c&&u&&(n?(await r2(r5.clerk,{popup:n,externalVerificationRedirectURL:u}),await this.#ew.reload()):eY(u))})}async web3(e){let{strategy:t}=e,a=t.replace(\"web3_\",\"\").replace(\"_signature\",\"\");return r3(this.#ew,async()=>{let r,n,i;switch(a){case\"metamask\":r=await tA().getMetamaskIdentifier(),n=tA().generateSignatureWithMetamask;break;case\"coinbase_wallet\":r=await tA().getCoinbaseWalletIdentifier(),n=tA().generateSignatureWithCoinbaseWallet;break;case\"base\":r=await tA().getBaseIdentifier(),n=tA().generateSignatureWithBase;break;case\"okx_wallet\":r=await tA().getOKXWalletIdentifier(),n=tA().generateSignatureWithOKXWallet;break;case\"solana\":if(!e.walletName)throw new x(\"Wallet name is required for Solana authentication.\",{code:\"web3_solana_wallet_name_required\"});r=await tA().getSolanaIdentifier(e.walletName),n=t=>tA().generateSignatureWithSolana({...t,walletName:e.walletName});break;default:throw Error(`Unsupported Web3 provider: ${a}`)}await this._create({identifier:r});let s=this.#ew.supportedFirstFactors?.find(e=>e.strategy===t);if(!s)throw new x(\"Web3 first factor not found\",{code:\"factor_not_found\"});await this.#ew.__internal_basePost({body:{web3WalletId:s.web3WalletId,strategy:t},action:\"prepare_first_factor\"});let{message:o}=this.firstFactorVerification;if(!o)throw new x(\"Web3 nonce not found\",{code:\"web3_nonce_not_found\"});try{i=await n({identifier:r,nonce:o,walletName:e?.walletName,provider:a})}catch(e){if(\"coinbase_wallet\"===a&&4001===e.code)i=await n({identifier:r,nonce:o,provider:a});else throw e}await this.#ew.__internal_basePost({body:{signature:i,strategy:t},action:\"attempt_first_factor\"})})}async passkey(e){let{flow:t}=e||{},a=r5.clerk.__internal_isWebAuthnSupported||rT,r=r5.clerk.__internal_getPublicCredentials||ri,n=r5.clerk.__internal_isWebAuthnAutofillSupported||rU;if(!a())throw new T(\"Passkeys are not supported\",{code:\"passkey_not_supported\"});return r3(this.#ew,async()=>{if(\"autofill\"===t||\"discoverable\"===t)await this._create({strategy:\"passkey\"});else{if(!this.supportedFirstFactors.find(e=>\"passkey\"===e.strategy))throw new x(\"Passkey factor not found\",{code:\"factor_not_found\"});await this.#ew.__internal_basePost({body:{strategy:\"passkey\"},action:\"prepare_first_factor\"})}let{nonce:e}=this.firstFactorVerification,a=e?ro(JSON.parse(e)):null;if(!a)throw new x(\"Missing public key options\",{code:\"missing_public_key_options\"});let i=!1;\"autofill\"===t&&(i=await n());let{publicKeyCredential:s,error:o}=await r({publicKeyOptions:a,conditionalUI:i});if(!s)throw new T(o.message,{code:\"passkey_retrieval_failed\"});await this.#ew.__internal_basePost({body:{publicKeyCredential:JSON.stringify(rc(s)),strategy:\"passkey\"},action:\"attempt_first_factor\"})})}async sendMFAPhoneCode(){return r3(this.#ew,async()=>{let e=this.#ew.supportedSecondFactors?.find(e=>\"phone_code\"===e.strategy);if(!e)throw new x(\"Phone code factor not found\",{code:\"factor_not_found\"});let{phoneNumberId:t}=e;await this.#ew.__internal_basePost({body:{phoneNumberId:t,strategy:\"phone_code\"},action:\"prepare_second_factor\"})})}async verifyMFAPhoneCode(e){let{code:t}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{code:t,strategy:\"phone_code\"},action:\"attempt_second_factor\"})})}async sendMFAEmailCode(){return r3(this.#ew,async()=>{let e=this.#ew.supportedSecondFactors?.find(e=>\"email_code\"===e.strategy);if(!e)throw new x(\"Email code factor not found\",{code:\"factor_not_found\"});let{emailAddressId:t}=e;await this.#ew.__internal_basePost({body:{emailAddressId:t,strategy:\"email_code\"},action:\"prepare_second_factor\"})})}async verifyMFAEmailCode(e){let{code:t}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{code:t,strategy:\"email_code\"},action:\"attempt_second_factor\"})})}async verifyTOTP(e){let{code:t}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{code:t,strategy:\"totp\"},action:\"attempt_second_factor\"})})}async verifyBackupCode(e){let{code:t}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{code:t,strategy:\"backup_code\"},action:\"attempt_second_factor\"})})}async ticket(e){let t=e?.ticket??eD(\"__clerk_ticket\");return this.create({ticket:t??void 0})}async finalize(e){let{navigate:t}=e||{};if(!this.#ew.createdSessionId)throw Error(\"Cannot finalize sign-in without a created session.\");return r3(this.#ew,async()=>{r5.clerk.client&&!r5.clerk.client.sessions.some(e=>e.id===this.#ew.createdSessionId)&&await r5.clerk.client.reload(),this.#ey=!0,await r5.clerk.setActive({session:this.#ew.createdSessionId,navigate:t})})}reset(){if(!r5.clerk.client)throw Error(\"Cannot reset sign-in without a client.\");return this.#ey=!0,r5.clerk.client.resetSignIn(),Promise.resolve({error:null})}selectFirstFactor({strategy:e,emailAddressId:t,phoneNumberId:a}){if(!this.#ew.supportedFirstFactors)return null;if(t){let a=this.#ew.supportedFirstFactors.find(a=>a.strategy===e&&a.emailAddressId===t);if(a)return a}if(a){let t=this.#ew.supportedFirstFactors.find(t=>t.strategy===e&&t.phoneNumberId===a);if(t)return t}let r=this.#ew.supportedFirstFactors.find(t=>t.strategy===e&&t.safeIdentifier===this.#ew.identifier);if(r)return r;let n=this.#ew.supportedFirstFactors.find(t=>t.strategy===e);return n||null}}function r8(e){let{unsafeMetadata:t}={...e},a=t?\"object\"==typeof t?JSON.stringify(t):t:\"\";return{...e,...t?{unsafeMetadata:a}:{}}}class r4 extends t${pathRoot=\"/client/sign_ups\";id;_status=null;requiredFields=[];missingFields=[];optionalFields=[];unverifiedFields=[];verifications=new rp(null);username=null;firstName=null;lastName=null;emailAddress=null;phoneNumber=null;web3wallet=null;externalAccount;hasPassword=!1;unsafeMetadata={};createdSessionId=null;createdUserId=null;abandonAt=null;legalAcceptedAt=null;locale=null;get status(){return this._status}set status(e){let t=this._status;this._status=e,e&&t!==e&&tl.debug(\"SignUp.status\",{id:this.id,from:t,to:e})}__internal_future=new na(this);__internal_basePost=this._basePost.bind(this);__internal_basePatch=this._basePatch.bind(this);constructor(e=null){super(),this.fromJSON(e)}create=async e=>{tl.debug(\"SignUp.create\",{id:this.id,strategy:e.strategy});let t={...e};if(!t.locale){let e=t_();e&&(t.locale=e)}if(!this.clientBypass()&&!this.shouldBypassCaptchaForAttempt(e)){let e=new tJ(r4.clerk),a=await e.managedOrInvisible({action:\"signup\"});if(!a)throw new x(\"\",{code:\"captcha_unavailable\"});t={...t,...a}}return this._basePost({path:this.pathRoot,body:r8(t)})};prepareVerification=e=>(tl.debug(\"SignUp.prepareVerification\",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:\"prepare_verification\"}));attemptVerification=e=>(tl.debug(\"SignUp.attemptVerification\",{id:this.id,strategy:e.strategy}),this._basePost({body:e,action:\"attempt_verification\"}));prepareEmailAddressVerification=e=>this.prepareVerification(e||{strategy:\"email_code\"});attemptEmailAddressVerification=e=>this.attemptVerification({...e,strategy:\"email_code\"});createEmailLinkFlow=()=>{let{run:e,stop:t}=re();return{startEmailLinkFlow:async({redirectUrl:a})=>(this.id||tM(\"SignUp\"),await this.prepareEmailAddressVerification({strategy:\"email_link\",redirectUrl:a}),new Promise((a,r)=>{e(()=>this.reload().then(e=>{let r=e.verifications.emailAddress.status;(\"verified\"===r||\"expired\"===r)&&(t(),a(e))}).catch(e=>{t(),r(e)}))})),cancelEmailLinkFlow:t}};preparePhoneNumberVerification=e=>this.prepareVerification(e||{strategy:\"phone_code\"});attemptPhoneNumberVerification=e=>this.attemptVerification({...e,strategy:\"phone_code\"});prepareWeb3WalletVerification=e=>this.prepareVerification({strategy:\"web3_metamask_signature\",...e});attemptWeb3WalletVerification=async e=>{let{signature:t,strategy:a=\"web3_metamask_signature\"}=e;return this.attemptVerification({signature:t,strategy:a})};authenticateWithWeb3=async e=>{let t,{generateSignature:a,identifier:r,unsafeMetadata:n,strategy:i=\"web3_metamask_signature\",legalAccepted:s,walletName:o}=e||{},l=i.replace(\"web3_\",\"\").replace(\"_signature\",\"\");\"function\"!=typeof a&&tN(\"generateSignature\");let c=r||this.web3wallet;await this.create({web3Wallet:c,unsafeMetadata:n,legalAccepted:s}),await this.prepareWeb3WalletVerification({strategy:i});let{message:u}=this.verifications.web3Wallet;u||tB(\"SignUp\");try{t=await a({identifier:r,nonce:u,provider:l,walletName:o})}catch(e){if(\"coinbase_wallet\"===l&&4001===e.code)t=await a({identifier:r,nonce:u,provider:l});else throw e}return this.attemptWeb3WalletVerification({signature:t,strategy:i})};authenticateWithMetamask=async e=>{let t=await tA().getMetamaskIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tA().generateSignatureWithMetamask,unsafeMetadata:e?.unsafeMetadata,strategy:\"web3_metamask_signature\",legalAccepted:e?.legalAccepted})};authenticateWithCoinbaseWallet=async e=>{let t=await tA().getCoinbaseWalletIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tA().generateSignatureWithCoinbaseWallet,unsafeMetadata:e?.unsafeMetadata,strategy:\"web3_coinbase_wallet_signature\",legalAccepted:e?.legalAccepted})};authenticateWithBase=async e=>{let t=await tA().getBaseIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tA().generateSignatureWithBase,unsafeMetadata:e?.unsafeMetadata,strategy:\"web3_base_signature\",legalAccepted:e?.legalAccepted})};authenticateWithOKXWallet=async e=>{let t=await tA().getOKXWalletIdentifier();return this.authenticateWithWeb3({identifier:t,generateSignature:tA().generateSignatureWithOKXWallet,unsafeMetadata:e?.unsafeMetadata,strategy:\"web3_okx_wallet_signature\",legalAccepted:e?.legalAccepted})};authenticateWithSolana=async({walletName:e,unsafeMetadata:t,legalAccepted:a})=>{let r=await tA().getSolanaIdentifier(e);return this.authenticateWithWeb3({identifier:r,generateSignature:t=>tA().generateSignatureWithSolana({...t,walletName:e}),unsafeMetadata:t,strategy:\"web3_solana_signature\",legalAccepted:a,walletName:e})};authenticateWithRedirectOrPopup=async(e,t)=>{let{redirectUrl:a,redirectUrlComplete:r,strategy:n,continueSignUp:i=!1,unsafeMetadata:s,emailAddress:o,legalAccepted:l,oidcPrompt:c,enterpriseConnectionId:u}=e,d=r4.clerk.buildUrlWithAuth(a),h=()=>{let e={strategy:n,redirectUrl:d,actionCompleteRedirectUrl:r,unsafeMetadata:s,emailAddress:o,legalAccepted:l,oidcPrompt:c,enterpriseConnectionId:u};return i&&this.id?this.update(e):this.create(e)},{verifications:m}=await h().catch(async e=>{if(S(e)&&U(e))return await r4.clerk.__internal_environment.reload(),h();throw e}),{externalAccount:p}=m,{status:f,externalVerificationRedirectURL:g}=p;\"unverified\"===f&&g?t(g):tD(f,r4.fapiClient.buildEmailAddress(\"support\"))};authenticateWithRedirect=async e=>this.authenticateWithRedirectOrPopup(e,eY);authenticateWithPopup=async e=>{let{popup:t}=e||{};return t||tN(\"popup\"),r1(r4.clerk,\"signUp\",this.authenticateWithRedirectOrPopup,e,e=>{t.location.href=e instanceof URL?e.toString():e})};update=e=>this._basePatch({body:r8(e)});upsert=e=>this.id?this.update(e):this.create(e);validatePassword=(e,t)=>{if(r4.clerk.__internal_environment?.userSettings.passwordSettings)return rQ(r9(),{...r4.clerk.__internal_environment?.userSettings.passwordSettings,validatePassword:!0})(e,t)};fromJSON(e){return e&&(this.id=e.id,this.status=e.status,this.requiredFields=e.required_fields,this.optionalFields=e.optional_fields,this.missingFields=e.missing_fields,this.unverifiedFields=e.unverified_fields,this.verifications=new rp(e.verifications),this.username=e.username,this.firstName=e.first_name,this.lastName=e.last_name,this.emailAddress=e.email_address,this.phoneNumber=e.phone_number,this.hasPassword=e.has_password,this.unsafeMetadata=e.unsafe_metadata,this.createdSessionId=e.created_session_id,this.createdUserId=e.created_user_id,this.abandonAt=e.abandon_at,this.web3wallet=e.web3_wallet,this.legalAcceptedAt=e.legal_accepted_at,this.locale=e.locale),aH.emit(\"resource:update\",{resource:this}),this}__internal_updateFromJSON(e){return this.fromJSON(e)}__internal_toSnapshot(){return{object:\"sign_up\",id:this.id||\"\",status:this.status||null,required_fields:this.requiredFields,optional_fields:this.optionalFields,missing_fields:this.missingFields,unverified_fields:this.unverifiedFields,verifications:this.verifications.__internal_toSnapshot(),username:this.username,first_name:this.firstName,last_name:this.lastName,email_address:this.emailAddress,phone_number:this.phoneNumber,has_password:this.hasPassword,unsafe_metadata:this.unsafeMetadata,created_session_id:this.createdSessionId,created_user_id:this.createdUserId,abandon_at:this.abandonAt,web3_wallet:this.web3wallet,legal_accepted_at:this.legalAcceptedAt,locale:this.locale,external_account:this.externalAccount,external_account_strategy:this.externalAccount?.strategy}}clientBypass(){return r4.clerk.client?.captchaBypass}shouldBypassCaptchaForAttempt(e){let t=r4.clerk.__internal_environment.displayConfig.captchaOauthBypass;if(e.transfer){let e=r4.clerk.client.signIn.firstFactorVerification.strategy;if(t.some(t=>t===e)||ne(e))return!0}return!!(e.strategy&&t.some(t=>t===e.strategy))}__experimental_getEnterpriseConnections=()=>t$._fetch({path:`/client/sign_ups/${this.id}/enterprise_connections`,method:\"GET\"}).then(e=>(e?.response).map(e=>new nr(e)))}let r7=new Set([\"email_link\",\"email_code\",\"phone_code\"]);function ne(e){return!!e&&(r7.has(e)||e.startsWith(\"web3_\"))}class nt{#ew;sendEmailCode;verifyEmailCode;sendEmailLink;waitForEmailLinkVerification;sendPhoneCode;verifyPhoneCode;constructor(e,t){this.#ew=e,this.sendEmailCode=t.sendEmailCode,this.verifyEmailCode=t.verifyEmailCode,this.sendEmailLink=t.sendEmailLink,this.waitForEmailLinkVerification=t.waitForEmailLinkVerification,this.sendPhoneCode=t.sendPhoneCode,this.verifyPhoneCode=t.verifyPhoneCode}get emailAddress(){return this.#ew.verifications.emailAddress}get phoneNumber(){return this.#ew.verifications.phoneNumber}get web3Wallet(){return this.#ew.verifications.web3Wallet}get externalAccount(){return this.#ew.verifications.externalAccount}get emailLinkVerification(){if(!o())return null;let e=eD(\"__clerk_status\"),t=eD(\"__clerk_created_session\");if(!e||!t)return null;let a=\"verified\"===e&&void 0!==r4.clerk.client&&r4.clerk.client.sessions.some(e=>e.id===t);return{status:e,createdSessionId:t,verifiedFromTheSameClient:a}}}class na{verifications;#ey=!1;#ew;constructor(e){this.#ew=e,this.verifications=new nt(this.#ew,{sendEmailCode:this.sendEmailCode.bind(this),verifyEmailCode:this.verifyEmailCode.bind(this),sendEmailLink:this.sendEmailLink.bind(this),waitForEmailLinkVerification:this.waitForEmailLinkVerification.bind(this),sendPhoneCode:this.sendPhoneCode.bind(this),verifyPhoneCode:this.verifyPhoneCode.bind(this)})}get id(){return this.#ew.id}get requiredFields(){return this.#ew.requiredFields}get optionalFields(){return this.#ew.optionalFields}get missingFields(){return this.#ew.missingFields}get status(){return this.#ew.status||\"missing_requirements\"}get username(){return this.#ew.username}get firstName(){return this.#ew.firstName}get lastName(){return this.#ew.lastName}get emailAddress(){return this.#ew.emailAddress}get phoneNumber(){return this.#ew.phoneNumber}get web3Wallet(){return this.#ew.web3wallet}get hasPassword(){return this.#ew.hasPassword}get unsafeMetadata(){return this.#ew.unsafeMetadata}get createdSessionId(){return this.#ew.createdSessionId}get createdUserId(){return this.#ew.createdUserId}get abandonAt(){return this.#ew.abandonAt}get legalAcceptedAt(){return this.#ew.legalAcceptedAt}get locale(){return this.#ew.locale}get unverifiedFields(){return this.#ew.unverifiedFields}get isTransferable(){return\"transferable\"===this.#ew.verifications.externalAccount.status&&this.#ew.verifications.externalAccount.error?.code===\"external_account_exists\"}get existingSession(){if((\"failed\"===this.#ew.verifications.externalAccount.status||\"unverified\"===this.#ew.verifications.externalAccount.status)&&this.#ew.verifications.externalAccount.error?.code===\"identifier_already_signed_in\"&&this.#ew.verifications.externalAccount.error?.meta?.sessionId)return{sessionId:this.#ew.verifications.externalAccount.error?.meta?.sessionId}}get canBeDiscarded(){return this.#ey}shouldBypassCaptchaForAttempt(e){let t=r4.clerk.__internal_environment.displayConfig.captchaOauthBypass;if(e.transfer){let e=r4.clerk.client.signIn.firstFactorVerification.strategy;if(t.some(t=>t===e)||ne(e))return!0}return!!(e.strategy&&t.some(t=>t===e.strategy))}async getCaptchaToken(e={}){if(r4.clerk.client?.captchaBypass||this.shouldBypassCaptchaForAttempt(e))return{captchaToken:void 0,captchaWidgetType:void 0,captchaError:void 0};let t=new tJ(r4.clerk),a=await t.managedOrInvisible({action:\"signup\"});if(!a)throw Error(\"Captcha challenge failed\");let{captchaError:r,captchaToken:n,captchaWidgetType:i}=a;return{captchaToken:n,captchaWidgetType:i,captchaError:r}}async _create(e){let{captchaToken:t,captchaWidgetType:a,captchaError:r}=await this.getCaptchaToken(e),n={transfer:e.transfer,captchaToken:t,captchaWidgetType:a,captchaError:r,...e,unsafeMetadata:e.unsafeMetadata?r8(e.unsafeMetadata):void 0,locale:e.locale??t_()};await this.#ew.__internal_basePost({path:this.#ew.pathRoot,body:n})}async create(e){return r3(this.#ew,async()=>{await this._create(e)})}async update(e){return r3(this.#ew,async()=>{let t={...e,unsafeMetadata:e.unsafeMetadata?r8(e.unsafeMetadata):void 0};await this.#ew.__internal_basePatch({path:this.#ew.pathRoot,body:t})})}async password(e){return r3(this.#ew,async()=>{let{captchaToken:t,captchaWidgetType:a,captchaError:r}=await this.getCaptchaToken(),n={strategy:\"password\",captchaToken:t,captchaWidgetType:a,captchaError:r,...e,unsafeMetadata:e.unsafeMetadata?r8(e.unsafeMetadata):void 0};this.#ew.id?await this.#ew.__internal_basePatch({body:n}):await this.#ew.__internal_basePost({path:this.#ew.pathRoot,body:n})})}async sendEmailCode(){return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{strategy:\"email_code\"},action:\"prepare_verification\"})})}async verifyEmailCode(e){let{code:t}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{strategy:\"email_code\",code:t},action:\"attempt_verification\"})})}async sendPhoneCode(e){let{channel:t=\"sms\"}=e||{};return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{strategy:\"phone_code\",channel:t},action:\"prepare_verification\"})})}async verifyPhoneCode(e){let{code:t}=e;return r3(this.#ew,async()=>{await this.#ew.__internal_basePost({body:{strategy:\"phone_code\",code:t},action:\"attempt_verification\"})})}async sendEmailLink(e){let{verificationUrl:t}=e;return r3(this.#ew,async()=>{let e=t;try{new URL(t)}catch{e=window.location.origin+t}await this.#ew.__internal_basePost({body:{strategy:\"email_link\",redirectUrl:e},action:\"prepare_verification\"})})}async waitForEmailLinkVerification(){return r3(this.#ew,async()=>{let{run:e,stop:t}=re();await new Promise((a,r)=>{e(()=>this.#ew.reload().then(e=>{let r=e.verifications.emailAddress.status;(\"verified\"===r||\"expired\"===r)&&(t(),a(e))}).catch(e=>{t(),r(e)}))})})}async sso(e){let{strategy:t,redirectUrl:a,redirectCallbackUrl:r,unsafeMetadata:n,legalAccepted:i,oidcPrompt:s,enterpriseConnectionId:o,emailAddress:l,popup:c}=e;return r3(this.#ew,async()=>{let{captchaToken:e,captchaWidgetType:u,captchaError:d}=await this.getCaptchaToken({strategy:t}),h=a;try{new URL(a)}catch{h=window.location.origin+a}let m={redirectUrl:r4.clerk.buildUrlWithAuth(r),actionCompleteRedirectUrl:h};if(c){let e=r0(r4.clerk,{redirectCallbackUrl:m.redirectUrl,redirectUrl:h});m.redirectUrl=e.redirectCallbackUrl,m.actionCompleteRedirectUrl=e.redirectUrl}let p=()=>{let a={strategy:t,...m,unsafeMetadata:n,legalAccepted:i,oidcPrompt:s,enterpriseConnectionId:o,emailAddress:l,captchaToken:e,captchaWidgetType:u,captchaError:d};return this.#ew.id?this.#ew.__internal_basePatch({path:this.#ew.pathRoot,body:a}):this.#ew.__internal_basePost({path:this.#ew.pathRoot,body:a})};await p().catch(async e=>{if(S(e)&&U(e))return await r4.clerk.__internal_environment.reload(),p();throw e});let{status:f,externalVerificationRedirectURL:g}=this.#ew.verifications.externalAccount;\"unverified\"===f&&g&&(c?(await r2(r4.clerk,{popup:c,externalVerificationRedirectURL:g}),await this.#ew.reload()):eY(g))})}async web3(e){let{strategy:t,unsafeMetadata:a,legalAccepted:r}=e,n=t.replace(\"web3_\",\"\").replace(\"_signature\",\"\");return r3(this.#ew,async()=>{let e,i,s;switch(n){case\"metamask\":e=await tA().getMetamaskIdentifier(),i=tA().generateSignatureWithMetamask;break;case\"coinbase_wallet\":e=await tA().getCoinbaseWalletIdentifier(),i=tA().generateSignatureWithCoinbaseWallet;break;case\"base\":e=await tA().getBaseIdentifier(),i=tA().generateSignatureWithBase;break;case\"okx_wallet\":e=await tA().getOKXWalletIdentifier(),i=tA().generateSignatureWithOKXWallet;break;default:throw Error(`Unsupported Web3 provider: ${n}`)}let o=e||this.#ew.web3wallet;await this._create({web3Wallet:o,unsafeMetadata:a,legalAccepted:r}),await this.#ew.__internal_basePost({body:{strategy:t},action:\"prepare_verification\"});let{message:l}=this.#ew.verifications.web3Wallet;l||tB(\"SignUp\");try{s=await i({identifier:e,nonce:l})}catch(t){if(\"coinbase_wallet\"===n&&4001===t.code)s=await i({identifier:e,nonce:l});else throw t}await this.#ew.__internal_basePost({body:{signature:s,strategy:t},action:\"attempt_verification\"})})}async ticket(e){let t=e?.ticket??eD(\"__clerk_ticket\");return this.create({...e,ticket:t??void 0})}async finalize(e){let{navigate:t}=e||{};return r3(this.#ew,async()=>{if(!this.#ew.createdSessionId)throw Error(\"Cannot finalize sign-up without a created session.\");this.#ey=!0,await r4.clerk.setActive({session:this.#ew.createdSessionId,navigate:t})})}reset(){if(!r4.clerk.client)throw Error(\"Cannot reset sign-up without a client.\");return this.#ey=!0,r4.clerk.client.resetSignUp(),Promise.resolve({error:null})}}class nr extends t${id;name;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.name=e.name),this}}class nn extends t${pathRoot=\"tokens\";jwt;static async create(e,t={},a={}){return new nn(await t$._fetch({method:\"POST\",path:e,body:t,search:a}),e)}constructor(e,t){super(),t&&(this.pathRoot=t),e?.jwt&&(this.jwt=tx(e.jwt))}getRawString=()=>this.jwt?.claims.__raw||\"\";fromJSON(e){return e&&(this.jwt=tx(e.jwt)),this}__internal_toSnapshot(){return{object:\"token\",id:this.id||\"\",jwt:this.getRawString()}}}class ni extends t${pathRoot=\"/me\";id=\"\";secret;uri;verified=!1;backupCodes;updatedAt=null;createdAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.secret=e.secret,this.uri=e.uri,this.verified=e.verified,this.backupCodes=e.backup_codes,this.updatedAt=tY(e.updated_at),this.createdAt=tY(e.created_at)),this}}class ns extends t${pathRoot=\"/me\";id;codes=[];updatedAt=null;createdAt=null;constructor(e){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.codes=e.codes,this.updatedAt=tY(e.updated_at),this.createdAt=tY(e.created_at)),this}}class no extends t${advisory=null;form={name:\"\",slug:\"\",logo:null,blurHash:null};constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(e.advisory&&(this.advisory=this.withDefault(e.advisory,this.advisory??null)),e.form&&(this.form.name=this.withDefault(e.form.name,this.form.name),this.form.slug=this.withDefault(e.form.slug,this.form.slug),this.form.logo=this.withDefault(e.form.logo,this.form.logo),this.form.blurHash=this.withDefault(e.form.blur_hash,this.form.blurHash))),this}static async retrieve(){return await t$._fetch({path:\"/me/organization_creation_defaults\",method:\"GET\"}).then(e=>new no(e?.response))}__internal_toSnapshot(){return{advisory:this.advisory?{code:this.advisory.code,meta:this.advisory.meta,severity:this.advisory.severity}:null,form:{name:this.form.name,slug:this.form.slug,logo:this.form.logo,blur_hash:this.form.blurHash}}}}class nl extends t${pathRoot=\"/me\";id=\"\";externalId=null;username=null;emailAddresses=[];phoneNumbers=[];web3Wallets=[];externalAccounts=[];enterpriseAccounts=[];passkeys=[];organizationMemberships=[];passwordEnabled=!1;firstName=null;lastName=null;fullName=null;primaryEmailAddressId=null;primaryEmailAddress=null;primaryPhoneNumberId=null;primaryPhoneNumber=null;primaryWeb3WalletId=null;primaryWeb3Wallet=null;imageUrl=\"\";hasImage=!1;twoFactorEnabled=!1;totpEnabled=!1;backupCodeEnabled=!1;publicMetadata={};unsafeMetadata={};createOrganizationEnabled=!1;createOrganizationsLimit=null;deleteSelfEnabled=!1;lastSignInAt=null;legalAcceptedAt=null;updatedAt=null;createdAt=null;cachedSessionsWithActivities=null;static isUserResource(e){return!!e&&e instanceof nl}constructor(e){super(),this.fromJSON(e)}path(){return this.pathRoot}isPrimaryIdentification=e=>{switch(e.constructor){case rt:return this.primaryEmailAddressId===e.id;case rB:return this.primaryPhoneNumberId===e.id;case nm:return this.primaryWeb3WalletId===e.id;default:return!1}};createEmailAddress=e=>{let{email:t}=e||{};return new rt({email_address:t},this.path()+\"/email_addresses/\").create()};createPasskey=()=>rR.registerPasskey();createPhoneNumber=e=>{let{phoneNumber:t}=e||{};return new rB({phone_number:t},this.path()+\"/phone_numbers/\").create()};createWeb3Wallet=e=>{let{web3Wallet:t}=e||{};return new nm({web3_wallet:t},this.path()+\"/web3_wallets/\").create()};createExternalAccount=async e=>{let{strategy:t,redirectUrl:a,additionalScopes:r,enterpriseConnectionId:n}=e||{};return new rx((await t$._fetch({path:\"/me/external_accounts\",method:\"POST\",body:{strategy:t,redirect_url:a,additional_scope:r,enterprise_connection_id:n}}))?.response,this.path()+\"/external_accounts\")};createTOTP=async()=>new ni((await t$._fetch({path:\"/me/totp\",method:\"POST\"}))?.response);verifyTOTP=async({code:e})=>new ni((await t$._fetch({path:\"/me/totp/attempt_verification\",method:\"POST\",body:{code:e}}))?.response);disableTOTP=async()=>new a4((await t$._fetch({path:\"/me/totp\",method:\"DELETE\"}))?.response);createBackupCode=async()=>new ns((await t$._fetch({path:this.path()+\"/backup_codes/\",method:\"POST\"}))?.response);update=e=>this._basePatch({body:r8(e)});updatePassword=e=>this._basePost({body:e,path:`${this.path()}/change_password`});removePassword=e=>this._basePost({body:e,path:`${this.path()}/remove_password`});delete=()=>this._baseDelete({path:\"/me\"}).then(e=>(aH.emit(aL,null),e));getSessions=async()=>{if(this.cachedSessionsWithActivities)return this.cachedSessionsWithActivities;let e=await rY.retrieve();return this.cachedSessionsWithActivities=e,e};setProfileImage=e=>{let{file:t}=e||{};return null===t?rz.delete(`${this.path()}/profile_image`):rz.create(`${this.path()}/profile_image`,{file:t})};getOrganizationInvitations=e=>nu.retrieve(e);getOrganizationSuggestions=e=>rO.retrieve(e);getOrganizationMemberships=e=>rq.retrieve(e);getOrganizationCreationDefaults=()=>no.retrieve();leaveOrganization=async e=>new a4((await t$._fetch({path:`${this.path()}/organization_memberships/${e}`,method:\"DELETE\"}))?.response);getEnterpriseConnections=async e=>{let{withOrganizationAccountLinking:t}=e||{};return((await t$._fetch({path:\"/me/enterprise_connections\",method:\"GET\",...void 0!==t?{search:{with_organization_account_linking:String(t)}}:{}}))?.response||[]).map(e=>new ry(e))};initializePaymentMethod=e=>aP(e);addPaymentMethod=e=>aq(e);getPaymentMethods=e=>aO(e);get verifiedExternalAccounts(){return this.externalAccounts.filter(e=>e.verification?.status==\"verified\")}get unverifiedExternalAccounts(){return this.externalAccounts.filter(e=>e.verification?.status!=\"verified\")}get verifiedWeb3Wallets(){return this.web3Wallets.filter(e=>e.verification?.status==\"verified\")}get hasVerifiedEmailAddress(){return this.emailAddresses.filter(e=>\"verified\"===e.verification.status).length>0}get hasVerifiedPhoneNumber(){return this.phoneNumbers.filter(e=>\"verified\"===e.verification.status).length>0}fromJSON(e){return e&&(this.id=e.id,this.externalId=e.external_id||null,this.firstName=e.first_name||null,this.lastName=e.last_name||null,(this.firstName||this.lastName)&&(this.fullName=(({firstName:e,lastName:t,name:a})=>a||[e,t].join(\" \").trim()||\"\")({firstName:this.firstName,lastName:this.lastName})),this.imageUrl=e.image_url||\"\",this.hasImage=e.has_image||!1,this.username=e.username||null,this.passwordEnabled=e.password_enabled||!1,this.emailAddresses=(e.email_addresses||[]).map(e=>new rt(e,this.path()+\"/email_addresses\")),this.primaryEmailAddressId=e.primary_email_address_id||null,this.primaryEmailAddress=this.emailAddresses.find(({id:e})=>e===this.primaryEmailAddressId)||null,this.phoneNumbers=(e.phone_numbers||[]).map(e=>new rB(e,this.path()+\"/phone_numbers\")),this.primaryPhoneNumberId=e.primary_phone_number_id||null,this.primaryPhoneNumber=this.phoneNumbers.find(({id:e})=>e===this.primaryPhoneNumberId)||null,this.web3Wallets=(e.web3_wallets||[]).map(e=>new nm(e,this.path()+\"/web3_wallets\")),this.primaryWeb3WalletId=e.primary_web3_wallet_id||null,this.primaryWeb3Wallet=this.web3Wallets.find(({id:e})=>e===this.primaryWeb3WalletId)||null,this.externalAccounts=(e.external_accounts||[]).map(e=>new rx(e,this.path()+\"/external_accounts\")),this.passkeys=(e.passkeys||[]).map(e=>new rR(e)),this.organizationMemberships=(e.organization_memberships||[]).map(e=>new rq(e)),this.enterpriseAccounts=(e.enterprise_accounts||[]).map(e=>new rg(e,this.path()+\"/enterprise_accounts\")),this.publicMetadata=e.public_metadata||{},this.unsafeMetadata=e.unsafe_metadata||{},this.totpEnabled=e.totp_enabled||!1,this.backupCodeEnabled=e.backup_code_enabled||!1,this.twoFactorEnabled=e.two_factor_enabled||!1,this.createOrganizationEnabled=e.create_organization_enabled||!1,this.createOrganizationsLimit=e.create_organizations_limit||null,this.deleteSelfEnabled=e.delete_self_enabled||!1,e.last_sign_in_at&&(this.lastSignInAt=tY(e.last_sign_in_at)),e.legal_accepted_at&&(this.legalAcceptedAt=tY(e.legal_accepted_at)),this.updatedAt=tY(e.updated_at||void 0),this.createdAt=tY(e.created_at||void 0)),this}__internal_toSnapshot(){return{object:\"user\",id:this.id,external_id:this.externalId,first_name:this.firstName,last_name:this.lastName,username:this.username,public_metadata:this.publicMetadata,unsafe_metadata:this.unsafeMetadata,image_url:this.imageUrl,has_image:this.hasImage,email_addresses:this.emailAddresses.map(e=>e.__internal_toSnapshot()),phone_numbers:this.phoneNumbers.map(e=>e.__internal_toSnapshot()),web3_wallets:this.web3Wallets.map(e=>e.__internal_toSnapshot()),external_accounts:this.externalAccounts.map(e=>e.__internal_toSnapshot()),passkeys:this.passkeys.map(e=>e.__internal_toSnapshot()),organization_memberships:this.organizationMemberships.map(e=>e.__internal_toSnapshot()),enterprise_accounts:this.enterpriseAccounts.map(e=>e.__internal_toSnapshot()),totp_enabled:this.totpEnabled,backup_code_enabled:this.backupCodeEnabled,two_factor_enabled:this.twoFactorEnabled,create_organization_enabled:this.createOrganizationEnabled,create_organizations_limit:this.createOrganizationsLimit,delete_self_enabled:this.deleteSelfEnabled,primary_email_address_id:this.primaryEmailAddressId,primary_phone_number_id:this.primaryPhoneNumberId,primary_web3_wallet_id:this.primaryWeb3WalletId,password_enabled:this.passwordEnabled,profile_image_id:this.imageUrl,last_sign_in_at:this.lastSignInAt?.getTime()||null,legal_accepted_at:this.legalAcceptedAt?.getTime()||null,updated_at:this.updatedAt?.getTime()||null,created_at:this.createdAt?.getTime()||null}}}class nc{firstName;lastName;imageUrl;hasImage;constructor(e){this.fromJSON(e)}fromJSON(e){return e&&(this.firstName=e.first_name,this.lastName=e.last_name,this.imageUrl=e.image_url??void 0,this.hasImage=e.has_image??void 0),this}__internal_toSnapshot(){return{first_name:this.firstName,last_name:this.lastName,image_url:this.imageUrl||null,has_image:this.hasImage||null}}}class nu extends t${id;emailAddress;publicOrganizationData;publicMetadata={};status;role;createdAt;updatedAt;static async retrieve(e){return await t$._fetch({path:\"/me/organization_invitations\",method:\"GET\",search:ad(e)}).then(e=>{let{data:t,total_count:a}=e?.response;return{total_count:a,data:t.map(e=>new nu(e))}})}constructor(e){super(),this.fromJSON(e)}accept=async()=>await this._basePost({path:`/me/organization_invitations/${this.id}/accept`});fromJSON(e){return e&&(this.id=e.id,this.emailAddress=e.email_address,this.publicOrganizationData={hasImage:e.public_organization_data.has_image,imageUrl:e.public_organization_data.image_url,name:e.public_organization_data.name,id:e.public_organization_data.id,slug:e.public_organization_data.slug},this.publicMetadata=e.public_metadata,this.role=e.role,this.status=e.status,this.createdAt=tY(e.created_at),this.updatedAt=tY(e.updated_at)),this}}let nd={enabled:!1,first_factors:[],name:\"phone_number\",required:!1,second_factors:[],used_for_first_factor:!1,used_for_second_factor:!1,verifications:[],verify_at_sign_up:!1};class nh extends t${id=void 0;actions={create_organization:!1,delete_self:!1};attributes={email_address:{enabled:!0,first_factors:[\"email_code\"],name:\"email_address\",required:!0,second_factors:[],used_for_first_factor:!0,used_for_second_factor:!1,verifications:[\"email_code\"],verify_at_sign_up:!0},phone_number:{...nd,name:\"phone_number\"},username:{...nd,name:\"username\"},web3_wallet:{...nd,name:\"web3_wallet\"},first_name:{...nd,name:\"first_name\"},last_name:{...nd,name:\"last_name\"},password:{enabled:!0,first_factors:[],name:\"password\",required:!0,second_factors:[],used_for_first_factor:!1,used_for_second_factor:!1,verifications:[],verify_at_sign_up:!1},authenticator_app:{...nd,name:\"authenticator_app\"},backup_code:{...nd,name:\"backup_code\"},passkey:{...nd,name:\"passkey\"}};enterpriseSSO={enabled:!1};passkeySettings={allow_autofill:!1,show_sign_in_button:!1};passwordSettings={};signIn={second_factor:{required:!1,enabled:!1}};signUp={allowlist_only:!1,captcha_enabled:!1,legal_consent_enabled:!1,mode:\"public\",progressive:!0,mfa:{required:!1}};social={};usernameSettings={};get authenticatableSocialStrategies(){return this.social?Object.entries(this.social).filter(([,e])=>e.enabled&&e.authenticatable).map(([,e])=>e.strategy).sort():[]}get enabledFirstFactorIdentifiers(){return this.attributes?Object.entries(this.attributes).filter(([e,t])=>t.used_for_first_factor&&!e.startsWith(\"web3\")).map(([e])=>e):[]}get socialProviderStrategies(){return this.social?Object.entries(this.social).filter(([,e])=>e.enabled).map(([,e])=>e.strategy).sort():[]}get web3FirstFactors(){return this.attributes?Object.entries(this.attributes).filter(([e,t])=>t.used_for_first_factor&&e.startsWith(\"web3\")).map(([,e])=>e.first_factors).flat():[]}get alternativePhoneCodeChannels(){return this.attributes?Object.entries(this.attributes).filter(([e,t])=>t.used_for_first_factor&&\"phone_number\"===e).map(([,e])=>e?.channels?.filter(e=>\"sms\"!==e)||[]).flat():[]}constructor(e=null){super(),this.fromJSON(e)}get instanceIsPasswordBased(){return!!this.attributes?.password?.enabled}get hasValidAuthFactor(){return!!(this.attributes?.email_address?.enabled||this.attributes?.phone_number?.enabled||this.attributes.password?.required&&this.attributes.username?.required)}fromJSON(e){return e&&(this.attributes=this.withDefault(e.attributes?Object.fromEntries(Object.entries(e.attributes).map(e=>[e[0],{...e[1],name:e[0]}])):null,this.attributes),this.actions=this.withDefault(e.actions,this.actions),this.enterpriseSSO=this.withDefault(e.enterprise_sso,this.enterpriseSSO),this.passkeySettings=this.withDefault(e.passkey_settings,this.passkeySettings),this.passwordSettings=e.password_settings?{...e.password_settings,min_length:Math.max(e.password_settings?.min_length??8,8),max_length:e.password_settings?.max_length===0?72:Math.min(e.password_settings?.max_length??72,72)}:this.passwordSettings,this.signIn=this.withDefault(e.sign_in,this.signIn),this.signUp=this.withDefault(e.sign_up,this.signUp),this.social=this.withDefault(e.social,this.social),this.usernameSettings=e.username_settings?{...e.username_settings,min_length:Math.max(e.username_settings?.min_length??4,4),max_length:Math.min(e.username_settings?.max_length??64,64)}:this.usernameSettings),this}__internal_toSnapshot(){return{actions:this.actions,attributes:this.attributes,passkey_settings:this.passkeySettings,password_settings:this.passwordSettings,sign_in:this.signIn,sign_up:this.signUp,social:this.social}}}class nm extends t${id;web3Wallet=\"\";verification;constructor(e,t){super(),this.pathRoot=t,this.fromJSON(e)}create(){return this._basePost({body:{web3_wallet:this.web3Wallet}})}prepareVerification=e=>this._basePost({action:\"prepare_verification\",body:{...e}});attemptVerification=e=>{let{signature:t}=e;return this._basePost({action:\"attempt_verification\",body:{signature:t}})};destroy(){return this._baseDelete()}toString(){return this.web3Wallet}fromJSON(e){return e&&(this.id=e.id,this.web3Wallet=e.web3_wallet,this.verification=new rh(e.verification)),this}__internal_toSnapshot(){return{object:\"web3_wallet\",id:this.id,web3_wallet:this.web3Wallet,verification:this.verification.__internal_toSnapshot()}}}class np extends t${pathRoot=\"/waitlist\";id=\"\";updatedAt=null;createdAt=null;constructor(e=null){super(),this.fromJSON(e)}fromJSON(e){return e&&(this.id=e.id,this.updatedAt=tY(e.updated_at),this.createdAt=tY(e.created_at),aH.emit(\"resource:update\",{resource:this})),this}async join(e){return r3(this,async()=>{await np.join(e)})}static async join(e){return new np(await t$._fetch({path:\"/waitlist\",method:\"POST\",body:e}))}}function nf(e,t){var a,r;return e.id!==t.id||e.updatedAt.getTime()t.organization.id===e.lastActiveOrganizationId),r=t.user?.organizationMemberships?.find(t=>t.organization.id===e.lastActiveOrganizationId);return a?.permissions?.length!==r?.permissions?.length}(e,t)||(a=e,r=t,!!a.user!=!!r.user||!!a.user&&!!r.user&&nf(a.user,r.user))}if(nl.isUserResource(e))return nf(e,t)}catch{}return!0}(e,t)?e:t}let nb=\"__clerk_db_jwt\";function ny(e,t){let a=new URL(e),r=a.searchParams.get(nb);a.searchParams.delete(nb);let n=r||t;return n&&a.searchParams.set(nb,n),a}let nw=e=>{let t=new URL(e);return t.searchParams.delete(nb),t},nk=e=>{let t=new URL(e);return t.searchParams.delete(\"__dev_session\"),t.hash=decodeURI(t.hash).replace(/__clerk_db_jwt\\[(.*)\\]/,\"\"),t.href.endsWith(\"#\")&&(t.hash=\"\"),t};function nv(e){for(var t=1;ttypeof document){\"number\"==typeof(n=nv({},a,n)).expires&&(n.expires=new Date(Date.now()+864e5*n.expires)),n.expires&&(n.expires=n.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i=\"\";for(var s in n)n[s]&&(i+=\"; \"+s,!0!==n[s]&&(i+=\"=\"+n[s].split(\";\")[0]));return document.cookie=e+\"=\"+t.write(r,e)+i}}return Object.create({set:r,get:function(e){if(\"u\">typeof document&&(!arguments.length||e)){for(var a=document.cookie?document.cookie.split(\"; \"):[],r={},n=0;nnx.get(e),set(t,a={}){nx.set(e,t,a)},remove(t){nx.remove(e,t)}}}let nj=e=>\"https:\"===window.location.protocol||\"None\"===e&&void 0===window.safari&&(void 0!==window.isSecureContext?window.isSecureContext:\"localhost\"===window.location.hostname);function nz(e,t){let a=function(e){try{return new Date(e||new Date)}catch{return new Date}}(e);return a.setFullYear(a.getFullYear()+t),a}let nS=n_(\"__clerk_test_etld\"),nI=[\".lovable.app\",\".lovableproject.com\",\".webcontainer-api.io\",\".vusercontent.net\",\".v0.dev\",\".v0.app\",\".lp.dev\",\".replit.dev\"];function nA(){try{return nI.some(e=>window.location.hostname.endsWith(e))}catch{return!1}}let nE=\"__client_uat\",nC=\"__session\",nP=e=>{let t=e.usePartitionedCookies(),a=t||tz()||nA()?\"None\":\"Lax\",r=nj(a);return{sameSite:a,secure:r,partitioned:t&&r}};async function nq(e){let t;try{t=await ek(e)}catch(o){var a;a=`Suffixed cookie failed due to ${o.message} (secure-context: ${window.isSecureContext}, url: ${window.location.href})`,et.has(a)||(console.log(a),et.add(a));let{default:r}=await Promise.resolve().then(n.t.bind(n,3515,23)),{default:i}=await Promise.resolve().then(n.t.bind(n,5662,23)),s=r(e);t=i.stringify(s).replace(/\\+/gi,\"-\").replace(/\\//gi,\"_\").substring(0,8)}return t}let nO=e=>{let t=e.usePartitionedCookies(),a=t||tz()||nA()?\"None\":\"Lax\",r=nj(a);return{sameSite:a,secure:r,partitioned:t&&r}};class nT{clerk;instanceType;clerkEventBus;poller=null;clientUat;sessionCookie;activeCookie;devBrowser;static async create(e,t,a,r){let n=await nq(e.publishableKey),i=new nT(e,t,n,a,r);return await i.setup(),i}constructor(e,t,r,n,i){let s,o,l,c,u,d;this.clerk=e,this.instanceType=n,this.clerkEventBus=i,aH.on(aF,({token:e})=>{this.updateSessionCookie(e&&e.getRawString()),this.setClientUatCookieForDevelopmentInstances()}),aH.on(aL,()=>this.handleSignOut()),aH.on(aW,()=>{this.devBrowser.refreshCookies()}),this.refreshTokenOnFocus(),this.startPollingForToken();let h={usePartitionedCookies:()=>rv.getInstance().partitionedCookies};this.clientUat=(s=n_(nE),o=n_(ev(nE,r)),{set:e=>{let t=nz(Date.now(),1),r=h.usePartitionedCookies(),n=r||tz()||nA()?\"None\":\"Strict\",i=nj(n),l=r&&i,c=function(e=window.location.hostname,t=nS,r){if(a)return a;if([\"localhost\",\"127.0.0.1\",\"0.0.0.0\"].includes(e))return e;let n=e.split(\".\");if(1===n.length)return e;for(let e=n.length-2;e>=0;e--){let i=n.slice(e).join(\".\");if(t.set(\"1\",{...r,domain:i}),\"1\"===t.get())return t.remove({...r,domain:i}),a=i,i;t.remove({...r,domain:i})}return a=e,e}(void 0,void 0,{sameSite:n,secure:i}),u=\"0\";e&&e.updatedAt&&e.signedInSessions.length>0&&(u=Math.floor(e.updatedAt.getTime()/1e3).toString()),o.remove(),s.remove(),o.set(u,{domain:c,expires:t,partitioned:l,sameSite:n,secure:i}),s.set(u,{domain:c,expires:t,partitioned:l,sameSite:n,secure:i})},get:()=>parseInt(o.get()||s.get()||\"0\",10)}),this.sessionCookie=(l=n_(nC),c=n_(ev(nC,r)),{set:e=>{let t=nz(Date.now(),1),{sameSite:a,secure:r,partitioned:n}=nP(h);n&&(l.remove(),c.remove()),l.set(e,{expires:t,sameSite:a,secure:r,partitioned:n}),c.set(e,{expires:t,sameSite:a,secure:r,partitioned:n})},remove:()=>{let e=nP(h);l.remove(e),c.remove(e),e.partitioned&&(l.remove(),c.remove())},get:()=>c.get()||l.get()}),this.activeCookie=(u=n_(\"clerk_active_context\"),d={secure:nj(\"None\")},{set:e=>{u.set(e,d)},get:()=>u.get(),remove:()=>u.remove(d)}),this.devBrowser=function({cookieSuffix:e,frontendApi:t,fapiClient:a,cookieOptions:r}){let n,i,s,o=(i=n_(nb),s=n_(ev(nb,e)),{get:()=>s.get()||i.get(),set:e=>{let t=nz(Date.now(),1),{sameSite:a,secure:n,partitioned:o}=nO(r);o&&(s.remove(),i.remove()),s.set(e,{expires:t,sameSite:a,secure:n,partitioned:o}),i.set(e,{expires:t,sameSite:a,secure:n,partitioned:o})},remove:()=>{let e=nO(r);s.remove(e),i.remove(e),e.partitioned&&(s.remove(),i.remove())}});function l(){return n||o.get()}function c(e){n=e,o.set(e)}function u(){n=void 0,o.remove()}return{clear:function(){u()},setup:async function e(){var e;let r,i;if(!eI(t))return;a.onBeforeRequest(e=>{let t=l();t&&e?.url&&(e.url=ny(e.url,t))}),a.onAfterResponse((e,t)=>{let a=t?.headers?.get(\"Clerk-Db-Jwt\");a&&c(a)});let s=(r=(e=new URL(window.location.href)).searchParams.get(nb)||\"\",(i=nw(nk(e))).href!==e.href&&void 0!==globalThis.history&&globalThis.history.replaceState(null,\"\",i),r);if(s)return void c(s);let u=o.get();if(u){n=u;return}let d=a.buildUrl({path:\"/dev_browser\"}),h=await fetch(d.toString(),{method:\"POST\"});if(!h.ok){let e=function(e=[]){return e.length>0?e.map(e=>new j(e)):[]}((await h.json()).errors);e[0]?tT(e[0].longMessage):tT()}let m=await h.json();c(m?.id)},getDevBrowser:l,setDevBrowser:c,removeDevBrowser:u,refreshCookies:function(){let e=l();e&&c(e)}}}({frontendApi:e.frontendApi,fapiClient:t,cookieSuffix:r,cookieOptions:h})}async setup(){return\"production\"===this.instanceType?this.setupProduction():this.setupDevelopment()}isSignedOut(){return this.clerk.loaded?!this.clerk.user:0>=this.clientUat.get()}async handleUnauthenticatedDevBrowser(){this.devBrowser.clear(),await this.devBrowser.setup()}decorateUrlWithDevBrowserToken(e){let t=this.devBrowser.getDevBrowser();if(!t)throw Error(`${tO} Missing dev browser. Please contact support.`);return ny(e,t)}async setupDevelopment(){await this.devBrowser.setup()}setupProduction(){this.devBrowser.clear()}startPollingForToken(){this.poller||(this.poller=new aX,this.poller.startPollingForSessionToken(()=>this.refreshSessionToken()))}stopPollingForToken(){this.poller&&(this.poller.stopPollingForSessionToken(),this.poller=null)}refreshTokenOnFocus(){window.addEventListener(\"focus\",()=>{\"visible\"===document.visibilityState&&this.refreshSessionToken({updateCookieImmediately:!0})})}async refreshSessionToken({updateCookieImmediately:e=!1}={}){if(this.clerk.session)try{let t=await this.clerk.session.getToken();e&&this.updateSessionCookie(t)}catch(e){return this.handleGetTokenError(e)}}updateSessionCookie(e){if(document.hasFocus()||this.isCurrentContextActive())return e||d()||tl.warn(\"Removing session cookie (offline)\",{sessionId:this.clerk.session?.id},\"authCookieService\"),this.setActiveContextInStorage(),e?this.sessionCookie.set(e):this.sessionCookie.remove()}setClientUatCookieForDevelopmentInstances(){\"production\"!==this.instanceType&&this.inCustomDevelopmentDomain()&&this.clientUat.set(this.clerk.client)}inCustomDevelopmentDomain(){let e=this.clerk.frontendApi.replace(\"clerk.\",\"\");return!window.location.host.endsWith(e)}handleGetTokenError(e){if(S(e)||_(e)||(`${e.message}${e.name}`||\"\").toLowerCase().replace(/\\s+/g,\"\").includes(\"networkerror\")){if(R(e))return void this.clerk.handleUnauthenticated().catch(tt.lQ);this.clerkEventBus.emit(g,\"degraded\")}}handleSignOut(){this.activeCookie.remove(),this.sessionCookie.remove(),this.setClientUatCookieForDevelopmentInstances()}setActiveContextInStorage(){let e=this.clerk.session?.id||\"\",t=this.clerk.organization?.id||\"\",a=`${e}:${t}`;\":\"!==a?this.activeCookie.set(a):this.activeCookie.remove()}isCurrentContextActive(){let e=this.activeCookie.get();if(!e)return!0;let[t,a]=e.split(\":\"),r=this.clerk.session?.id||\"\",n=this.clerk.organization?.id||\"\";return t===r&&a===n}getSessionCookie(){return this.sessionCookie.get()}}class nU{clerk;captchaChallenge;timers;constructor(e,t=new tJ(e),a=a$()){this.clerk=e,this.captchaChallenge=t,this.timers=a}async start(){this.isEnabled()&&(await this.challengeAndSend(),this.timers.setInterval(()=>{this.challengeAndSend()},this.intervalInMs()))}async challengeAndSend(){if(!(!this.clerk.client||this.clientBypass()))try{let e=await this.captchaChallenge.invisible({action:\"heartbeat\"});await this.clerk.client.__internal_sendCaptchaToken(e)}catch{}}isEnabled(){return!!this.clerk.__internal_environment?.displayConfig?.captchaHeartbeat}clientBypass(){return this.clerk.client?.captchaBypass}intervalInMs(){return this.clerk.__internal_environment?.displayConfig?.captchaHeartbeatIntervalMs??6e5}}let nM=[\"/client\",\"/waitlist\"];class nR{static #eu=\"/api_keys\";async #ek(){let e=await t$.clerk.session?.getToken();if(!e)throw new x(\"No valid session token available\",{code:\"no_session_token\"});return{pathPrefix:\"\",headers:{Authorization:`Bearer ${e}`,\"Content-Type\":\"application/json\"},credentials:\"same-origin\"}}async getAll(e){return t$._fetch({...await this.#ek(),method:\"GET\",path:nR.#eu,search:ad({...e,subject:e?.subject??t$.clerk.organization?.id??t$.clerk.user?.id??\"\",query:e?.query??\"\"})}).then(e=>{let{data:t,total_count:a}=e;return{total_count:a,data:t.map(e=>new tQ(e))}})}async create(e){return new tQ(await t$._fetch({...await this.#ek(),path:nR.#eu,method:\"POST\",body:JSON.stringify({type:\"api_key\",name:e.name,subject:e.subject??t$.clerk.organization?.id??t$.clerk.user?.id??\"\",description:e.description,seconds_until_expiration:e.secondsUntilExpiration})}))}async revoke(e){return new tQ(await t$._fetch({...await this.#ek(),method:\"POST\",path:`${nR.#eu}/${e.apiKeyID}/revoke`,body:JSON.stringify({revocation_reason:e.revocationReason})}))}}let nB=new Map;class nN{async getConsentInfo(e){let{oauthClientId:t,scope:a}=e,r=await t$._fetch({method:\"GET\",path:`/me/oauth/consent/${encodeURIComponent(t)}`,search:void 0!==a?{scope:a}:void 0},{skipUpdateClient:!0});if(!r)throw new x(\"Network request failed while offline\",{code:\"network_error\"});let n=r.response??r;return{oauthApplicationName:n.oauth_application_name,oauthApplicationLogoUrl:n.oauth_application_logo_url,oauthApplicationUrl:n.oauth_application_url,clientId:n.client_id,state:n.state,scopes:n.scopes?.map(e=>({scope:e.scope,description:e.description,requiresConsent:e.requires_consent}))??[]}}buildConsentActionUrl({clientId:e}){let t=t$.fapiClient.buildUrl({path:`/me/oauth/consent/${encodeURIComponent(e)}`,sessionId:t$.clerk.session?.id});return t$.clerk.buildUrlWithAuth(t.toString())}}class nD{#es=!1;load(e){let t=e?.protectConfig;if(t?.loaders&&Array.isArray(t.loaders)&&0!==t.loaders.length&&!this.#es){if(o())for(let e of(this.#es=!0,t.loaders))try{this.applyLoader(e)}catch(e){ea(`[protect] failed to apply loader: ${e}`)}}}applyLoader(e){if(void 0!==e.rollout){let t=e.rollout;if(\"number\"!=typeof t||t<0)return void ea(`[protect] loader rollout value is invalid: ${t}`);if(0===t||Math.random()>t)return}let t=e.type||\"script\",a=e.target||\"body\",r=document.createElement(t);if(e.attributes)for(let[t,a]of Object.entries(e.attributes))switch(typeof a){case\"string\":case\"number\":case\"boolean\":r.setAttribute(t,String(a));break;default:ea(`[protect] loader attribute is invalid type: ${t}=${a}`)}switch(e.textContent&&\"string\"==typeof e.textContent&&(r.textContent=e.textContent),a){case\"head\":document.head.appendChild(r);break;case\"body\":document.body.appendChild(r);break;default:if(a?.startsWith(\"#\")){let e=document.getElementById(a.substring(1));if(!e)return void ea(`[protect] loader target element not found: ${a}`);e.appendChild(r);return}ea(`[protect] loader target is invalid: ${a}`)}}}class nF{signInResourceSignal=am;signInErrorSignal=ap;signInFetchSignal=af;signInSignal=ag;signUpResourceSignal=ab;signUpErrorSignal=ay;signUpFetchSignal=aw;signUpSignal=ak;waitlistResourceSignal=av;waitlistErrorSignal=ax;waitlistFetchSignal=a_;waitlistSignal=aj;_waitlistInstance;__internal_effect=an;__internal_computed=ar;constructor(){aH.on(\"resource:update\",this.onResourceUpdated),aH.on(\"resource:error\",this.onResourceError),aH.on(\"resource:fetch\",this.onResourceFetch),this._waitlistInstance=new np(null),this.waitlistResourceSignal({resource:this._waitlistInstance})}get __internal_waitlist(){return this._waitlistInstance}onResourceError=e=>{e.resource instanceof r5&&this.signInErrorSignal({error:e.error}),e.resource instanceof r4&&this.signUpErrorSignal({error:e.error}),e.resource instanceof np&&this.waitlistErrorSignal({error:e.error})};onResourceUpdated=e=>{if(e.resource instanceof r5){if(nL(this.signInResourceSignal().resource,e.resource))return;this.signInResourceSignal({resource:e.resource})}if(e.resource instanceof r4){if(nL(this.signUpResourceSignal().resource,e.resource))return;this.signUpResourceSignal({resource:e.resource})}e.resource instanceof np&&(this._waitlistInstance=e.resource,this.waitlistResourceSignal({resource:e.resource}))};onResourceFetch=e=>{e.resource instanceof r5&&this.signInFetchSignal({status:e.status}),e.resource instanceof r4&&this.signUpFetchSignal({status:e.status}),e.resource instanceof np&&this.waitlistFetchSignal({status:e.status})}}function nL(e,t){return!t?.id&&e&&e.__internal_future?.canBeDiscarded===!1}let nW=\"cannot_render_billing_disabled\",nK=\"cannot_render_user_missing\",nH=\"cannot_render_organizations_disabled\",nV=\"cannot_render_organization_missing\",nG=\"cannot_render_single_session_enabled\",nJ={polling:!0,standardBrowser:!0,touchSession:!0,isSatellite:!1,signInUrl:void 0,signUpUrl:void 0,afterSignOutUrl:void 0,signInFallbackRedirectUrl:void 0,signUpFallbackRedirectUrl:void 0,signInForceRedirectUrl:void 0,signUpForceRedirectUrl:void 0,newSubscriptionRedirectUrl:void 0};class nZ{static version=\"6.7.5\";static sdkMetadata={name:\"@clerk/clerk-js\",version:\"6.7.5\"};static _billing;static _apiKeys;static _oauthApplication;_checkout;client;session;organization;user;__internal_country;telemetry;__internal_state=new nF;internal_last_error=null;environment;#ev;#ex=\"\";#e_;#ej;#ez;#eS;#eI;#eA=null;#eE;#eC;#eP;#eq=\"loading\";#eO=[];#eT=[];#eU={};#eM=null;#eR=0;#eB=f();get __internal_queryClient(){return this.#ev||Promise.resolve().then(n.bind(n,8123)).then(e=>e.QueryClient).then(e=>{this.#ev||(this.#ev=new e,this.#eB.emit(\"queryClientStatus\",\"ready\"))}),this.#ev?{__tag:\"clerk-rq-client\",client:this.#ev}:void 0}__internal_getCachedResources;__internal_createPublicCredentials;__internal_getPublicCredentials;__internal_isWebAuthnSupported;__internal_isWebAuthnAutofillSupported;__internal_isWebAuthnPlatformAuthenticatorSupported;__internal_setActiveInProgress=!1;get publishableKey(){return this.#ex}get version(){return nZ.version}set sdkMetadata(e){nZ.sdkMetadata=e}get sdkMetadata(){return nZ.sdkMetadata}get loaded(){return\"degraded\"===this.status||\"ready\"===this.status}get status(){return this.#eq}get isSatellite(){return!!tj()&&(0,tt.VK)(this.#eU.isSatellite,new URL(window.location.href),!1)}get domain(){if(tj()){let e=ex((0,tt.VK)(this.#e_,new URL(window.location.href)));if(\"production\"===this.#eP){let t;if(!e)return\"\";if(e.match(/^(clerk\\.)+\\w*$/))t=/(clerk\\.)*(?=clerk\\.)/;else{if(e.match(/\\.clerk.accounts/))return e;t=/^(clerk\\.)*/gi}return`clerk.${e.replace(t,\"\")}`}return e}return\"function\"==typeof this.#e_?(ea(eJ.domainAsFunctionNotSupported),\"\"):ex(this.#e_||\"\")}get proxyUrl(){if(tj()){let e=(0,tt.VK)(this.#ej,new URL(window.location.href));return!e||eQ(e)||eX(e)||tk.throwInvalidProxyUrl({url:e}),e?eX(e)?new URL(e,window.location.origin).toString():e:\"\"}return\"function\"==typeof this.#ej?(ea(eJ.proxyUrlAsFunctionNotSupported),\"\"):this.#ej||\"\"}get frontendApi(){let e=ey(this.publishableKey);return e?e.frontendApi:tk.throwInvalidPublishableKeyError({key:this.publishableKey})}get instanceType(){return this.#eP}get isStandardBrowser(){return this.#eU.standardBrowser||!1}get billing(){return nZ._billing||(nZ._billing=new ah),nZ._billing}get apiKeys(){return nZ._apiKeys||(nZ._apiKeys=new nR),nZ._apiKeys}get oauthApplication(){return nZ._oauthApplication||(nZ._oauthApplication=new nN),nZ._oauthApplication}__experimental_checkout(e){return this._checkout||(this._checkout=e=>(function(e,t){let a,r,n,i,{for:s,planId:o,planPeriod:l}=t;if(null===e.user)throw Error(\"Clerk: User is not authenticated\");if(\"organization\"===s&&null===e.organization)throw Error(\"Clerk: The current session does not have an active organization. Use `setActive` to set the organization\");let c=function(e){let{userId:t,orgId:a,planId:r,planPeriod:n}=e;return`${t}-${a||\"user\"}-${r}-${n}`}({userId:e.user?.id||\"\",orgId:\"organization\"===s?e.organization?.id:void 0,planId:o,planPeriod:l}),u=nB.get(c);if(u)return u.signals.computedSignal();let d=(a=aa({resource:null}),r=aa({error:null}),n=aa({status:\"idle\"}),i=ar(()=>{let e=a().resource,t=r().error,i=n().status;return{errors:az(t,{}),fetchStatus:i,checkout:e}}),{resourceSignal:a,errorSignal:r,fetchSignal:n,computedSignal:i}),h=new aA(d,{...\"organization\"===s?{orgId:e.organization?.id}:{},planId:o,planPeriod:l});return nB.set(c,{resource:h,signals:d}),d.computedSignal()})(this,e)),this._checkout(e)}__internal_getOption(e){return this.#eU[e]}get isSignedIn(){return this?.session?.status!==\"pending\"&&!!this.session}constructor(e,t){if(!(e=(e||\"\").trim()))return tk.throwMissingPublishableKeyError();let a=ey(e);if(!a)return tk.throwInvalidPublishableKeyError({key:e});this.#e_=t?.domain,this.#ej=t?.proxyUrl,this.environment=rv.getInstance(),this.#eP=a.instanceType,this.#ex=e,this.#eC=function(e){let t=[],a=[];async function r(e){for await(let a of[\"u\">typeof window&&window.__internal_onBeforeRequest,...t].filter(e=>e))if(await a(e)===!1)return!1;return!0}async function n(e,t){for await(let r of[\"u\">typeof window&&window.__internal_onAfterResponse,...a].filter(e=>e))if(await r(e,t)===!1)return!1;return!0}function i({method:t,path:a,sessionId:r,search:n,rotatingTokenNonce:s}){let o=new URLSearchParams(n);return o.append(\"__clerk_api_version\",\"2025-11-10\"),o.append(\"_clerk_js_version\",\"6.7.5\"),s&&o.append(\"rotating_token_nonce\",s),e.domain&&\"development\"===e.instanceType&&e.isSatellite&&o.append(\"__domain\",e.domain),t&&\"GET\"!==t&&\"POST\"!==t&&o.append(\"_method\",t),a&&!nM.some(e=>a.startsWith(e))&&r&&o.append(\"_clerk_session_id\",r),ej([...o.entries()].reduce((e,[t,a])=>(e[t]=a.includes(\",\")?a.split(\",\"):a,e),{}))}function s(t){let{path:a,pathPrefix:r=\"v1\"}=t;if(e.proxyUrl){let n=new URL(e.proxyUrl),s=n.pathname.slice(1);return s.endsWith(\"/\")&&(s=s.slice(0,-1)),eC({base:n.origin,pathname:`${s}/${r}${a}`,search:i(t)},{stringify:!1})}let n=\"production\"===e.instanceType?e.domain:\"\";return eC({base:`https://${n||e.frontendApi}`,pathname:`${r}${a}`,search:i(t)},{stringify:!1})}async function o(t,a){let i,o={...t},{method:l=\"GET\",body:c}=o;!c||\"object\"!=typeof c||c instanceof FormData||(o.body=function(e){if(!e||\"object\"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype)return e;let t={};for(let[a,r]of Object.entries(e))void 0!==r&&(t[a]=r);return t}(c)),o.url=s({...o,sessionId:e.getSessionId()}),o.headers=new Headers(o.headers),\"GET\"===l||c instanceof FormData||o.headers.has(\"content-type\")||o.headers.set(\"content-type\",\"application/x-www-form-urlencoded\"),\"application/x-www-form-urlencoded\"===o.headers.get(\"content-type\")&&(o.body=c?ej(c,{keyEncoder:es}):c);let d=await r(o),h=\"GET\"===l?\"GET\":\"POST\",m=o.url,p={...o,method:h,credentials:o.credentials||\"include\"};try{if(d){let e=a?.fetchMaxTries??(u()?4:11);i=await th(()=>fetch(m,p),{retryImmediately:!0,initialDelay:700,maxDelayBetweenRetries:5e3,shouldRetry:(t,a)=>\"GET\"===h&&a{m.searchParams.set(\"_clerk_retry_attempt\",e.toString())}})}else i=new Response(\"{}\",o)}catch(t){let e=m.toString();tl.error(\"network error\",{error:t,url:e,method:l},\"fapiClient\");throw Error(`${tO} Network error at \"${e}\" - ${t}. Please try again.`)}let f=204!==i.status?await i.json():null,g=Object.assign(i,{payload:f});return i.ok||tl.error(\"request failed\",{method:l,path:o.path,status:i.status},\"fapiClient\"),await n(o,g),g}return{buildEmailAddress:function(t){return function({localPart:e,frontendApi:t}){return`${e}@${t?t.replace(\"clerk.\",\"\"):\"clerk.com\"}`}({localPart:t,frontendApi:e.frontendApi})},buildUrl:s,onAfterResponse:function(e){a.push(e)},onBeforeRequest:function(e){t.push(e)},request:o}}({domain:this.domain,frontendApi:this.frontendApi,instanceType:this.instanceType,isSatellite:this.isSatellite,getSessionId:()=>this.session?.id,proxyUrl:this.proxyUrl}),this.#eB.emit(g,\"loading\"),this.#eB.prioritizedOn(g,e=>this.#eq=e),this.#eB.on(g,e=>{tj()&&(\"ready\"===e||\"degraded\"===e?window.__clerk_internal_ready?.__resolve&&this.#eN()&&window.__clerk_internal_ready.__resolve(this):\"error\"===e&&window.__clerk_internal_ready?.__reject&&window.__clerk_internal_ready.__reject(new x(\"Clerk failed to initialize.\",{code:\"clerk_init_failed\"})))}),tj()&&(\"ready\"===this.#eq||\"degraded\"===this.#eq)&&this.#eN()&&window.__clerk_internal_ready?.__resolve&&window.__clerk_internal_ready.__resolve(this),t$.clerk=this,this.#eS=new nD}getFapiClient=()=>this.#eC;load=async e=>{if(tl.info(\"load() start\",{},\"clerk\"),!this.loaded){if(\"development\"!==this.#eP||e?.unsafe_disableDevelopmentModeConsoleWarning||ea(\"Clerk: Clerk has been loaded with development keys. Development instances have strict usage limits and should not be used when deploying your application to production. Learn more: https://clerk.com/docs/deployments/overview\"),this.#eU=this.#eD(e),this.#eU.ui?.ClerkUI&&(this.#eE=Promise.resolve(this.#eU.ui.ClerkUI).then(e=>new e(()=>this,()=>this.environment,this.#eU,new tp))),\"development\"===this.#eP&&(this.#eU.routerPush||this.#eU.routerReplace)&&(!this.#eU.routerPush||!this.#eU.routerReplace)){let e=this.#eU.routerPush?\"routerReplace\":\"routerPush\";ea(`Clerk: Both \\`routerPush\\` and \\`routerReplace\\` need to be defined, but \\`${e}\\` is not defined. This may cause issues with navigation in your application.`)}aH.on(aK,()=>{this.#eF(this.session)}),this.#eU.sdkMetadata&&(nZ.sdkMetadata=this.#eU.sdkMetadata),!1!==this.#eU.telemetry&&(this.telemetry=new e9({clerkVersion:nZ.version,samplingRate:1,perEventSampling:!this.#eU.__internal_keyless_claimKeylessApplicationUrl&&void 0,publishableKey:this.publishableKey,...this.#eU.telemetry}),this.#eU.appearance&&this.telemetry.record({event:\"THEME_USAGE\",eventSamplingRate:1,payload:function(e){let t;if(!e||\"object\"!=typeof e)return{};let a=e.theme;if(!a)return{};if(Array.isArray(a))for(let e of a){let a=te(e);if(a){t=a;break}}else t=te(a);return{themeName:t}}(this.#eU.appearance)}));try{this.#eU.standardBrowser?await this.#eL():await this.#eW();let e=this.#eU.telemetry,t=!1!==e&&!e?.disabled,a=!!this.#eU.__internal_keyless_claimKeylessApplicationUrl,r=!!this.environment?.clientDebugMode,n=this.environment?.isProduction?.()??!1,i=r||a&&!n,s=a&&!r?\"error\":void 0;i&&function(e={}){if(tn)return;let{enabled:t=!1,...a}=e;t&&(ta=!0,tn=!0,to(a))}({enabled:!0,...s?{logLevel:s}:{},...t&&this.telemetry?{telemetryCollector:this.telemetry}:{}}),this.#eS?.load(this.environment),tl.info(\"load() complete\",{},\"clerk\")}catch(e){throw this.#eB.emit(g,\"error\"),tl.error(\"load() failed\",{error:e},\"clerk\"),e}}};#eK(){let e;return!!(!this.#eU.signUpUrl&&this.#eU.signInUrl&&(e=this.#eU.signInUrl,!e_.test(e)))}signOut=async(e,t)=>{if(!this.client||0===this.client.sessions.length)return;let a=\"u\">typeof window&&\"function\"==typeof window.__internal_onBeforeSetActive?window.__internal_onBeforeSetActive:tt.lQ,r=\"u\">typeof window&&\"function\"==typeof window.__internal_onAfterSetActive?window.__internal_onAfterSetActive:tt.lQ,n=e&&\"object\"==typeof e?e:t||{},i=n?.redirectUrl||this.buildAfterSignOutUrl();tl.debug(\"signOut() start\",{hasClient:!!this.client,multiSessionCount:this.client?.signedInSessions.length??0,redirectUrl:i,sessionTarget:n?.sessionId??null},\"clerk\");let s=\"function\"==typeof e?e:void 0,o=async()=>{let e=tf(this.#eU.standardBrowser);aH.emit(aL,null),await e.track(async()=>{s?await s():await this.navigate(i)}),e.isUnloading()||(this.#eF(),await r())};if(await a(),!n.sessionId||1===this.client.signedInSessions.length){this.#eH(),this.#eU.experimental?.persistClient??!0?await this.client.removeSessions():await this.client.destroy(),await o(),tl.info(\"signOut() complete\",{redirectUrl:eP(i)},\"clerk\");return}let l=this.client.signedInSessions.find(e=>e.id===n.sessionId);l?.id&&this.session?.id===l.id?(this.#eH(),await l?.remove(),await o(),tl.info(\"signOut() complete\",{redirectUrl:eP(i)},\"clerk\")):await l?.remove()};openGoogleOneTap=e=>{this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted()).then(t=>t.openModal(\"googleOneTap\",e||{})),this.telemetry?.record(e7(\"GoogleOneTap\",e))};closeGoogleOneTap=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeModal(\"googleOneTap\"))};openSignIn=e=>{if(W(this,this.environment)){if(\"development\"===this.#eP)throw new x(eJ.cannotOpenSignInOrSignUp,{code:nG});return}this.assertComponentsReady(this.#eE);let t=\"SignIn\";this.#eE.then(e=>e.ensureMounted({preloadHint:t})).then(t=>t.openModal(\"signIn\",e||{}));let a={withSignUp:e?.withSignUp??this.#eK()};this.telemetry?.record(e7(t,e,a))};closeSignIn=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeModal(\"signIn\"))};__internal_openCheckout=e=>{if(K(this,this.environment)){if(\"development\"===this.#eP)throw new x(eJ.cannotRenderAnyBillingComponent(\"Checkout\"),{code:nW});return}if(!this.user){if(\"development\"===this.#eP)throw new x(eJ.cannotOpenCheckout,{code:nK});return}this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted()).then(t=>t.openDrawer(\"checkout\",e||{}))};__internal_closeCheckout=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer(\"checkout\"))};__internal_openPlanDetails=e=>{if(K(this,this.environment)){if(\"development\"===this.#eP)throw new x(eJ.cannotRenderAnyBillingComponent(\"PlanDetails\"),{code:nW});return}this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted()).then(t=>t.openDrawer(\"planDetails\",e||{})),this.telemetry?.record(e7(\"PlanDetails\",e))};__internal_closePlanDetails=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer(\"planDetails\"))};__internal_openSubscriptionDetails=e=>{this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted()).then(t=>t.openDrawer(\"subscriptionDetails\",e||{}))};__internal_closeSubscriptionDetails=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeDrawer(\"subscriptionDetails\"))};__internal_openReverification=e=>{if(!this.user){if(\"development\"===this.#eP)throw new x(eJ.cannotOpenUserProfile,{code:nK});return}this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted()).then(t=>t.openModal(\"userVerification\",e||{})),this.telemetry?.record(e7(\"UserVerification\",e))};__internal_closeReverification=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeModal(\"userVerification\"))};__internal_attemptToEnableEnvironmentSetting=e=>{let{for:t,caller:a}=e;if(this.user||\"development\"!==this.#eP||ea(`Clerk: \"${a}\" requires an active user session. Ensure a user is signed in before executing ${a}.`),\"organizations\"===t){let t;return(t=this.environment,t?.organizationSettings.enabled||this.session?.currentTask?.key===\"choose-organization\")?{isEnabled:!0}:(\"development\"===this.#eP&&this.__internal_openEnableOrganizationsPrompt({caller:a,onSuccess:()=>window.location.reload(),onClose:e.onClose}),{isEnabled:!1})}throw Error(`Attempted to enable an unknown or unsupported setting \"${t}\".`)};__internal_openEnableOrganizationsPrompt=e=>{this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted({preloadHint:\"EnableOrganizationsPrompt\"})).then(t=>t.openModal(\"enableOrganizationsPrompt\",e||{})),this.telemetry?.record(e4(\"EnableOrganizationsPrompt\",e))};__internal_closeEnableOrganizationsPrompt=()=>{this.assertComponentsReady(this.#eE),this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeModal(\"enableOrganizationsPrompt\"))};__internal_openBlankCaptchaModal=()=>(this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted()).then(e=>e.openModal(\"blankCaptcha\",{})));__internal_closeBlankCaptchaModal=()=>(this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted()).then(e=>e.closeModal(\"blankCaptcha\")));__internal_loadStripeJs=async()=>{let{loadStripe:e}=await Promise.resolve().then(n.bind(n,8755));return e};openSignUp=e=>{if(W(this,this.environment)){if(\"development\"===this.#eP)throw new x(eJ.cannotOpenSignInOrSignUp,{code:nG});return}this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted({preloadHint:\"SignUp\"})).then(t=>t.openModal(\"signUp\",e||{})),this.telemetry?.record(e7(\"SignUp\",e))};closeSignUp=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeModal(\"signUp\"))};openUserProfile=e=>{if(!this.user){if(\"development\"===this.#eP)throw new x(eJ.cannotOpenUserProfile,{code:nK});return}this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted({preloadHint:\"UserProfile\"})).then(t=>t.openModal(\"userProfile\",e||{}));let t=(e?.customPages?.length||0)>0?{customPages:!0}:void 0;this.telemetry?.record(e7(\"UserProfile\",e,t))};closeUserProfile=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeModal(\"userProfile\"))};openOrganizationProfile=e=>{let{isEnabled:t}=this.__internal_attemptToEnableEnvironmentSetting({for:\"organizations\",caller:\"OrganizationProfile\",onClose:()=>{throw new x(eJ.cannotRenderAnyOrganizationComponent(\"OrganizationProfile\"),{code:nH})}});if(t){if(!this.organization){if(\"development\"===this.#eP)throw new x(eJ.cannotRenderComponentWhenOrgDoesNotExist,{code:nV});return}this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted({preloadHint:\"OrganizationProfile\"})).then(t=>t.openModal(\"organizationProfile\",e||{})),this.telemetry?.record(e7(\"OrganizationProfile\",e))}};closeOrganizationProfile=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeModal(\"organizationProfile\"))};openCreateOrganization=e=>{let{isEnabled:t}=this.__internal_attemptToEnableEnvironmentSetting({for:\"organizations\",caller:\"CreateOrganization\",onClose:()=>{throw new x(eJ.cannotRenderAnyOrganizationComponent(\"CreateOrganization\"),{code:nH})}});t&&(this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted({preloadHint:\"CreateOrganization\"})).then(t=>t.openModal(\"createOrganization\",e||{})),this.telemetry?.record(e7(\"CreateOrganization\",e)))};closeCreateOrganization=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeModal(\"createOrganization\"))};openWaitlist=e=>{this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted({preloadHint:\"Waitlist\"})).then(t=>t.openModal(\"waitlist\",e||{})),this.telemetry?.record(e7(\"Waitlist\",e))};closeWaitlist=()=>{this.#eE?.then(e=>e.ensureMounted()).then(e=>e.closeModal(\"waitlist\"))};mountSignIn=(e,t)=>{this.assertComponentsReady(this.#eE);let a=\"SignIn\";this.#eE.then(e=>e.ensureMounted({preloadHint:a})).then(r=>r.mountComponent({name:a,appearanceKey:\"signIn\",node:e,props:t}));let r={withSignUp:t?.withSignUp??this.#eK()};this.telemetry?.record(e4(a,t,r))};unmountSignIn=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountUserAvatar=(e,t)=>{this.assertComponentsReady(this.#eE);let a=\"UserAvatar\";this.#eE.then(e=>e.ensureMounted({preloadHint:a})).then(r=>r.mountComponent({name:a,appearanceKey:\"userAvatar\",node:e,props:t})),this.telemetry?.record(e4(a,t))};unmountUserAvatar=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountSignUp=(e,t)=>{this.assertComponentsReady(this.#eE);let a=\"SignUp\";this.#eE.then(e=>e.ensureMounted({preloadHint:a})).then(r=>r.mountComponent({name:a,appearanceKey:\"signUp\",node:e,props:t})),this.telemetry?.record(e4(a,t))};unmountSignUp=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountUserProfile=(e,t)=>{if(!this.user){if(\"development\"===this.#eP)throw new x(eJ.cannotRenderComponentWhenUserDoesNotExist,{code:nK});return}this.assertComponentsReady(this.#eE);let a=\"UserProfile\";this.#eE.then(e=>e.ensureMounted({preloadHint:a})).then(r=>r.mountComponent({name:a,appearanceKey:\"userProfile\",node:e,props:t}));let r=(t?.customPages?.length||0)>0?{customPages:!0}:void 0;this.telemetry?.record(e4(a,t,r))};unmountUserProfile=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountOrganizationProfile=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:\"organizations\",caller:\"OrganizationProfile\",onClose:()=>{throw new x(eJ.cannotRenderAnyOrganizationComponent(\"OrganizationProfile\"),{code:nH})}});if(!a)return;let r=!!this.user;if(!this.organization&&r){if(\"development\"===this.#eP)throw new x(eJ.cannotRenderComponentWhenOrgDoesNotExist,{code:nV});return}this.assertComponentsReady(this.#eE);let n=\"OrganizationProfile\";this.#eE.then(e=>e.ensureMounted({preloadHint:n})).then(a=>a.mountComponent({name:n,appearanceKey:\"userProfile\",node:e,props:t})),this.telemetry?.record(e4(n,t))};unmountOrganizationProfile=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountCreateOrganization=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:\"organizations\",caller:\"CreateOrganization\",onClose:()=>{throw new x(eJ.cannotRenderAnyOrganizationComponent(\"CreateOrganization\"),{code:nH})}});if(!a)return;this.assertComponentsReady(this.#eE);let r=\"CreateOrganization\";this.#eE.then(e=>e.ensureMounted({preloadHint:r})).then(a=>a.mountComponent({name:r,appearanceKey:\"createOrganization\",node:e,props:t})),this.telemetry?.record(e4(r,t))};unmountCreateOrganization=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountOrganizationSwitcher=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:\"organizations\",caller:\"OrganizationSwitcher\",onClose:()=>{throw new x(eJ.cannotRenderAnyOrganizationComponent(\"OrganizationSwitcher\"),{code:nH})}});if(!a)return;this.assertComponentsReady(this.#eE);let r=\"OrganizationSwitcher\";this.#eE.then(e=>e.ensureMounted({preloadHint:r})).then(a=>a.mountComponent({name:r,appearanceKey:\"organizationSwitcher\",node:e,props:t})),this.telemetry?.record(e4(r,{...t,forceOrganizationSelection:this.environment?.organizationSettings.forceOrganizationSelection}))};unmountOrganizationSwitcher=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};__experimental_prefetchOrganizationSwitcher=()=>{this.assertComponentsReady(this.#eE),this.#eE.then(e=>e.ensureMounted()).then(e=>e.prefetch(\"organizationSwitcher\"))};mountOrganizationList=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:\"organizations\",caller:\"OrganizationList\",onClose:()=>{throw new x(eJ.cannotRenderAnyOrganizationComponent(\"OrganizationList\"),{code:nH})}});if(!a)return;this.assertComponentsReady(this.#eE);let r=\"OrganizationList\";this.#eE.then(e=>e.ensureMounted({preloadHint:r})).then(a=>a.mountComponent({name:r,appearanceKey:\"organizationList\",node:e,props:t})),this.telemetry?.record(e4(r,{...t,forceOrganizationSelection:this.environment?.organizationSettings.forceOrganizationSelection}))};unmountOrganizationList=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountUserButton=(e,t)=>{this.assertComponentsReady(this.#eE);let a=\"UserButton\";this.#eE.then(e=>e.ensureMounted({preloadHint:a})).then(r=>r.mountComponent({name:a,appearanceKey:\"userButton\",node:e,props:t}));let r={...t?.customMenuItems?.length||0?{customItems:!0}:void 0,...t?.__experimental_asStandalone?{standalone:!0}:void 0};this.telemetry?.record(e4(a,t,r))};unmountUserButton=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountWaitlist=(e,t)=>{this.assertComponentsReady(this.#eE);let a=\"Waitlist\";this.#eE.then(e=>e.ensureMounted({preloadHint:a})).then(r=>r.mountComponent({name:a,appearanceKey:\"waitlist\",node:e,props:t})),this.telemetry?.record(e4(a,t))};unmountWaitlist=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountPricingTable=(e,t)=>{if(K(this,this.environment)){if(\"development\"===this.#eP)throw new x(eJ.cannotRenderAnyBillingComponent(\"PricingTable\"),{code:nW});return}this.assertComponentsReady(this.#eE);let a=\"PricingTable\";this.#eE.then(e=>e.ensureMounted({preloadHint:a})).then(r=>r.mountComponent({name:a,appearanceKey:\"pricingTable\",node:e,props:t})),this.telemetry?.record(e4(a,t))};unmountPricingTable=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};__internal_mountOAuthConsent=(e,t)=>{if(!this.user){if(\"development\"===this.#eP)throw new x(eJ.cannotRenderOAuthConsentComponentWhenUserDoesNotExist,{code:nK});return}this.assertComponentsReady(this.#eE);let a=\"OAuthConsent\";this.#eE.then(e=>e.ensureMounted({preloadHint:a})).then(r=>r.mountComponent({name:a,appearanceKey:\"__internal_oauthConsent\",node:e,props:t}))};__internal_unmountOAuthConsent=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountAPIKeys=(e,t)=>{let a;if(H(this,a=this.environment)&&V(this,a)){if(\"development\"===this.#eP)throw new x(eJ.cannotRenderAPIKeysComponent,{code:\"cannot_render_api_keys_disabled\"});return}if(this.organization&&V(this,this.environment)){if(\"development\"===this.#eP)throw new x(eJ.cannotRenderAPIKeysComponentForOrgWhenDisabled,{code:\"cannot_render_api_keys_org_disabled\"});return}if(H(this,this.environment)){if(\"development\"===this.#eP)throw new x(eJ.cannotRenderAPIKeysComponentForUserWhenDisabled,{code:\"cannot_render_api_keys_user_disabled\"});return}this.assertComponentsReady(this.#eE);let r=\"APIKeys\";this.#eE.then(e=>e.ensureMounted({preloadHint:r})).then(a=>a.mountComponent({name:r,appearanceKey:\"apiKeys\",node:e,props:t})),this.telemetry?.record(e4(r,t))};unmountAPIKeys=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountTaskChooseOrganization=(e,t)=>{let{isEnabled:a}=this.__internal_attemptToEnableEnvironmentSetting({for:\"organizations\",caller:\"TaskChooseOrganization\",onClose:()=>{throw new x(eJ.cannotRenderAnyOrganizationComponent(\"TaskChooseOrganization\"),{code:nH})}});if(!a)return;this.assertComponentsReady(this.#eE);let r=\"TaskChooseOrganization\";this.#eE.then(e=>e.ensureMounted({preloadHint:r})).then(a=>a.mountComponent({name:r,appearanceKey:\"taskChooseOrganization\",node:e,props:t})),this.telemetry?.record(e4(r,t))};unmountTaskChooseOrganization=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountTaskResetPassword=(e,t)=>{this.assertComponentsReady(this.#eE);let a=\"TaskResetPassword\";this.#eE.then(e=>e.ensureMounted({preloadHint:a})).then(r=>r.mountComponent({name:a,appearanceKey:\"taskResetPassword\",node:e,props:t})),this.telemetry?.record(e4(\"TaskResetPassword\",t))};unmountTaskResetPassword=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};mountTaskSetupMFA=(e,t)=>{this.assertComponentsReady(this.#eE);let a=\"TaskSetupMFA\";this.#eE.then(e=>e.ensureMounted({preloadHint:a})).then(r=>r.mountComponent({name:a,appearanceKey:\"taskSetupMfa\",node:e,props:t})),this.telemetry?.record(e4(\"TaskSetupMFA\",t))};unmountTaskSetupMFA=e=>{this.#eE?.then(e=>e.ensureMounted()).then(t=>t.unmountComponent({node:e}))};setActive=async e=>{let{organization:t,redirectUrl:a,navigate:r}=e,{session:n}=e;this.__internal_setActiveInProgress=!0,tl.debug(\"setActive() start\",{hasClient:!!this.client,sessionTarget:\"string\"==typeof n?n:n?.id??n??null,organizationTarget:\"string\"==typeof t?t:t?.id??t??null,redirectUrl:a??null},\"clerk\");try{var i;let s;if(!this.client)throw tl.warn(\"Clerk setActive called before client is loaded\",{},\"clerk\"),Error(\"setActive is being called before the client is loaded. Wait for init.\");if(void 0===n&&!this.session)throw tl.warn(\"Clerk setActive precondition not met: no target session and no active session\",{},\"clerk\"),Error(\"setActive should either be called with a session param or there should be already an active session.\");\"string\"==typeof n&&(n=this.client.sessions.find(e=>e.id===n)||null);let o=\"u\">typeof window&&\"function\"==typeof window.__internal_onBeforeSetActive?window.__internal_onBeforeSetActive:tt.lQ,l=\"u\">typeof window&&\"function\"==typeof window.__internal_onAfterSetActive?window.__internal_onAfterSetActive:tt.lQ,c=void 0===n?this.session:n;c?.status===\"pending\"&&(i={...this.#eU,...e},s=[\"taskUrls\",\"navigate\"],Object.keys(i).some(e=>s.includes(e))||ea('Clerk: Session has pending tasks but no handling is configured. To handle pending tasks, provide either \"taskUrls\" for navigation to custom URLs or \"navigate\" for programmatic navigation. Without these options, users may get stuck on incomplete flows.'));let u=void 0!==t;if(c&&u){let e=\"string\"==typeof t?t:t?.id;if(\"string\"==typeof e&&e.startsWith(\"org_\"))c.lastActiveOrganizationId=e||null;else{let t=c.user.organizationMemberships.find(t=>t.organization.slug===e),a=t?.organization.id||null,r=null===a;if(this.environment?.organizationSettings?.forceOrganizationSelection&&r)return;c.lastActiveOrganizationId=a}}c?.status!==\"pending\"&&await o(null===c?\"sign-out\":void 0);let d=c?.status===\"pending\"&&c?.currentTask&&this.#eU.taskUrls?.[c?.currentTask.key],h=!!(a||d||r),m=u?\"select_org\":\"select_session\";if(tj()&&globalThis.document.hasFocus()||!this.#eU.standardBrowser){let e;if(h&&c)try{(e=await c.__internal_touch({intent:m}))&&this.updateClient(e,{__internal_dangerouslySkipEmit:!0})}catch(e){if(R(e))this.handleUnauthenticated();else throw e}else await this.#eV(c,m);c=this.#eG(c?.id,e)}try{await c?.getToken()||aH.emit(aF,{token:null})}catch(e){if(A.is(e))tl.warn(\"Token fetch failed when setting active session (offline). Preserving existing auth state.\",{sessionId:c?.id},\"clerk\");else throw e}let p=tf(this.#eU.standardBrowser);if(h&&await p.track(async()=>{if(this.client){if(c?.status!==\"pending\"&&this.#eH(),d){let e=a?eC({base:d,hashSearchParams:{redirectUrl:a}},{stringify:!0}):d;await this.navigate(e)}else if(r&&c){let e=!1,t=t=>{if(e=!0,!this.client?.isEligibleForTouch())return t;let a=new URL(t,window.location.href),r=this.client.buildTouchUrl({redirectUrl:a});return this.buildUrlWithAuth(r)};await r({session:c,decorateUrl:t}),\"development\"===this.#eP&&!e&&this.client.isEligibleForTouch()&&ea(\"Clerk: The navigate callback in setActive() did not call decorateUrl(). In Safari, sessions may be limited to 7 days due to Intelligent Tracking Prevention (ITP). Use decorateUrl() to wrap your destination URL to enable the ITP workaround. Learn more: https://clerk.com/docs/troubleshooting/safari-itp\")}else if(a){if(this.client.isEligibleForTouch()){let e=new URL(a,window.location.href),t=this.buildUrlWithAuth(this.client.buildTouchUrl({redirectUrl:e}));await this.navigate(t)}await this.navigate(a)}}}),p.isUnloading())return;this.#eF(c),c?.status!==\"pending\"&&await l()}finally{this.__internal_setActiveInProgress=!1}};addListener=(e,t)=>{var a;let r;return a=e,e=e=>{var t;r||={...e},a(r={...{client:ng((t=r).client,e.client),session:ng(t.session,e.session),user:ng(t.user,e.user),organization:ng(t.organization,e.organization)}})},this.#eO.push(e),this.client&&!t?.skipInitialEmit&&e({client:this.client,session:this.session,user:this.user,organization:this.organization}),()=>{this.#eO=this.#eO.filter(t=>t!==e)}};on=(...e)=>{this.#eB.on(...e)};off=(...e)=>{this.#eB.off(...e)};__internal_addNavigationListener=e=>(this.#eT.push(e),()=>{this.#eT=this.#eT.filter(t=>t!==e)});navigate=async(e,t)=>{if(!e||!tj())return;if(void 0===window.location){let a=t?.replace&&this.#eU.routerReplace?this.#eU.routerReplace:this.#eU.routerPush;return a?(tl.info(`Clerk is navigating to: ${e}`),await a(e,{windowNavigate:eY})):void 0}setTimeout(()=>{this.#eJ()},0);let a=new URL(e,window.location.href);this.#eZ.includes(a.protocol)||(console.warn(`Clerk: \"${a.protocol}\" is not a valid protocol. Redirecting to \"/\" instead. If you think this is a mistake, please open an issue.`),a=new URL(\"/\",window.location.href));let r=t?.replace&&this.#eU.routerReplace?this.#eU.routerReplace:this.#eU.routerPush;if(tl.info(`Clerk is navigating to: ${a}`),this.#eU.routerDebug&&console.log(`Clerk is navigating to: ${a}`),\"null\"!==a.origin&&a.origin!==window.location.origin||!r)return void eY(a);let n={...t?.metadata?{__internal_metadata:t?.metadata}:{},windowNavigate:eY};return await r(eP(a),n)};buildUrlWithAuth(e){if(\"production\"===this.#eP)return e;let t=new URL(e,window.location.origin);return t.origin!==window.location.origin&&this.#ez?this.#ez.decorateUrlWithDevBrowserToken(t).href:t.href}buildSignInUrl(e){let t=e?.redirectUrl||window.location.href;this.isSatellite&&(t=this.#e$(t));let a=this.isSatellite?this.#eY(e):e;return this.#eQ(\"signInUrl\",{...a,redirectUrl:t},e?.initialValues)}buildSignUpUrl(e){let t=e?.redirectUrl||window.location.href;this.isSatellite&&(t=this.#e$(t));let a=this.isSatellite?this.#eY(e):e;return this.#eQ(\"signUpUrl\",{...a,redirectUrl:t},e?.initialValues)}#e$=e=>{try{let t=new URL(e,window.location.origin);return t.searchParams.set(G,J),t.toString()}catch{return e}};#eY=e=>{if(!e)return e;let t={...e};return t.signInForceRedirectUrl&&(t.signInForceRedirectUrl=this.#e$(t.signInForceRedirectUrl)),t.signInFallbackRedirectUrl&&(t.signInFallbackRedirectUrl=this.#e$(t.signInFallbackRedirectUrl)),t.signUpForceRedirectUrl&&(t.signUpForceRedirectUrl=this.#e$(t.signUpForceRedirectUrl)),t.signUpFallbackRedirectUrl&&(t.signUpFallbackRedirectUrl=this.#e$(t.signUpFallbackRedirectUrl)),t};buildUserProfileUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.userProfileUrl):\"\"}buildHomeUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.homeUrl):\"\"}buildAfterSignInUrl({params:e}={}){return this.buildUrlWithAuth(new eR(this.#eU,{},e).getAfterSignInUrl())}buildAfterSignUpUrl({params:e}={}){return this.buildUrlWithAuth(new eR(this.#eU,{},e).getAfterSignUpUrl())}buildAfterSignOutUrl(){return this.#eU.afterSignOutUrl?this.buildUrlWithAuth(this.#eU.afterSignOutUrl):\"/\"}buildNewSubscriptionRedirectUrl(){return this.#eU.newSubscriptionRedirectUrl?this.#eU.newSubscriptionRedirectUrl:this.buildAfterSignInUrl()}buildWaitlistUrl(e){return this.environment&&this.environment.displayConfig?eC({base:this.#eU.waitlistUrl||this.environment.displayConfig.waitlistUrl,hashSearchParams:[new URLSearchParams(e?.initialValues||{})]},{stringify:!0}):\"\"}buildAfterMultiSessionSingleSignOutUrl(){return this.environment?this.#eU.afterMultiSessionSingleSignOutUrl?this.buildUrlWithAuth(this.#eU.afterMultiSessionSingleSignOutUrl):this.#eU.signInUrl?this.buildUrlWithAuth(eC({base:this.#eU.signInUrl,hashPath:\"choose\"},{stringify:!0})):this.buildUrlWithAuth(this.environment.displayConfig.afterSignOutOneUrl):\"\"}buildCreateOrganizationUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.createOrganizationUrl):\"\"}buildOrganizationProfileUrl(){return this.environment&&this.environment.displayConfig?this.buildUrlWithAuth(this.environment.displayConfig.organizationProfileUrl):\"\"}buildTasksUrl(e){let t=this.session?.currentTask;if(!t)return\"\";let a=this.#eU.taskUrls?.[t.key];return a||eC({base:this.buildSignInUrl(e),hashPath:eK(t)},{stringify:!0})}#eX=async()=>{if(!tj())return;let e=new URLSearchParams({[G]:Z}),t=eD(Y);t&&eQ(t)||function(){throw Error(`${tO} Invalid redirect_url. A valid http or https url should be used for the redirection.`)}();let a=eC({base:eD(Y),searchParams:e},{stringify:!0});return this.navigate(this.buildUrlWithAuth(a))};redirectWithAuth=async e=>{if(tj())return this.navigate(this.buildUrlWithAuth(e))};redirectToSignIn=async e=>{if(tj())return this.navigate(this.buildSignInUrl(e))};redirectToSignUp=async e=>{if(tj())return this.navigate(this.buildSignUpUrl(e))};redirectToUserProfile=async()=>{if(tj())return this.navigate(this.buildUserProfileUrl())};redirectToCreateOrganization=async()=>{if(tj())return this.navigate(this.buildCreateOrganizationUrl())};redirectToOrganizationProfile=async()=>{if(tj())return this.navigate(this.buildOrganizationProfileUrl())};redirectToAfterSignIn=async()=>{if(tj())return this.navigate(this.buildAfterSignInUrl())};redirectToAfterSignUp=async()=>{if(tj())return this.navigate(this.buildAfterSignUpUrl())};redirectToAfterSignOut=async()=>{if(tj())return this.navigate(this.buildAfterSignOutUrl())};redirectToWaitlist=async()=>{if(tj())return this.navigate(this.buildWaitlistUrl())};redirectToTasks=async e=>{if(tj())return this.navigate(this.buildTasksUrl(e))};handleEmailLinkVerification=async(e,t)=>{if(!this.client)return;let a=eD(\"__clerk_status\");if(\"expired\"===a)throw new P(O.Expired);if(\"client_mismatch\"===a)throw new P(O.ClientMismatch);if(\"verified\"!==a)throw new P(O.Failed);let r=eD(\"__clerk_created_session\"),{signIn:n,signUp:i,sessions:s}=this.client,o=s.some(e=>e.id===r),l=\"needs_second_factor\"===n.status||\"missing_requirements\"===i.status,c=e=>t&&\"function\"==typeof t?t(e):this.navigate(e),u=e.redirectUrl?()=>c(e.redirectUrl):tt.lQ;return o?this.setActive({session:r,redirectUrl:e.redirectUrlComplete}):l?u():(\"function\"==typeof e.onVerifiedOnOtherDevice&&e.onVerifiedOnOtherDevice(),null)};handleGoogleOneTapCallback=async(e,t,a)=>{if(!this.loaded||!this.environment||!this.client)return;let{signIn:r,signUp:n}=this.client,i=\"identifier\"in(e||{})?e:r,s=\"missingFields\"in(e||{})?e:n,o=e=>a&&\"function\"==typeof a?a(this.buildUrlWithAuth(e)):this.navigate(this.buildUrlWithAuth(e));return this._handleRedirectCallback(t,{signUp:s,signIn:i,navigate:o})};_handleRedirectCallback=async(e,{signIn:t,signUp:a,navigate:r})=>{if(!this.loaded||!this.environment||!this.client)return;if(!window.opener&&e.reloadResource)try{\"signIn\"===e.reloadResource?await t.reload():\"signUp\"===e.reloadResource&&await a.reload()}catch{}let{displayConfig:n}=this.environment,{firstFactorVerification:i}=t,{externalAccount:s}=a.verifications,o={status:a.status,missingFields:a.missingFields,externalAccountStatus:s.status,externalAccountErrorCode:s.error?.code,externalAccountSessionId:s.error?.meta?.sessionId,sessionId:a.createdSessionId},l={status:t.status,firstFactorVerificationStatus:i.status,firstFactorVerificationErrorCode:i.error?.code,firstFactorVerificationSessionId:i.error?.meta?.sessionId,sessionId:t.createdSessionId},c=e=>()=>r(e),u=c(e.signInUrl||n.signInUrl),d=c(e.signUpUrl||n.signUpUrl),h=c(e.firstFactorUrl||eC({base:n.signInUrl,hashPath:\"/factor-one\"},{stringify:!0})),m=c(e.secondFactorUrl||eC({base:n.signInUrl,hashPath:\"/factor-two\"},{stringify:!0})),p=c(e.resetPasswordUrl||eC({base:n.signInUrl,hashPath:\"/reset-password\"},{stringify:!0})),f=new eR(this.#eU,e),g=c(e.continueSignUpUrl||eC({base:n.signUpUrl,hashPath:\"/continue\"},{stringify:!0})),b=({missingFields:t})=>t.length?g():(({signUp:e,verifyEmailPath:t,verifyPhonePath:a,continuePath:r,navigate:n,handleComplete:i,redirectUrl:s=\"\",redirectUrlComplete:o=\"\",oidcPrompt:l})=>{if(\"complete\"===e.status)return i&&i();if(\"missing_requirements\"===e.status){if(e.missingFields.some(e=>\"enterprise_sso\"===e))return e.authenticateWithRedirect({strategy:\"enterprise_sso\",redirectUrl:s,redirectUrlComplete:o,continueSignUp:!0,oidcPrompt:l});let i=eL();if(e.unverifiedFields?.includes(\"email_address\")&&t)return n(t,{searchParams:i});if(e.unverifiedFields?.includes(\"phone_number\")&&a)return n(a,{searchParams:i});if(r)return n(r,{searchParams:i})}})({signUp:a,verifyEmailPath:e.verifyEmailAddressUrl||eC({base:n.signUpUrl,hashPath:\"/verify-email-address\"},{stringify:!0}),verifyPhonePath:e.verifyPhoneNumberUrl||eC({base:n.signUpUrl,hashPath:\"/verify-phone-number\"},{stringify:!0}),navigate:r}),y=e.signInUrl||n.signInUrl,w=e.signUpUrl||n.signUpUrl,k=async({session:e,baseUrl:t,redirectUrl:a})=>{e.currentTask?await eH(e,{baseUrl:t,navigate:this.navigate}):await this.navigate(a)};if(\"complete\"===l.status)return this.setActive({session:l.sessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:y,redirectUrl:f.getAfterSignInUrl()})}});if(\"transferable\"===o.externalAccountStatus&&\"external_account_exists\"===o.externalAccountErrorCode){let e=await t.create({transfer:!0});switch(e.status){case\"complete\":return this.setActive({session:e.createdSessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:w,redirectUrl:f.getAfterSignInUrl()})}});case\"needs_first_factor\":return h();case\"needs_second_factor\":return m();case\"needs_new_password\":return p();default:tU(\"sign in\")}}let v=\"user_locked\"===o.externalAccountErrorCode,x=\"user_locked\"===l.firstFactorVerificationErrorCode;if(v)return d();if(x)return u();if(\"needs_first_factor\"===l.status&&!t.supportedFirstFactors?.every(e=>\"enterprise_sso\"===e.strategy))return h();if(\"needs_new_password\"===l.status)return p();if(\"transferable\"===l.firstFactorVerificationStatus){if(!1===e.transferable)return u();let t=await a.create({transfer:!0,unsafeMetadata:e.unsafeMetadata});switch(t.status){case\"complete\":return this.setActive({session:t.createdSessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:w,redirectUrl:f.getAfterSignUpUrl()})}});case\"missing_requirements\":return b({missingFields:t.missingFields});default:tU(\"sign in\")}}if(\"complete\"===o.status)return this.setActive({session:o.sessionId,navigate:async({session:e})=>{await k({session:e,baseUrl:w,redirectUrl:f.getAfterSignUpUrl()})}});if(\"needs_second_factor\"===l.status)return m();let _=(\"failed\"===o.externalAccountStatus||\"unverified\"===o.externalAccountStatus)&&\"identifier_already_signed_in\"===o.externalAccountErrorCode&&o.externalAccountSessionId,j=\"failed\"===l.firstFactorVerificationStatus&&\"identifier_already_signed_in\"===l.firstFactorVerificationErrorCode&&l.firstFactorVerificationSessionId;if(_||j){let e=l.firstFactorVerificationSessionId||o.externalAccountSessionId;if(e)return this.setActive({session:e,navigate:async({session:e})=>{await k({session:e,baseUrl:_?w:y,redirectUrl:f.getAfterSignInUrl()})}})}return(e=>{let{externalAccount:t}=e.verifications;return!!t.error})(a)?d():\"verified\"===o.externalAccountStatus&&\"missing_requirements\"===o.status?b({missingFields:a.missingFields}):this.session?.currentTask?void await this.redirectToTasks({redirectUrl:this.buildAfterSignInUrl()}):u()};handleRedirectCallback=async(e={},t)=>{if(!this.loaded||!this.environment||!this.client)return;let{signIn:a,signUp:r}=this.client,n=e=>t&&\"function\"==typeof t?t(e):this.navigate(e);return this._handleRedirectCallback(e,{signUp:r,signIn:a,navigate:n})};handleUnauthenticated=async(e={broadcast:!0})=>{if(this.client&&this.session)try{let t=await a6.getOrCreateInstance().fetch();if(this.updateClient(t),this.session)return;return e.broadcast&&aH.emit(aL,null),this.setActive({session:null})}catch(e){if(S(e)&&[403,500].includes(e.status))return this.setActive({session:null});throw e}};__internal_handleUnauthenticatedDevBrowser=async()=>{this.#ez&&await this.#ez.handleUnauthenticatedDevBrowser()};authenticateWithGoogleOneTap=async e=>this.client?.signIn.create({strategy:\"google_one_tap\",token:e.token}).catch(t=>{if(S(t)&&\"external_account_not_found\"===t.errors[0].code)return this.client?.signUp.create({strategy:\"google_one_tap\",token:e.token,legalAccepted:e.legalAccepted});throw t});authenticateWithMetamask=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:\"web3_metamask_signature\"})};authenticateWithCoinbaseWallet=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:\"web3_coinbase_wallet_signature\"})};authenticateWithBase=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:\"web3_base_signature\"})};authenticateWithOKXWallet=async(e={})=>{await this.authenticateWithWeb3({...e,strategy:\"web3_okx_wallet_signature\"})};authenticateWithSolana=async e=>{await this.authenticateWithWeb3({...e,strategy:\"web3_solana_signature\"})};authenticateWithWeb3=async({redirectUrl:e,signUpContinueUrl:t,customNavigate:a,unsafeMetadata:r,strategy:n,legalAccepted:i,secondFactorUrl:s,walletName:o})=>{let l,c;if(!this.client||!this.environment)return;let{displayConfig:u}=this.environment,d=n.replace(\"web3_\",\"\").replace(\"_signature\",\"\"),h=await tA().getWeb3Identifier({provider:d,walletName:o});switch(d){case\"metamask\":l=tA().generateSignatureWithMetamask;break;case\"base\":l=tA().generateSignatureWithBase;break;case\"coinbase_wallet\":l=tA().generateSignatureWithCoinbaseWallet;break;case\"solana\":if(!o)throw new x(\"Wallet name is required for Solana authentication.\",{code:\"web3_solana_wallet_name_required\"});l=e=>tA().generateSignatureWithSolana({...e,walletName:o});break;default:l=tA().generateSignatureWithOKXWallet}let m=e=>()=>a&&\"function\"==typeof a?a(e):this.navigate(e),p=m(s||eC({base:u.signInUrl,hashPath:\"/factor-two\"},{stringify:!0})),f=m(t||eC({base:u.signUpUrl,hashPath:\"/continue\"},{stringify:!0}));try{c=await this.client.signIn.authenticateWithWeb3({identifier:h,generateSignature:l,strategy:n,walletName:o})}catch(e){if(tw(e,\"form_identifier_not_found\"))c=await this.client.signUp.authenticateWithWeb3({identifier:h,generateSignature:l,unsafeMetadata:r,strategy:n,legalAccepted:i,walletName:o}),t&&\"missing_requirements\"===c.status&&\"verified\"===c.verifications.web3Wallet.status&&await f();else throw e}let g=async({session:e,redirectUrl:t})=>{e.currentTask?await eH(e,{baseUrl:u.signInUrl,navigate:this.navigate}):await this.navigate(t)};switch(c.status){case\"needs_second_factor\":await p();break;case\"complete\":c.createdSessionId&&await this.setActive({session:c.createdSessionId,navigate:async({session:t})=>{await g({session:t,redirectUrl:e??this.buildAfterSignInUrl()})}});break;default:return}};createOrganization=async({name:e,slug:t})=>rC.create({name:e,slug:t});getOrganization=async e=>rC.get(e);joinWaitlist=async({emailAddress:e})=>np.join({emailAddress:e});updateEnvironment(e){this.environment=e}__internal_setCountry=e=>{this.__internal_country||(this.__internal_country=e)};get __internal_last_error(){let e=this.internal_last_error;return this.internal_last_error=null,e}set __internal_last_error(e){this.internal_last_error=e}updateClient=(e,t)=>{if(!this.client){let t=this.#eU.selectInitialSession?this.#eU.selectInitialSession(e):this.#e1(e);this.#eF(t,{dangerouslySkipEmit:!0})}if(this.client=e,this.session){let t=this.#eG(this.session.id,e);\"active\"===this.session.status&&t?.status===\"pending\"&&(\"u\">typeof window&&\"function\"==typeof window.__internal_onAfterSetActive?window.__internal_onAfterSetActive:tt.lQ)(),this.#eF(t,{dangerouslySkipEmit:!0}),this.session?.lastActiveToken||d()||tl.warn(\"No last active token when updating client (offline)\",{sessionId:this.session?.id},\"clerk\"),aH.emit(aF,{token:this.session?.lastActiveToken})}t?.__internal_dangerouslySkipEmit||this.#e0()};get __internal_environment(){return this.environment}__internal_setEnvironment=async e=>{this.environment=new rv(e)};__internal_onBeforeRequest=e=>{this.#eC.onBeforeRequest(e)};__internal_onAfterResponse=e=>{this.#eC.onAfterResponse(e)};__internal_updateProps=e=>{let t={...e,options:this.#eD({...this.#eU,...e.options})};return this.#eE?.then(e=>e.ensureMounted()).then(e=>e.updateProps(t))};__internal_navigateWithError(e,t){return this.__internal_last_error=t,this.navigate(e)}#e2=()=>{let e=new URLSearchParams({[Y]:window.location.href});return eC({base:this.#eU.signInUrl,searchParams:e},{stringify:!0})};#e3=()=>{let e;if(this.proxyUrl){let t=new URL(this.proxyUrl);e=new URL(`${t.pathname}/v1/client/sync`,t.origin)}else this.domain&&(e=new URL(\"/v1/client/sync\",`https://${this.domain}`));return e?.searchParams.append(\"redirect_url\",window.location.href),e?.toString()||\"\"};#e9=()=>{let e=eD(G);return e!==Z&&!!this.isSatellite&&(e===J||!0===this.#eU.satelliteAutoSync&&!!this.#ez?.isSignedOut())};#e5=()=>\"production\"!==this.#eP&&!this.isSatellite&&!!eD(Y);#e6=async()=>{\"development\"===this.instanceType?await this.navigate(this.#e2()):\"production\"===this.instanceType&&await this.navigate(this.#e3())};#e8=(e,t)=>{let a;try{a=new URL(e)}catch{throw Error(`${tO} The signInUrl needs to have a absolute url format.`)}a.origin===t&&function(){throw Error(`${tO} The signInUrl needs to be on a different origin than your satellite application.`)}()};#e4=()=>{this.isSatellite&&(\"development\"!==this.#eP||this.#eU.signInUrl||function(){throw Error(`${tO} Missing signInUrl. A satellite application needs to specify the signInUrl for development instances.`)}(),this.proxyUrl||this.domain||function(){throw Error(`${tO} Missing domain and proxyUrl. A satellite application needs to specify a domain or a proxyUrl.`)}(),this.#eU.signInUrl&&this.#e8(this.#eU.signInUrl,window.location.origin))};#eL=async()=>{if(this.#ez=await nT.create(this,this.#eC,this.#eP,this.#eB),this.#e4(),this.#e9())return void await this.#e6();if(this.#e5())return void await this.#eX();this.#eM=(()=>{if(!o())return{onPageFocus:tt.lQ};let e=[];return window.addEventListener(\"focus\",()=>{\"visible\"===document.visibilityState&&e.forEach(e=>e())}),{onPageFocus:t=>{e.push(t)}}})(),\"u\">typeof BroadcastChannel&&(this.#eA=new BroadcastChannel(\"clerk\")),this.#e7();let e=function(e=window.location.hostname){if(!e)return!1;let t=eA.get(e);void 0===t&&(t=eh.some(t=>e.startsWith(\"accounts.\")&&e.endsWith(t))||em.some(t=>e.endsWith(t)&&!e.endsWith(\".clerk\"+t)),eA.set(e,t));return t}(window?.location.hostname),t=\"development\"===this.#eP&&!e,a=0,r=0;for(;r<2;){r++;try{let e=rv.getInstance().fetch({touch:t}).then(e=>this.updateEnvironment(e)).catch(()=>{++a;let e=tq.getItem(tE,null);e&&this.updateEnvironment(new rv(e))}),r=async()=>a6.getOrCreateInstance().fetch().then(e=>this.updateClient(e)).catch(async e=>{if(M(e))throw e;++a;let t=this.#ez?.getSessionCookie(),r=function(e){let t;try{t=new nn({jwt:e||\"\",object:\"token\",id:void 0})}catch{t=null}if(a6.clearInstance(),!t?.jwt)return a6.getOrCreateInstance({object:\"client\",last_active_session_id:null,id:\"client_init\",sessions:[]});let{sessionId:a,userId:r,orgId:n,orgRole:i,orgPermissions:s,orgSlug:o,factorVerificationAge:l}=(e=>{let t,a,r,n,i=e.fva??null,s=e.sts??null;if(2===e.v){if(e.o){t=e.o?.id,r=e.o?.slg,e.o?.rol&&(a=`org:${e.o?.rol}`);let{org:i}=rJ(e.fea),{permissions:s,featurePermissionMap:o}=(({per:e,fpm:t})=>{if(!e||!t)return{permissions:[],featurePermissionMap:[]};let a=e.split(\",\").map(e=>e.trim());return{permissions:a,featurePermissionMap:t.split(\",\").map(e=>Number.parseInt(e.trim(),10)).map(e=>e.toString(2).padStart(a.length,\"0\").split(\"\").map(e=>Number.parseInt(e,10)).reverse()).filter(Boolean)}})({per:e.o?.per,fpm:e.o?.fpm});n=function({features:e,permissions:t,featurePermissionMap:a}){if(!e||!t||!a)return[];let r=[];for(let n=0;n=a.length)continue;let s=a[n];if(s)for(let e=0;enull).finally(()=>{this.#ez?.startPollingForToken()}),null}),[,n]=await (0,tt.vd)([e,r()]);if(\"rejected\"===n.status){let e=n.reason;if(tw(e,\"requires_captcha\"))await r();else throw e}if(this.#ez?.setClientUatCookieForDevelopmentInstances(),await this.#te())return;break}catch(e){if(tw(e,\"dev_browser_unauthenticated\"))await this.#ez.handleUnauthenticatedDevBrowser();else if(!d())return void console.warn(e);else throw e}r>=2&&function(){throw Error(`${tO} Something went wrong initializing Clerk.`)}()}this.#eI=new nU(this),this.#eI.start(),this.#tt(),this.#ta(),this.#tr(),this.#eB.emit(g,a>0?\"degraded\":\"ready\")};shouldFallbackToCachedResources=()=>!!this.__internal_getCachedResources;#eW=async()=>{let e,t,a=this.shouldFallbackToCachedResources()?1:void 0,r=0;try{[e,t]=await Promise.all([rv.getInstance().fetch({touch:!1,fetchMaxTries:a}),a6.getOrCreateInstance().fetch({fetchMaxTries:a})])}catch(a){if(_(a)&&\"network_error\"===a.code&&this.shouldFallbackToCachedResources()){let a=await this.__internal_getCachedResources?.();e=new rv(a?.environment),a6.clearInstance(),t=a6.getOrCreateInstance(a?.client),++r}else throw a}this.updateClient(t),this.updateEnvironment(e),this.#eB.emit(g,r>0?\"degraded\":\"ready\")};__internal_reloadInitialResources=async()=>{let[e,t]=await Promise.all([rv.getInstance().fetch({touch:!1,fetchMaxTries:1}),a6.getOrCreateInstance().fetch({fetchMaxTries:1})]);this.updateClient(t),this.updateEnvironment(e),this.#e0()};#e1=e=>{if(e.lastActiveSessionId){let t=e.signedInSessions.find(t=>t.id===e.lastActiveSessionId);if(t)return t}return e.signedInSessions[0]||null};#e7=()=>{o()&&(this.#eM?.onPageFocus(()=>{this.session&&!(!(this.environment&&!this.environment.authConfig.singleSessionMode)&&this.#eR>Date.now())&&(this.#eR=Date.now()+5e3,this.#eU.touchSession&&this.#eV(this.session,\"focus\"))}),this.#eA?.addEventListener(\"message\",e=>{e.data?.type===\"signout\"&&this.handleUnauthenticated({broadcast:!1})}),aH.on(aL,()=>{this.#eA?.postMessage({type:\"signout\"})}),aH.on(aW,()=>{tq.setItem(tE,this.environment?.__internal_toSnapshot(),864e5)}))};#eV=async(e,t=\"focus\")=>{if(!e)return Promise.resolve();await e.touch({intent:t}).catch(e=>{if(R(e))this.handleUnauthenticated();else throw e})};__internal_lastEmittedResources;#e0=()=>{if(this.client){let e={client:this.client,session:this.session,user:this.user,organization:this.organization};for(let t of(this.__internal_lastEmittedResources=e,this.#eO))t(e)}};#eJ=()=>{for(let e of this.#eT)e()};#eH=()=>{this.session=void 0,this.organization=void 0,this.user=void 0,this.#e0()};#tn=(e=this.session)=>(e?.user.organizationMemberships||[]).map(e=>e.organization).find(t=>t.id===e?.lastActiveOrganizationId)||null;#ti=(e=this.session)=>({session:e||null,organization:this.#tn(e),user:e?e.user:null});#eF=(e,t)=>{let{session:a,organization:r,user:n}=this.#ti(e);this.session=a,this.organization=r,this.user=n,t?.dangerouslySkipEmit||this.#e0()};#eG=(e,t=this.client)=>t?.signedInSessions.find(t=>t.id===e)||null;#ta=()=>{this.addListener(({session:e})=>{e?.actor&&this.#eE?.then(e=>e.ensureMounted()).then(e=>e.mountImpersonationFab())})};#tr=()=>{this.#eU.__internal_keyless_claimKeylessApplicationUrl&&this.#eE?.then(e=>e.ensureMounted()).then(e=>{e.updateProps({options:{__internal_keyless_claimKeylessApplicationUrl:this.#eU.__internal_keyless_claimKeylessApplicationUrl,__internal_keyless_copyInstanceKeysUrl:this.#eU.__internal_keyless_copyInstanceKeysUrl,__internal_keyless_dismissPrompt:this.#eU.__internal_keyless_dismissPrompt}})})};#eQ=(e,t,a)=>{if(!e||!this.loaded||!this.environment||!this.environment.displayConfig)return\"\";let r=this.#eU[e]||this.environment.displayConfig[e];this.#eK()&&(r=this.#eU.signInUrl);let n=new eR(this.#eU,t).toSearchParams(),i=new URLSearchParams(a||{}),s=eC({base:r,hashPath:this.#eK()&&\"signUpUrl\"===e?\"/create\":\"\",hashSearchParams:[i,n]},{stringify:!0});return this.buildUrlWithAuth(s)};assertComponentsReady(e){if(!e)throw Error(\"Clerk was not loaded with Ui components\")}#te=async()=>{var e;let t,a,r,n,i=new URLSearchParams(window.location.search).get(\"redirect_url\"),s=\"production\"===this.instanceType,o=null!==i&&(e=this.frontendApi,a=(t=new URL(i,ez)).pathname,r=eU.includes(a)||eM.includes(a),e===t.host&&r);if(s||!o)return!1;let l=this.session,c=this.#eU.signInUrl||this.environment?.displayConfig.signInUrl,u=c&&window.location.href.startsWith(c),d=this.#eU.signUpUrl||this.environment?.displayConfig.signUpUrl,h=d&&window.location.href.startsWith(d);return n=new URL(i,ez),(!eU.includes(n.pathname)||!!l||!u&&!h)&&(await this.navigate(this.buildUrlWithAuth(i)),!0)};#eD=e=>{let t=e?.clerkUICtor??e?.clerkUiCtor,a=t?{...e?.ui,ClerkUI:t}:e?.ui;return{...nJ,...e,ui:a,allowedRedirectOrigins:function(e,t,a){if(Array.isArray(e)&&e.length)return e;let r=[];return\"u\">typeof window&&window.location&&r.push(window.location.origin),r.push(`https://${eE(t)}`),r.push(`https://*.${eE(t)}`),\"development\"===a&&r.push(`https://${t}`),r}(e?.allowedRedirectOrigins,this.frontendApi,this.instanceType)}};#tt=()=>{try{eF(G),eF(eB),eF($),eF(\"__clerk_handshake\"),eF(\"__clerk_handshake_nonce\"),eF(\"__clerk_help\")}catch{}};get #eZ(){let e=e$;return this.#eU.allowedRedirectProtocols&&(e=e.concat(this.#eU.allowedRedirectProtocols)),e}#eN(){return void 0!==this.client}}})();var s=i.c2,o=i.LR,l=i.cR,c=i.NZ,u=i.Ys,d=i.kl,h=i.$R,m=i.Cm,p=i.hl,f=i.ux,g=i.si,b=i._d;export{s as Clerk,o as ClerkAPIResponseError,l as ClerkRuntimeError,c as EmailLinkError,u as EmailLinkErrorCode,d as EmailLinkErrorCodeStatus,h as isClerkAPIResponseError,m as isClerkRuntimeError,p as isEmailLinkError,f as isKnownError,g as isMetamaskError,b as isUserLockedError};","import { Clerk } from '@clerk/clerk-js';\n\nconst clerkPublishableKey = (import.meta as any).env?.VITE_CLERK_PUBLISHABLE_KEY || '';\nconst clerkSignInUrl = (import.meta as any).env?.VITE_CLERK_SIGN_IN_URL || '/sign-in';\nconst clerkSignUpUrl = (import.meta as any).env?.VITE_CLERK_SIGN_UP_URL || '/sign-up';\n\nlet clerk: Clerk | null = null;\n\nexport function getClerk(): Clerk | null {\n if (clerk) return clerk;\n\n if (!clerkPublishableKey) {\n console.warn('Clerk publishable key not configured');\n return null;\n }\n\n clerk = new Clerk(clerkPublishableKey);\n return clerk;\n}\n\nexport function getClerkUrls() {\n return {\n signInUrl: clerkSignInUrl,\n signUpUrl: clerkSignUpUrl,\n };\n}\n\nexport async function loadClerk(): Promise {\n const instance = getClerk();\n if (!instance) return null;\n\n try {\n await instance.load();\n return instance;\n } catch (err) {\n console.error('Failed to load Clerk:', err);\n return null;\n }\n}\n","//#region rolldown:runtime\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function() {\n\treturn mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\nvar require_typeof = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\"(exports, module) {\n\tfunction _typeof$2(o) {\n\t\t\"@babel/helpers - typeof\";\n\t\treturn module.exports = _typeof$2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(o$1) {\n\t\t\treturn typeof o$1;\n\t\t} : function(o$1) {\n\t\t\treturn o$1 && \"function\" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? \"symbol\" : typeof o$1;\n\t\t}, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof$2(o);\n\t}\n\tmodule.exports = _typeof$2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\nvar require_toPrimitive = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\"(exports, module) {\n\tvar _typeof$1 = require_typeof()[\"default\"];\n\tfunction toPrimitive$1(t, r) {\n\t\tif (\"object\" != _typeof$1(t) || !t) return t;\n\t\tvar e = t[Symbol.toPrimitive];\n\t\tif (void 0 !== e) {\n\t\t\tvar i = e.call(t, r || \"default\");\n\t\t\tif (\"object\" != _typeof$1(i)) return i;\n\t\t\tthrow new TypeError(\"@@toPrimitive must return a primitive value.\");\n\t\t}\n\t\treturn (\"string\" === r ? String : Number)(t);\n\t}\n\tmodule.exports = toPrimitive$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\nvar require_toPropertyKey = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\"(exports, module) {\n\tvar _typeof = require_typeof()[\"default\"];\n\tvar toPrimitive = require_toPrimitive();\n\tfunction toPropertyKey$1(t) {\n\t\tvar i = toPrimitive(t, \"string\");\n\t\treturn \"symbol\" == _typeof(i) ? i : i + \"\";\n\t}\n\tmodule.exports = toPropertyKey$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\nvar require_defineProperty = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\"(exports, module) {\n\tvar toPropertyKey = require_toPropertyKey();\n\tfunction _defineProperty(e, r, t) {\n\t\treturn (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n\t\t\tvalue: t,\n\t\t\tenumerable: !0,\n\t\t\tconfigurable: !0,\n\t\t\twritable: !0\n\t\t}) : e[r] = t, e;\n\t}\n\tmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\nvar require_objectSpread2 = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\"(exports, module) {\n\tvar defineProperty = require_defineProperty();\n\tfunction ownKeys(e, r) {\n\t\tvar t = Object.keys(e);\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tvar o = Object.getOwnPropertySymbols(e);\n\t\t\tr && (o = o.filter(function(r$1) {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(e, r$1).enumerable;\n\t\t\t})), t.push.apply(t, o);\n\t\t}\n\t\treturn t;\n\t}\n\tfunction _objectSpread2(e) {\n\t\tfor (var r = 1; r < arguments.length; r++) {\n\t\t\tvar t = null != arguments[r] ? arguments[r] : {};\n\t\t\tr % 2 ? ownKeys(Object(t), !0).forEach(function(r$1) {\n\t\t\t\tdefineProperty(e, r$1, t[r$1]);\n\t\t\t}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r$1) {\n\t\t\t\tObject.defineProperty(e, r$1, Object.getOwnPropertyDescriptor(t, r$1));\n\t\t\t});\n\t\t}\n\t\treturn e;\n\t}\n\tmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\nexport { __commonJS, __toESM, require_defineProperty, require_objectSpread2 };\n//# sourceMappingURL=objectSpread2-BvkFp-_Y.mjs.map","//#region src/observable/observable.ts\n/** @public */\nfunction isObservable(x) {\n\treturn typeof x === \"object\" && x !== null && \"subscribe\" in x;\n}\n/** @public */\nfunction observable(subscribe) {\n\tconst self = {\n\t\tsubscribe(observer) {\n\t\t\tlet teardownRef = null;\n\t\t\tlet isDone = false;\n\t\t\tlet unsubscribed = false;\n\t\t\tlet teardownImmediately = false;\n\t\t\tfunction unsubscribe() {\n\t\t\t\tif (teardownRef === null) {\n\t\t\t\t\tteardownImmediately = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (unsubscribed) return;\n\t\t\t\tunsubscribed = true;\n\t\t\t\tif (typeof teardownRef === \"function\") teardownRef();\n\t\t\t\telse if (teardownRef) teardownRef.unsubscribe();\n\t\t\t}\n\t\t\tteardownRef = subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tvar _observer$next;\n\t\t\t\t\tif (isDone) return;\n\t\t\t\t\t(_observer$next = observer.next) === null || _observer$next === void 0 || _observer$next.call(observer, value);\n\t\t\t\t},\n\t\t\t\terror(err) {\n\t\t\t\t\tvar _observer$error;\n\t\t\t\t\tif (isDone) return;\n\t\t\t\t\tisDone = true;\n\t\t\t\t\t(_observer$error = observer.error) === null || _observer$error === void 0 || _observer$error.call(observer, err);\n\t\t\t\t\tunsubscribe();\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tvar _observer$complete;\n\t\t\t\t\tif (isDone) return;\n\t\t\t\t\tisDone = true;\n\t\t\t\t\t(_observer$complete = observer.complete) === null || _observer$complete === void 0 || _observer$complete.call(observer);\n\t\t\t\t\tunsubscribe();\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (teardownImmediately) unsubscribe();\n\t\t\treturn { unsubscribe };\n\t\t},\n\t\tpipe(...operations) {\n\t\t\treturn operations.reduce(pipeReducer, self);\n\t\t}\n\t};\n\treturn self;\n}\nfunction pipeReducer(prev, fn) {\n\treturn fn(prev);\n}\n/** @internal */\nfunction observableToPromise(observable$1) {\n\tconst ac = new AbortController();\n\tconst promise = new Promise((resolve, reject) => {\n\t\tlet isDone = false;\n\t\tfunction onDone() {\n\t\t\tif (isDone) return;\n\t\t\tisDone = true;\n\t\t\tobs$.unsubscribe();\n\t\t}\n\t\tac.signal.addEventListener(\"abort\", () => {\n\t\t\treject(ac.signal.reason);\n\t\t});\n\t\tconst obs$ = observable$1.subscribe({\n\t\t\tnext(data) {\n\t\t\t\tisDone = true;\n\t\t\t\tresolve(data);\n\t\t\t\tonDone();\n\t\t\t},\n\t\t\terror(data) {\n\t\t\t\treject(data);\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\tac.abort();\n\t\t\t\tonDone();\n\t\t\t}\n\t\t});\n\t});\n\treturn promise;\n}\n/**\n* @internal\n*/\nfunction observableToReadableStream(observable$1, signal) {\n\tlet unsub = null;\n\tconst onAbort = () => {\n\t\tunsub === null || unsub === void 0 || unsub.unsubscribe();\n\t\tunsub = null;\n\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t};\n\treturn new ReadableStream({\n\t\tstart(controller) {\n\t\t\tunsub = observable$1.subscribe({\n\t\t\t\tnext(data) {\n\t\t\t\t\tcontroller.enqueue({\n\t\t\t\t\t\tok: true,\n\t\t\t\t\t\tvalue: data\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tcontroller.enqueue({\n\t\t\t\t\t\tok: false,\n\t\t\t\t\t\terror\n\t\t\t\t\t});\n\t\t\t\t\tcontroller.close();\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tcontroller.close();\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (signal.aborted) onAbort();\n\t\t\telse signal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t},\n\t\tcancel() {\n\t\t\tonAbort();\n\t\t}\n\t});\n}\n/** @internal */\nfunction observableToAsyncIterable(observable$1, signal) {\n\tconst stream = observableToReadableStream(observable$1, signal);\n\tconst reader = stream.getReader();\n\tconst iterator = {\n\t\tasync next() {\n\t\t\tconst value = await reader.read();\n\t\t\tif (value.done) return {\n\t\t\t\tvalue: void 0,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t\tconst { value: result } = value;\n\t\t\tif (!result.ok) throw result.error;\n\t\t\treturn {\n\t\t\t\tvalue: result.value,\n\t\t\t\tdone: false\n\t\t\t};\n\t\t},\n\t\tasync return() {\n\t\t\tawait reader.cancel();\n\t\t\treturn {\n\t\t\t\tvalue: void 0,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\t};\n\treturn { [Symbol.asyncIterator]() {\n\t\treturn iterator;\n\t} };\n}\n\n//#endregion\nexport { isObservable, observable, observableToAsyncIterable, observableToPromise };\n//# sourceMappingURL=observable-UMO3vUa_.mjs.map","import { observable } from \"./observable-UMO3vUa_.mjs\";\n\n//#region src/observable/operators.ts\nfunction map(project) {\n\treturn (source) => {\n\t\treturn observable((destination) => {\n\t\t\tlet index = 0;\n\t\t\tconst subscription = source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tdestination.next(project(value, index++));\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tdestination.error(error);\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tdestination.complete();\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn subscription;\n\t\t});\n\t};\n}\nfunction share(_opts) {\n\treturn (source) => {\n\t\tlet refCount = 0;\n\t\tlet subscription = null;\n\t\tconst observers = [];\n\t\tfunction startIfNeeded() {\n\t\t\tif (subscription) return;\n\t\t\tsubscription = source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tfor (const observer of observers) {\n\t\t\t\t\t\tvar _observer$next;\n\t\t\t\t\t\t(_observer$next = observer.next) === null || _observer$next === void 0 || _observer$next.call(observer, value);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tfor (const observer of observers) {\n\t\t\t\t\t\tvar _observer$error;\n\t\t\t\t\t\t(_observer$error = observer.error) === null || _observer$error === void 0 || _observer$error.call(observer, error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tfor (const observer of observers) {\n\t\t\t\t\t\tvar _observer$complete;\n\t\t\t\t\t\t(_observer$complete = observer.complete) === null || _observer$complete === void 0 || _observer$complete.call(observer);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tfunction resetIfNeeded() {\n\t\t\tif (refCount === 0 && subscription) {\n\t\t\t\tconst _sub = subscription;\n\t\t\t\tsubscription = null;\n\t\t\t\t_sub.unsubscribe();\n\t\t\t}\n\t\t}\n\t\treturn observable((subscriber) => {\n\t\t\trefCount++;\n\t\t\tobservers.push(subscriber);\n\t\t\tstartIfNeeded();\n\t\t\treturn { unsubscribe() {\n\t\t\t\trefCount--;\n\t\t\t\tresetIfNeeded();\n\t\t\t\tconst index = observers.findIndex((v) => v === subscriber);\n\t\t\t\tif (index > -1) observers.splice(index, 1);\n\t\t\t} };\n\t\t});\n\t};\n}\nfunction tap(observer) {\n\treturn (source) => {\n\t\treturn observable((destination) => {\n\t\t\treturn source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tvar _observer$next2;\n\t\t\t\t\t(_observer$next2 = observer.next) === null || _observer$next2 === void 0 || _observer$next2.call(observer, value);\n\t\t\t\t\tdestination.next(value);\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tvar _observer$error2;\n\t\t\t\t\t(_observer$error2 = observer.error) === null || _observer$error2 === void 0 || _observer$error2.call(observer, error);\n\t\t\t\t\tdestination.error(error);\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tvar _observer$complete2;\n\t\t\t\t\t(_observer$complete2 = observer.complete) === null || _observer$complete2 === void 0 || _observer$complete2.call(observer);\n\t\t\t\t\tdestination.complete();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n}\nconst distinctUnsetMarker = Symbol();\nfunction distinctUntilChanged(compare = (a, b) => a === b) {\n\treturn (source) => {\n\t\treturn observable((destination) => {\n\t\t\tlet lastValue = distinctUnsetMarker;\n\t\t\treturn source.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tif (lastValue !== distinctUnsetMarker && compare(lastValue, value)) return;\n\t\t\t\t\tlastValue = value;\n\t\t\t\t\tdestination.next(value);\n\t\t\t\t},\n\t\t\t\terror(error) {\n\t\t\t\t\tdestination.error(error);\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tdestination.complete();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n}\nconst isDeepEqual = (a, b) => {\n\tif (a === b) return true;\n\tconst bothAreObjects = a && b && typeof a === \"object\" && typeof b === \"object\";\n\treturn !!bothAreObjects && Object.keys(a).length === Object.keys(b).length && Object.entries(a).every(([k, v]) => isDeepEqual(v, b[k]));\n};\nfunction distinctUntilDeepChanged() {\n\treturn distinctUntilChanged(isDeepEqual);\n}\n\n//#endregion\n//#region src/observable/behaviorSubject.ts\n/**\n* @internal\n* An observable that maintains and provides a \"current value\" to subscribers\n* @see https://www.learnrxjs.io/learn-rxjs/subjects/behaviorsubject\n*/\nfunction behaviorSubject(initialValue) {\n\tlet value = initialValue;\n\tconst observerList = [];\n\tconst addObserver = (observer) => {\n\t\tif (value !== void 0) observer.next(value);\n\t\tobserverList.push(observer);\n\t};\n\tconst removeObserver = (observer) => {\n\t\tobserverList.splice(observerList.indexOf(observer), 1);\n\t};\n\tconst obs = observable((observer) => {\n\t\taddObserver(observer);\n\t\treturn () => {\n\t\t\tremoveObserver(observer);\n\t\t};\n\t});\n\tobs.next = (nextValue) => {\n\t\tif (value === nextValue) return;\n\t\tvalue = nextValue;\n\t\tfor (const observer of observerList) observer.next(nextValue);\n\t};\n\tobs.get = () => value;\n\treturn obs;\n}\n\n//#endregion\nexport { behaviorSubject, distinctUntilChanged, distinctUntilDeepChanged, map, share, tap };\n//# sourceMappingURL=observable-CUiPknO-.mjs.map","import { observable } from \"@trpc/server/observable\";\n\n//#region src/links/internals/createChain.ts\n/** @internal */\nfunction createChain(opts) {\n\treturn observable((observer) => {\n\t\tfunction execute(index = 0, op = opts.op) {\n\t\t\tconst next = opts.links[index];\n\t\t\tif (!next) throw new Error(\"No more links to execute - did you forget to add an ending link?\");\n\t\t\tconst subscription = next({\n\t\t\t\top,\n\t\t\t\tnext(nextOp) {\n\t\t\t\t\tconst nextObserver = execute(index + 1, nextOp);\n\t\t\t\t\treturn nextObserver;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn subscription;\n\t\t}\n\t\tconst obs$ = execute();\n\t\treturn obs$.subscribe(observer);\n\t});\n}\n\n//#endregion\n//#region src/links/splitLink.ts\nfunction asArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\nfunction splitLink(opts) {\n\treturn (runtime) => {\n\t\tconst yes = asArray(opts.true).map((link) => link(runtime));\n\t\tconst no = asArray(opts.false).map((link) => link(runtime));\n\t\treturn (props) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tconst links = opts.condition(props.op) ? yes : no;\n\t\t\t\treturn createChain({\n\t\t\t\t\top: props.op,\n\t\t\t\t\tlinks\n\t\t\t\t}).subscribe(observer);\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { createChain, splitLink };\n//# sourceMappingURL=splitLink-B7Cuf2c_.mjs.map","//#region src/unstable-core-do-not-import/utils.ts\n/**\n* Ensures there are no duplicate keys when building a procedure.\n* @internal\n*/\nfunction mergeWithoutOverrides(obj1, ...objs) {\n\tconst newObj = Object.assign(emptyObject(), obj1);\n\tfor (const overrides of objs) for (const key in overrides) {\n\t\tif (key in newObj && newObj[key] !== overrides[key]) throw new Error(`Duplicate key ${key}`);\n\t\tnewObj[key] = overrides[key];\n\t}\n\treturn newObj;\n}\n/**\n* Check that value is object\n* @internal\n*/\nfunction isObject(value) {\n\treturn !!value && !Array.isArray(value) && typeof value === \"object\";\n}\nfunction isFunction(fn) {\n\treturn typeof fn === \"function\";\n}\n/**\n* Create an object without inheriting anything from `Object.prototype`\n* @internal\n*/\nfunction emptyObject() {\n\treturn Object.create(null);\n}\nconst asyncIteratorsSupported = typeof Symbol === \"function\" && !!Symbol.asyncIterator;\nfunction isAsyncIterable(value) {\n\treturn asyncIteratorsSupported && isObject(value) && Symbol.asyncIterator in value;\n}\n/**\n* Run an IIFE\n*/\nconst run = (fn) => fn();\nfunction noop() {}\nfunction identity(it) {\n\treturn it;\n}\n/**\n* Generic runtime assertion function. Throws, if the condition is not `true`.\n*\n* Can be used as a slightly less dangerous variant of type assertions. Code\n* mistakes would be revealed at runtime then (hopefully during testing).\n*/\nfunction assert(condition, msg = \"no additional info\") {\n\tif (!condition) throw new Error(`AssertionError: ${msg}`);\n}\nfunction sleep(ms = 0) {\n\treturn new Promise((res) => setTimeout(res, ms));\n}\n/**\n* Ponyfill for\n* [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).\n*/\nfunction abortSignalsAnyPonyfill(signals) {\n\tif (typeof AbortSignal.any === \"function\") return AbortSignal.any(signals);\n\tconst ac = new AbortController();\n\tfor (const signal of signals) {\n\t\tif (signal.aborted) {\n\t\t\ttrigger();\n\t\t\tbreak;\n\t\t}\n\t\tsignal.addEventListener(\"abort\", trigger, { once: true });\n\t}\n\treturn ac.signal;\n\tfunction trigger() {\n\t\tac.abort();\n\t\tfor (const signal of signals) signal.removeEventListener(\"abort\", trigger);\n\t}\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/rpc/codes.ts\n/**\n* JSON-RPC 2.0 Error codes\n*\n* `-32000` to `-32099` are reserved for implementation-defined server-errors.\n* For tRPC we're copying the last digits of HTTP 4XX errors.\n*/\nconst TRPC_ERROR_CODES_BY_KEY = {\n\tPARSE_ERROR: -32700,\n\tBAD_REQUEST: -32600,\n\tINTERNAL_SERVER_ERROR: -32603,\n\tNOT_IMPLEMENTED: -32603,\n\tBAD_GATEWAY: -32603,\n\tSERVICE_UNAVAILABLE: -32603,\n\tGATEWAY_TIMEOUT: -32603,\n\tUNAUTHORIZED: -32001,\n\tPAYMENT_REQUIRED: -32002,\n\tFORBIDDEN: -32003,\n\tNOT_FOUND: -32004,\n\tMETHOD_NOT_SUPPORTED: -32005,\n\tTIMEOUT: -32008,\n\tCONFLICT: -32009,\n\tPRECONDITION_FAILED: -32012,\n\tPAYLOAD_TOO_LARGE: -32013,\n\tUNSUPPORTED_MEDIA_TYPE: -32015,\n\tUNPROCESSABLE_CONTENT: -32022,\n\tPRECONDITION_REQUIRED: -32028,\n\tTOO_MANY_REQUESTS: -32029,\n\tCLIENT_CLOSED_REQUEST: -32099\n};\nconst TRPC_ERROR_CODES_BY_NUMBER = {\n\t[-32700]: \"PARSE_ERROR\",\n\t[-32600]: \"BAD_REQUEST\",\n\t[-32603]: \"INTERNAL_SERVER_ERROR\",\n\t[-32001]: \"UNAUTHORIZED\",\n\t[-32002]: \"PAYMENT_REQUIRED\",\n\t[-32003]: \"FORBIDDEN\",\n\t[-32004]: \"NOT_FOUND\",\n\t[-32005]: \"METHOD_NOT_SUPPORTED\",\n\t[-32008]: \"TIMEOUT\",\n\t[-32009]: \"CONFLICT\",\n\t[-32012]: \"PRECONDITION_FAILED\",\n\t[-32013]: \"PAYLOAD_TOO_LARGE\",\n\t[-32015]: \"UNSUPPORTED_MEDIA_TYPE\",\n\t[-32022]: \"UNPROCESSABLE_CONTENT\",\n\t[-32028]: \"PRECONDITION_REQUIRED\",\n\t[-32029]: \"TOO_MANY_REQUESTS\",\n\t[-32099]: \"CLIENT_CLOSED_REQUEST\"\n};\n/**\n* tRPC error codes that are considered retryable\n* With out of the box SSE, the client will reconnect when these errors are encountered\n*/\nconst retryableRpcCodes = [\n\tTRPC_ERROR_CODES_BY_KEY.BAD_GATEWAY,\n\tTRPC_ERROR_CODES_BY_KEY.SERVICE_UNAVAILABLE,\n\tTRPC_ERROR_CODES_BY_KEY.GATEWAY_TIMEOUT,\n\tTRPC_ERROR_CODES_BY_KEY.INTERNAL_SERVER_ERROR\n];\n\n//#endregion\nexport { TRPC_ERROR_CODES_BY_KEY, TRPC_ERROR_CODES_BY_NUMBER, abortSignalsAnyPonyfill, assert, emptyObject, identity, isAsyncIterable, isFunction, isObject, mergeWithoutOverrides, noop, retryableRpcCodes, run, sleep };\n//# sourceMappingURL=codes-DagpWZLc.mjs.map","import { TRPC_ERROR_CODES_BY_KEY, TRPC_ERROR_CODES_BY_NUMBER, emptyObject, isObject } from \"./codes-DagpWZLc.mjs\";\n\n//#region rolldown:runtime\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function() {\n\treturn mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n//#region src/unstable-core-do-not-import/createProxy.ts\nconst noop = () => {};\nconst freezeIfAvailable = (obj) => {\n\tif (Object.freeze) Object.freeze(obj);\n};\nfunction createInnerProxy(callback, path, memo) {\n\tvar _memo$cacheKey;\n\tconst cacheKey = path.join(\".\");\n\t(_memo$cacheKey = memo[cacheKey]) !== null && _memo$cacheKey !== void 0 || (memo[cacheKey] = new Proxy(noop, {\n\t\tget(_obj, key) {\n\t\t\tif (typeof key !== \"string\" || key === \"then\") return void 0;\n\t\t\treturn createInnerProxy(callback, [...path, key], memo);\n\t\t},\n\t\tapply(_1, _2, args) {\n\t\t\tconst lastOfPath = path[path.length - 1];\n\t\t\tlet opts = {\n\t\t\t\targs,\n\t\t\t\tpath\n\t\t\t};\n\t\t\tif (lastOfPath === \"call\") opts = {\n\t\t\t\targs: args.length >= 2 ? [args[1]] : [],\n\t\t\t\tpath: path.slice(0, -1)\n\t\t\t};\n\t\t\telse if (lastOfPath === \"apply\") opts = {\n\t\t\t\targs: args.length >= 2 ? args[1] : [],\n\t\t\t\tpath: path.slice(0, -1)\n\t\t\t};\n\t\t\tfreezeIfAvailable(opts.args);\n\t\t\tfreezeIfAvailable(opts.path);\n\t\t\treturn callback(opts);\n\t\t}\n\t}));\n\treturn memo[cacheKey];\n}\n/**\n* Creates a proxy that calls the callback with the path and arguments\n*\n* @internal\n*/\nconst createRecursiveProxy = (callback) => createInnerProxy(callback, [], emptyObject());\n/**\n* Used in place of `new Proxy` where each handler will map 1 level deep to another value.\n*\n* @internal\n*/\nconst createFlatProxy = (callback) => {\n\treturn new Proxy(noop, { get(_obj, name) {\n\t\tif (name === \"then\") return void 0;\n\t\treturn callback(name);\n\t} });\n};\n\n//#endregion\n//#region src/unstable-core-do-not-import/http/getHTTPStatusCode.ts\nconst JSONRPC2_TO_HTTP_CODE = {\n\tPARSE_ERROR: 400,\n\tBAD_REQUEST: 400,\n\tUNAUTHORIZED: 401,\n\tPAYMENT_REQUIRED: 402,\n\tFORBIDDEN: 403,\n\tNOT_FOUND: 404,\n\tMETHOD_NOT_SUPPORTED: 405,\n\tTIMEOUT: 408,\n\tCONFLICT: 409,\n\tPRECONDITION_FAILED: 412,\n\tPAYLOAD_TOO_LARGE: 413,\n\tUNSUPPORTED_MEDIA_TYPE: 415,\n\tUNPROCESSABLE_CONTENT: 422,\n\tPRECONDITION_REQUIRED: 428,\n\tTOO_MANY_REQUESTS: 429,\n\tCLIENT_CLOSED_REQUEST: 499,\n\tINTERNAL_SERVER_ERROR: 500,\n\tNOT_IMPLEMENTED: 501,\n\tBAD_GATEWAY: 502,\n\tSERVICE_UNAVAILABLE: 503,\n\tGATEWAY_TIMEOUT: 504\n};\nconst HTTP_CODE_TO_JSONRPC2 = {\n\t400: \"BAD_REQUEST\",\n\t401: \"UNAUTHORIZED\",\n\t402: \"PAYMENT_REQUIRED\",\n\t403: \"FORBIDDEN\",\n\t404: \"NOT_FOUND\",\n\t405: \"METHOD_NOT_SUPPORTED\",\n\t408: \"TIMEOUT\",\n\t409: \"CONFLICT\",\n\t412: \"PRECONDITION_FAILED\",\n\t413: \"PAYLOAD_TOO_LARGE\",\n\t415: \"UNSUPPORTED_MEDIA_TYPE\",\n\t422: \"UNPROCESSABLE_CONTENT\",\n\t428: \"PRECONDITION_REQUIRED\",\n\t429: \"TOO_MANY_REQUESTS\",\n\t499: \"CLIENT_CLOSED_REQUEST\",\n\t500: \"INTERNAL_SERVER_ERROR\",\n\t501: \"NOT_IMPLEMENTED\",\n\t502: \"BAD_GATEWAY\",\n\t503: \"SERVICE_UNAVAILABLE\",\n\t504: \"GATEWAY_TIMEOUT\"\n};\nfunction getStatusCodeFromKey(code) {\n\tvar _JSONRPC2_TO_HTTP_COD;\n\treturn (_JSONRPC2_TO_HTTP_COD = JSONRPC2_TO_HTTP_CODE[code]) !== null && _JSONRPC2_TO_HTTP_COD !== void 0 ? _JSONRPC2_TO_HTTP_COD : 500;\n}\nfunction getStatusKeyFromCode(code) {\n\tvar _HTTP_CODE_TO_JSONRPC;\n\treturn (_HTTP_CODE_TO_JSONRPC = HTTP_CODE_TO_JSONRPC2[code]) !== null && _HTTP_CODE_TO_JSONRPC !== void 0 ? _HTTP_CODE_TO_JSONRPC : \"INTERNAL_SERVER_ERROR\";\n}\nfunction getHTTPStatusCode(json) {\n\tconst arr = Array.isArray(json) ? json : [json];\n\tconst httpStatuses = new Set(arr.map((res) => {\n\t\tif (\"error\" in res && isObject(res.error.data)) {\n\t\t\tvar _res$error$data;\n\t\t\tif (typeof ((_res$error$data = res.error.data) === null || _res$error$data === void 0 ? void 0 : _res$error$data[\"httpStatus\"]) === \"number\") return res.error.data[\"httpStatus\"];\n\t\t\tconst code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];\n\t\t\treturn getStatusCodeFromKey(code);\n\t\t}\n\t\treturn 200;\n\t}));\n\tif (httpStatuses.size !== 1) return 207;\n\tconst httpStatus = httpStatuses.values().next().value;\n\treturn httpStatus;\n}\nfunction getHTTPStatusCodeFromError(error) {\n\treturn getStatusCodeFromKey(error.code);\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\nvar require_typeof = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js\"(exports, module) {\n\tfunction _typeof$2(o) {\n\t\t\"@babel/helpers - typeof\";\n\t\treturn module.exports = _typeof$2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(o$1) {\n\t\t\treturn typeof o$1;\n\t\t} : function(o$1) {\n\t\t\treturn o$1 && \"function\" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? \"symbol\" : typeof o$1;\n\t\t}, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof$2(o);\n\t}\n\tmodule.exports = _typeof$2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\nvar require_toPrimitive = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js\"(exports, module) {\n\tvar _typeof$1 = require_typeof()[\"default\"];\n\tfunction toPrimitive$1(t, r) {\n\t\tif (\"object\" != _typeof$1(t) || !t) return t;\n\t\tvar e = t[Symbol.toPrimitive];\n\t\tif (void 0 !== e) {\n\t\t\tvar i = e.call(t, r || \"default\");\n\t\t\tif (\"object\" != _typeof$1(i)) return i;\n\t\t\tthrow new TypeError(\"@@toPrimitive must return a primitive value.\");\n\t\t}\n\t\treturn (\"string\" === r ? String : Number)(t);\n\t}\n\tmodule.exports = toPrimitive$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\nvar require_toPropertyKey = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js\"(exports, module) {\n\tvar _typeof = require_typeof()[\"default\"];\n\tvar toPrimitive = require_toPrimitive();\n\tfunction toPropertyKey$1(t) {\n\t\tvar i = toPrimitive(t, \"string\");\n\t\treturn \"symbol\" == _typeof(i) ? i : i + \"\";\n\t}\n\tmodule.exports = toPropertyKey$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\nvar require_defineProperty = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js\"(exports, module) {\n\tvar toPropertyKey = require_toPropertyKey();\n\tfunction _defineProperty(e, r, t) {\n\t\treturn (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n\t\t\tvalue: t,\n\t\t\tenumerable: !0,\n\t\t\tconfigurable: !0,\n\t\t\twritable: !0\n\t\t}) : e[r] = t, e;\n\t}\n\tmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\nvar require_objectSpread2 = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js\"(exports, module) {\n\tvar defineProperty = require_defineProperty();\n\tfunction ownKeys(e, r) {\n\t\tvar t = Object.keys(e);\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tvar o = Object.getOwnPropertySymbols(e);\n\t\t\tr && (o = o.filter(function(r$1) {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(e, r$1).enumerable;\n\t\t\t})), t.push.apply(t, o);\n\t\t}\n\t\treturn t;\n\t}\n\tfunction _objectSpread2(e) {\n\t\tfor (var r = 1; r < arguments.length; r++) {\n\t\t\tvar t = null != arguments[r] ? arguments[r] : {};\n\t\t\tr % 2 ? ownKeys(Object(t), !0).forEach(function(r$1) {\n\t\t\t\tdefineProperty(e, r$1, t[r$1]);\n\t\t\t}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r$1) {\n\t\t\t\tObject.defineProperty(e, r$1, Object.getOwnPropertyDescriptor(t, r$1));\n\t\t\t});\n\t\t}\n\t\treturn e;\n\t}\n\tmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/unstable-core-do-not-import/error/getErrorShape.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* @internal\n*/\nfunction getErrorShape(opts) {\n\tconst { path, error, config } = opts;\n\tconst { code } = opts.error;\n\tconst shape = {\n\t\tmessage: error.message,\n\t\tcode: TRPC_ERROR_CODES_BY_KEY[code],\n\t\tdata: {\n\t\t\tcode,\n\t\t\thttpStatus: getHTTPStatusCodeFromError(error)\n\t\t}\n\t};\n\tif (config.isDev && typeof opts.error.stack === \"string\") shape.data.stack = opts.error.stack;\n\tif (typeof path === \"string\") shape.data.path = path;\n\treturn config.errorFormatter((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, { shape }));\n}\n\n//#endregion\nexport { HTTP_CODE_TO_JSONRPC2, JSONRPC2_TO_HTTP_CODE, __commonJS, __toESM, createFlatProxy, createRecursiveProxy, getErrorShape, getHTTPStatusCode, getHTTPStatusCodeFromError, getStatusCodeFromKey, getStatusKeyFromCode, require_defineProperty, require_objectSpread2 };\n//# sourceMappingURL=getErrorShape-vC8mUXJD.mjs.map","import { __toESM, createRecursiveProxy, require_defineProperty, require_objectSpread2 } from \"./getErrorShape-vC8mUXJD.mjs\";\nimport { emptyObject, isFunction, isObject, mergeWithoutOverrides } from \"./codes-DagpWZLc.mjs\";\n\n//#region src/unstable-core-do-not-import/error/formatter.ts\nconst defaultFormatter = ({ shape }) => {\n\treturn shape;\n};\n\n//#endregion\n//#region src/unstable-core-do-not-import/error/TRPCError.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar UnknownCauseError = class extends Error {\n\tconstructor(cause) {\n\t\tsuper(getMessage(cause));\n\t\tObject.assign(this, cause);\n\t}\n};\nfunction getMessage(cause) {\n\tif (\"message\" in cause) return String(cause.message);\n\treturn void 0;\n}\nfunction getCauseFromUnknown(cause) {\n\tif (cause instanceof Error) return cause;\n\tconst type = typeof cause;\n\tif (type === \"undefined\" || type === \"function\" || cause === null) return void 0;\n\tif (type !== \"object\") return new Error(String(cause));\n\tif (isObject(cause)) return new UnknownCauseError(cause);\n\treturn void 0;\n}\nfunction getTRPCErrorFromUnknown(cause) {\n\tif (cause instanceof TRPCError) return cause;\n\tif (cause instanceof Error && cause.name === \"TRPCError\") return cause;\n\tconst trpcError = new TRPCError({\n\t\tcode: \"INTERNAL_SERVER_ERROR\",\n\t\tcause\n\t});\n\tif (cause instanceof Error && cause.stack) trpcError.stack = cause.stack;\n\treturn trpcError;\n}\nvar TRPCError = class extends Error {\n\tconstructor(opts) {\n\t\tvar _ref, _opts$message, _this$cause;\n\t\tconst cause = getCauseFromUnknown(opts.cause);\n\t\tconst message = (_ref = (_opts$message = opts.message) !== null && _opts$message !== void 0 ? _opts$message : cause === null || cause === void 0 ? void 0 : cause.message) !== null && _ref !== void 0 ? _ref : opts.code;\n\t\tsuper(message, { cause });\n\t\t(0, import_defineProperty.default)(this, \"cause\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"code\", void 0);\n\t\tthis.code = opts.code;\n\t\tthis.name = \"TRPCError\";\n\t\t(_this$cause = this.cause) !== null && _this$cause !== void 0 || (this.cause = cause);\n\t}\n};\n\n//#endregion\n//#region src/unstable-core-do-not-import/transformer.ts\nvar import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);\n/**\n* @internal\n*/\nfunction getDataTransformer(transformer) {\n\tif (\"input\" in transformer) return transformer;\n\treturn {\n\t\tinput: transformer,\n\t\toutput: transformer\n\t};\n}\n/**\n* @internal\n*/\nconst defaultTransformer = {\n\tinput: {\n\t\tserialize: (obj) => obj,\n\t\tdeserialize: (obj) => obj\n\t},\n\toutput: {\n\t\tserialize: (obj) => obj,\n\t\tdeserialize: (obj) => obj\n\t}\n};\nfunction transformTRPCResponseItem(config, item) {\n\tif (\"error\" in item) return (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, item), {}, { error: config.transformer.output.serialize(item.error) });\n\tif (\"data\" in item.result) return (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, item), {}, { result: (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, item.result), {}, { data: config.transformer.output.serialize(item.result.data) }) });\n\treturn item;\n}\n/**\n* Takes a unserialized `TRPCResponse` and serializes it with the router's transformers\n**/\nfunction transformTRPCResponse(config, itemOrItems) {\n\treturn Array.isArray(itemOrItems) ? itemOrItems.map((item) => transformTRPCResponseItem(config, item)) : transformTRPCResponseItem(config, itemOrItems);\n}\n/** @internal */\nfunction transformResultInner(response, transformer) {\n\tif (\"error\" in response) {\n\t\tconst error = transformer.deserialize(response.error);\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, response), {}, { error })\n\t\t};\n\t}\n\tconst result = (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, response.result), (!response.result.type || response.result.type === \"data\") && {\n\t\ttype: \"data\",\n\t\tdata: transformer.deserialize(response.result.data)\n\t});\n\treturn {\n\t\tok: true,\n\t\tresult\n\t};\n}\nvar TransformResultError = class extends Error {\n\tconstructor() {\n\t\tsuper(\"Unable to transform response from server\");\n\t}\n};\n/**\n* Transforms and validates that the result is a valid TRPCResponse\n* @internal\n*/\nfunction transformResult(response, transformer) {\n\tlet result;\n\ttry {\n\t\tresult = transformResultInner(response, transformer);\n\t} catch (_unused) {\n\t\tthrow new TransformResultError();\n\t}\n\tif (!result.ok && (!isObject(result.error.error) || typeof result.error.error[\"code\"] !== \"number\")) throw new TransformResultError();\n\tif (result.ok && !isObject(result.result)) throw new TransformResultError();\n\treturn result;\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/router.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* @internal\n*/\nconst lazyMarker = \"lazyMarker\";\nfunction once(fn) {\n\tconst uncalled = Symbol();\n\tlet result = uncalled;\n\treturn () => {\n\t\tif (result === uncalled) result = fn();\n\t\treturn result;\n\t};\n}\n/**\n* Lazy load a router\n* @see https://trpc.io/docs/server/merging-routers#lazy-load\n*/\nfunction lazy(importRouter) {\n\tasync function resolve() {\n\t\tconst mod = await importRouter();\n\t\tif (isRouter(mod)) return mod;\n\t\tconst routers = Object.values(mod);\n\t\tif (routers.length !== 1 || !isRouter(routers[0])) throw new Error(\"Invalid router module - either define exactly 1 export or return the router directly.\\nExample: `lazy(() => import('./slow.js').then((m) => m.slowRouter))`\");\n\t\treturn routers[0];\n\t}\n\tresolve[lazyMarker] = true;\n\treturn resolve;\n}\nfunction isLazy(input) {\n\treturn typeof input === \"function\" && lazyMarker in input;\n}\nfunction isRouter(value) {\n\treturn isObject(value) && isObject(value[\"_def\"]) && \"router\" in value[\"_def\"];\n}\nconst emptyRouter = {\n\t_ctx: null,\n\t_errorShape: null,\n\t_meta: null,\n\tqueries: {},\n\tmutations: {},\n\tsubscriptions: {},\n\terrorFormatter: defaultFormatter,\n\ttransformer: defaultTransformer\n};\n/**\n* Reserved words that can't be used as router or procedure names\n*/\nconst reservedWords = [\n\t\"then\",\n\t\"call\",\n\t\"apply\"\n];\n/**\n* @internal\n*/\nfunction createRouterFactory(config) {\n\tfunction createRouterInner(input) {\n\t\tconst reservedWordsUsed = new Set(Object.keys(input).filter((v) => reservedWords.includes(v)));\n\t\tif (reservedWordsUsed.size > 0) throw new Error(\"Reserved words used in `router({})` call: \" + Array.from(reservedWordsUsed).join(\", \"));\n\t\tconst procedures = emptyObject();\n\t\tconst lazy$1 = emptyObject();\n\t\tfunction createLazyLoader(opts) {\n\t\t\treturn {\n\t\t\t\tref: opts.ref,\n\t\t\t\tload: once(async () => {\n\t\t\t\t\tconst router$1 = await opts.ref();\n\t\t\t\t\tconst lazyPath = [...opts.path, opts.key];\n\t\t\t\t\tconst lazyKey = lazyPath.join(\".\");\n\t\t\t\t\topts.aggregate[opts.key] = step(router$1._def.record, lazyPath);\n\t\t\t\t\tdelete lazy$1[lazyKey];\n\t\t\t\t\tfor (const [nestedKey, nestedItem] of Object.entries(router$1._def.lazy)) {\n\t\t\t\t\t\tconst nestedRouterKey = [...lazyPath, nestedKey].join(\".\");\n\t\t\t\t\t\tlazy$1[nestedRouterKey] = createLazyLoader({\n\t\t\t\t\t\t\tref: nestedItem.ref,\n\t\t\t\t\t\t\tpath: lazyPath,\n\t\t\t\t\t\t\tkey: nestedKey,\n\t\t\t\t\t\t\taggregate: opts.aggregate[opts.key]\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t};\n\t\t}\n\t\tfunction step(from, path = []) {\n\t\t\tconst aggregate = emptyObject();\n\t\t\tfor (const [key, item] of Object.entries(from !== null && from !== void 0 ? from : {})) {\n\t\t\t\tif (isLazy(item)) {\n\t\t\t\t\tlazy$1[[...path, key].join(\".\")] = createLazyLoader({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tref: item,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\taggregate\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (isRouter(item)) {\n\t\t\t\t\taggregate[key] = step(item._def.record, [...path, key]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (!isProcedure(item)) {\n\t\t\t\t\taggregate[key] = step(item, [...path, key]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst newPath = [...path, key].join(\".\");\n\t\t\t\tif (procedures[newPath]) throw new Error(`Duplicate key: ${newPath}`);\n\t\t\t\tprocedures[newPath] = item;\n\t\t\t\taggregate[key] = item;\n\t\t\t}\n\t\t\treturn aggregate;\n\t\t}\n\t\tconst record = step(input);\n\t\tconst _def = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({\n\t\t\t_config: config,\n\t\t\trouter: true,\n\t\t\tprocedures,\n\t\t\tlazy: lazy$1\n\t\t}, emptyRouter), {}, { record });\n\t\tconst router = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, record), {}, {\n\t\t\t_def,\n\t\t\tcreateCaller: createCallerFactory()({ _def })\n\t\t});\n\t\treturn router;\n\t}\n\treturn createRouterInner;\n}\nfunction isProcedure(procedureOrRouter) {\n\treturn typeof procedureOrRouter === \"function\";\n}\n/**\n* @internal\n*/\nasync function getProcedureAtPath(router, path) {\n\tconst { _def } = router;\n\tlet procedure = _def.procedures[path];\n\twhile (!procedure) {\n\t\tconst key = Object.keys(_def.lazy).find((key$1) => path.startsWith(key$1));\n\t\tif (!key) return null;\n\t\tconst lazyRouter = _def.lazy[key];\n\t\tawait lazyRouter.load();\n\t\tprocedure = _def.procedures[path];\n\t}\n\treturn procedure;\n}\n/**\n* @internal\n*/\nasync function callProcedure(opts) {\n\tconst { type, path } = opts;\n\tconst proc = await getProcedureAtPath(opts.router, path);\n\tif (!proc || !isProcedure(proc) || proc._def.type !== type && !opts.allowMethodOverride) throw new TRPCError({\n\t\tcode: \"NOT_FOUND\",\n\t\tmessage: `No \"${type}\"-procedure on path \"${path}\"`\n\t});\n\t/* istanbul ignore if -- @preserve */\n\tif (proc._def.type !== type && opts.allowMethodOverride && proc._def.type === \"subscription\") throw new TRPCError({\n\t\tcode: \"METHOD_NOT_SUPPORTED\",\n\t\tmessage: `Method override is not supported for subscriptions`\n\t});\n\treturn proc(opts);\n}\nfunction createCallerFactory() {\n\treturn function createCallerInner(router) {\n\t\tconst { _def } = router;\n\t\treturn function createCaller(ctxOrCallback, opts) {\n\t\t\treturn createRecursiveProxy(async (innerOpts) => {\n\t\t\t\tconst { path, args } = innerOpts;\n\t\t\t\tconst fullPath = path.join(\".\");\n\t\t\t\tif (path.length === 1 && path[0] === \"_def\") return _def;\n\t\t\t\tconst procedure = await getProcedureAtPath(router, fullPath);\n\t\t\t\tlet ctx = void 0;\n\t\t\t\ttry {\n\t\t\t\t\tif (!procedure) throw new TRPCError({\n\t\t\t\t\t\tcode: \"NOT_FOUND\",\n\t\t\t\t\t\tmessage: `No procedure found on path \"${path}\"`\n\t\t\t\t\t});\n\t\t\t\t\tctx = isFunction(ctxOrCallback) ? await Promise.resolve(ctxOrCallback()) : ctxOrCallback;\n\t\t\t\t\treturn await procedure({\n\t\t\t\t\t\tpath: fullPath,\n\t\t\t\t\t\tgetRawInput: async () => args[0],\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\ttype: procedure._def.type,\n\t\t\t\t\t\tsignal: opts === null || opts === void 0 ? void 0 : opts.signal,\n\t\t\t\t\t\tbatchIndex: 0\n\t\t\t\t\t});\n\t\t\t\t} catch (cause) {\n\t\t\t\t\tvar _opts$onError, _procedure$_def$type;\n\t\t\t\t\topts === null || opts === void 0 || (_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, {\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\terror: getTRPCErrorFromUnknown(cause),\n\t\t\t\t\t\tinput: args[0],\n\t\t\t\t\t\tpath: fullPath,\n\t\t\t\t\t\ttype: (_procedure$_def$type = procedure === null || procedure === void 0 ? void 0 : procedure._def.type) !== null && _procedure$_def$type !== void 0 ? _procedure$_def$type : \"unknown\"\n\t\t\t\t\t});\n\t\t\t\t\tthrow cause;\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t};\n}\nfunction mergeRouters(...routerList) {\n\tvar _routerList$, _routerList$2;\n\tconst record = mergeWithoutOverrides({}, ...routerList.map((r) => r._def.record));\n\tconst errorFormatter = routerList.reduce((currentErrorFormatter, nextRouter) => {\n\t\tif (nextRouter._def._config.errorFormatter && nextRouter._def._config.errorFormatter !== defaultFormatter) {\n\t\t\tif (currentErrorFormatter !== defaultFormatter && currentErrorFormatter !== nextRouter._def._config.errorFormatter) throw new Error(\"You seem to have several error formatters\");\n\t\t\treturn nextRouter._def._config.errorFormatter;\n\t\t}\n\t\treturn currentErrorFormatter;\n\t}, defaultFormatter);\n\tconst transformer = routerList.reduce((prev, current) => {\n\t\tif (current._def._config.transformer && current._def._config.transformer !== defaultTransformer) {\n\t\t\tif (prev !== defaultTransformer && prev !== current._def._config.transformer) throw new Error(\"You seem to have several transformers\");\n\t\t\treturn current._def._config.transformer;\n\t\t}\n\t\treturn prev;\n\t}, defaultTransformer);\n\tconst router = createRouterFactory({\n\t\terrorFormatter,\n\t\ttransformer,\n\t\tisDev: routerList.every((r) => r._def._config.isDev),\n\t\tallowOutsideOfServer: routerList.every((r) => r._def._config.allowOutsideOfServer),\n\t\tisServer: routerList.every((r) => r._def._config.isServer),\n\t\t$types: (_routerList$ = routerList[0]) === null || _routerList$ === void 0 ? void 0 : _routerList$._def._config.$types,\n\t\tsse: (_routerList$2 = routerList[0]) === null || _routerList$2 === void 0 ? void 0 : _routerList$2._def._config.sse\n\t})(record);\n\treturn router;\n}\n\n//#endregion\n//#region src/unstable-core-do-not-import/stream/tracked.ts\nconst trackedSymbol = Symbol();\n/**\n* Produce a typed server-sent event message\n* @deprecated use `tracked(id, data)` instead\n*/\nfunction sse(event) {\n\treturn tracked(event.id, event.data);\n}\nfunction isTrackedEnvelope(value) {\n\treturn Array.isArray(value) && value[2] === trackedSymbol;\n}\n/**\n* Automatically track an event so that it can be resumed from a given id if the connection is lost\n*/\nfunction tracked(id, data) {\n\tif (id === \"\") throw new Error(\"`id` must not be an empty string as empty string is the same as not setting the id at all\");\n\treturn [\n\t\tid,\n\t\tdata,\n\t\ttrackedSymbol\n\t];\n}\n\n//#endregion\nexport { TRPCError, callProcedure, createCallerFactory, createRouterFactory, defaultFormatter, defaultTransformer, getCauseFromUnknown, getDataTransformer, getProcedureAtPath, getTRPCErrorFromUnknown, isTrackedEnvelope, lazy, mergeRouters, sse, tracked, transformResult, transformTRPCResponse };\n//# sourceMappingURL=tracked-DiE3uR1B.mjs.map","import { __toESM, require_defineProperty, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { isObject } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/TRPCClientError.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nfunction isTRPCClientError(cause) {\n\treturn cause instanceof TRPCClientError;\n}\nfunction isTRPCErrorResponse(obj) {\n\treturn isObject(obj) && isObject(obj[\"error\"]) && typeof obj[\"error\"][\"code\"] === \"number\" && typeof obj[\"error\"][\"message\"] === \"string\";\n}\nfunction getMessageFromUnknownError(err, fallback) {\n\tif (typeof err === \"string\") return err;\n\tif (isObject(err) && typeof err[\"message\"] === \"string\") return err[\"message\"];\n\treturn fallback;\n}\nvar TRPCClientError = class TRPCClientError extends Error {\n\tconstructor(message, opts) {\n\t\tvar _opts$result, _opts$result2;\n\t\tconst cause = opts === null || opts === void 0 ? void 0 : opts.cause;\n\t\tsuper(message, { cause });\n\t\t(0, import_defineProperty.default)(this, \"cause\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"shape\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"data\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"meta\", void 0);\n\t\tthis.meta = opts === null || opts === void 0 ? void 0 : opts.meta;\n\t\tthis.cause = cause;\n\t\tthis.shape = opts === null || opts === void 0 || (_opts$result = opts.result) === null || _opts$result === void 0 ? void 0 : _opts$result.error;\n\t\tthis.data = opts === null || opts === void 0 || (_opts$result2 = opts.result) === null || _opts$result2 === void 0 ? void 0 : _opts$result2.error.data;\n\t\tthis.name = \"TRPCClientError\";\n\t\tObject.setPrototypeOf(this, TRPCClientError.prototype);\n\t}\n\tstatic from(_cause, opts = {}) {\n\t\tconst cause = _cause;\n\t\tif (isTRPCClientError(cause)) {\n\t\t\tif (opts.meta) cause.meta = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, cause.meta), opts.meta);\n\t\t\treturn cause;\n\t\t}\n\t\tif (isTRPCErrorResponse(cause)) return new TRPCClientError(cause.error.message, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\tresult: cause,\n\t\t\tcause: opts.cause\n\t\t}));\n\t\treturn new TRPCClientError(getMessageFromUnknownError(cause, \"Unknown error\"), (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, { cause }));\n\t}\n};\n\n//#endregion\nexport { TRPCClientError, isTRPCClientError };\n//# sourceMappingURL=TRPCClientError-apv8gw59.mjs.map","//#region src/internals/transformer.ts\n/**\n* @internal\n*/\n/**\n* @internal\n*/\nfunction getTransformer(transformer) {\n\tconst _transformer = transformer;\n\tif (!_transformer) return {\n\t\tinput: {\n\t\t\tserialize: (data) => data,\n\t\t\tdeserialize: (data) => data\n\t\t},\n\t\toutput: {\n\t\t\tserialize: (data) => data,\n\t\t\tdeserialize: (data) => data\n\t\t}\n\t};\n\tif (\"input\" in _transformer) return _transformer;\n\treturn {\n\t\tinput: _transformer,\n\t\toutput: _transformer\n\t};\n}\n\n//#endregion\nexport { getTransformer };\n//# sourceMappingURL=unstable-internals-Bg7n9BBj.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { getTransformer } from \"./unstable-internals-Bg7n9BBj.mjs\";\n\n//#region src/getFetch.ts\nconst isFunction = (fn) => typeof fn === \"function\";\nfunction getFetch(customFetchImpl) {\n\tif (customFetchImpl) return customFetchImpl;\n\tif (typeof window !== \"undefined\" && isFunction(window.fetch)) return window.fetch;\n\tif (typeof globalThis !== \"undefined\" && isFunction(globalThis.fetch)) return globalThis.fetch;\n\tthrow new Error(\"No fetch implementation found\");\n}\n\n//#endregion\n//#region src/links/internals/httpUtils.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2());\nfunction resolveHTTPLinkOptions(opts) {\n\treturn {\n\t\turl: opts.url.toString(),\n\t\tfetch: opts.fetch,\n\t\ttransformer: getTransformer(opts.transformer),\n\t\tmethodOverride: opts.methodOverride\n\t};\n}\nfunction arrayToDict(array) {\n\tconst dict = {};\n\tfor (let index = 0; index < array.length; index++) {\n\t\tconst element = array[index];\n\t\tdict[index] = element;\n\t}\n\treturn dict;\n}\nconst METHOD = {\n\tquery: \"GET\",\n\tmutation: \"POST\",\n\tsubscription: \"PATCH\"\n};\nfunction getInput(opts) {\n\treturn \"input\" in opts ? opts.transformer.input.serialize(opts.input) : arrayToDict(opts.inputs.map((_input) => opts.transformer.input.serialize(_input)));\n}\nconst getUrl = (opts) => {\n\tconst parts = opts.url.split(\"?\");\n\tconst base = parts[0].replace(/\\/$/, \"\");\n\tlet url = base + \"/\" + opts.path;\n\tconst queryParts = [];\n\tif (parts[1]) queryParts.push(parts[1]);\n\tif (\"inputs\" in opts) queryParts.push(\"batch=1\");\n\tif (opts.type === \"query\" || opts.type === \"subscription\") {\n\t\tconst input = getInput(opts);\n\t\tif (input !== void 0 && opts.methodOverride !== \"POST\") queryParts.push(`input=${encodeURIComponent(JSON.stringify(input))}`);\n\t}\n\tif (queryParts.length) url += \"?\" + queryParts.join(\"&\");\n\treturn url;\n};\nconst getBody = (opts) => {\n\tif (opts.type === \"query\" && opts.methodOverride !== \"POST\") return void 0;\n\tconst input = getInput(opts);\n\treturn input !== void 0 ? JSON.stringify(input) : void 0;\n};\nconst jsonHttpRequester = (opts) => {\n\treturn httpRequest((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\tcontentTypeHeader: \"application/json\",\n\t\tgetUrl,\n\t\tgetBody\n\t}));\n};\n/**\n* Polyfill for DOMException with AbortError name\n*/\nvar AbortError = class extends Error {\n\tconstructor() {\n\t\tconst name = \"AbortError\";\n\t\tsuper(name);\n\t\tthis.name = name;\n\t\tthis.message = name;\n\t}\n};\n/**\n* Polyfill for `signal.throwIfAborted()`\n*\n* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/throwIfAborted\n*/\nconst throwIfAborted = (signal) => {\n\tvar _signal$throwIfAborte;\n\tif (!(signal === null || signal === void 0 ? void 0 : signal.aborted)) return;\n\t(_signal$throwIfAborte = signal.throwIfAborted) === null || _signal$throwIfAborte === void 0 || _signal$throwIfAborte.call(signal);\n\tif (typeof DOMException !== \"undefined\") throw new DOMException(\"AbortError\", \"AbortError\");\n\tthrow new AbortError();\n};\nasync function fetchHTTPResponse(opts) {\n\tvar _opts$methodOverride, _opts$trpcAcceptHeade;\n\tthrowIfAborted(opts.signal);\n\tconst url = opts.getUrl(opts);\n\tconst body = opts.getBody(opts);\n\tconst method = (_opts$methodOverride = opts.methodOverride) !== null && _opts$methodOverride !== void 0 ? _opts$methodOverride : METHOD[opts.type];\n\tconst resolvedHeaders = await (async () => {\n\t\tconst heads = await opts.headers();\n\t\tif (Symbol.iterator in heads) return Object.fromEntries(heads);\n\t\treturn heads;\n\t})();\n\tconst headers = (0, import_objectSpread2.default)((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts.contentTypeHeader && method !== \"GET\" ? { \"content-type\": opts.contentTypeHeader } : {}), opts.trpcAcceptHeader ? { [(_opts$trpcAcceptHeade = opts.trpcAcceptHeaderKey) !== null && _opts$trpcAcceptHeade !== void 0 ? _opts$trpcAcceptHeade : \"trpc-accept\"]: opts.trpcAcceptHeader } : void 0), resolvedHeaders);\n\treturn getFetch(opts.fetch)(url, {\n\t\tmethod,\n\t\tsignal: opts.signal,\n\t\tbody,\n\t\theaders\n\t});\n}\nasync function httpRequest(opts) {\n\tconst meta = {};\n\tconst res = await fetchHTTPResponse(opts);\n\tmeta.response = res;\n\tconst json = await res.json();\n\tmeta.responseJSON = json;\n\treturn {\n\t\tjson,\n\t\tmeta\n\t};\n}\n\n//#endregion\nexport { fetchHTTPResponse, getBody, getFetch, getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions };\n//# sourceMappingURL=httpUtils-BNq9QC3d.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { TRPCClientError } from \"./TRPCClientError-apv8gw59.mjs\";\nimport { getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions } from \"./httpUtils-BNq9QC3d.mjs\";\nimport { observable } from \"@trpc/server/observable\";\nimport { transformResult } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/links/internals/contentTypes.ts\nfunction isOctetType(input) {\n\treturn input instanceof Uint8Array || input instanceof Blob;\n}\nfunction isFormData(input) {\n\treturn input instanceof FormData;\n}\nfunction isNonJsonSerializable(input) {\n\treturn isOctetType(input) || isFormData(input);\n}\n\n//#endregion\n//#region src/links/httpLink.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nconst universalRequester = (opts) => {\n\tif (\"input\" in opts) {\n\t\tconst { input } = opts;\n\t\tif (isFormData(input)) {\n\t\t\tif (opts.type !== \"mutation\" && opts.methodOverride !== \"POST\") throw new Error(\"FormData is only supported for mutations\");\n\t\t\treturn httpRequest((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\t\tcontentTypeHeader: void 0,\n\t\t\t\tgetUrl,\n\t\t\t\tgetBody: () => input\n\t\t\t}));\n\t\t}\n\t\tif (isOctetType(input)) {\n\t\t\tif (opts.type !== \"mutation\" && opts.methodOverride !== \"POST\") throw new Error(\"Octet type input is only supported for mutations\");\n\t\t\treturn httpRequest((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {\n\t\t\t\tcontentTypeHeader: \"application/octet-stream\",\n\t\t\t\tgetUrl,\n\t\t\t\tgetBody: () => input\n\t\t\t}));\n\t\t}\n\t}\n\treturn jsonHttpRequester(opts);\n};\n/**\n* @see https://trpc.io/docs/client/links/httpLink\n*/\nfunction httpLink(opts) {\n\tconst resolvedOpts = resolveHTTPLinkOptions(opts);\n\treturn () => {\n\t\treturn (operationOpts) => {\n\t\t\tconst { op } = operationOpts;\n\t\t\treturn observable((observer) => {\n\t\t\t\tconst { path, input, type } = op;\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (type === \"subscription\") throw new Error(\"Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`\");\n\t\t\t\tconst request = universalRequester((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, resolvedOpts), {}, {\n\t\t\t\t\ttype,\n\t\t\t\t\tpath,\n\t\t\t\t\tinput,\n\t\t\t\t\tsignal: op.signal,\n\t\t\t\t\theaders() {\n\t\t\t\t\t\tif (!opts.headers) return {};\n\t\t\t\t\t\tif (typeof opts.headers === \"function\") return opts.headers({ op });\n\t\t\t\t\t\treturn opts.headers;\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tlet meta = void 0;\n\t\t\t\trequest.then((res) => {\n\t\t\t\t\tmeta = res.meta;\n\t\t\t\t\tconst transformed = transformResult(res.json, resolvedOpts.transformer.output);\n\t\t\t\t\tif (!transformed.ok) {\n\t\t\t\t\t\tobserver.error(TRPCClientError.from(transformed.error, { meta }));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({\n\t\t\t\t\t\tcontext: res.meta,\n\t\t\t\t\t\tresult: transformed.result\n\t\t\t\t\t});\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((cause) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(cause, { meta }));\n\t\t\t\t});\n\t\t\t\treturn () => {};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { httpLink, isFormData, isNonJsonSerializable, isOctetType };\n//# sourceMappingURL=httpLink-oiU8eqFi.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { TRPCClientError } from \"./TRPCClientError-apv8gw59.mjs\";\nimport { getUrl, jsonHttpRequester, resolveHTTPLinkOptions } from \"./httpUtils-BNq9QC3d.mjs\";\nimport { observable } from \"@trpc/server/observable\";\nimport { transformResult } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/internals/dataLoader.ts\n/**\n* A function that should never be called unless we messed something up.\n*/\nconst throwFatalError = () => {\n\tthrow new Error(\"Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new\");\n};\n/**\n* Dataloader that's very inspired by https://github.com/graphql/dataloader\n* Less configuration, no caching, and allows you to cancel requests\n* When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled\n*/\nfunction dataLoader(batchLoader) {\n\tlet pendingItems = null;\n\tlet dispatchTimer = null;\n\tconst destroyTimerAndPendingItems = () => {\n\t\tclearTimeout(dispatchTimer);\n\t\tdispatchTimer = null;\n\t\tpendingItems = null;\n\t};\n\t/**\n\t* Iterate through the items and split them into groups based on the `batchLoader`'s validate function\n\t*/\n\tfunction groupItems(items) {\n\t\tconst groupedItems = [[]];\n\t\tlet index = 0;\n\t\twhile (true) {\n\t\t\tconst item = items[index];\n\t\t\tif (!item) break;\n\t\t\tconst lastGroup = groupedItems[groupedItems.length - 1];\n\t\t\tif (item.aborted) {\n\t\t\t\tvar _item$reject;\n\t\t\t\t(_item$reject = item.reject) === null || _item$reject === void 0 || _item$reject.call(item, new Error(\"Aborted\"));\n\t\t\t\tindex++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst isValid = batchLoader.validate(lastGroup.concat(item).map((it) => it.key));\n\t\t\tif (isValid) {\n\t\t\t\tlastGroup.push(item);\n\t\t\t\tindex++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (lastGroup.length === 0) {\n\t\t\t\tvar _item$reject2;\n\t\t\t\t(_item$reject2 = item.reject) === null || _item$reject2 === void 0 || _item$reject2.call(item, new Error(\"Input is too big for a single dispatch\"));\n\t\t\t\tindex++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tgroupedItems.push([]);\n\t\t}\n\t\treturn groupedItems;\n\t}\n\tfunction dispatch() {\n\t\tconst groupedItems = groupItems(pendingItems);\n\t\tdestroyTimerAndPendingItems();\n\t\tfor (const items of groupedItems) {\n\t\t\tif (!items.length) continue;\n\t\t\tconst batch = { items };\n\t\t\tfor (const item of items) item.batch = batch;\n\t\t\tconst promise = batchLoader.fetch(batch.items.map((_item) => _item.key));\n\t\t\tpromise.then(async (result) => {\n\t\t\t\tawait Promise.all(result.map(async (valueOrPromise, index) => {\n\t\t\t\t\tconst item = batch.items[index];\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvar _item$resolve;\n\t\t\t\t\t\tconst value = await Promise.resolve(valueOrPromise);\n\t\t\t\t\t\t(_item$resolve = item.resolve) === null || _item$resolve === void 0 || _item$resolve.call(item, value);\n\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\tvar _item$reject3;\n\t\t\t\t\t\t(_item$reject3 = item.reject) === null || _item$reject3 === void 0 || _item$reject3.call(item, cause);\n\t\t\t\t\t}\n\t\t\t\t\titem.batch = null;\n\t\t\t\t\titem.reject = null;\n\t\t\t\t\titem.resolve = null;\n\t\t\t\t}));\n\t\t\t\tfor (const item of batch.items) {\n\t\t\t\t\tvar _item$reject4;\n\t\t\t\t\t(_item$reject4 = item.reject) === null || _item$reject4 === void 0 || _item$reject4.call(item, new Error(\"Missing result\"));\n\t\t\t\t\titem.batch = null;\n\t\t\t\t}\n\t\t\t}).catch((cause) => {\n\t\t\t\tfor (const item of batch.items) {\n\t\t\t\t\tvar _item$reject5;\n\t\t\t\t\t(_item$reject5 = item.reject) === null || _item$reject5 === void 0 || _item$reject5.call(item, cause);\n\t\t\t\t\titem.batch = null;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tfunction load(key) {\n\t\tvar _dispatchTimer;\n\t\tconst item = {\n\t\t\taborted: false,\n\t\t\tkey,\n\t\t\tbatch: null,\n\t\t\tresolve: throwFatalError,\n\t\t\treject: throwFatalError\n\t\t};\n\t\tconst promise = new Promise((resolve, reject) => {\n\t\t\tvar _pendingItems;\n\t\t\titem.reject = reject;\n\t\t\titem.resolve = resolve;\n\t\t\t(_pendingItems = pendingItems) !== null && _pendingItems !== void 0 || (pendingItems = []);\n\t\t\tpendingItems.push(item);\n\t\t});\n\t\t(_dispatchTimer = dispatchTimer) !== null && _dispatchTimer !== void 0 || (dispatchTimer = setTimeout(dispatch));\n\t\treturn promise;\n\t}\n\treturn { load };\n}\n\n//#endregion\n//#region src/internals/signals.ts\n/**\n* Like `Promise.all()` but for abort signals\n* - When all signals have been aborted, the merged signal will be aborted\n* - If one signal is `null`, no signal will be aborted\n*/\nfunction allAbortSignals(...signals) {\n\tconst ac = new AbortController();\n\tconst count = signals.length;\n\tlet abortedCount = 0;\n\tconst onAbort = () => {\n\t\tif (++abortedCount === count) ac.abort();\n\t};\n\tfor (const signal of signals) if (signal === null || signal === void 0 ? void 0 : signal.aborted) onAbort();\n\telse signal === null || signal === void 0 || signal.addEventListener(\"abort\", onAbort, { once: true });\n\treturn ac.signal;\n}\n/**\n* Like `Promise.race` but for abort signals\n*\n* Basically, a ponyfill for\n* [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).\n*/\nfunction raceAbortSignals(...signals) {\n\tconst ac = new AbortController();\n\tfor (const signal of signals) if (signal === null || signal === void 0 ? void 0 : signal.aborted) ac.abort();\n\telse signal === null || signal === void 0 || signal.addEventListener(\"abort\", () => ac.abort(), { once: true });\n\treturn ac.signal;\n}\nfunction abortSignalToPromise(signal) {\n\treturn new Promise((_, reject) => {\n\t\tif (signal.aborted) {\n\t\t\treject(signal.reason);\n\t\t\treturn;\n\t\t}\n\t\tsignal.addEventListener(\"abort\", () => {\n\t\t\treject(signal.reason);\n\t\t}, { once: true });\n\t});\n}\n\n//#endregion\n//#region src/links/httpBatchLink.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* @see https://trpc.io/docs/client/links/httpBatchLink\n*/\nfunction httpBatchLink(opts) {\n\tvar _opts$maxURLLength, _opts$maxItems;\n\tconst resolvedOpts = resolveHTTPLinkOptions(opts);\n\tconst maxURLLength = (_opts$maxURLLength = opts.maxURLLength) !== null && _opts$maxURLLength !== void 0 ? _opts$maxURLLength : Infinity;\n\tconst maxItems = (_opts$maxItems = opts.maxItems) !== null && _opts$maxItems !== void 0 ? _opts$maxItems : Infinity;\n\treturn () => {\n\t\tconst batchLoader = (type) => {\n\t\t\treturn {\n\t\t\t\tvalidate(batchOps) {\n\t\t\t\t\tif (maxURLLength === Infinity && maxItems === Infinity) return true;\n\t\t\t\t\tif (batchOps.length > maxItems) return false;\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst url = getUrl((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\tsignal: null\n\t\t\t\t\t}));\n\t\t\t\t\treturn url.length <= maxURLLength;\n\t\t\t\t},\n\t\t\t\tasync fetch(batchOps) {\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst signal = allAbortSignals(...batchOps.map((op) => op.signal));\n\t\t\t\t\tconst res = await jsonHttpRequester((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\theaders() {\n\t\t\t\t\t\t\tif (!opts.headers) return {};\n\t\t\t\t\t\t\tif (typeof opts.headers === \"function\") return opts.headers({ opList: batchOps });\n\t\t\t\t\t\t\treturn opts.headers;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsignal\n\t\t\t\t\t}));\n\t\t\t\t\tconst resJSON = Array.isArray(res.json) ? res.json : batchOps.map(() => res.json);\n\t\t\t\t\tconst result = resJSON.map((item) => ({\n\t\t\t\t\t\tmeta: res.meta,\n\t\t\t\t\t\tjson: item\n\t\t\t\t\t}));\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\tconst query = dataLoader(batchLoader(\"query\"));\n\t\tconst mutation = dataLoader(batchLoader(\"mutation\"));\n\t\tconst loaders = {\n\t\t\tquery,\n\t\t\tmutation\n\t\t};\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (op.type === \"subscription\") throw new Error(\"Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`\");\n\t\t\t\tconst loader = loaders[op.type];\n\t\t\t\tconst promise = loader.load(op);\n\t\t\t\tlet _res = void 0;\n\t\t\t\tpromise.then((res) => {\n\t\t\t\t\t_res = res;\n\t\t\t\t\tconst transformed = transformResult(res.json, resolvedOpts.transformer.output);\n\t\t\t\t\tif (!transformed.ok) {\n\t\t\t\t\t\tobserver.error(TRPCClientError.from(transformed.error, { meta: res.meta }));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({\n\t\t\t\t\t\tcontext: res.meta,\n\t\t\t\t\t\tresult: transformed.result\n\t\t\t\t\t});\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((err) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(err, { meta: _res === null || _res === void 0 ? void 0 : _res.meta }));\n\t\t\t\t});\n\t\t\t\treturn () => {};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { abortSignalToPromise, allAbortSignals, dataLoader, httpBatchLink, raceAbortSignals };\n//# sourceMappingURL=httpBatchLink-CaWjh1oW.mjs.map","import { __toESM, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { observable, tap } from \"@trpc/server/observable\";\n\n//#region src/links/loggerLink.ts\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\nfunction isFormData(value) {\n\tif (typeof FormData === \"undefined\") return false;\n\treturn value instanceof FormData;\n}\nconst palettes = {\n\tcss: {\n\t\tquery: [\"72e3ff\", \"3fb0d8\"],\n\t\tmutation: [\"c5a3fc\", \"904dfc\"],\n\t\tsubscription: [\"ff49e1\", \"d83fbe\"]\n\t},\n\tansi: {\n\t\tregular: {\n\t\t\tquery: [\"\\x1B[30;46m\", \"\\x1B[97;46m\"],\n\t\t\tmutation: [\"\\x1B[30;45m\", \"\\x1B[97;45m\"],\n\t\t\tsubscription: [\"\\x1B[30;42m\", \"\\x1B[97;42m\"]\n\t\t},\n\t\tbold: {\n\t\t\tquery: [\"\\x1B[1;30;46m\", \"\\x1B[1;97;46m\"],\n\t\t\tmutation: [\"\\x1B[1;30;45m\", \"\\x1B[1;97;45m\"],\n\t\t\tsubscription: [\"\\x1B[1;30;42m\", \"\\x1B[1;97;42m\"]\n\t\t}\n\t}\n};\nfunction constructPartsAndArgs(opts) {\n\tconst { direction, type, withContext, path, id, input } = opts;\n\tconst parts = [];\n\tconst args = [];\n\tif (opts.colorMode === \"none\") parts.push(direction === \"up\" ? \">>\" : \"<<\", type, `#${id}`, path);\n\telse if (opts.colorMode === \"ansi\") {\n\t\tconst [lightRegular, darkRegular] = palettes.ansi.regular[type];\n\t\tconst [lightBold, darkBold] = palettes.ansi.bold[type];\n\t\tconst reset = \"\\x1B[0m\";\n\t\tparts.push(direction === \"up\" ? lightRegular : darkRegular, direction === \"up\" ? \">>\" : \"<<\", type, direction === \"up\" ? lightBold : darkBold, `#${id}`, path, reset);\n\t} else {\n\t\tconst [light, dark] = palettes.css[type];\n\t\tconst css = `\n background-color: #${direction === \"up\" ? light : dark};\n color: ${direction === \"up\" ? \"black\" : \"white\"};\n padding: 2px;\n `;\n\t\tparts.push(\"%c\", direction === \"up\" ? \">>\" : \"<<\", type, `#${id}`, `%c${path}%c`, \"%O\");\n\t\targs.push(css, `${css}; font-weight: bold;`, `${css}; font-weight: normal;`);\n\t}\n\tif (direction === \"up\") args.push(withContext ? {\n\t\tinput,\n\t\tcontext: opts.context\n\t} : { input });\n\telse args.push((0, import_objectSpread2.default)({\n\t\tinput,\n\t\tresult: opts.result,\n\t\telapsedMs: opts.elapsedMs\n\t}, withContext && { context: opts.context }));\n\treturn {\n\t\tparts,\n\t\targs\n\t};\n}\nconst defaultLogger = ({ c = console, colorMode = \"css\", withContext }) => (props) => {\n\tconst rawInput = props.input;\n\tconst input = isFormData(rawInput) ? Object.fromEntries(rawInput) : rawInput;\n\tconst { parts, args } = constructPartsAndArgs((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, props), {}, {\n\t\tcolorMode,\n\t\tinput,\n\t\twithContext\n\t}));\n\tconst fn = props.direction === \"down\" && props.result && (props.result instanceof Error || \"error\" in props.result.result && props.result.result.error) ? \"error\" : \"log\";\n\tc[fn].apply(null, [parts.join(\" \")].concat(args));\n};\n/**\n* @see https://trpc.io/docs/v11/client/links/loggerLink\n*/\nfunction loggerLink(opts = {}) {\n\tvar _opts$colorMode, _opts$withContext;\n\tconst { enabled = () => true } = opts;\n\tconst colorMode = (_opts$colorMode = opts.colorMode) !== null && _opts$colorMode !== void 0 ? _opts$colorMode : typeof window === \"undefined\" ? \"ansi\" : \"css\";\n\tconst withContext = (_opts$withContext = opts.withContext) !== null && _opts$withContext !== void 0 ? _opts$withContext : colorMode === \"css\";\n\tconst { logger = defaultLogger({\n\t\tc: opts.console,\n\t\tcolorMode,\n\t\twithContext\n\t}) } = opts;\n\treturn () => {\n\t\treturn ({ op, next }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tif (enabled((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, { direction: \"up\" }))) logger((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, { direction: \"up\" }));\n\t\t\t\tconst requestStartTime = Date.now();\n\t\t\t\tfunction logResult(result) {\n\t\t\t\t\tconst elapsedMs = Date.now() - requestStartTime;\n\t\t\t\t\tif (enabled((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, {\n\t\t\t\t\t\tdirection: \"down\",\n\t\t\t\t\t\tresult\n\t\t\t\t\t}))) logger((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, op), {}, {\n\t\t\t\t\t\tdirection: \"down\",\n\t\t\t\t\t\telapsedMs,\n\t\t\t\t\t\tresult\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\treturn next(op).pipe(tap({\n\t\t\t\t\tnext(result) {\n\t\t\t\t\t\tlogResult(result);\n\t\t\t\t\t},\n\t\t\t\t\terror(result) {\n\t\t\t\t\t\tlogResult(result);\n\t\t\t\t\t}\n\t\t\t\t})).subscribe(observer);\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { loggerLink };\n//# sourceMappingURL=loggerLink-ineCN1PO.mjs.map","import { __toESM, require_defineProperty, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { TRPCClientError } from \"./TRPCClientError-apv8gw59.mjs\";\nimport { getTransformer } from \"./unstable-internals-Bg7n9BBj.mjs\";\nimport { behaviorSubject, observable } from \"@trpc/server/observable\";\nimport { run, sleep, transformResult } from \"@trpc/server/unstable-core-do-not-import\";\n\n//#region src/links/wsLink/wsClient/encoder.ts\nconst jsonEncoder = {\n\tencode: (data) => JSON.stringify(data),\n\tdecode: (data) => {\n\t\tif (typeof data !== \"string\") throw new Error(\"jsonEncoder received binary data. JSON uses text frames. Use a binary encoder for binary data.\");\n\t\treturn JSON.parse(data);\n\t}\n};\n\n//#endregion\n//#region src/links/wsLink/wsClient/options.ts\nconst lazyDefaults = {\n\tenabled: false,\n\tcloseMs: 0\n};\nconst keepAliveDefaults = {\n\tenabled: false,\n\tpongTimeoutMs: 1e3,\n\tintervalMs: 5e3\n};\n/**\n* Calculates a delay for exponential backoff based on the retry attempt index.\n* The delay starts at 0 for the first attempt and doubles for each subsequent attempt,\n* capped at 30 seconds.\n*/\nconst exponentialBackoff = (attemptIndex) => {\n\treturn attemptIndex === 0 ? 0 : Math.min(1e3 * 2 ** attemptIndex, 3e4);\n};\n\n//#endregion\n//#region src/links/internals/urlWithConnectionParams.ts\n/**\n* Get the result of a value or function that returns a value\n* It also optionally accepts typesafe arguments for the function\n*/\nconst resultOf = (value, ...args) => {\n\treturn typeof value === \"function\" ? value(...args) : value;\n};\n\n//#endregion\n//#region src/links/wsLink/wsClient/utils.ts\nvar import_defineProperty$3 = __toESM(require_defineProperty(), 1);\nvar TRPCWebSocketClosedError = class TRPCWebSocketClosedError extends Error {\n\tconstructor(opts) {\n\t\tsuper(opts.message, { cause: opts.cause });\n\t\tthis.name = \"TRPCWebSocketClosedError\";\n\t\tObject.setPrototypeOf(this, TRPCWebSocketClosedError.prototype);\n\t}\n};\n/**\n* Utility class for managing a timeout that can be started, stopped, and reset.\n* Useful for scenarios where the timeout duration is reset dynamically based on events.\n*/\nvar ResettableTimeout = class {\n\tconstructor(onTimeout, timeoutMs) {\n\t\tthis.onTimeout = onTimeout;\n\t\tthis.timeoutMs = timeoutMs;\n\t\t(0, import_defineProperty$3.default)(this, \"timeout\", void 0);\n\t}\n\t/**\n\t* Resets the current timeout, restarting it with the same duration.\n\t* Does nothing if no timeout is active.\n\t*/\n\treset() {\n\t\tif (!this.timeout) return;\n\t\tclearTimeout(this.timeout);\n\t\tthis.timeout = setTimeout(this.onTimeout, this.timeoutMs);\n\t}\n\tstart() {\n\t\tclearTimeout(this.timeout);\n\t\tthis.timeout = setTimeout(this.onTimeout, this.timeoutMs);\n\t}\n\tstop() {\n\t\tclearTimeout(this.timeout);\n\t\tthis.timeout = void 0;\n\t}\n};\nfunction withResolvers() {\n\tlet resolve;\n\tlet reject;\n\tconst promise = new Promise((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\treturn {\n\t\tpromise,\n\t\tresolve,\n\t\treject\n\t};\n}\n/**\n* Resolves a WebSocket URL and optionally appends connection parameters.\n*\n* If connectionParams are provided, appends 'connectionParams=1' query parameter.\n*/\nasync function prepareUrl(urlOptions) {\n\tconst url = await resultOf(urlOptions.url);\n\tif (!urlOptions.connectionParams) return url;\n\tconst prefix = url.includes(\"?\") ? \"&\" : \"?\";\n\tconst connectionParams = `${prefix}connectionParams=1`;\n\treturn url + connectionParams;\n}\nasync function buildConnectionMessage(connectionParams, encoder) {\n\tconst message = {\n\t\tmethod: \"connectionParams\",\n\t\tdata: await resultOf(connectionParams)\n\t};\n\treturn encoder.encode(message);\n}\n\n//#endregion\n//#region src/links/wsLink/wsClient/requestManager.ts\nvar import_defineProperty$2 = __toESM(require_defineProperty(), 1);\n/**\n* Manages WebSocket requests, tracking their lifecycle and providing utility methods\n* for handling outgoing and pending requests.\n*\n* - **Outgoing requests**: Requests that are queued and waiting to be sent.\n* - **Pending requests**: Requests that have been sent and are in flight awaiting a response.\n* For subscriptions, multiple responses may be received until the subscription is closed.\n*/\nvar RequestManager = class {\n\tconstructor() {\n\t\t(0, import_defineProperty$2.default)(this, \"outgoingRequests\", new Array());\n\t\t(0, import_defineProperty$2.default)(this, \"pendingRequests\", {});\n\t}\n\t/**\n\t* Registers a new request by adding it to the outgoing queue and setting up\n\t* callbacks for lifecycle events such as completion or error.\n\t*\n\t* @param message - The outgoing message to be sent.\n\t* @param callbacks - Callback functions to observe the request's state.\n\t* @returns A cleanup function to manually remove the request.\n\t*/\n\tregister(message, callbacks) {\n\t\tconst { promise: end, resolve } = withResolvers();\n\t\tthis.outgoingRequests.push({\n\t\t\tid: String(message.id),\n\t\t\tmessage,\n\t\t\tend,\n\t\t\tcallbacks: {\n\t\t\t\tnext: callbacks.next,\n\t\t\t\tcomplete: () => {\n\t\t\t\t\tcallbacks.complete();\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t\terror: (e) => {\n\t\t\t\t\tcallbacks.error(e);\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn () => {\n\t\t\tthis.delete(message.id);\n\t\t\tcallbacks.complete();\n\t\t\tresolve();\n\t\t};\n\t}\n\t/**\n\t* Deletes a request from both the outgoing and pending collections, if it exists.\n\t*/\n\tdelete(messageId) {\n\t\tif (messageId === null) return;\n\t\tthis.outgoingRequests = this.outgoingRequests.filter(({ id }) => id !== String(messageId));\n\t\tdelete this.pendingRequests[String(messageId)];\n\t}\n\t/**\n\t* Moves all outgoing requests to the pending state and clears the outgoing queue.\n\t*\n\t* The caller is expected to handle the actual sending of the requests\n\t* (e.g., sending them over the network) after this method is called.\n\t*\n\t* @returns The list of requests that were transitioned to the pending state.\n\t*/\n\tflush() {\n\t\tconst requests = this.outgoingRequests;\n\t\tthis.outgoingRequests = [];\n\t\tfor (const request of requests) this.pendingRequests[request.id] = request;\n\t\treturn requests;\n\t}\n\t/**\n\t* Retrieves all currently pending requests, which are in flight awaiting responses\n\t* or handling ongoing subscriptions.\n\t*/\n\tgetPendingRequests() {\n\t\treturn Object.values(this.pendingRequests);\n\t}\n\t/**\n\t* Retrieves a specific pending request by its message ID.\n\t*/\n\tgetPendingRequest(messageId) {\n\t\tif (messageId === null) return null;\n\t\treturn this.pendingRequests[String(messageId)];\n\t}\n\t/**\n\t* Retrieves all outgoing requests, which are waiting to be sent.\n\t*/\n\tgetOutgoingRequests() {\n\t\treturn this.outgoingRequests;\n\t}\n\t/**\n\t* Retrieves all requests, both outgoing and pending, with their respective states.\n\t*\n\t* @returns An array of all requests with their state (\"outgoing\" or \"pending\").\n\t*/\n\tgetRequests() {\n\t\treturn [...this.getOutgoingRequests().map((request) => ({\n\t\t\tstate: \"outgoing\",\n\t\t\tmessage: request.message,\n\t\t\tend: request.end,\n\t\t\tcallbacks: request.callbacks\n\t\t})), ...this.getPendingRequests().map((request) => ({\n\t\t\tstate: \"pending\",\n\t\t\tmessage: request.message,\n\t\t\tend: request.end,\n\t\t\tcallbacks: request.callbacks\n\t\t}))];\n\t}\n\t/**\n\t* Checks if there are any pending requests, including ongoing subscriptions.\n\t*/\n\thasPendingRequests() {\n\t\treturn this.getPendingRequests().length > 0;\n\t}\n\t/**\n\t* Checks if there are any pending subscriptions\n\t*/\n\thasPendingSubscriptions() {\n\t\treturn this.getPendingRequests().some((request) => request.message.method === \"subscription\");\n\t}\n\t/**\n\t* Checks if there are any outgoing requests waiting to be sent.\n\t*/\n\thasOutgoingRequests() {\n\t\treturn this.outgoingRequests.length > 0;\n\t}\n};\n\n//#endregion\n//#region src/links/wsLink/wsClient/wsConnection.ts\nvar import_defineProperty$1 = __toESM(require_defineProperty(), 1);\n/**\n* Opens a WebSocket connection asynchronously and returns a promise\n* that resolves when the connection is successfully established.\n* The promise rejects if an error occurs during the connection attempt.\n*/\nfunction asyncWsOpen(ws) {\n\tconst { promise, resolve, reject } = withResolvers();\n\tws.addEventListener(\"open\", () => {\n\t\tws.removeEventListener(\"error\", reject);\n\t\tresolve();\n\t});\n\tws.addEventListener(\"error\", reject);\n\treturn promise;\n}\n/**\n* Sets up a periodic ping-pong mechanism to keep the WebSocket connection alive.\n*\n* - Sends \"PING\" messages at regular intervals defined by `intervalMs`.\n* - If a \"PONG\" response is not received within the `pongTimeoutMs`, the WebSocket is closed.\n* - The ping timer resets upon receiving any message to maintain activity.\n* - Automatically starts the ping process when the WebSocket connection is opened.\n* - Cleans up timers when the WebSocket is closed.\n*\n* @param ws - The WebSocket instance to manage.\n* @param options - Configuration options for ping-pong intervals and timeouts.\n*/\nfunction setupPingInterval(ws, { intervalMs, pongTimeoutMs }) {\n\tlet pingTimeout;\n\tlet pongTimeout;\n\tfunction start() {\n\t\tpingTimeout = setTimeout(() => {\n\t\t\tws.send(\"PING\");\n\t\t\tpongTimeout = setTimeout(() => {\n\t\t\t\tws.close();\n\t\t\t}, pongTimeoutMs);\n\t\t}, intervalMs);\n\t}\n\tfunction reset() {\n\t\tclearTimeout(pingTimeout);\n\t\tstart();\n\t}\n\tfunction pong() {\n\t\tclearTimeout(pongTimeout);\n\t\treset();\n\t}\n\tws.addEventListener(\"open\", start);\n\tws.addEventListener(\"message\", ({ data }) => {\n\t\tclearTimeout(pingTimeout);\n\t\tstart();\n\t\tif (data === \"PONG\") pong();\n\t});\n\tws.addEventListener(\"close\", () => {\n\t\tclearTimeout(pingTimeout);\n\t\tclearTimeout(pongTimeout);\n\t});\n}\n/**\n* Manages a WebSocket connection with support for reconnection, keep-alive mechanisms,\n* and observable state tracking.\n*/\nvar WsConnection = class WsConnection {\n\tconstructor(opts) {\n\t\tvar _opts$WebSocketPonyfi;\n\t\t(0, import_defineProperty$1.default)(this, \"id\", ++WsConnection.connectCount);\n\t\t(0, import_defineProperty$1.default)(this, \"WebSocketPonyfill\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"urlOptions\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"keepAliveOpts\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"encoder\", void 0);\n\t\t(0, import_defineProperty$1.default)(this, \"wsObservable\", behaviorSubject(null));\n\t\t(0, import_defineProperty$1.default)(this, \"openPromise\", null);\n\t\tthis.WebSocketPonyfill = (_opts$WebSocketPonyfi = opts.WebSocketPonyfill) !== null && _opts$WebSocketPonyfi !== void 0 ? _opts$WebSocketPonyfi : WebSocket;\n\t\tif (!this.WebSocketPonyfill) throw new Error(\"No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill\");\n\t\tthis.urlOptions = opts.urlOptions;\n\t\tthis.keepAliveOpts = opts.keepAlive;\n\t\tthis.encoder = opts.encoder;\n\t}\n\tget ws() {\n\t\treturn this.wsObservable.get();\n\t}\n\tset ws(ws) {\n\t\tthis.wsObservable.next(ws);\n\t}\n\t/**\n\t* Checks if the WebSocket connection is open and ready to communicate.\n\t*/\n\tisOpen() {\n\t\treturn !!this.ws && this.ws.readyState === this.WebSocketPonyfill.OPEN && !this.openPromise;\n\t}\n\t/**\n\t* Checks if the WebSocket connection is closed or in the process of closing.\n\t*/\n\tisClosed() {\n\t\treturn !!this.ws && (this.ws.readyState === this.WebSocketPonyfill.CLOSING || this.ws.readyState === this.WebSocketPonyfill.CLOSED);\n\t}\n\tasync open() {\n\t\tvar _this = this;\n\t\tif (_this.openPromise) return _this.openPromise;\n\t\t_this.id = ++WsConnection.connectCount;\n\t\tconst wsPromise = prepareUrl(_this.urlOptions).then((url) => new _this.WebSocketPonyfill(url));\n\t\t_this.openPromise = wsPromise.then(async (ws) => {\n\t\t\t_this.ws = ws;\n\t\t\tws.binaryType = \"arraybuffer\";\n\t\t\tws.addEventListener(\"message\", function({ data }) {\n\t\t\t\tif (data === \"PING\") this.send(\"PONG\");\n\t\t\t});\n\t\t\tif (_this.keepAliveOpts.enabled) setupPingInterval(ws, _this.keepAliveOpts);\n\t\t\tws.addEventListener(\"close\", () => {\n\t\t\t\tif (_this.ws === ws) _this.ws = null;\n\t\t\t});\n\t\t\tawait asyncWsOpen(ws);\n\t\t\tif (_this.urlOptions.connectionParams) ws.send(await buildConnectionMessage(_this.urlOptions.connectionParams, _this.encoder));\n\t\t});\n\t\ttry {\n\t\t\tawait _this.openPromise;\n\t\t} finally {\n\t\t\t_this.openPromise = null;\n\t\t}\n\t}\n\t/**\n\t* Closes the WebSocket connection gracefully.\n\t* Waits for any ongoing open operation to complete before closing.\n\t*/\n\tasync close() {\n\t\tvar _this2 = this;\n\t\ttry {\n\t\t\tawait _this2.openPromise;\n\t\t} finally {\n\t\t\tvar _this$ws;\n\t\t\t(_this$ws = _this2.ws) === null || _this$ws === void 0 || _this$ws.close();\n\t\t}\n\t}\n};\n(0, import_defineProperty$1.default)(WsConnection, \"connectCount\", 0);\n/**\n* Provides a backward-compatible representation of the connection state.\n*/\nfunction backwardCompatibility(connection) {\n\tif (connection.isOpen()) return {\n\t\tid: connection.id,\n\t\tstate: \"open\",\n\t\tws: connection.ws\n\t};\n\tif (connection.isClosed()) return {\n\t\tid: connection.id,\n\t\tstate: \"closed\",\n\t\tws: connection.ws\n\t};\n\tif (!connection.ws) return null;\n\treturn {\n\t\tid: connection.id,\n\t\tstate: \"connecting\",\n\t\tws: connection.ws\n\t};\n}\n\n//#endregion\n//#region src/links/wsLink/wsClient/wsClient.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* A WebSocket client for managing TRPC operations, supporting lazy initialization,\n* reconnection, keep-alive, and request management.\n*/\nvar WsClient = class {\n\tconstructor(opts) {\n\t\tvar _opts$experimental_en, _opts$retryDelayMs;\n\t\t(0, import_defineProperty.default)(this, \"connectionState\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"allowReconnect\", false);\n\t\t(0, import_defineProperty.default)(this, \"requestManager\", new RequestManager());\n\t\t(0, import_defineProperty.default)(this, \"activeConnection\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"reconnectRetryDelay\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"inactivityTimeout\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"callbacks\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"lazyMode\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"encoder\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"reconnecting\", null);\n\t\tthis.encoder = (_opts$experimental_en = opts.experimental_encoder) !== null && _opts$experimental_en !== void 0 ? _opts$experimental_en : jsonEncoder;\n\t\tthis.callbacks = {\n\t\t\tonOpen: opts.onOpen,\n\t\t\tonClose: opts.onClose,\n\t\t\tonError: opts.onError\n\t\t};\n\t\tconst lazyOptions = (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, lazyDefaults), opts.lazy);\n\t\tthis.inactivityTimeout = new ResettableTimeout(() => {\n\t\t\tif (this.requestManager.hasOutgoingRequests() || this.requestManager.hasPendingRequests()) {\n\t\t\t\tthis.inactivityTimeout.reset();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.close().catch(() => null);\n\t\t}, lazyOptions.closeMs);\n\t\tthis.activeConnection = new WsConnection({\n\t\t\tWebSocketPonyfill: opts.WebSocket,\n\t\t\turlOptions: opts,\n\t\t\tkeepAlive: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, keepAliveDefaults), opts.keepAlive),\n\t\t\tencoder: this.encoder\n\t\t});\n\t\tthis.activeConnection.wsObservable.subscribe({ next: (ws) => {\n\t\t\tif (!ws) return;\n\t\t\tthis.setupWebSocketListeners(ws);\n\t\t} });\n\t\tthis.reconnectRetryDelay = (_opts$retryDelayMs = opts.retryDelayMs) !== null && _opts$retryDelayMs !== void 0 ? _opts$retryDelayMs : exponentialBackoff;\n\t\tthis.lazyMode = lazyOptions.enabled;\n\t\tthis.connectionState = behaviorSubject({\n\t\t\ttype: \"state\",\n\t\t\tstate: lazyOptions.enabled ? \"idle\" : \"connecting\",\n\t\t\terror: null\n\t\t});\n\t\tif (!this.lazyMode) this.open().catch(() => null);\n\t}\n\t/**\n\t* Opens the WebSocket connection. Handles reconnection attempts and updates\n\t* the connection state accordingly.\n\t*/\n\tasync open() {\n\t\tvar _this = this;\n\t\t_this.allowReconnect = true;\n\t\tif (_this.connectionState.get().state === \"idle\") _this.connectionState.next({\n\t\t\ttype: \"state\",\n\t\t\tstate: \"connecting\",\n\t\t\terror: null\n\t\t});\n\t\ttry {\n\t\t\tawait _this.activeConnection.open();\n\t\t} catch (error) {\n\t\t\t_this.reconnect(new TRPCWebSocketClosedError({\n\t\t\t\tmessage: \"Initialization error\",\n\t\t\t\tcause: error\n\t\t\t}));\n\t\t\treturn _this.reconnecting;\n\t\t}\n\t}\n\t/**\n\t* Closes the WebSocket connection and stops managing requests.\n\t* Ensures all outgoing and pending requests are properly finalized.\n\t*/\n\tasync close() {\n\t\tvar _this2 = this;\n\t\t_this2.allowReconnect = false;\n\t\t_this2.inactivityTimeout.stop();\n\t\tconst requestsToAwait = [];\n\t\tfor (const request of _this2.requestManager.getRequests()) if (request.message.method === \"subscription\") request.callbacks.complete();\n\t\telse if (request.state === \"outgoing\") request.callbacks.error(TRPCClientError.from(new TRPCWebSocketClosedError({ message: \"Closed before connection was established\" })));\n\t\telse requestsToAwait.push(request.end);\n\t\tawait Promise.all(requestsToAwait).catch(() => null);\n\t\tawait _this2.activeConnection.close().catch(() => null);\n\t\t_this2.connectionState.next({\n\t\t\ttype: \"state\",\n\t\t\tstate: \"idle\",\n\t\t\terror: null\n\t\t});\n\t}\n\t/**\n\t* Method to request the server.\n\t* Handles data transformation, batching of requests, and subscription lifecycle.\n\t*\n\t* @param op - The operation details including id, type, path, input and signal\n\t* @param transformer - Data transformer for serializing requests and deserializing responses\n\t* @param lastEventId - Optional ID of the last received event for subscriptions\n\t*\n\t* @returns An observable that emits operation results and handles cleanup\n\t*/\n\trequest({ op: { id, type, path, input, signal }, transformer, lastEventId }) {\n\t\treturn observable((observer) => {\n\t\t\tconst abort = this.batchSend({\n\t\t\t\tid,\n\t\t\t\tmethod: type,\n\t\t\t\tparams: {\n\t\t\t\t\tinput: transformer.input.serialize(input),\n\t\t\t\t\tpath,\n\t\t\t\t\tlastEventId\n\t\t\t\t}\n\t\t\t}, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, observer), {}, { next(event) {\n\t\t\t\tconst transformed = transformResult(event, transformer.output);\n\t\t\t\tif (!transformed.ok) {\n\t\t\t\t\tobserver.error(TRPCClientError.from(transformed.error));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tobserver.next({ result: transformed.result });\n\t\t\t} }));\n\t\t\treturn () => {\n\t\t\t\tabort();\n\t\t\t\tif (type === \"subscription\" && this.activeConnection.isOpen()) this.send({\n\t\t\t\t\tid,\n\t\t\t\t\tmethod: \"subscription.stop\"\n\t\t\t\t});\n\t\t\t\tsignal === null || signal === void 0 || signal.removeEventListener(\"abort\", abort);\n\t\t\t};\n\t\t});\n\t}\n\tget connection() {\n\t\treturn backwardCompatibility(this.activeConnection);\n\t}\n\treconnect(closedError) {\n\t\tvar _this3 = this;\n\t\tthis.connectionState.next({\n\t\t\ttype: \"state\",\n\t\t\tstate: \"connecting\",\n\t\t\terror: TRPCClientError.from(closedError)\n\t\t});\n\t\tif (this.reconnecting) return;\n\t\tconst tryReconnect = async (attemptIndex) => {\n\t\t\ttry {\n\t\t\t\tawait sleep(_this3.reconnectRetryDelay(attemptIndex));\n\t\t\t\tif (_this3.allowReconnect) {\n\t\t\t\t\tawait _this3.activeConnection.close();\n\t\t\t\t\tawait _this3.activeConnection.open();\n\t\t\t\t\tif (_this3.requestManager.hasPendingRequests()) _this3.send(_this3.requestManager.getPendingRequests().map(({ message }) => message));\n\t\t\t\t}\n\t\t\t\t_this3.reconnecting = null;\n\t\t\t} catch (_unused) {\n\t\t\t\tawait tryReconnect(attemptIndex + 1);\n\t\t\t}\n\t\t};\n\t\tthis.reconnecting = tryReconnect(0);\n\t}\n\tsetupWebSocketListeners(ws) {\n\t\tvar _this4 = this;\n\t\tconst handleCloseOrError = (cause) => {\n\t\t\tconst reqs = this.requestManager.getPendingRequests();\n\t\t\tfor (const { message, callbacks } of reqs) {\n\t\t\t\tif (message.method === \"subscription\") continue;\n\t\t\t\tcallbacks.error(TRPCClientError.from(cause !== null && cause !== void 0 ? cause : new TRPCWebSocketClosedError({\n\t\t\t\t\tmessage: \"WebSocket closed\",\n\t\t\t\t\tcause\n\t\t\t\t})));\n\t\t\t\tthis.requestManager.delete(message.id);\n\t\t\t}\n\t\t};\n\t\tws.addEventListener(\"open\", () => {\n\t\t\trun(async () => {\n\t\t\t\tvar _this$callbacks$onOpe, _this$callbacks;\n\t\t\t\tif (_this4.lazyMode) _this4.inactivityTimeout.start();\n\t\t\t\t(_this$callbacks$onOpe = (_this$callbacks = _this4.callbacks).onOpen) === null || _this$callbacks$onOpe === void 0 || _this$callbacks$onOpe.call(_this$callbacks);\n\t\t\t\t_this4.connectionState.next({\n\t\t\t\t\ttype: \"state\",\n\t\t\t\t\tstate: \"pending\",\n\t\t\t\t\terror: null\n\t\t\t\t});\n\t\t\t}).catch((error) => {\n\t\t\t\tws.close(3e3);\n\t\t\t\thandleCloseOrError(error);\n\t\t\t});\n\t\t});\n\t\tws.addEventListener(\"message\", ({ data }) => {\n\t\t\tthis.inactivityTimeout.reset();\n\t\t\tif ([\"PING\", \"PONG\"].includes(data)) return;\n\t\t\tconst incomingMessage = this.encoder.decode(data);\n\t\t\tif (\"method\" in incomingMessage) {\n\t\t\t\tthis.handleIncomingRequest(incomingMessage);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.handleResponseMessage(incomingMessage);\n\t\t});\n\t\tws.addEventListener(\"close\", (event) => {\n\t\t\tvar _this$callbacks$onClo, _this$callbacks2;\n\t\t\thandleCloseOrError(event);\n\t\t\t(_this$callbacks$onClo = (_this$callbacks2 = this.callbacks).onClose) === null || _this$callbacks$onClo === void 0 || _this$callbacks$onClo.call(_this$callbacks2, event);\n\t\t\tif (!this.lazyMode || this.requestManager.hasPendingSubscriptions()) this.reconnect(new TRPCWebSocketClosedError({\n\t\t\t\tmessage: \"WebSocket closed\",\n\t\t\t\tcause: event\n\t\t\t}));\n\t\t});\n\t\tws.addEventListener(\"error\", (event) => {\n\t\t\tvar _this$callbacks$onErr, _this$callbacks3;\n\t\t\thandleCloseOrError(event);\n\t\t\t(_this$callbacks$onErr = (_this$callbacks3 = this.callbacks).onError) === null || _this$callbacks$onErr === void 0 || _this$callbacks$onErr.call(_this$callbacks3, event);\n\t\t\tthis.reconnect(new TRPCWebSocketClosedError({\n\t\t\t\tmessage: \"WebSocket closed\",\n\t\t\t\tcause: event\n\t\t\t}));\n\t\t});\n\t}\n\thandleResponseMessage(message) {\n\t\tconst request = this.requestManager.getPendingRequest(message.id);\n\t\tif (!request) return;\n\t\trequest.callbacks.next(message);\n\t\tlet completed = true;\n\t\tif (\"result\" in message && request.message.method === \"subscription\") {\n\t\t\tif (message.result.type === \"data\") request.message.params.lastEventId = message.result.id;\n\t\t\tif (message.result.type !== \"stopped\") completed = false;\n\t\t}\n\t\tif (completed) {\n\t\t\trequest.callbacks.complete();\n\t\t\tthis.requestManager.delete(message.id);\n\t\t}\n\t}\n\thandleIncomingRequest(message) {\n\t\tif (message.method === \"reconnect\") this.reconnect(new TRPCWebSocketClosedError({ message: \"Server requested reconnect\" }));\n\t}\n\t/**\n\t* Sends a message or batch of messages directly to the server.\n\t*/\n\tsend(messageOrMessages) {\n\t\tif (!this.activeConnection.isOpen()) throw new Error(\"Active connection is not open\");\n\t\tconst messages = messageOrMessages instanceof Array ? messageOrMessages : [messageOrMessages];\n\t\tthis.activeConnection.ws.send(this.encoder.encode(messages.length === 1 ? messages[0] : messages));\n\t}\n\t/**\n\t* Groups requests for batch sending.\n\t*\n\t* @returns A function to abort the batched request.\n\t*/\n\tbatchSend(message, callbacks) {\n\t\tvar _this5 = this;\n\t\tthis.inactivityTimeout.reset();\n\t\trun(async () => {\n\t\t\tif (!_this5.activeConnection.isOpen()) await _this5.open();\n\t\t\tawait sleep(0);\n\t\t\tif (!_this5.requestManager.hasOutgoingRequests()) return;\n\t\t\t_this5.send(_this5.requestManager.flush().map(({ message: message$1 }) => message$1));\n\t\t}).catch((err) => {\n\t\t\tthis.requestManager.delete(message.id);\n\t\t\tcallbacks.error(TRPCClientError.from(err));\n\t\t});\n\t\treturn this.requestManager.register(message, callbacks);\n\t}\n};\n\n//#endregion\n//#region src/links/wsLink/createWsClient.ts\nfunction createWSClient(opts) {\n\treturn new WsClient(opts);\n}\n\n//#endregion\n//#region src/links/wsLink/wsLink.ts\nfunction wsLink(opts) {\n\tconst { client } = opts;\n\tconst transformer = getTransformer(opts.transformer);\n\treturn () => {\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tconst connStateSubscription = op.type === \"subscription\" ? client.connectionState.subscribe({ next(result) {\n\t\t\t\t\tobserver.next({\n\t\t\t\t\t\tresult,\n\t\t\t\t\t\tcontext: op.context\n\t\t\t\t\t});\n\t\t\t\t} }) : null;\n\t\t\t\tconst requestSubscription = client.request({\n\t\t\t\t\top,\n\t\t\t\t\ttransformer\n\t\t\t\t}).subscribe(observer);\n\t\t\t\treturn () => {\n\t\t\t\t\trequestSubscription.unsubscribe();\n\t\t\t\t\tconnStateSubscription === null || connStateSubscription === void 0 || connStateSubscription.unsubscribe();\n\t\t\t\t};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\nexport { createWSClient, jsonEncoder, resultOf, wsLink };\n//# sourceMappingURL=wsLink-DSf4KOdW.mjs.map","import { __commonJS, __toESM, require_defineProperty, require_objectSpread2 } from \"./objectSpread2-BvkFp-_Y.mjs\";\nimport { createChain, splitLink } from \"./splitLink-B7Cuf2c_.mjs\";\nimport { TRPCClientError, isTRPCClientError } from \"./TRPCClientError-apv8gw59.mjs\";\nimport { fetchHTTPResponse, getBody, getFetch, getUrl, resolveHTTPLinkOptions } from \"./httpUtils-BNq9QC3d.mjs\";\nimport { httpLink, isFormData, isNonJsonSerializable, isOctetType } from \"./httpLink-oiU8eqFi.mjs\";\nimport { abortSignalToPromise, allAbortSignals, dataLoader, httpBatchLink, raceAbortSignals } from \"./httpBatchLink-CaWjh1oW.mjs\";\nimport { getTransformer } from \"./unstable-internals-Bg7n9BBj.mjs\";\nimport { loggerLink } from \"./loggerLink-ineCN1PO.mjs\";\nimport { createWSClient, jsonEncoder, resultOf, wsLink } from \"./wsLink-DSf4KOdW.mjs\";\nimport { behaviorSubject, observable, observableToPromise, share } from \"@trpc/server/observable\";\nimport { callProcedure, createFlatProxy, createRecursiveProxy, isAbortError, isAsyncIterable, iteratorResource, jsonlStreamConsumer, makeResource, retryableRpcCodes, run, sseStreamConsumer } from \"@trpc/server/unstable-core-do-not-import\";\nimport { getTRPCErrorFromUnknown, getTRPCErrorShape, isTrackedEnvelope } from \"@trpc/server\";\nimport { TRPC_ERROR_CODES_BY_KEY } from \"@trpc/server/rpc\";\n\n//#region src/internals/TRPCUntypedClient.ts\nvar import_defineProperty = __toESM(require_defineProperty(), 1);\nvar import_objectSpread2$4 = __toESM(require_objectSpread2(), 1);\nvar TRPCUntypedClient = class {\n\tconstructor(opts) {\n\t\t(0, import_defineProperty.default)(this, \"links\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"runtime\", void 0);\n\t\t(0, import_defineProperty.default)(this, \"requestId\", void 0);\n\t\tthis.requestId = 0;\n\t\tthis.runtime = {};\n\t\tthis.links = opts.links.map((link) => link(this.runtime));\n\t}\n\t$request(opts) {\n\t\tvar _opts$context;\n\t\tconst chain$ = createChain({\n\t\t\tlinks: this.links,\n\t\t\top: (0, import_objectSpread2$4.default)((0, import_objectSpread2$4.default)({}, opts), {}, {\n\t\t\t\tcontext: (_opts$context = opts.context) !== null && _opts$context !== void 0 ? _opts$context : {},\n\t\t\t\tid: ++this.requestId\n\t\t\t})\n\t\t});\n\t\treturn chain$.pipe(share());\n\t}\n\tasync requestAsPromise(opts) {\n\t\tvar _this = this;\n\t\ttry {\n\t\t\tconst req$ = _this.$request(opts);\n\t\t\tconst envelope = await observableToPromise(req$);\n\t\t\tconst data = envelope.result.data;\n\t\t\treturn data;\n\t\t} catch (err) {\n\t\t\tthrow TRPCClientError.from(err);\n\t\t}\n\t}\n\tquery(path, input, opts) {\n\t\treturn this.requestAsPromise({\n\t\t\ttype: \"query\",\n\t\t\tpath,\n\t\t\tinput,\n\t\t\tcontext: opts === null || opts === void 0 ? void 0 : opts.context,\n\t\t\tsignal: opts === null || opts === void 0 ? void 0 : opts.signal\n\t\t});\n\t}\n\tmutation(path, input, opts) {\n\t\treturn this.requestAsPromise({\n\t\t\ttype: \"mutation\",\n\t\t\tpath,\n\t\t\tinput,\n\t\t\tcontext: opts === null || opts === void 0 ? void 0 : opts.context,\n\t\t\tsignal: opts === null || opts === void 0 ? void 0 : opts.signal\n\t\t});\n\t}\n\tsubscription(path, input, opts) {\n\t\tconst observable$ = this.$request({\n\t\t\ttype: \"subscription\",\n\t\t\tpath,\n\t\t\tinput,\n\t\t\tcontext: opts.context,\n\t\t\tsignal: opts.signal\n\t\t});\n\t\treturn observable$.subscribe({\n\t\t\tnext(envelope) {\n\t\t\t\tswitch (envelope.result.type) {\n\t\t\t\t\tcase \"state\": {\n\t\t\t\t\t\tvar _opts$onConnectionSta;\n\t\t\t\t\t\t(_opts$onConnectionSta = opts.onConnectionStateChange) === null || _opts$onConnectionSta === void 0 || _opts$onConnectionSta.call(opts, envelope.result);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"started\": {\n\t\t\t\t\t\tvar _opts$onStarted;\n\t\t\t\t\t\t(_opts$onStarted = opts.onStarted) === null || _opts$onStarted === void 0 || _opts$onStarted.call(opts, { context: envelope.context });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"stopped\": {\n\t\t\t\t\t\tvar _opts$onStopped;\n\t\t\t\t\t\t(_opts$onStopped = opts.onStopped) === null || _opts$onStopped === void 0 || _opts$onStopped.call(opts);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"data\":\n\t\t\t\t\tcase void 0: {\n\t\t\t\t\t\tvar _opts$onData;\n\t\t\t\t\t\t(_opts$onData = opts.onData) === null || _opts$onData === void 0 || _opts$onData.call(opts, envelope.result.data);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\terror(err) {\n\t\t\t\tvar _opts$onError;\n\t\t\t\t(_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, err);\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\tvar _opts$onComplete;\n\t\t\t\t(_opts$onComplete = opts.onComplete) === null || _opts$onComplete === void 0 || _opts$onComplete.call(opts);\n\t\t\t}\n\t\t});\n\t}\n};\n\n//#endregion\n//#region src/createTRPCUntypedClient.ts\nfunction createTRPCUntypedClient(opts) {\n\treturn new TRPCUntypedClient(opts);\n}\n\n//#endregion\n//#region src/createTRPCClient.ts\nconst untypedClientSymbol = Symbol.for(\"trpc_untypedClient\");\nconst clientCallTypeMap = {\n\tquery: \"query\",\n\tmutate: \"mutation\",\n\tsubscribe: \"subscription\"\n};\n/** @internal */\nconst clientCallTypeToProcedureType = (clientCallType) => {\n\treturn clientCallTypeMap[clientCallType];\n};\n/**\n* @internal\n*/\nfunction createTRPCClientProxy(client) {\n\tconst proxy = createRecursiveProxy(({ path, args }) => {\n\t\tconst pathCopy = [...path];\n\t\tconst procedureType = clientCallTypeToProcedureType(pathCopy.pop());\n\t\tconst fullPath = pathCopy.join(\".\");\n\t\treturn client[procedureType](fullPath, ...args);\n\t});\n\treturn createFlatProxy((key) => {\n\t\tif (key === untypedClientSymbol) return client;\n\t\treturn proxy[key];\n\t});\n}\nfunction createTRPCClient(opts) {\n\tconst client = new TRPCUntypedClient(opts);\n\tconst proxy = createTRPCClientProxy(client);\n\treturn proxy;\n}\n/**\n* Get an untyped client from a proxy client\n* @internal\n*/\nfunction getUntypedClient(client) {\n\treturn client[untypedClientSymbol];\n}\n\n//#endregion\n//#region src/links/httpBatchStreamLink.ts\nvar import_objectSpread2$3 = __toESM(require_objectSpread2(), 1);\n/**\n* @see https://trpc.io/docs/client/links/httpBatchStreamLink\n*/\nfunction httpBatchStreamLink(opts) {\n\tvar _opts$maxURLLength, _opts$maxItems;\n\tconst resolvedOpts = resolveHTTPLinkOptions(opts);\n\tconst maxURLLength = (_opts$maxURLLength = opts.maxURLLength) !== null && _opts$maxURLLength !== void 0 ? _opts$maxURLLength : Infinity;\n\tconst maxItems = (_opts$maxItems = opts.maxItems) !== null && _opts$maxItems !== void 0 ? _opts$maxItems : Infinity;\n\treturn () => {\n\t\tconst batchLoader = (type) => {\n\t\t\treturn {\n\t\t\t\tvalidate(batchOps) {\n\t\t\t\t\tif (maxURLLength === Infinity && maxItems === Infinity) return true;\n\t\t\t\t\tif (batchOps.length > maxItems) return false;\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst url = getUrl((0, import_objectSpread2$3.default)((0, import_objectSpread2$3.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\tsignal: null\n\t\t\t\t\t}));\n\t\t\t\t\treturn url.length <= maxURLLength;\n\t\t\t\t},\n\t\t\t\tasync fetch(batchOps) {\n\t\t\t\t\tvar _opts$streamHeader;\n\t\t\t\t\tconst path = batchOps.map((op) => op.path).join(\",\");\n\t\t\t\t\tconst inputs = batchOps.map((op) => op.input);\n\t\t\t\t\tconst batchSignals = allAbortSignals(...batchOps.map((op) => op.signal));\n\t\t\t\t\tconst abortController = new AbortController();\n\t\t\t\t\tconst responsePromise = fetchHTTPResponse((0, import_objectSpread2$3.default)((0, import_objectSpread2$3.default)({}, resolvedOpts), {}, {\n\t\t\t\t\t\tsignal: raceAbortSignals(batchSignals, abortController.signal),\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tcontentTypeHeader: \"application/json\",\n\t\t\t\t\t\ttrpcAcceptHeader: \"application/jsonl\",\n\t\t\t\t\t\ttrpcAcceptHeaderKey: (_opts$streamHeader = opts.streamHeader) !== null && _opts$streamHeader !== void 0 ? _opts$streamHeader : \"trpc-accept\",\n\t\t\t\t\t\tgetUrl,\n\t\t\t\t\t\tgetBody,\n\t\t\t\t\t\tinputs,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\theaders() {\n\t\t\t\t\t\t\tif (!opts.headers) return {};\n\t\t\t\t\t\t\tif (typeof opts.headers === \"function\") return opts.headers({ opList: batchOps });\n\t\t\t\t\t\t\treturn opts.headers;\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t\tconst res = await responsePromise;\n\t\t\t\t\tif (!res.ok) {\n\t\t\t\t\t\tconst json = await res.json();\n\t\t\t\t\t\tif (\"error\" in json) json.error = resolvedOpts.transformer.output.deserialize(json.error);\n\t\t\t\t\t\treturn batchOps.map(() => Promise.resolve({\n\t\t\t\t\t\t\tjson,\n\t\t\t\t\t\t\tmeta: { response: res }\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t\tconst [head] = await jsonlStreamConsumer({\n\t\t\t\t\t\tfrom: res.body,\n\t\t\t\t\t\tdeserialize: (data) => resolvedOpts.transformer.output.deserialize(data),\n\t\t\t\t\t\tformatError(opts$1) {\n\t\t\t\t\t\t\tconst error = opts$1.error;\n\t\t\t\t\t\t\treturn TRPCClientError.from({ error });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tabortController\n\t\t\t\t\t});\n\t\t\t\t\tconst promises = Object.keys(batchOps).map(async (key) => {\n\t\t\t\t\t\tlet json = await Promise.resolve(head[key]);\n\t\t\t\t\t\tif (\"result\" in json) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t* Not very pretty, but we need to unwrap nested data as promises\n\t\t\t\t\t\t\t* Our stream producer will only resolve top-level async values or async values that are directly nested in another async value\n\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t\tconst result = await Promise.resolve(json.result);\n\t\t\t\t\t\t\tjson = { result: { data: await Promise.resolve(result.data) } };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tjson,\n\t\t\t\t\t\t\tmeta: { response: res }\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t\treturn promises;\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\tconst query = dataLoader(batchLoader(\"query\"));\n\t\tconst mutation = dataLoader(batchLoader(\"mutation\"));\n\t\tconst loaders = {\n\t\t\tquery,\n\t\t\tmutation\n\t\t};\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (op.type === \"subscription\") throw new Error(\"Subscriptions are unsupported by `httpBatchStreamLink` - use `httpSubscriptionLink` or `wsLink`\");\n\t\t\t\tconst loader = loaders[op.type];\n\t\t\t\tconst promise = loader.load(op);\n\t\t\t\tlet _res = void 0;\n\t\t\t\tpromise.then((res) => {\n\t\t\t\t\t_res = res;\n\t\t\t\t\tif (\"error\" in res.json) {\n\t\t\t\t\t\tobserver.error(TRPCClientError.from(res.json, { meta: res.meta }));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else if (\"result\" in res.json) {\n\t\t\t\t\t\tobserver.next({\n\t\t\t\t\t\t\tcontext: res.meta,\n\t\t\t\t\t\t\tresult: res.json.result\n\t\t\t\t\t\t});\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((err) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(err, { meta: _res === null || _res === void 0 ? void 0 : _res.meta }));\n\t\t\t\t});\n\t\t\t\treturn () => {};\n\t\t\t});\n\t\t};\n\t};\n}\n/**\n* @deprecated use {@link httpBatchStreamLink} instead\n*/\nconst unstable_httpBatchStreamLink = httpBatchStreamLink;\n\n//#endregion\n//#region src/internals/inputWithTrackedEventId.ts\nvar import_objectSpread2$2 = __toESM(require_objectSpread2(), 1);\nfunction inputWithTrackedEventId(input, lastEventId) {\n\tif (!lastEventId) return input;\n\tif (input != null && typeof input !== \"object\") return input;\n\treturn (0, import_objectSpread2$2.default)((0, import_objectSpread2$2.default)({}, input !== null && input !== void 0 ? input : {}), {}, { lastEventId });\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js\nvar require_asyncIterator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js\"(exports, module) {\n\tfunction _asyncIterator$1(r) {\n\t\tvar n, t, o, e = 2;\n\t\tfor (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n\t\t\tif (t && null != (n = r[t])) return n.call(r);\n\t\t\tif (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n\t\t\tt = \"@@asyncIterator\", o = \"@@iterator\";\n\t\t}\n\t\tthrow new TypeError(\"Object is not async iterable\");\n\t}\n\tfunction AsyncFromSyncIterator(r) {\n\t\tfunction AsyncFromSyncIteratorContinuation(r$1) {\n\t\t\tif (Object(r$1) !== r$1) return Promise.reject(new TypeError(r$1 + \" is not an object.\"));\n\t\t\tvar n = r$1.done;\n\t\t\treturn Promise.resolve(r$1.value).then(function(r$2) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: r$2,\n\t\t\t\t\tdone: n\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\treturn AsyncFromSyncIterator = function AsyncFromSyncIterator$1(r$1) {\n\t\t\tthis.s = r$1, this.n = r$1.next;\n\t\t}, AsyncFromSyncIterator.prototype = {\n\t\t\ts: null,\n\t\t\tn: null,\n\t\t\tnext: function next() {\n\t\t\t\treturn AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n\t\t\t},\n\t\t\t\"return\": function _return(r$1) {\n\t\t\t\tvar n = this.s[\"return\"];\n\t\t\t\treturn void 0 === n ? Promise.resolve({\n\t\t\t\t\tvalue: r$1,\n\t\t\t\t\tdone: !0\n\t\t\t\t}) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n\t\t\t},\n\t\t\t\"throw\": function _throw(r$1) {\n\t\t\t\tvar n = this.s[\"return\"];\n\t\t\t\treturn void 0 === n ? Promise.reject(r$1) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n\t\t\t}\n\t\t}, new AsyncFromSyncIterator(r);\n\t}\n\tmodule.exports = _asyncIterator$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/links/httpSubscriptionLink.ts\nvar import_asyncIterator = __toESM(require_asyncIterator(), 1);\nasync function urlWithConnectionParams(opts) {\n\tlet url = await resultOf(opts.url);\n\tif (opts.connectionParams) {\n\t\tconst params = await resultOf(opts.connectionParams);\n\t\tconst prefix = url.includes(\"?\") ? \"&\" : \"?\";\n\t\turl += prefix + \"connectionParams=\" + encodeURIComponent(JSON.stringify(params));\n\t}\n\treturn url;\n}\n/**\n* @see https://trpc.io/docs/client/links/httpSubscriptionLink\n*/\nfunction httpSubscriptionLink(opts) {\n\tconst transformer = getTransformer(opts.transformer);\n\treturn () => {\n\t\treturn ({ op }) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tvar _opts$EventSource;\n\t\t\t\tconst { type, path, input } = op;\n\t\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\t\tif (type !== \"subscription\") throw new Error(\"httpSubscriptionLink only supports subscriptions\");\n\t\t\t\tlet lastEventId = void 0;\n\t\t\t\tconst ac = new AbortController();\n\t\t\t\tconst signal = raceAbortSignals(op.signal, ac.signal);\n\t\t\t\tconst eventSourceStream = sseStreamConsumer({\n\t\t\t\t\turl: async () => getUrl({\n\t\t\t\t\t\ttransformer,\n\t\t\t\t\t\turl: await urlWithConnectionParams(opts),\n\t\t\t\t\t\tinput: inputWithTrackedEventId(input, lastEventId),\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tsignal: null\n\t\t\t\t\t}),\n\t\t\t\t\tinit: () => resultOf(opts.eventSourceOptions, { op }),\n\t\t\t\t\tsignal,\n\t\t\t\t\tdeserialize: (data) => transformer.output.deserialize(data),\n\t\t\t\t\tEventSource: (_opts$EventSource = opts.EventSource) !== null && _opts$EventSource !== void 0 ? _opts$EventSource : globalThis.EventSource\n\t\t\t\t});\n\t\t\t\tconst connectionState = behaviorSubject({\n\t\t\t\t\ttype: \"state\",\n\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\terror: null\n\t\t\t\t});\n\t\t\t\tconst connectionSub = connectionState.subscribe({ next(state) {\n\t\t\t\t\tobserver.next({ result: state });\n\t\t\t\t} });\n\t\t\t\trun(async () => {\n\t\t\t\t\tvar _iteratorAbruptCompletion = false;\n\t\t\t\t\tvar _didIteratorError = false;\n\t\t\t\t\tvar _iteratorError;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfor (var _iterator = (0, import_asyncIterator.default)(eventSourceStream), _step; _iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) {\n\t\t\t\t\t\t\tconst chunk = _step.value;\n\t\t\t\t\t\t\tswitch (chunk.type) {\n\t\t\t\t\t\t\t\tcase \"ping\": break;\n\t\t\t\t\t\t\t\tcase \"data\":\n\t\t\t\t\t\t\t\t\tconst chunkData = chunk.data;\n\t\t\t\t\t\t\t\t\tlet result;\n\t\t\t\t\t\t\t\t\tif (chunkData.id) {\n\t\t\t\t\t\t\t\t\t\tlastEventId = chunkData.id;\n\t\t\t\t\t\t\t\t\t\tresult = {\n\t\t\t\t\t\t\t\t\t\t\tid: chunkData.id,\n\t\t\t\t\t\t\t\t\t\t\tdata: chunkData\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t} else result = { data: chunkData.data };\n\t\t\t\t\t\t\t\t\tobserver.next({\n\t\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t\tcontext: { eventSource: chunk.eventSource }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"connected\": {\n\t\t\t\t\t\t\t\t\tobserver.next({\n\t\t\t\t\t\t\t\t\t\tresult: { type: \"started\" },\n\t\t\t\t\t\t\t\t\t\tcontext: { eventSource: chunk.eventSource }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\t\tstate: \"pending\",\n\t\t\t\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase \"serialized-error\": {\n\t\t\t\t\t\t\t\t\tconst error = TRPCClientError.from({ error: chunk.error });\n\t\t\t\t\t\t\t\t\tif (retryableRpcCodes.includes(chunk.error.code)) {\n\t\t\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase \"connecting\": {\n\t\t\t\t\t\t\t\t\tconst lastState = connectionState.get();\n\t\t\t\t\t\t\t\t\tconst error = chunk.event && TRPCClientError.from(chunk.event);\n\t\t\t\t\t\t\t\t\tif (!error && lastState.state === \"connecting\") break;\n\t\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase \"timeout\": connectionState.next({\n\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\terror: new TRPCClientError(`Timeout of ${chunk.ms}ms reached while waiting for a response`)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t_didIteratorError = true;\n\t\t\t\t\t\t_iteratorError = err;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (_iteratorAbruptCompletion && _iterator.return != null) await _iterator.return();\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({ result: { type: \"stopped\" } });\n\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\tstate: \"idle\",\n\t\t\t\t\t\terror: null\n\t\t\t\t\t});\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}).catch((error) => {\n\t\t\t\t\tobserver.error(TRPCClientError.from(error));\n\t\t\t\t});\n\t\t\t\treturn () => {\n\t\t\t\t\tobserver.complete();\n\t\t\t\t\tac.abort();\n\t\t\t\t\tconnectionSub.unsubscribe();\n\t\t\t\t};\n\t\t\t});\n\t\t};\n\t};\n}\n/**\n* @deprecated use {@link httpSubscriptionLink} instead\n*/\nconst unstable_httpSubscriptionLink = httpSubscriptionLink;\n\n//#endregion\n//#region src/links/retryLink.ts\nvar import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);\n/**\n* @see https://trpc.io/docs/v11/client/links/retryLink\n*/\nfunction retryLink(opts) {\n\treturn () => {\n\t\treturn (callOpts) => {\n\t\t\treturn observable((observer) => {\n\t\t\t\tlet next$;\n\t\t\t\tlet callNextTimeout = void 0;\n\t\t\t\tlet lastEventId = void 0;\n\t\t\t\tattempt(1);\n\t\t\t\tfunction opWithLastEventId() {\n\t\t\t\t\tconst op = callOpts.op;\n\t\t\t\t\tif (!lastEventId) return op;\n\t\t\t\t\treturn (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, op), {}, { input: inputWithTrackedEventId(op.input, lastEventId) });\n\t\t\t\t}\n\t\t\t\tfunction attempt(attempts) {\n\t\t\t\t\tconst op = opWithLastEventId();\n\t\t\t\t\tnext$ = callOpts.next(op).subscribe({\n\t\t\t\t\t\terror(error) {\n\t\t\t\t\t\t\tvar _opts$retryDelayMs, _opts$retryDelayMs2;\n\t\t\t\t\t\t\tconst shouldRetry = opts.retry({\n\t\t\t\t\t\t\t\top,\n\t\t\t\t\t\t\t\tattempts,\n\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (!shouldRetry) {\n\t\t\t\t\t\t\t\tobserver.error(error);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst delayMs = (_opts$retryDelayMs = (_opts$retryDelayMs2 = opts.retryDelayMs) === null || _opts$retryDelayMs2 === void 0 ? void 0 : _opts$retryDelayMs2.call(opts, attempts)) !== null && _opts$retryDelayMs !== void 0 ? _opts$retryDelayMs : 0;\n\t\t\t\t\t\t\tif (delayMs <= 0) {\n\t\t\t\t\t\t\t\tattempt(attempts + 1);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcallNextTimeout = setTimeout(() => attempt(attempts + 1), delayMs);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tnext(envelope) {\n\t\t\t\t\t\t\tif ((!envelope.result.type || envelope.result.type === \"data\") && envelope.result.id) lastEventId = envelope.result.id;\n\t\t\t\t\t\t\tobserver.next(envelope);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcomplete() {\n\t\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn () => {\n\t\t\t\t\tnext$.unsubscribe();\n\t\t\t\t\tclearTimeout(callNextTimeout);\n\t\t\t\t};\n\t\t\t});\n\t\t};\n\t};\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js\nvar require_usingCtx = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js\"(exports, module) {\n\tfunction _usingCtx() {\n\t\tvar r = \"function\" == typeof SuppressedError ? SuppressedError : function(r$1, e$1) {\n\t\t\tvar n$1 = Error();\n\t\t\treturn n$1.name = \"SuppressedError\", n$1.error = r$1, n$1.suppressed = e$1, n$1;\n\t\t}, e = {}, n = [];\n\t\tfunction using(r$1, e$1) {\n\t\t\tif (null != e$1) {\n\t\t\t\tif (Object(e$1) !== e$1) throw new TypeError(\"using declarations can only be used with objects, functions, null, or undefined.\");\n\t\t\t\tif (r$1) var o = e$1[Symbol.asyncDispose || Symbol[\"for\"](\"Symbol.asyncDispose\")];\n\t\t\t\tif (void 0 === o && (o = e$1[Symbol.dispose || Symbol[\"for\"](\"Symbol.dispose\")], r$1)) var t = o;\n\t\t\t\tif (\"function\" != typeof o) throw new TypeError(\"Object is not disposable.\");\n\t\t\t\tt && (o = function o$1() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tt.call(e$1);\n\t\t\t\t\t} catch (r$2) {\n\t\t\t\t\t\treturn Promise.reject(r$2);\n\t\t\t\t\t}\n\t\t\t\t}), n.push({\n\t\t\t\t\tv: e$1,\n\t\t\t\t\td: o,\n\t\t\t\t\ta: r$1\n\t\t\t\t});\n\t\t\t} else r$1 && n.push({\n\t\t\t\td: e$1,\n\t\t\t\ta: r$1\n\t\t\t});\n\t\t\treturn e$1;\n\t\t}\n\t\treturn {\n\t\t\te,\n\t\t\tu: using.bind(null, !1),\n\t\t\ta: using.bind(null, !0),\n\t\t\td: function d() {\n\t\t\t\tvar o, t = this.e, s = 0;\n\t\t\t\tfunction next() {\n\t\t\t\t\tfor (; o = n.pop();) try {\n\t\t\t\t\t\tif (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);\n\t\t\t\t\t\tif (o.d) {\n\t\t\t\t\t\t\tvar r$1 = o.d.call(o.v);\n\t\t\t\t\t\t\tif (o.a) return s |= 2, Promise.resolve(r$1).then(next, err);\n\t\t\t\t\t\t} else s |= 1;\n\t\t\t\t\t} catch (r$2) {\n\t\t\t\t\t\treturn err(r$2);\n\t\t\t\t\t}\n\t\t\t\t\tif (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();\n\t\t\t\t\tif (t !== e) throw t;\n\t\t\t\t}\n\t\t\t\tfunction err(n$1) {\n\t\t\t\t\treturn t = t !== e ? new r(n$1, t) : n$1, next();\n\t\t\t\t}\n\t\t\t\treturn next();\n\t\t\t}\n\t\t};\n\t}\n\tmodule.exports = _usingCtx, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js\nvar require_OverloadYield = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js\"(exports, module) {\n\tfunction _OverloadYield(e, d) {\n\t\tthis.v = e, this.k = d;\n\t}\n\tmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js\nvar require_awaitAsyncGenerator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js\"(exports, module) {\n\tvar OverloadYield$1 = require_OverloadYield();\n\tfunction _awaitAsyncGenerator$1(e) {\n\t\treturn new OverloadYield$1(e, 0);\n\t}\n\tmodule.exports = _awaitAsyncGenerator$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js\nvar require_wrapAsyncGenerator = __commonJS({ \"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js\"(exports, module) {\n\tvar OverloadYield = require_OverloadYield();\n\tfunction _wrapAsyncGenerator$1(e) {\n\t\treturn function() {\n\t\t\treturn new AsyncGenerator(e.apply(this, arguments));\n\t\t};\n\t}\n\tfunction AsyncGenerator(e) {\n\t\tvar r, t;\n\t\tfunction resume(r$1, t$1) {\n\t\t\ttry {\n\t\t\t\tvar n = e[r$1](t$1), o = n.value, u = o instanceof OverloadYield;\n\t\t\t\tPromise.resolve(u ? o.v : o).then(function(t$2) {\n\t\t\t\t\tif (u) {\n\t\t\t\t\t\tvar i = \"return\" === r$1 ? \"return\" : \"next\";\n\t\t\t\t\t\tif (!o.k || t$2.done) return resume(i, t$2);\n\t\t\t\t\t\tt$2 = e[i](t$2).value;\n\t\t\t\t\t}\n\t\t\t\t\tsettle(n.done ? \"return\" : \"normal\", t$2);\n\t\t\t\t}, function(e$1) {\n\t\t\t\t\tresume(\"throw\", e$1);\n\t\t\t\t});\n\t\t\t} catch (e$1) {\n\t\t\t\tsettle(\"throw\", e$1);\n\t\t\t}\n\t\t}\n\t\tfunction settle(e$1, n) {\n\t\t\tswitch (e$1) {\n\t\t\t\tcase \"return\":\n\t\t\t\t\tr.resolve({\n\t\t\t\t\t\tvalue: n,\n\t\t\t\t\t\tdone: !0\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"throw\":\n\t\t\t\t\tr.reject(n);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: r.resolve({\n\t\t\t\t\tvalue: n,\n\t\t\t\t\tdone: !1\n\t\t\t\t});\n\t\t\t}\n\t\t\t(r = r.next) ? resume(r.key, r.arg) : t = null;\n\t\t}\n\t\tthis._invoke = function(e$1, n) {\n\t\t\treturn new Promise(function(o, u) {\n\t\t\t\tvar i = {\n\t\t\t\t\tkey: e$1,\n\t\t\t\t\targ: n,\n\t\t\t\t\tresolve: o,\n\t\t\t\t\treject: u,\n\t\t\t\t\tnext: null\n\t\t\t\t};\n\t\t\t\tt ? t = t.next = i : (r = t = i, resume(e$1, n));\n\t\t\t});\n\t\t}, \"function\" != typeof e[\"return\"] && (this[\"return\"] = void 0);\n\t}\n\tAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function() {\n\t\treturn this;\n\t}, AsyncGenerator.prototype.next = function(e) {\n\t\treturn this._invoke(\"next\", e);\n\t}, AsyncGenerator.prototype[\"throw\"] = function(e) {\n\t\treturn this._invoke(\"throw\", e);\n\t}, AsyncGenerator.prototype[\"return\"] = function(e) {\n\t\treturn this._invoke(\"return\", e);\n\t};\n\tmodule.exports = _wrapAsyncGenerator$1, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n} });\n\n//#endregion\n//#region src/links/localLink.ts\nvar import_usingCtx = __toESM(require_usingCtx(), 1);\nvar import_awaitAsyncGenerator = __toESM(require_awaitAsyncGenerator(), 1);\nvar import_wrapAsyncGenerator = __toESM(require_wrapAsyncGenerator(), 1);\nvar import_objectSpread2 = __toESM(require_objectSpread2(), 1);\n/**\n* localLink is a terminating link that allows you to make tRPC procedure calls directly in your application without going through HTTP.\n*\n* @see https://trpc.io/docs/links/localLink\n*/\nfunction unstable_localLink(opts) {\n\tconst transformer = getTransformer(opts.transformer);\n\tconst transformChunk = (chunk) => {\n\t\tif (opts.transformer) return chunk;\n\t\tif (chunk === void 0) return chunk;\n\t\tconst serialized = JSON.stringify(transformer.input.serialize(chunk));\n\t\tconst deserialized = JSON.parse(transformer.output.deserialize(serialized));\n\t\treturn deserialized;\n\t};\n\treturn () => ({ op }) => observable((observer) => {\n\t\tlet ctx = void 0;\n\t\tconst ac = new AbortController();\n\t\tconst signal = raceAbortSignals(op.signal, ac.signal);\n\t\tconst signalPromise = abortSignalToPromise(signal);\n\t\tsignalPromise.catch(() => {});\n\t\tlet input = op.input;\n\t\tasync function runProcedure(newInput) {\n\t\t\tinput = newInput;\n\t\t\tctx = await opts.createContext();\n\t\t\treturn callProcedure({\n\t\t\t\trouter: opts.router,\n\t\t\t\tpath: op.path,\n\t\t\t\tgetRawInput: async () => newInput,\n\t\t\t\tctx,\n\t\t\t\ttype: op.type,\n\t\t\t\tsignal,\n\t\t\t\tbatchIndex: 0\n\t\t\t});\n\t\t}\n\t\tfunction onErrorCallback(cause) {\n\t\t\tvar _opts$onError;\n\t\t\tif (isAbortError(cause)) return;\n\t\t\t(_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, {\n\t\t\t\terror: getTRPCErrorFromUnknown(cause),\n\t\t\t\ttype: op.type,\n\t\t\t\tpath: op.path,\n\t\t\t\tinput,\n\t\t\t\tctx\n\t\t\t});\n\t\t}\n\t\tfunction coerceToTRPCClientError(cause) {\n\t\t\tif (isTRPCClientError(cause)) return cause;\n\t\t\tconst error = getTRPCErrorFromUnknown(cause);\n\t\t\tconst shape = getTRPCErrorShape({\n\t\t\t\tconfig: opts.router._def._config,\n\t\t\t\tctx,\n\t\t\t\terror,\n\t\t\t\tinput,\n\t\t\t\tpath: op.path,\n\t\t\t\ttype: op.type\n\t\t\t});\n\t\t\treturn TRPCClientError.from({ error: transformChunk(shape) }, { cause: cause instanceof Error ? cause : void 0 });\n\t\t}\n\t\trun(async () => {\n\t\t\tswitch (op.type) {\n\t\t\t\tcase \"query\":\n\t\t\t\tcase \"mutation\": {\n\t\t\t\t\tconst result = await runProcedure(op.input);\n\t\t\t\t\tif (!isAsyncIterable(result)) {\n\t\t\t\t\t\tobserver.next({ result: { data: transformChunk(result) } });\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tobserver.next({ result: { data: (0, import_wrapAsyncGenerator.default)(function* () {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tvar _usingCtx$1 = (0, import_usingCtx.default)();\n\t\t\t\t\t\t\tconst iterator = _usingCtx$1.a(iteratorResource(result));\n\t\t\t\t\t\t\tconst _finally = _usingCtx$1.u(makeResource({}, () => {\n\t\t\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\t\t\tconst res = yield (0, import_awaitAsyncGenerator.default)(Promise.race([iterator.next(), signalPromise]));\n\t\t\t\t\t\t\t\t\tif (res.done) return transformChunk(res.value);\n\t\t\t\t\t\t\t\t\tyield transformChunk(res.value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\t\t\tonErrorCallback(cause);\n\t\t\t\t\t\t\t\tthrow coerceToTRPCClientError(cause);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (_) {\n\t\t\t\t\t\t\t_usingCtx$1.e = _;\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tyield (0, import_awaitAsyncGenerator.default)(_usingCtx$1.d());\n\t\t\t\t\t\t}\n\t\t\t\t\t})() } });\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase \"subscription\": try {\n\t\t\t\t\tvar _usingCtx3 = (0, import_usingCtx.default)();\n\t\t\t\t\tconst connectionState = behaviorSubject({\n\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\terror: null\n\t\t\t\t\t});\n\t\t\t\t\tconst connectionSub = connectionState.subscribe({ next(state) {\n\t\t\t\t\t\tobserver.next({ result: state });\n\t\t\t\t\t} });\n\t\t\t\t\tlet lastEventId = void 0;\n\t\t\t\t\tconst _finally = _usingCtx3.u(makeResource({}, async () => {\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\tstate: \"idle\",\n\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconnectionSub.unsubscribe();\n\t\t\t\t\t}));\n\t\t\t\t\twhile (true) try {\n\t\t\t\t\t\tvar _usingCtx4 = (0, import_usingCtx.default)();\n\t\t\t\t\t\tconst result = await runProcedure(inputWithTrackedEventId(op.input, lastEventId));\n\t\t\t\t\t\tif (!isAsyncIterable(result)) throw new Error(\"Expected an async iterable\");\n\t\t\t\t\t\tconst iterator = _usingCtx4.a(iteratorResource(result));\n\t\t\t\t\t\tobserver.next({ result: { type: \"started\" } });\n\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\tstate: \"pending\",\n\t\t\t\t\t\t\terror: null\n\t\t\t\t\t\t});\n\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\tlet res;\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tres = await Promise.race([iterator.next(), signalPromise]);\n\t\t\t\t\t\t\t} catch (cause) {\n\t\t\t\t\t\t\t\tif (isAbortError(cause)) return;\n\t\t\t\t\t\t\t\tconst error = getTRPCErrorFromUnknown(cause);\n\t\t\t\t\t\t\t\tif (!retryableRpcCodes.includes(TRPC_ERROR_CODES_BY_KEY[error.code])) throw coerceToTRPCClientError(error);\n\t\t\t\t\t\t\t\tonErrorCallback(error);\n\t\t\t\t\t\t\t\tconnectionState.next({\n\t\t\t\t\t\t\t\t\ttype: \"state\",\n\t\t\t\t\t\t\t\t\tstate: \"connecting\",\n\t\t\t\t\t\t\t\t\terror: coerceToTRPCClientError(error)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (res.done) return;\n\t\t\t\t\t\t\tlet chunk;\n\t\t\t\t\t\t\tif (isTrackedEnvelope(res.value)) {\n\t\t\t\t\t\t\t\tlastEventId = res.value[0];\n\t\t\t\t\t\t\t\tchunk = {\n\t\t\t\t\t\t\t\t\tid: res.value[0],\n\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\tid: res.value[0],\n\t\t\t\t\t\t\t\t\t\tdata: res.value[1]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} else chunk = { data: res.value };\n\t\t\t\t\t\t\tobserver.next({ result: (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, chunk), {}, { data: transformChunk(chunk.data) }) });\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (_) {\n\t\t\t\t\t\t_usingCtx4.e = _;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tawait _usingCtx4.d();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t} catch (_) {\n\t\t\t\t\t_usingCtx3.e = _;\n\t\t\t\t} finally {\n\t\t\t\t\t_usingCtx3.d();\n\t\t\t\t}\n\t\t\t}\n\t\t}).catch((cause) => {\n\t\t\tonErrorCallback(cause);\n\t\t\tobserver.error(coerceToTRPCClientError(cause));\n\t\t});\n\t\treturn () => {\n\t\t\tac.abort();\n\t\t};\n\t});\n}\n/**\n* @deprecated Renamed to `unstable_localLink`. This alias will be removed in a future major release.\n*/\nconst experimental_localLink = unstable_localLink;\n\n//#endregion\nexport { TRPCClientError, TRPCUntypedClient, clientCallTypeToProcedureType, createTRPCClient, createTRPCClientProxy, createTRPCClient as createTRPCProxyClient, createTRPCUntypedClient, createWSClient, experimental_localLink, getFetch, getUntypedClient, httpBatchLink, httpBatchStreamLink, httpLink, httpSubscriptionLink, isFormData, isNonJsonSerializable, isOctetType, isTRPCClientError, jsonEncoder, loggerLink, retryLink, splitLink, unstable_httpBatchStreamLink, unstable_httpSubscriptionLink, unstable_localLink, wsLink };\n//# sourceMappingURL=index.mjs.map","import { createTRPCClient, httpBatchLink } from '@trpc/client';\nimport type { AppRouter } from '../../../server/trpc';\n\nlet cachedToken: string | null = null;\n\nfunction getAuthToken(): string | null {\n if (typeof window === 'undefined') return null;\n if (cachedToken) return cachedToken;\n cachedToken = localStorage.getItem('auth_token');\n return cachedToken;\n}\n\nexport function setAuthToken(token: string | null) {\n cachedToken = token;\n if (typeof window !== 'undefined') {\n if (token) {\n localStorage.setItem('auth_token', token);\n } else {\n localStorage.removeItem('auth_token');\n }\n }\n}\n\n// Create tRPC client with auth\nexport const trpc = createTRPCClient({\n links: [\n httpBatchLink({\n url: `${(import.meta as any).env?.VITE_API_URL || 'http://localhost:8080'}/trpc`,\n headers: () => {\n const token = getAuthToken();\n return {\n authorization: token ? `Bearer ${token}` : '',\n };\n },\n }),\n ],\n});\n\nexport type { AppRouter };\n","import { createContext, createSignal, useContext, onMount, Accessor, JSX } from 'solid-js';\nimport { Navigate } from '@solidjs/router';\nimport { getClerk, loadClerk, getClerkUrls } from './clerk-client';\nimport { User, UserRole, AuthState } from './types';\nimport { setAuthToken } from '../api/trpc-client';\n\ninterface ClerkUser {\n id: string;\n primaryEmailAddress?: {\n emailAddress: string;\n } | null;\n firstName?: string | null;\n lastName?: string | null;\n imageUrl: string;\n publicMetadata?: {\n role?: UserRole;\n };\n update: (data: any) => Promise;\n}\n\ninterface ClerkSession {\n getId: () => string;\n getUser: () => ClerkUser;\n}\n\ninterface ClerkClient {\n user: () => any;\n session: () => any;\n isLoading: boolean;\n signOut: () => Promise;\n}\n\nconst AuthContext = createContext | undefined>(undefined);\nconst AuthActionsContext = createContext<{\n signIn: () => void;\n signOut: () => Promise;\n updateUser: (data: Partial) => Promise;\n clerkClient: Accessor;\n} | undefined>(undefined);\n\nexport { AuthContext, AuthActionsContext };\n\nfunction clerkUserToUser(clerkUser: any): User {\n const primaryEmail = clerkUser.primaryEmailAddress?.emailAddress || '';\n const firstName = clerkUser.firstName || '';\n const lastName = clerkUser.lastName || '';\n const name = [firstName, lastName].filter(Boolean).join(' ') || primaryEmail.split('@')[0] || 'User';\n \n const roleFromMetadata = (clerkUser.publicMetadata?.role as UserRole) || 'viewer';\n\n return {\n id: clerkUser.id,\n email: primaryEmail,\n name,\n avatarUrl: clerkUser.imageUrl,\n role: roleFromMetadata,\n };\n}\n\nexport function ClerkProvider(props: { children: JSX.Element }) {\n const [state, setState] = createSignal({\n user: null,\n isLoading: true,\n isAuthenticated: false,\n error: null,\n });\n\n const [clerkClient, setClerkClient] = createSignal(null);\n\n onMount(async () => {\n try {\n const client = await loadClerk();\n if (!client) {\n setState({\n user: null,\n isLoading: false,\n isAuthenticated: false,\n error: 'Authentication service unavailable',\n });\n return;\n }\n\n const wrappedClient: ClerkClient = {\n user: () => client.user,\n session: () => (client.session as any) || null,\n isLoading: false,\n signOut: async () => {\n await client.signOut();\n setState({\n user: null,\n isLoading: false,\n isAuthenticated: false,\n error: null,\n });\n },\n };\n\n setClerkClient(wrappedClient);\n\n if (client.user) {\n const session = client.session as any;\n if (session) {\n const token = await session.getToken();\n if (token) {\n setAuthToken(token);\n }\n }\n \n setState({\n user: clerkUserToUser(client.user),\n isLoading: false,\n isAuthenticated: true,\n error: null,\n });\n } else {\n setState((prev) => ({ ...prev, isLoading: false }));\n setAuthToken(null);\n }\n\n client.addListener((event) => {\n if ((event as any).type === 'user' && (event as any).user) {\n setState({\n user: clerkUserToUser((event as any).user),\n isLoading: false,\n isAuthenticated: true,\n error: null,\n });\n } else if ((event as any).type === 'signOut') {\n setState({\n user: null,\n isLoading: false,\n isAuthenticated: false,\n error: null,\n });\n }\n });\n } catch (err) {\n setState({\n user: null,\n isLoading: false,\n isAuthenticated: false,\n error: err instanceof Error ? err.message : 'Failed to initialize auth',\n });\n }\n });\n\n const signIn = () => {\n const urls = getClerkUrls();\n window.location.href = urls.signInUrl;\n };\n\n const signOut = async () => {\n const client = getClerk();\n if (client) {\n await client.signOut();\n }\n setAuthToken(null);\n setState({\n user: null,\n isLoading: false,\n isAuthenticated: false,\n error: null,\n });\n };\n\n const updateUser = async (data: Partial) => {\n const client = getClerk();\n if (!client?.user) {\n throw new Error('Not authenticated');\n }\n\n const clerkUser = client.user;\n const updates: any = {};\n \n if (data.name) {\n const [firstName, ...lastNameParts] = data.name.split(' ');\n updates.firstName = firstName;\n updates.lastName = lastNameParts.join(' ');\n }\n \n await clerkUser.update(updates);\n \n setState((prev) => ({\n ...prev,\n user: prev.user ? { ...prev.user, ...data } : null,\n }));\n };\n\n return (\n \n \n {props.children}\n \n \n );\n}\n\nexport function useAuth(): Accessor {\n const context = useContext(AuthContext);\n if (!context) {\n throw new Error('useAuth must be used within a ClerkProvider');\n }\n return context;\n}\n\nexport function useAuthActions() {\n const context = useContext(AuthActionsContext);\n if (!context) {\n throw new Error('useAuthActions must be used within a ClerkProvider');\n }\n return context;\n}\n\nexport function RequireAuth(props: { children: JSX.Element }) {\n const auth = useAuth();\n const authState = auth();\n \n if (authState.isLoading) {\n return
          Loading...
          ;\n }\n \n if (!authState.isAuthenticated) {\n return ;\n }\n \n return props.children;\n}\n","import { Component, Match, Switch } from 'solid-js';\nimport { Navigate, RouteSectionProps, useIsRouting } from '@solidjs/router';\nimport { useAuth } from '../../lib/auth';\n\nexport const ProtectedRoute: Component = (props) => {\n const auth = useAuth();\n const isRouting = useIsRouting();\n\n return (\n \n \n
          \n
          \n
          \n \n \n \n \n \n
          {props.children}
          \n
          \n \n );\n};\n","import { Component } from 'solid-js';\nimport { useAuth, useAuthActions } from '../../lib/auth';\nimport { getClerk } from '../../lib/auth/clerk-client';\n\nexport const SignIn: Component = () => {\n const auth = useAuth();\n const { signIn } = useAuthActions();\n\n return (\n
          \n
          \n
          \n

          Welcome back

          \n

          Sign in to your FrenoCorp account

          \n
          \n\n {auth().error && (\n
          \n {auth().error}\n
          \n )}\n\n
          \n \n \n \n
          \n\n
          \n

          \n Don't have an account?{' '}\n Create one\n

          \n
          \n
          \n
          \n );\n};\n","import { Component, createSignal } from 'solid-js';\nimport { getClerk } from '../../lib/auth/clerk-client';\n\nexport const SignUp: Component = () => {\n const [email, setEmail] = createSignal('');\n const [name, setName] = createSignal('');\n const [password, setPassword] = createSignal('');\n const [error, setError] = createSignal(null);\n const [loading, setLoading] = createSignal(false);\n\n const handleSubmit = async (e: Event) => {\n e.preventDefault();\n setLoading(true);\n setError(null);\n\n try {\n const clerk = getClerk();\n if (!clerk) {\n setError('Authentication service unavailable');\n return;\n }\n\n await clerk.openSignUp({\n initialValues: {\n emailAddress: email(),\n firstName: name().split(' ')[0] || '',\n lastName: name().split(' ')[1] || '',\n },\n });\n\n window.location.href = '/';\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to create account');\n } finally {\n setLoading(false);\n }\n };\n\n return (\n
          \n
          \n
          \n

          Create your account

          \n

          Start writing collaboratively today

          \n
          \n\n {error() && (\n
          \n {error()}\n
          \n )}\n\n
          \n
          \n \n setName(e.target.value)}\n />\n
          \n\n
          \n \n setEmail(e.target.value)}\n />\n
          \n\n
          \n \n setPassword(e.target.value)}\n />\n
          \n\n \n
          \n\n
          \n or\n
          \n\n
          \n \n \n
          \n\n
          \n

          \n Already have an account?{' '}\n Sign in\n

          \n
          \n
          \n
          \n );\n};\n","// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n // We cannot have TimeoutManager as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support the default provider's concrete timer ID, which is\n // infeasible across environments.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveQueryBoolean(option, query) {\n return typeof option === \"function\" ? option(query) : option;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/environmentManager.ts\nimport { isServer } from \"./utils.js\";\nvar environmentManager = /* @__PURE__ */ (() => {\n let isServerFn = () => isServer;\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer() {\n return isServerFn();\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue) {\n isServerFn = isServerValue;\n }\n };\n})();\nexport {\n environmentManager\n};\n//# sourceMappingURL=environmentManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/hydration.ts\nimport { tryResolveSync } from \"./thenable.js\";\nimport { noop } from \"./utils.js\";\nfunction defaultTransformerFn(data) {\n return data;\n}\nfunction dehydrateMutation(mutation) {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...mutation.options.scope && { scope: mutation.options.scope },\n ...mutation.meta && { meta: mutation.meta }\n };\n}\nfunction dehydrateQuery(query, serializeData, shouldRedactErrors) {\n const dehydratePromise = () => {\n const promise = query.promise?.then(serializeData).catch((error) => {\n if (!shouldRedactErrors(error)) {\n return Promise.reject(error);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`\n );\n }\n return Promise.reject(new Error(\"redacted\"));\n });\n promise?.catch(noop);\n return promise;\n };\n return {\n dehydratedAt: Date.now(),\n state: {\n ...query.state,\n ...query.state.data !== void 0 && {\n data: serializeData(query.state.data)\n }\n },\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...query.state.status === \"pending\" && {\n promise: dehydratePromise()\n },\n ...query.meta && { meta: query.meta }\n };\n}\nfunction defaultShouldDehydrateMutation(mutation) {\n return mutation.state.isPaused;\n}\nfunction defaultShouldDehydrateQuery(query) {\n return query.state.status === \"success\";\n}\nfunction defaultShouldRedactErrors(_) {\n return true;\n}\nfunction dehydrate(client, options = {}) {\n const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;\n const mutations = client.getMutationCache().getAll().flatMap(\n (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []\n );\n const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;\n const shouldRedactErrors = options.shouldRedactErrors ?? client.getDefaultOptions().dehydrate?.shouldRedactErrors ?? defaultShouldRedactErrors;\n const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;\n const queries = client.getQueryCache().getAll().flatMap(\n (query) => filterQuery(query) ? [dehydrateQuery(query, serializeData, shouldRedactErrors)] : []\n );\n return { mutations, queries };\n}\nfunction hydrate(client, dehydratedState, options) {\n if (typeof dehydratedState !== \"object\" || dehydratedState === null) {\n return;\n }\n const mutationCache = client.getMutationCache();\n const queryCache = client.getQueryCache();\n const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;\n const mutations = dehydratedState.mutations || [];\n const queries = dehydratedState.queries || [];\n mutations.forEach(({ state, ...mutationOptions }) => {\n mutationCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.mutations,\n ...options?.defaultOptions?.mutations,\n ...mutationOptions\n },\n state\n );\n });\n queries.forEach(\n ({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {\n const syncData = promise ? tryResolveSync(promise) : void 0;\n const rawData = state.data === void 0 ? syncData?.data : state.data;\n const data = rawData === void 0 ? rawData : deserializeData(rawData);\n let query = queryCache.get(queryHash);\n const existingQueryIsPending = query?.state.status === \"pending\";\n const existingQueryIsFetching = query?.state.fetchStatus === \"fetching\";\n if (query) {\n const hasNewerSyncData = syncData && // We only need this undefined check to handle older dehydration\n // payloads that might not have dehydratedAt\n dehydratedAt !== void 0 && dehydratedAt > query.state.dataUpdatedAt;\n if (state.dataUpdatedAt > query.state.dataUpdatedAt || hasNewerSyncData) {\n const { fetchStatus: _ignored, ...serializedState } = state;\n query.setState({\n ...serializedState,\n data,\n // If the query was pending at the moment of dehydration, but resolved to have data\n // before hydration, we can assume the query should be hydrated as successful.\n //\n // Since you can opt into dehydrating failed queries, and those can have data from\n // previous successful fetches, we make sure we only do this for pending queries.\n ...state.status === \"pending\" && data !== void 0 && {\n status: \"success\",\n // Preserve existing fetchStatus if the existing query is actively fetching.\n ...!existingQueryIsFetching && {\n fetchStatus: \"idle\"\n }\n }\n });\n }\n } else {\n query = queryCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.queries,\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n data,\n fetchStatus: \"idle\",\n // Like above, if the query was pending at the moment of dehydration but has data,\n // we can assume it should be hydrated as successful.\n status: state.status === \"pending\" && data !== void 0 ? \"success\" : state.status\n }\n );\n }\n if (promise && // If the data was synchronously available, there is no need to set up\n // a retryer and thus no reason to call fetch\n !syncData && !existingQueryIsPending && !existingQueryIsFetching && // Only hydrate if dehydration is newer than any existing data,\n // this is always true for new queries\n (dehydratedAt === void 0 || dehydratedAt > query.state.dataUpdatedAt)) {\n query.fetch(void 0, {\n // RSC transformed promises are not thenable\n initialPromise: Promise.resolve(promise).then(deserializeData)\n }).catch(noop);\n }\n }\n );\n}\nexport {\n defaultShouldDehydrateMutation,\n defaultShouldDehydrateQuery,\n dehydrate,\n hydrate\n};\n//# sourceMappingURL=hydration.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\n const cancel = (cancelOptions) => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions);\n reject(error);\n config.onCancel?.(error);\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved()) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved()) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved()) {\n return;\n }\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n status: () => thenable.status,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt)\n );\n this.#initialState = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n get resetState() {\n return this.#initialState;\n }\n reset() {\n this.destroy();\n this.setState(this.resetState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveQueryBoolean(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || !this.isFetched();\n }\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n #isInitialPausedFetch() {\n return this.state.fetchStatus === \"paused\" && this.state.status === \"pending\";\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n this.options.behavior?.onFetch(context, this);\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await this.#retryer.start();\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\",\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (environmentManager.isServer() || resolveQueryBoolean(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId !== void 0) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId !== void 0) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && resolveQueryBoolean(options.retryOnMount, query) === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveQueryBoolean(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #client;\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.#client = config.client;\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n const mutationFnContext = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n if (this.#mutationCache.config.onMutate) {\n await this.#mutationCache.config.onMutate(\n variables,\n this,\n mutationFnContext\n );\n }\n const context = await this.options.onMutate?.(\n variables,\n mutationFnContext\n );\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSuccess?.(\n data,\n variables,\n this.state.context,\n mutationFnContext\n );\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSettled?.(\n data,\n null,\n variables,\n this.state.context,\n mutationFnContext\n );\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n this.#dispatch({ type: \"error\", error });\n throw error;\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","import { MutationObserver, shouldThrowError, QueriesObserver, noop, QueryClient as QueryClient$1, replaceEqualDeep, hydrate, notifyManager, QueryObserver, InfiniteQueryObserver } from '@tanstack/query-core';\nexport * from '@tanstack/query-core';\nimport { createContext, useContext, createRenderEffect, onCleanup, createMemo, createComputed, on, mergeProps, createResource, batch, onMount, createSignal, createEffect } from 'solid-js';\nimport { createComponent, isServer } from 'solid-js/web';\nimport { createStore, unwrap, reconcile } from 'solid-js/store';\n\n// src/useQuery.ts\nvar QueryClientContext = createContext(void 0);\nvar useQueryClient = (queryClient) => {\n if (queryClient) {\n return queryClient;\n }\n const client = useContext(QueryClientContext);\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client();\n};\nvar QueryClientProvider = (props) => {\n createRenderEffect((unmount) => {\n unmount?.();\n props.client.mount();\n return props.client.unmount.bind(props.client);\n });\n onCleanup(() => props.client.unmount());\n return createComponent(QueryClientContext.Provider, {\n value: () => props.client,\n get children() {\n return props.children;\n }\n });\n};\nvar IsRestoringContext = createContext(() => false);\nvar useIsRestoring = () => useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\n\n// src/useBaseQuery.ts\nfunction reconcileFn(store, result, reconcileOption, queryHash) {\n if (reconcileOption === false) return result;\n if (typeof reconcileOption === \"function\") {\n const newData2 = reconcileOption(store.data, result.data);\n return { ...result, data: newData2 };\n }\n let data = result.data;\n if (store.data === void 0) {\n try {\n data = structuredClone(data);\n } catch (error) {\n {\n if (error instanceof Error) {\n console.warn(\n `Unable to correctly reconcile data for query key: ${queryHash}. Possibly because the query data contains data structures that aren't supported by the 'structuredClone' algorithm. Consider using a callback function instead to manage the reconciliation manually.\n\n Error Received: ${error.name} - ${error.message}`\n );\n }\n }\n }\n }\n const newData = reconcile(data, { key: reconcileOption })(store.data);\n return { ...result, data: newData };\n}\nvar hydratableObserverResult = (query, result) => {\n if (!isServer) return result;\n const obj = {\n ...unwrap(result),\n // During SSR, functions cannot be serialized, so we need to remove them\n // This is safe because we will add these functions back when the query is hydrated\n refetch: void 0\n };\n if (\"fetchNextPage\" in result) {\n obj.fetchNextPage = void 0;\n obj.fetchPreviousPage = void 0;\n }\n obj.hydrationData = {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...query.meta && { meta: query.meta }\n };\n return obj;\n};\nfunction useBaseQuery(options, Observer, queryClient) {\n const client = createMemo(() => useQueryClient(queryClient?.()));\n const isRestoring = useIsRestoring();\n let unsubscribeQueued = false;\n const defaultedOptions = createMemo(() => {\n const defaultOptions = client().defaultQueryOptions(options());\n defaultOptions._optimisticResults = isRestoring() ? \"isRestoring\" : \"optimistic\";\n defaultOptions.structuralSharing = false;\n if (isServer) {\n defaultOptions.retry = false;\n defaultOptions.throwOnError = true;\n defaultOptions.experimental_prefetchInRender = true;\n }\n return defaultOptions;\n });\n const initialOptions = defaultedOptions();\n const [observer, setObserver] = createSignal(\n new Observer(client(), defaultedOptions())\n );\n let observerResult = observer().getOptimisticResult(defaultedOptions());\n const [state, setState] = createStore(observerResult);\n const createServerSubscriber = (resolve, reject) => {\n return observer().subscribe((result) => {\n notifyManager.batchCalls(() => {\n const query = observer().getCurrentQuery();\n const unwrappedResult = hydratableObserverResult(query, result);\n if (result.data !== void 0 && unwrappedResult.isError) {\n reject(unwrappedResult.error);\n unsubscribeIfQueued();\n } else {\n resolve(unwrappedResult);\n unsubscribeIfQueued();\n }\n })();\n });\n };\n const unsubscribeIfQueued = () => {\n if (unsubscribeQueued) {\n unsubscribe?.();\n unsubscribeQueued = false;\n }\n };\n const createClientSubscriber = () => {\n const obs = observer();\n return obs.subscribe((result) => {\n observerResult = result;\n queueMicrotask(() => {\n if (unsubscribe) {\n refetch();\n }\n });\n });\n };\n function setStateWithReconciliation(res) {\n const opts = observer().options;\n const reconcileOptions = opts.reconcile;\n setState((store) => {\n return reconcileFn(\n store,\n res,\n reconcileOptions === void 0 ? false : reconcileOptions,\n opts.queryHash\n );\n });\n }\n function createDeepSignal() {\n return [\n () => state,\n (v) => {\n const unwrapped = unwrap(state);\n if (typeof v === \"function\") {\n v = v(unwrapped);\n }\n if (v?.hydrationData) {\n const { hydrationData, ...rest } = v;\n v = rest;\n }\n setStateWithReconciliation(v);\n }\n ];\n }\n let unsubscribe = null;\n let resolver = null;\n const [queryResource, { refetch }] = createResource(\n () => {\n const obs = observer();\n return new Promise((resolve, reject) => {\n resolver = resolve;\n if (isServer) {\n unsubscribe = createServerSubscriber(resolve, reject);\n } else if (!unsubscribe && !isRestoring()) {\n unsubscribe = createClientSubscriber();\n }\n obs.updateResult();\n if (observerResult.isError && !observerResult.isFetching && !isRestoring() && shouldThrowError(obs.options.throwOnError, [\n observerResult.error,\n obs.getCurrentQuery()\n ])) {\n setStateWithReconciliation(observerResult);\n return reject(observerResult.error);\n }\n if (!observerResult.isLoading) {\n resolver = null;\n return resolve(\n hydratableObserverResult(obs.getCurrentQuery(), observerResult)\n );\n }\n setStateWithReconciliation(observerResult);\n });\n },\n {\n storage: createDeepSignal,\n get deferStream() {\n return options().deferStream;\n },\n /**\n * If this resource was populated on the server (either sync render, or streamed in over time), onHydrated\n * will be called. This is the point at which we can hydrate the query cache state, and setup the query subscriber.\n *\n * Leveraging onHydrated allows us to plug into the async and streaming support that solidjs resources already support.\n *\n * Note that this is only invoked on the client, for queries that were originally run on the server.\n */\n onHydrated(_k, info) {\n if (info.value && \"hydrationData\" in info.value) {\n hydrate(client(), {\n // @ts-expect-error - hydrationData is not correctly typed internally\n queries: [{ ...info.value.hydrationData }]\n });\n }\n if (unsubscribe) return;\n const newOptions = { ...initialOptions };\n if ((initialOptions.staleTime || !initialOptions.initialData) && info.value) {\n newOptions.refetchOnMount = false;\n }\n observer().setOptions(newOptions);\n setStateWithReconciliation(observer().getOptimisticResult(newOptions));\n unsubscribe = createClientSubscriber();\n }\n }\n );\n createComputed(\n on(\n client,\n (c) => {\n if (unsubscribe) {\n unsubscribe();\n }\n const newObserver = new Observer(c, defaultedOptions());\n unsubscribe = createClientSubscriber();\n setObserver(newObserver);\n },\n {\n defer: true\n }\n )\n );\n createComputed(\n on(\n isRestoring,\n (restoring) => {\n if (!restoring && !isServer) {\n refetch();\n }\n },\n { defer: true }\n )\n );\n onCleanup(() => {\n if (isServer && queryResource.loading) {\n unsubscribeQueued = true;\n return;\n }\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = null;\n }\n if (resolver && !isServer) {\n resolver(observerResult);\n resolver = null;\n }\n });\n createComputed(\n on(\n [observer, defaultedOptions],\n ([obs, opts]) => {\n obs.setOptions(opts);\n setStateWithReconciliation(obs.getOptimisticResult(opts));\n refetch();\n },\n { defer: true }\n )\n );\n const handler = {\n get(target, prop) {\n if (prop === \"data\") {\n if (state.data !== void 0) {\n return queryResource.latest?.data;\n }\n return queryResource()?.data;\n }\n return Reflect.get(target, prop);\n }\n };\n return new Proxy(state, handler);\n}\n\n// src/useQuery.ts\nfunction useQuery(options, queryClient) {\n return useBaseQuery(\n createMemo(() => options()),\n QueryObserver,\n queryClient\n );\n}\nfunction useInfiniteQuery(options, queryClient) {\n return useBaseQuery(\n createMemo(() => options()),\n InfiniteQueryObserver,\n queryClient\n );\n}\nfunction useMutation(options, queryClient) {\n const client = createMemo(() => useQueryClient(queryClient?.()));\n const observer = new MutationObserver(client(), options());\n const mutate = (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n };\n const [state, setState] = createStore({\n ...observer.getCurrentResult(),\n mutate,\n mutateAsync: observer.getCurrentResult().mutate\n });\n createComputed(() => {\n observer.setOptions(options());\n });\n createComputed(\n on(\n () => state.status,\n () => {\n if (state.isError && shouldThrowError(observer.options.throwOnError, [state.error])) {\n throw state.error;\n }\n }\n )\n );\n const unsubscribe = observer.subscribe((result) => {\n setState({\n ...result,\n mutate,\n mutateAsync: result.mutate\n });\n });\n onCleanup(unsubscribe);\n return state;\n}\nfunction useQueries(queriesOptions, queryClient) {\n const client = createMemo(() => useQueryClient(queryClient?.()));\n const isRestoring = useIsRestoring();\n const defaultedQueries = createMemo(\n () => queriesOptions().queries.map(\n (options) => mergeProps(\n client().defaultQueryOptions(options),\n {\n get _optimisticResults() {\n return isRestoring() ? \"isRestoring\" : \"optimistic\";\n }\n }\n )\n )\n );\n const observer = new QueriesObserver(\n client(),\n defaultedQueries(),\n queriesOptions().combine ? {\n combine: queriesOptions().combine\n } : void 0\n );\n const [state, setState] = createStore(\n observer.getOptimisticResult(\n defaultedQueries(),\n queriesOptions().combine\n )[1]()\n );\n createRenderEffect(\n on(\n () => queriesOptions().queries.length,\n () => setState(\n observer.getOptimisticResult(\n defaultedQueries(),\n queriesOptions().combine\n )[1]()\n )\n )\n );\n const dataResources = createMemo(\n on(\n () => state.length,\n () => state.map((queryRes) => {\n const dataPromise = () => new Promise((resolve) => {\n if (queryRes.isFetching && queryRes.isLoading) return;\n resolve(unwrap(queryRes.data));\n });\n return createResource(dataPromise);\n })\n )\n );\n batch(() => {\n const dataResources_ = dataResources();\n for (let index = 0; index < dataResources_.length; index++) {\n const dataResource = dataResources_[index];\n dataResource[1].mutate(() => unwrap(state[index].data));\n dataResource[1].refetch();\n }\n });\n let taskQueue = [];\n const subscribeToObserver = () => observer.subscribe((result) => {\n taskQueue.push(() => {\n batch(() => {\n const dataResources_ = dataResources();\n for (let index = 0; index < dataResources_.length; index++) {\n const dataResource = dataResources_[index];\n const unwrappedResult = { ...unwrap(result[index]) };\n setState(index, unwrap(unwrappedResult));\n dataResource[1].mutate(() => unwrap(state[index].data));\n dataResource[1].refetch();\n }\n });\n });\n queueMicrotask(() => {\n const taskToRun = taskQueue.pop();\n if (taskToRun) taskToRun();\n taskQueue = [];\n });\n });\n let unsubscribe = noop;\n createComputed((cleanup) => {\n cleanup?.();\n unsubscribe = isRestoring() ? noop : subscribeToObserver();\n return () => queueMicrotask(unsubscribe);\n });\n onCleanup(unsubscribe);\n onMount(() => {\n observer.setQueries(\n defaultedQueries(),\n queriesOptions().combine ? {\n combine: queriesOptions().combine\n } : void 0\n );\n });\n createComputed(() => {\n observer.setQueries(\n defaultedQueries(),\n queriesOptions().combine ? {\n combine: queriesOptions().combine\n } : void 0\n );\n });\n const handler = (index) => ({\n get(target, prop) {\n if (prop === \"data\") {\n return dataResources()[index][0]();\n }\n return Reflect.get(target, prop);\n }\n });\n const getProxies = () => state.map((s, index) => {\n return new Proxy(s, handler(index));\n });\n const [proxyState, setProxyState] = createStore(getProxies());\n createRenderEffect(() => setProxyState(getProxies()));\n return proxyState;\n}\nvar QueryClient = class extends QueryClient$1 {\n constructor(config = {}) {\n super(config);\n }\n};\n\n// src/queryOptions.ts\nfunction queryOptions(options) {\n return options;\n}\nfunction useIsFetching(filters, queryClient) {\n const client = createMemo(() => useQueryClient(queryClient?.()));\n const queryCache = createMemo(() => client().getQueryCache());\n const [fetches, setFetches] = createSignal(client().isFetching(filters?.()));\n const unsubscribe = queryCache().subscribe(() => {\n setFetches(client().isFetching(filters?.()));\n });\n onCleanup(unsubscribe);\n return fetches;\n}\n\n// src/infiniteQueryOptions.ts\nfunction infiniteQueryOptions(options) {\n return options;\n}\n\n// src/mutationOptions.ts\nfunction mutationOptions(options) {\n return options;\n}\nfunction useIsMutating(filters, queryClient) {\n const client = createMemo(() => useQueryClient(queryClient?.()));\n const mutationCache = createMemo(() => client().getMutationCache());\n const [mutations, setMutations] = createSignal(\n client().isMutating(filters?.())\n );\n const unsubscribe = mutationCache().subscribe((_result) => {\n setMutations(client().isMutating(filters?.()));\n });\n onCleanup(unsubscribe);\n return mutations;\n}\nfunction getResult(mutationCache, options) {\n return mutationCache.findAll(options.filters).map(\n (mutation) => options.select ? options.select(mutation) : mutation.state\n );\n}\nfunction useMutationState(options = () => ({}), queryClient) {\n const client = createMemo(() => useQueryClient(queryClient?.()));\n const mutationCache = createMemo(() => client().getMutationCache());\n const [result, setResult] = createSignal(\n getResult(mutationCache(), options())\n );\n createEffect(() => {\n const unsubscribe = mutationCache().subscribe(() => {\n const nextResult = replaceEqualDeep(\n result(),\n getResult(mutationCache(), options())\n );\n if (result() !== nextResult) {\n setResult(nextResult);\n }\n });\n onCleanup(unsubscribe);\n });\n return result;\n}\n\n// src/index.ts\nvar createQuery = useQuery;\nvar createInfiniteQuery = useInfiniteQuery;\nvar createMutation = useMutation;\nvar createQueries = useQueries;\n\nexport { IsRestoringProvider, QueryClient, QueryClientContext, QueryClientProvider, createInfiniteQuery, useIsFetching as createIsFetching, useIsMutating as createIsMutating, createMutation, useMutationState as createMutationState, createQueries, createQuery, infiniteQueryOptions, mutationOptions, queryOptions, useInfiniteQuery, useIsFetching, useIsMutating, useIsRestoring, useMutation, useMutationState, useQueries, useQuery, useQueryClient };\n","import { createQuery, createMutation, useQueryClient } from '@tanstack/solid-query';\nimport { trpc } from './trpc-client';\n\n// Project hooks\nexport function useProjects() {\n return createQuery(() => ({\n queryKey: ['projects'],\n queryFn: async () => {\n return await trpc.project.listProjects.query(undefined);\n },\n }));\n}\n\nexport function useProject(id: number) {\n return createQuery(() => ({\n queryKey: ['project', id],\n queryFn: async () => {\n return await trpc.project.getProject.query({ id });\n },\n enabled: !!id,\n }));\n}\n\nexport function useCreateProject() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (input: { name: string; description?: string }) => {\n return await trpc.project.createProject.mutate(input);\n },\n onSuccess: () => {\n qc.invalidateQueries({ queryKey: ['projects'] });\n },\n }));\n}\n\nexport function useUpdateProject() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (input: { id: number; name?: string; description?: string }) => {\n return await trpc.project.updateProject.mutate(input);\n },\n onSuccess: () => {\n qc.invalidateQueries({ queryKey: ['projects'] });\n },\n }));\n}\n\nexport function useDeleteProject() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (id: number) => {\n return await trpc.project.deleteProject.mutate({ id });\n },\n onSuccess: () => {\n qc.invalidateQueries({ queryKey: ['projects'] });\n },\n }));\n}\n\n// Character hooks\nexport function useCharacters(projectId: number) {\n return createQuery(() => ({\n queryKey: ['characters', projectId],\n queryFn: async () => {\n return await trpc.project.listCharacters.query({ projectId });\n },\n enabled: !!projectId,\n }));\n}\n\nexport function useCharacter(id: number) {\n return createQuery(() => ({\n queryKey: ['character', id],\n queryFn: async () => {\n return await trpc.project.getCharacter.query({ id });\n },\n enabled: !!id,\n }));\n}\n\nexport function useSearchCharacters(projectId: number, query?: string, role?: 'protagonist' | 'antagonist' | 'supporting' | 'background' | 'ensemble', arcType?: 'positive' | 'negative' | 'flat' | 'complex') {\n return createQuery(() => ({\n queryKey: ['searchCharacters', projectId, query, role, arcType],\n queryFn: async () => {\n return await trpc.project.searchCharacters.query({\n projectId,\n query,\n role,\n arcType,\n });\n },\n enabled: !!projectId,\n }));\n}\n\nexport function useCharacterStats(characterId: number) {\n return createQuery(() => ({\n queryKey: ['characterStats', characterId],\n queryFn: async () => {\n return await trpc.project.getCharacterStats.query({ characterId });\n },\n enabled: !!characterId,\n }));\n}\n\nexport function useProjectCharacterStats(projectId: number) {\n return createQuery(() => ({\n queryKey: ['projectCharacterStats', projectId],\n queryFn: async () => {\n return await trpc.project.getProjectCharacterStats.query(undefined, {\n context: { projectId },\n });\n },\n enabled: !!projectId,\n }));\n}\n\nexport function useCreateCharacter() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (input: {\n name: string;\n description?: string;\n bio?: string;\n role?: 'protagonist' | 'antagonist' | 'supporting' | 'background' | 'ensemble';\n arc?: string;\n arcType?: 'positive' | 'negative' | 'flat' | 'complex';\n age?: number;\n gender?: string;\n voice?: string;\n traits?: string;\n motivation?: string;\n conflict?: string;\n secret?: string;\n imageUrl?: string;\n projectId: number;\n }) => {\n return await trpc.project.createCharacter.mutate(input);\n },\n onSuccess: (_, variables) => {\n qc.invalidateQueries({ queryKey: ['characters', variables.projectId] });\n },\n }));\n}\n\nexport function useUpdateCharacter() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (input: {\n id: number;\n name?: string;\n description?: string;\n bio?: string;\n role?: 'protagonist' | 'antagonist' | 'supporting' | 'background' | 'ensemble';\n arc?: string;\n arcType?: 'positive' | 'negative' | 'flat' | 'complex';\n age?: number;\n gender?: string;\n voice?: string;\n traits?: string;\n motivation?: string;\n conflict?: string;\n secret?: string;\n imageUrl?: string;\n projectId?: number;\n }) => {\n return await trpc.project.updateCharacter.mutate(input);\n },\n onSuccess: (_, variables) => {\n qc.invalidateQueries({ queryKey: ['character', variables.id] });\n qc.invalidateQueries({ queryKey: ['characters'] });\n },\n }));\n}\n\nexport function useDeleteCharacter() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (id: number) => {\n return await trpc.project.deleteCharacter.mutate({ id });\n },\n onSuccess: () => {\n qc.invalidateQueries({ queryKey: ['characters'] });\n qc.invalidateQueries({ queryKey: ['characterRelationships'] });\n },\n }));\n}\n\n// Relationship hooks\nexport function useRelationships(projectId: number) {\n return createQuery(() => ({\n queryKey: ['characterRelationships', projectId],\n queryFn: async () => {\n return await trpc.project.listRelationships.query(undefined, {\n context: { projectId },\n });\n },\n enabled: !!projectId,\n }));\n}\n\nexport function useCharacterRelationships(characterId: number) {\n return createQuery(() => ({\n queryKey: ['characterRelationships', characterId],\n queryFn: async () => {\n return await trpc.project.getRelationshipsForCharacter.query({ characterId });\n },\n enabled: !!characterId,\n }));\n}\n\nexport function useCreateRelationship() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (input: {\n characterIdA: number;\n characterIdB: number;\n relationshipType: 'family' | 'romantic' | 'friendship' | 'rivalry' | 'mentor' | 'alliance' | 'conflict' | 'professional' | 'other';\n description?: string;\n strength?: number;\n isAntagonistic?: boolean;\n }) => {\n return await trpc.project.createRelationship.mutate(input);\n },\n onSuccess: () => {\n qc.invalidateQueries({ queryKey: ['characterRelationships'] });\n },\n }));\n}\n\nexport function useUpdateRelationship() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (input: {\n id: number;\n relationshipType?: 'family' | 'romantic' | 'friendship' | 'rivalry' | 'mentor' | 'alliance' | 'conflict' | 'professional' | 'other';\n description?: string;\n strength?: number;\n isAntagonistic?: boolean;\n }) => {\n return await trpc.project.updateRelationship.mutate(input);\n },\n onSuccess: () => {\n qc.invalidateQueries({ queryKey: ['characterRelationships'] });\n },\n }));\n}\n\nexport function useDeleteRelationship() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (id: number) => {\n return await trpc.project.deleteRelationship.mutate({ id });\n },\n onSuccess: () => {\n qc.invalidateQueries({ queryKey: ['characterRelationships'] });\n },\n }));\n}\n\n// Scene hooks\nexport function useScenes(projectId: number) {\n return createQuery(() => ({\n queryKey: ['scenes', projectId],\n queryFn: async () => {\n return await trpc.project.listScenes.query({ projectId });\n },\n enabled: !!projectId,\n }));\n}\n\nexport function useScene(id: number) {\n return createQuery(() => ({\n queryKey: ['scene', id],\n queryFn: async () => {\n return await trpc.project.getScene.query({ id });\n },\n enabled: !!id,\n }));\n}\n\nexport function useCreateScene() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (input: {\n title: string;\n content?: string;\n projectId: number;\n order: number;\n }) => {\n return await trpc.project.createScene.mutate(input);\n },\n onSuccess: (_, variables) => {\n qc.invalidateQueries({ queryKey: ['scenes', variables.projectId] });\n },\n }));\n}\n\nexport function useUpdateScene() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (input: {\n id: number;\n title?: string;\n content?: string;\n order?: number;\n }) => {\n return await trpc.project.updateScene.mutate(input);\n },\n onSuccess: (_, variables) => {\n qc.invalidateQueries({ queryKey: ['scenes'] });\n },\n }));\n}\n\nexport function useDeleteScene() {\n const qc = useQueryClient();\n return createMutation(() => ({\n mutationFn: async (id: number) => {\n return await trpc.project.deleteScene.mutate({ id });\n },\n onSuccess: () => {\n qc.invalidateQueries({ queryKey: ['scenes'] });\n },\n }));\n}\n\n// Waitlist hooks\nexport function useWaitlistSignup() {\n return createMutation(() => ({\n mutationFn: async (input: { email: string; name?: string; source?: string; referralCode?: string }) => {\n return await trpc.waitlist.signup.mutate(input);\n },\n }));\n}\n\nexport function useWaitlistCount() {\n return createQuery(() => ({\n queryKey: ['waitlistCount'],\n queryFn: async () => {\n return await trpc.waitlist.getCount.query(undefined);\n },\n refetchInterval: 30000,\n }));\n}\n\nexport function useReferralCount(referralCode: string) {\n return createQuery(() => ({\n queryKey: ['referralCount', referralCode],\n queryFn: async () => {\n return await trpc.waitlist.getReferralCount.query({ referralCode });\n },\n enabled: !!referralCode,\n }));\n}\n\nexport function useBetaSignup() {\n return createMutation(() => ({\n mutationFn: async (input: {\n name: string;\n email: string;\n primaryRole: string;\n scriptsWritten?: string;\n currentSoftware?: string;\n softwareLove?: string;\n softwareFrustrate?: string;\n hoursPerWeek?: string;\n willingFeedback?: string;\n joinDiscord?: string;\n discordUsername?: string;\n excitedFeatures?: string[];\n heardAbout?: string;\n additionalInfo?: string;\n }) => {\n return await trpc.beta.signup.mutate(input);\n },\n }));\n}\n","import { Component, createSignal, onMount } from 'solid-js';\nimport { A, useSearchParams } from '@solidjs/router';\nimport { useWaitlistSignup, useWaitlistCount } from '../../lib/api/trpc-hooks';\n\nexport const Landing: Component = () => {\n const [searchParams] = useSearchParams();\n const [email, setEmail] = createSignal('');\n const [name, setName] = createSignal('');\n const [submitted, setSubmitted] = createSignal(false);\n const [error, setError] = createSignal('');\n const [referralCode, setReferralCode] = createSignal('');\n const [myReferralCode, setMyReferralCode] = createSignal('');\n\n const signup = useWaitlistSignup();\n const count = useWaitlistCount();\n\n onMount(() => {\n const ref = searchParams.ref;\n if (ref && typeof ref === 'string') {\n setReferralCode(ref);\n }\n });\n\n const handleSubmit = async (e: Event) => {\n e.preventDefault();\n setError('');\n\n if (!email().trim()) {\n setError('Please enter your email address.');\n return;\n }\n\n try {\n const result = await signup.mutateAsync({\n email: email().trim(),\n name: name().trim() || undefined,\n source: referralCode() ? 'referral' : 'organic',\n referralCode: referralCode() || undefined,\n });\n if (result.referralCode) {\n setMyReferralCode(result.referralCode);\n }\n setSubmitted(true);\n } catch (err: any) {\n setError(err?.message || 'Something went wrong. Please try again.');\n }\n };\n\n const waitlistCount = () => {\n const c = count.data?.count;\n if (!c) return '0';\n if (c >= 1000) return `${(c / 1000).toFixed(1)}k+`;\n return String(c);\n };\n\n const shareUrl = () => {\n if (!myReferralCode()) return '';\n return `${window.location.origin}?ref=${myReferralCode()}`;\n };\n\n const copyToClipboard = async () => {\n try {\n await navigator.clipboard.writeText(shareUrl());\n } catch {\n const input = document.createElement('input');\n input.value = shareUrl();\n document.body.appendChild(input);\n input.select();\n document.execCommand('copy');\n document.body.removeChild(input);\n }\n };\n\n return (\n
          \n {/* Navigation */}\n
          \n
          \n
          \n \n \n \n \n Scripter\n
          \n
          \n Features\n Pricing\n Blog\n Sign In\n
          \n
          \n
          \n\n {/* Hero Section */}\n
          \n
          \n

          Write Faster.

          \n

          \n The modern screenwriting platform built for how you actually work.\n Real-time collaboration, AI-powered writing, and industry-standard formatting — all in one place.\n

          \n\n {submitted() ? (\n
          \n
          🎉
          \n

          You're on the list!

          \n

          We'll notify you when Scripter launches. In the meantime, spread the word.

          \n {myReferralCode() && (\n
          \n

          Share your unique referral link:

          \n
          \n \n \n
          \n

          Earn early access perks for every friend who joins!

          \n
          \n )}\n Explore the App\n
          \n ) : (\n
          \n
          \n setName(e.currentTarget.value)}\n class=\"form-input\"\n />\n
          \n
          \n setEmail(e.currentTarget.value)}\n class=\"form-input\"\n required\n />\n \n
          \n {error() &&

          {error()}

          }\n {referralCode() && (\n

          You were referred by a friend!

          \n )}\n
          \n )}\n
          \n
          \n
          \n
          \n
          \n \n
          \n
          \n
          \n
          {`FADE IN:\n\nEXT. COFFEE SHOP - DAY\n\nSARAH (28, determined) types furiously on her laptop. \nThe barista calls her name.\n\n                    BARISTA\n          Sarah! Your latte is ready!\n\nShe doesn't look up. In the zone.`}
          \n
          \n
          \n
          \n
          \n\n {/* Social Proof */}\n
          \n

          Join the growing community of screenwriters

          \n
          \n \n {waitlistCount()} writers on the waitlist\n \n 🎬 Industry Standard\n ⭐ 5-Star Reviews\n
          \n
          \n\n {/* Features Overview */}\n
          \n

          Everything you need to write

          \n
          \n
          \n
          📝
          \n

          Industry-Standard Formatting

          \n

          Automatic screenplay formatting. Scene headings, action, dialogue, parentheticals — all formatted to spec.

          \n
          \n
          \n
          👥
          \n

          Real-Time Collaboration

          \n

          Write together with your team. See changes live, leave comments, chat with video.

          \n
          \n
          \n
          🤖
          \n

          AI Writing Assistant

          \n

          Get help with dialogue, scene descriptions, character analysis, and more.

          \n
          \n
          \n
          \n\n {/* Comparison Section */}\n
          \n

          Why switch to Scripter?

          \n
          \n
          \n

          vs Final Draft

          \n
            \n
          • ✓ $7.99/mo vs $199 one-time
          • \n
          • ✓ Real-time collaboration vs desktop-only
          • \n
          • ✓ Works on any device
          • \n
          • ✓ Cloud backup included
          • \n
          \n
          \n
          \n

          vs WriterDuet

          \n
            \n
          • ✓ Unlimited projects (free)
          • \n
          • ✓ Faster native app (Tauri)
          • \n
          • ✓ Built-in AI assistant
          • \n
          • ✓ 33% lower pricing
          • \n
          \n
          \n
          \n
          \n\n {/* Pricing Section */}\n
          \n

          Simple pricing for every screenwriter

          \n

          Start free. Upgrade when you need more.

          \n\n
          \n
          \n

          Free

          \n
          $0/mo
          \n
            \n
          • Unlimited projects
          • \n
          • Industry-standard formatting
          • \n
          • Auto cloud saving
          • \n
          • Mobile editing
          • \n
          • Comments & mentions
          • \n
          \n Get Started Free\n
          \n\n
          \n
          Most Popular
          \n

          Pro

          \n
          $7.99/mo
          \n
            \n
          • Everything in Free, plus:
          • \n
          • Real-time collaboration
          • \n
          • Desktop app (Mac, Windows, Linux)
          • \n
          • Offline writing
          • \n
          • Video chat
          • \n
          • Revision tracking
          • \n
          \n Start Pro Trial\n

          14-day free trial

          \n
          \n\n
          \n

          Premium

          \n
          $10.99/mo
          \n
            \n
          • Everything in Pro, plus:
          • \n
          • Infinite document history
          • \n
          • AI writing assistant
          • \n
          • Auto-translate (30+ languages)
          • \n
          • ReadAloud narration
          • \n
          • Priority support
          • \n
          \n Start Premium Trial\n

          14-day free trial

          \n
          \n
          \n
          \n\n {/* Final CTA */}\n
          \n

          Ready to write your next script?

          \n

          Join thousands of screenwriters who've made the switch.

          \n Start Writing Free\n
          \n\n {/* Footer */}\n
          \n
          \n
          \n
          \n \n \n \n Scripter\n
          \n

          Write Faster.

          \n
          \n
          \n
          \n

          Product

          \n Features\n Pricing\n Blog\n
          \n
          \n

          Company

          \n About\n FAQ\n Contact\n
          \n
          \n

          Legal

          \n Terms\n Privacy\n
          \n
          \n
          \n
          \n

          © 2026 Scripter. All rights reserved.

          \n
          \n
          \n
          \n );\n};\n","import { Component, createSignal } from 'solid-js';\nimport { A } from '@solidjs/router';\nimport { useBetaSignup } from '../../lib/api/trpc-hooks';\nimport '../../styles/beta-signup.css';\n\nexport const BetaSignup: Component = () => {\n const [formData, setFormData] = createSignal({\n name: '',\n email: '',\n primaryRole: '',\n scriptsWritten: '',\n currentSoftware: '',\n softwareLove: '',\n softwareFrustrate: '',\n hoursPerWeek: '',\n willingFeedback: '',\n joinDiscord: '',\n discordUsername: '',\n excitedFeatures: [] as string[],\n heardAbout: '',\n additionalInfo: '',\n });\n\n const [submitted, setSubmitted] = createSignal(false);\n const [error, setError] = createSignal('');\n const [isSubmitting, setIsSubmitting] = createSignal(false);\n\n const betaSignup = useBetaSignup();\n\n const updateField = (field: string, value: any) => {\n setFormData((prev) => ({ ...prev, [field]: value }));\n };\n\n const toggleFeature = (feature: string) => {\n setFormData((prev) => {\n const features = prev.excitedFeatures.includes(feature)\n ? prev.excitedFeatures.filter((f) => f !== feature)\n : [...prev.excitedFeatures, feature];\n return { ...prev, excitedFeatures: features };\n });\n };\n\n const handleSubmit = async (e: Event) => {\n e.preventDefault();\n setError('');\n\n const data = formData();\n \n if (!data.name.trim() || !data.email.trim()) {\n setError('Name and email are required.');\n return;\n }\n\n if (!data.primaryRole) {\n setError('Please select your primary role.');\n return;\n }\n\n if (!data.willingFeedback || data.willingFeedback === 'No, just want early access') {\n setError('Beta access requires willingness to provide weekly feedback.');\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n await betaSignup.mutateAsync({\n name: data.name.trim(),\n email: data.email.trim(),\n primaryRole: data.primaryRole,\n scriptsWritten: data.scriptsWritten,\n currentSoftware: data.currentSoftware,\n softwareLove: data.softwareLove,\n softwareFrustrate: data.softwareFrustrate,\n hoursPerWeek: data.hoursPerWeek,\n willingFeedback: data.willingFeedback,\n joinDiscord: data.joinDiscord,\n discordUsername: data.discordUsername,\n excitedFeatures: data.excitedFeatures,\n heardAbout: data.heardAbout,\n additionalInfo: data.additionalInfo,\n });\n setSubmitted(true);\n } catch (err: any) {\n setError(err?.message || 'Something went wrong. Please try again.');\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return (\n
          \n
          \n
          \n
          \n \n \n \n \n Scripter\n
          \n
          \n Home\n Features\n Pricing\n
          \n
          \n
          \n\n
          \n

          Join the Scripter Beta

          \n

          Help us build the future of screenwriting. We're looking for 500 active writers to test Scripter before our public launch.

          \n
          \n 🎬 3-week beta program\n 📝 Weekly feedback (5 min)\n 💬 Discord community\n
          \n
          \n\n {submitted() ? (\n
          \n
          🎉
          \n

          Application Submitted!

          \n

          Thanks for applying to the Scripter beta. We're reviewing applications and will get back to you within 48 hours.

          \n
          \n

          What happens next:

          \n
            \n
          1. We'll review your application
          2. \n
          3. If accepted, you'll get beta access + Discord invite
          4. \n
          5. Beta starts April 26 - get ready to write!
          6. \n
          \n
          \n
          \n \n Follow us on Twitter\n \n Back to Home\n
          \n
          \n ) : (\n
          \n {error() &&
          {error()}
          }\n\n
          \n

          Section 1: About You

          \n \n
          \n \n updateField('name', e.currentTarget.value)}\n required\n />\n
          \n\n
          \n \n updateField('email', e.currentTarget.value)}\n required\n />\n
          \n\n
          \n \n updateField('primaryRole', e.currentTarget.value)}\n required\n >\n \n \n \n \n \n \n \n \n
          \n\n
          \n \n updateField('scriptsWritten', e.currentTarget.value)}\n >\n \n \n \n \n \n \n
          \n
          \n\n
          \n

          Section 2: Current Tools

          \n \n
          \n \n updateField('currentSoftware', e.currentTarget.value)}\n >\n \n \n \n \n \n \n \n \n \n \n
          \n\n
          \n \n updateField('softwareLove', e.currentTarget.value)}\n rows={3}\n required\n />\n
          \n\n
          \n \n updateField('softwareFrustrate', e.currentTarget.value)}\n rows={3}\n required\n />\n
          \n
          \n\n
          \n

          Section 3: Beta Commitment

          \n \n
          \n \n updateField('hoursPerWeek', e.currentTarget.value)}\n >\n \n \n \n \n \n \n
          \n\n
          \n \n updateField('willingFeedback', e.currentTarget.value)}\n required\n >\n \n \n \n \n \n
          \n\n
          \n \n updateField('joinDiscord', e.currentTarget.value)}\n >\n \n \n \n \n \n
          \n\n
          \n \n updateField('discordUsername', e.currentTarget.value)}\n placeholder=\"username#1234\"\n />\n
          \n
          \n\n
          \n

          Section 4: Use Cases

          \n \n
          \n \n
          \n {['Real-time collaboration', 'AI writing assistant', 'Cloud sync across devices', 'Affordable pricing', 'Modern interface', 'Export options (PDF, FDX, etc.)'].map((feature) => (\n \n ))}\n
          \n
          \n\n
          \n \n updateField('heardAbout', e.currentTarget.value)}\n >\n \n \n \n \n \n \n \n \n \n
          \n\n
          \n \n updateField('additionalInfo', e.currentTarget.value)}\n rows={3}\n placeholder=\"Optional\"\n />\n
          \n
          \n\n
          \n \n

          \n By submitting, you agree to provide weekly feedback during the 3-week beta period.\n

          \n
          \n
          \n )}\n\n
          \n
          \n
          \n
          \n \n \n \n Scripter\n
          \n

          Write Faster.

          \n
          \n
          \n
          \n

          Product

          \n Features\n Pricing\n Blog\n
          \n
          \n

          Company

          \n About\n FAQ\n
          \n
          \n

          Legal

          \n Terms\n Privacy\n
          \n
          \n
          \n
          \n

          © 2026 Scripter. All rights reserved.

          \n
          \n
          \n
          \n );\n};\n","import { Component, For, createSignal } from 'solid-js';\nimport { A } from '@solidjs/router';\n\nconst blogPosts = [\n {\n slug: 'introducing-scripter',\n title: 'Introducing Scripter: The Modern Screenwriting Platform',\n excerpt: 'After months of development, were thrilled to announce Scripter — built for screenwriters who demand speed, collaboration, and creative freedom.',\n category: 'Product',\n date: 'April 24, 2026',\n readTime: '3 min read'\n },\n {\n slug: 'final-draft-alternative',\n title: 'Why Switch from Final Draft to Scripter?',\n excerpt: 'Final Draft has been the industry standard for decades. But at $199 with no real-time collaboration, its time for a better option.',\n category: 'Tips',\n date: 'April 23, 2026',\n readTime: '5 min read'\n },\n {\n slug: 'screenplay-formatting-guide',\n title: 'The Complete Guide to Screenplay Formatting',\n excerpt: 'Master the fundamentals of screenplay format. Scene headings, action lines, dialogue, parentheticals — everything you need to know.',\n category: 'Tips',\n date: 'April 22, 2026',\n readTime: '8 min read'\n },\n {\n slug: 'real-time-collaboration-writing',\n title: 'How Real-Time Collaboration Changes Screenwriting',\n excerpt: 'Writing partners no longer need to email drafts back and forth. See how real-time collaboration transforms the writing process.',\n category: 'Product',\n date: 'April 21, 2026',\n readTime: '4 min read'\n }\n];\n\nexport const Blog: Component = () => {\n const [selectedCategory, setSelectedCategory] = createSignal('All');\n \n const categories = ['All', 'Tips', 'Industry', 'Product', 'Community'];\n \n const filteredPosts = () => {\n const category = selectedCategory();\n if (category === 'All') return blogPosts;\n return blogPosts.filter(post => post.category === category);\n };\n\n return (\n
          \n {/* Navigation */}\n
          \n
          \n
          \n \n \n \n \n \n Scripter\n \n
          \n
          \n Features\n Pricing\n Blog\n Sign In\n Start Writing Free\n
          \n
          \n
          \n\n {/* Blog Header */}\n
          \n
          \n

          The Scripter Blog

          \n

          Tips, insights, and updates for modern screenwriters

          \n
          \n
          \n\n {/* Category Filter */}\n
          \n
          \n \n {(category) => (\n setSelectedCategory(category)}\n >\n {category}\n \n )}\n \n
          \n
          \n\n {/* Blog Posts Grid */}\n
          \n
          \n
          \n \n {(post) => (\n \n
          {post.category}
          \n

          {post.title}

          \n

          {post.excerpt}

          \n
          \n {post.date}\n •\n {post.readTime}\n
          \n
          \n )}\n
          \n
          \n
          \n
          \n\n {/* Newsletter Signup */}\n
          \n
          \n

          Stay in the loop

          \n

          Get screenwriting tips, product updates, and industry insights delivered to your inbox.

          \n
          e.preventDefault()}>\n \n \n
          \n

          No spam. Unsubscribe anytime.

          \n
          \n
          \n\n {/* Footer */}\n
          \n
          \n
          \n
          \n \n \n \n Scripter\n
          \n

          Write Faster.

          \n
          \n
          \n
          \n

          Product

          \n Features\n Pricing\n Blog\n
          \n
          \n

          Company

          \n About\n FAQ\n Contact\n
          \n
          \n

          Legal

          \n Terms\n Privacy\n
          \n
          \n
          \n
          \n

          © 2026 Scripter. All rights reserved.

          \n
          \n
          \n
          \n );\n};\n","import { Component, createSignal, For, Show } from 'solid-js';\nimport { A, useParams } from '@solidjs/router';\n\nconst blogPosts: Record = {\n 'introducing-scripter': {\n title: 'Introducing Scripter: The Modern Screenwriting Platform',\n excerpt: 'After months of development, we\\'re thrilled to announce Scripter — built for screenwriters who demand speed, collaboration, and creative freedom.',\n content: `\n

          Today marks a major milestone in our journey to revolutionize screenwriting software. After months of intense development, we're proud to introduce Scripter — the modern screenwriting platform built for how you actually work.

          \n\n

          Why We Built Scripter

          \n\n

          Screenwriting software hasn't evolved much in the past decade. Final Draft costs $199 and hasn't seen meaningful innovation in years. WriterDuet tried to modernize, but they're still stuck on outdated technology.

          \n\n

          We knew there had to be a better way. So we built Scripter from the ground up with:

          \n\n
            \n
          • Modern technology stack — Tauri + SolidJS for native performance
          • \n
          • Real-time collaboration — Write together with your team, see changes live
          • \n
          • AI-powered writing — Get help with dialogue, scenes, and character development
          • \n
          • Fair pricing — Free to start, Pro at $7.99/mo (33% less than WriterDuet)
          • \n
          \n\n

          What You Can Do With Scripter

          \n\n

          Scripter isn't just another screenwriting tool. It's a complete creative partner:

          \n\n

          Industry-Standard Formatting

          \n

          Focus on writing while Scripter handles the formatting. Scene headings, action lines, dialogue, parentheticals — everything automatically formats to industry standards.

          \n\n

          Real-Time Collaboration

          \n

          Write together with your writing partners. See their changes in real-time. Leave comments. Hop on a video call without leaving the app.

          \n\n

          AI Writing Assistant

          \n

          Stuck on a scene? Our AI can help you brainstorm dialogue, refine action lines, or analyze your characters. It's like having a writing partner available 24/7.

          \n\n

          Join Us

          \n\n

          We're just getting started. Scripter is available now, and we're committed to making it the best screenwriting platform on the market.

          \n\n

          Ready to write faster? Start writing free today — no credit card required.

          \n `,\n category: 'Product',\n date: 'April 24, 2026',\n readTime: '3 min read',\n author: 'The Scripter Team'\n },\n 'final-draft-alternative': {\n title: 'Why Switch from Final Draft to Scripter?',\n excerpt: 'Final Draft has been the industry standard for decades. But at $199 with no real-time collaboration, it\\'s time for a better option.',\n content: `\n

          Final Draft dominated screenwriting software for good reason — it was the first to get screenplay formatting right. But that was 30 years ago. Today, Final Draft feels like a relic, and its $199 price tag is hard to justify.

          \n\n

          The Final Draft Problem

          \n\n

          Here's what you get with Final Draft 13:

          \n\n
            \n
          • $199 one-time payment (with no meaningful updates)
          • \n
          • Desktop-only (no real-time collaboration)
          • \n
          • Manual saves and backups
          • \n
          • No AI assistance
          • \n
          • Clunky interface that hasn't evolved since 2010
          • \n
          \n\n

          For working screenwriters in 2026, this isn't good enough.

          \n\n

          The Scripter Difference

          \n\n

          Scripter gives you everything Final Draft does, plus:

          \n\n
            \n
          • $7.99/month — Less than 5% of Final Draft's cost
          • \n
          • Real-time collaboration — Write with partners, anywhere
          • \n
          • Cloud backup — Never lose a draft
          • \n
          • AI writing assistant — Built-in creative support
          • \n
          • Modern interface — Designed for 2026, not 1996
          • \n
          • Cross-platform — Mac, Windows, Linux, web, mobile
          • \n
          \n\n

          Make the Switch

          \n\n

          Import your Final Draft files directly into Scripter. Keep writing. Everything works exactly as you expect — just faster, smarter, and with your team.

          \n\n

          Try Scripter free and see why thousands of screenwriters are making the switch. Start writing now.

          \n `,\n category: 'Tips',\n date: 'April 23, 2026',\n readTime: '5 min read',\n author: 'The Scripter Team'\n },\n 'screenplay-formatting-guide': {\n title: 'The Complete Guide to Screenplay Formatting',\n excerpt: 'Master the fundamentals of screenplay format. Scene headings, action lines, dialogue, parentheticals — everything you need to know.',\n content: `\n

          Proper screenplay formatting isn't just about looking professional — it's about speaking the language of the industry. Here's everything you need to know.

          \n\n

          Scene Headings (Sluglines)

          \n\n

          Scene headings tell us where and when each scene takes place. They follow a strict format:

          \n\n
          INT. COFFEE SHOP - DAY
          \n\n

          Or:

          \n\n
          EXT. PARK - NIGHT
          \n\n

          Always uppercase. Always start with INT. or EXT. Always include a time of day.

          \n\n

          Action Lines

          \n\n

          Action describes what we see and hear. Keep it present tense, active voice, and concise:

          \n\n
          SARAH (28, determined) types furiously on her laptop. \nThe barista calls her name.
          \n\n

          Don't direct the camera. Don't describe thoughts or feelings. Just what we can see and hear.

          \n\n

          Character Names

          \n\n

          Character names are centered and uppercase when introduced:

          \n\n
                              SARAH\n          I don't have time for this.
          \n\n

          First introductions should include age and a brief description in the action lines.

          \n\n

          Dialogue

          \n\n

          Dialogue goes under the character name, centered on the page. Keep it natural. Keep it purposeful.

          \n\n

          Parentheticals

          \n\n

          Use parentheticals sparingly to indicate how a line is delivered:

          \n\n
                              SARAH\n                (without looking up)\n          I said I'm busy.
          \n\n

          Don't overuse them. Trust your actors and director.

          \n\n

          Transitions

          \n\n

          Transitions like CUT TO:, FADE IN:, and FADE OUT. go on the right side of the page. Use them sparingly — CUT TO: is usually implied.

          \n\n

          Let Scripter Handle It

          \n\n

          Sound complicated? Scripter automates all of this. Just write, and we'll format everything to industry standards automatically.

          \n\n

          Try Scripter free and focus on what matters — your story.

          \n `,\n category: 'Tips',\n date: 'April 22, 2026',\n readTime: '8 min read',\n author: 'The Scripter Team'\n },\n 'real-time-collaboration-writing': {\n title: 'How Real-Time Collaboration Changes Screenwriting',\n excerpt: 'Writing partners no longer need to email drafts back and forth. See how real-time collaboration transforms the writing process.',\n content: `\n

          Screenwriting has always been collaborative. But until now, collaboration meant emailing drafts, managing versions, and hoping you're all working on the same file.

          \n\n

          Real-time collaboration changes everything.

          \n\n

          The Old Way

          \n\n

          Remember this?

          \n\n
            \n
          1. You write a scene
          2. \n
          3. Email it to your partner
          4. \n
          5. They make changes
          6. \n
          7. Email it back as \"Script_v2_FINAL_revised.docx\"
          8. \n
          9. Rinse and repeat
          10. \n
          \n\n

          Somewhere in that mess, ideas get lost. Momentum dies. Frustration builds.

          \n\n

          The Scripter Way

          \n\n

          With Scripter, you and your partners are always in the same document:

          \n\n
            \n
          • See changes live — Watch your partner's cursor move, see their words appear
          • \n
          • Comments and mentions — Leave feedback inline, @mention your team
          • \n
          • Video chat built in — Talk through scenes without leaving the app
          • \n
          • Version history — Every change is saved. Roll back anytime.
          • \n
          \n\n

          Why It Matters

          \n\n

          Real-time collaboration isn't just convenient — it's transformative. Writing becomes a conversation. Ideas flow faster. You finish scripts sooner.

          \n\n

          One writing team told us they cut their first draft time from 6 months to 3 weeks after switching to Scripter.

          \n\n

          Try It Yourself

          \n\n

          Invite your writing partner to Scripter. Open the same document. Start writing together.

          \n\n

          Get started free — no credit card required.

          \n `,\n category: 'Product',\n date: 'April 21, 2026',\n readTime: '4 min read',\n author: 'The Scripter Team'\n }\n};\n\nexport const BlogPost: Component = () => {\n const params = useParams();\n const [post, setPost] = createSignal<{slug: string} & typeof blogPosts[string] | null>(null);\n \n // Find the post by slug\n createSignal(() => {\n const slug = params.slug;\n if (slug && blogPosts[slug]) {\n setPost({ slug, ...blogPosts[slug] });\n } else {\n setPost(null);\n }\n });\n\n const relatedPosts = () => {\n const currentPost = post();\n if (!currentPost) return [];\n \n return Object.entries(blogPosts)\n .filter(([slug, p]) => slug !== currentPost.slug && p.category === currentPost.category)\n .slice(0, 3)\n .map(([slug, p]) => ({ slug, ...p }));\n };\n\n return (\n
          \n {/* Navigation */}\n
          \n
          \n
          \n \n \n \n \n \n Scripter\n \n
          \n
          \n Features\n Pricing\n Blog\n Sign In\n Start Writing Free\n
          \n
          \n
          \n\n \n

          Post not found

          \n

          Sorry, we couldn't find that blog post.

          \n Back to Blog\n
          \n }>\n {(currentPost) => (\n <>\n {/* Post Header */}\n
          \n
          \n
          {currentPost().category}
          \n

          {currentPost().title}

          \n
          \n {currentPost().author}\n •\n {currentPost().date}\n •\n {currentPost().readTime}\n
          \n
          \n\n {/* Post Content */}\n
          \n\n {/* Share Section */}\n
          \n

          Share this post

          \n
          \n \n \n \n
          \n
          \n
          \n\n {/* Related Posts */}\n 0}>\n
          \n

          Related Posts

          \n
          \n \n {(related) => (\n \n
          {related.category}
          \n

          {related.title}

          \n

          {related.excerpt}

          \n
          {related.readTime}
          \n
          \n )}\n
          \n
          \n
          \n
          \n\n {/* CTA Section */}\n
          \n

          Ready to start writing?

          \n

          Join thousands of screenwriters using Scripter to write faster.

          \n Start Writing Free\n
          \n \n )}\n \n\n {/* Footer */}\n
          \n
          \n
          \n
          \n \n \n \n Scripter\n
          \n

          Write Faster.

          \n
          \n
          \n
          \n

          Product

          \n Features\n Pricing\n Blog\n
          \n
          \n

          Company

          \n About\n FAQ\n Contact\n
          \n
          \n

          Legal

          \n Terms\n Privacy\n
          \n
          \n
          \n
          \n

          © 2026 Scripter. All rights reserved.

          \n
          \n
          \n
          \n );\n};\n","import { Component, For } from 'solid-js';\nimport { A } from '@solidjs/router';\n\nconst featureCategories = [\n {\n name: 'Writing Tools',\n icon: '✍️',\n features: [\n {\n title: 'Screenplay Editor',\n description: 'Full-featured editor with industry-standard formatting built in.',\n details: ['Scene headings', 'Action lines', 'Dialogue', 'Parentheticals', 'Transitions']\n },\n {\n title: 'Auto-Format',\n description: 'Intelligent formatting that understands screenplay structure.',\n details: ['Automatic indentation', 'Element detection', 'Tab/enter shortcuts', 'Custom margins']\n },\n {\n title: 'Templates',\n description: 'Start with the right format for any project.',\n details: ['Feature film', 'TV pilot', 'Short film', 'Sitcom', 'Podcast', 'Treatment']\n },\n {\n title: 'Typewriter Mode',\n description: 'Keep your current line centered as you type for better focus.',\n details: ['Scroll locking', 'Custom positioning', 'Distraction-free', 'Smooth scrolling']\n },\n {\n title: 'Dictation',\n description: 'Speak your script and let Scripter format it automatically.',\n details: ['Voice-to-text', 'Multi-language', 'Punctuation commands', 'High accuracy']\n }\n ]\n },\n {\n name: 'Collaboration',\n icon: '👥',\n features: [\n {\n title: 'Real-Time Editing',\n description: 'Multiple writers, one document, zero conflicts.',\n details: ['Live cursors', 'Instant sync', 'Conflict-free editing', 'Presence indicators']\n },\n {\n title: 'Comments & Mentions',\n description: 'Leave feedback inline and @mention your team.',\n details: ['Threaded comments', '@mentions', 'Resolve comments', 'Comment notifications']\n },\n {\n title: 'Video Chat',\n description: 'Built-in video calls for writing sessions.',\n details: ['HD video', 'Screen sharing', 'Group calls', 'No external app needed']\n },\n {\n title: 'Revision Tracking',\n description: 'Color-coded changes with accept/reject workflow.',\n details: ['Change highlighting', 'Accept/reject', 'Revision notes', 'OOC marks']\n },\n {\n title: 'Version History',\n description: 'Never lose a draft. Roll back to any point in time.',\n details: ['Auto-save', 'Version snapshots', 'Compare versions', 'Restore anytime']\n }\n ]\n },\n {\n name: 'Organization',\n icon: '📋',\n features: [\n {\n title: 'Project Management',\n description: 'Cards, sequencing, outlining tools.',\n details: ['Scene cards', 'Drag-and-drop', 'Color coding', 'Notes per scene']\n },\n {\n title: 'Character Database',\n description: 'Track characters, relationships, and arcs.',\n details: ['Character profiles', 'Relationship maps', 'Arc tracking', 'Appearance log']\n },\n {\n title: 'Mind Maps',\n description: 'Visual story structure planning.',\n details: ['Brainstorming boards', 'Story connections', 'Visual outlining', 'Export to cards']\n },\n {\n title: 'Goal Setting',\n description: 'Track your writing progress and hit deadlines.',\n details: ['Daily goals', 'Progress tracking', 'Deadline reminders', 'Statistics']\n }\n ]\n },\n {\n name: 'Export & Integration',\n icon: '📤',\n features: [\n {\n title: 'Export Formats',\n description: 'PDF, Final Draft XML, Fountain, and more.',\n details: ['PDF export', 'FDX import/export', 'Fountain support', 'Screenplay Pro']\n },\n {\n title: 'Open API',\n description: 'Integrate with StudioBinder, IMDb, and more.',\n details: ['REST API', 'Webhooks', 'Third-party integrations', 'Custom workflows']\n },\n {\n title: 'Cloud Backup',\n description: 'Automatic saves to Google Drive, Dropbox.',\n details: ['Auto-backup', 'Multiple providers', 'Scheduled sync', 'Conflict resolution']\n }\n ]\n },\n {\n name: 'AI Features',\n icon: '🤖',\n features: [\n {\n title: 'Smart Continuation',\n description: 'AI suggests next lines and scenes.',\n details: ['Context-aware', 'Multiple suggestions', 'Style matching', 'One-click insert']\n },\n {\n title: 'Character Analysis',\n description: 'Get insights on character consistency and development.',\n details: ['Voice analysis', 'Arc tracking', 'Relationship insights', 'Development tips']\n },\n {\n title: 'Scene Enhancement',\n description: 'Improve descriptions, tighten dialogue.',\n details: ['Passive voice detection', 'Dialogue polish', 'Pacing analysis', 'Suggestions']\n },\n {\n title: 'Auto-Translate',\n description: 'Translate scripts to 30+ languages.',\n details: ['30+ languages', 'Format preserved', 'Character names intact', 'Quick switch']\n },\n {\n title: 'ReadAloud',\n description: 'TTS narration with distinct character voices.',\n details: ['Multiple voices', 'Natural speech', 'Speed control', 'Character detection']\n }\n ]\n }\n];\n\nexport const Features: Component = () => {\n return (\n
          \n {/* Navigation */}\n
          \n
          \n
          \n \n \n \n \n \n Scripter\n \n
          \n
          \n Features\n Pricing\n Blog\n Sign In\n Start Writing Free\n
          \n
          \n
          \n\n {/* Features Header */}\n
          \n
          \n

          Everything you need to write your best script

          \n

          From first draft to final polish, Scripter has the tools professional screenwriters need.

          \n
          \n
          \n\n {/* Feature Categories */}\n
          \n
          \n \n {(category) => (\n
          \n
          \n {category.icon}\n

          {category.name}

          \n
          \n
          \n \n {(feature) => (\n
          \n

          {feature.title}

          \n

          {feature.description}

          \n
            \n \n {(detail) =>
          • {detail}
          • }\n
            \n
          \n
          \n )}\n
          \n
          \n
          \n )}\n
          \n
          \n
          \n\n {/* CTA Section */}\n
          \n

          Ready to experience the future of screenwriting?

          \n

          Join thousands of writers who've made the switch to Scripter.

          \n Start Writing Free\n
          \n\n {/* Footer */}\n
          \n
          \n
          \n
          \n \n \n \n Scripter\n
          \n

          Write Faster.

          \n
          \n
          \n
          \n

          Product

          \n Features\n Pricing\n Blog\n
          \n
          \n

          Company

          \n About\n FAQ\n Contact\n
          \n
          \n

          Legal

          \n Terms\n Privacy\n
          \n
          \n
          \n
          \n

          © 2026 Scripter. All rights reserved.

          \n
          \n
          \n
          \n );\n};\n","import { Component, createSignal } from 'solid-js';\nimport { A } from '@solidjs/router';\n\nconst pricingPlans = [\n {\n name: 'Free',\n price: '$0',\n period: '/mo',\n description: 'For screenwriters exploring the platform',\n cta: 'Get Started Free',\n features: [\n 'Unlimited projects',\n 'Industry-standard formatting',\n 'Auto cloud saving',\n 'Mobile editing',\n 'Comments & mentions',\n 'Basic export (PDF, Fountain)',\n 'Google Drive / Dropbox backup'\n ],\n highlighted: false\n },\n {\n name: 'Pro',\n price: '$7.99',\n period: '/mo',\n description: 'For professional screenwriters',\n cta: 'Start Pro Trial',\n trial: '14 days free',\n features: [\n 'Everything in Free, plus:',\n 'Real-time collaboration',\n 'Desktop app (macOS, Windows, Linux)',\n 'Offline writing',\n 'Video chat',\n 'Revision tracking',\n 'Custom themes and margins',\n 'Document statistics',\n 'Location/scene filters',\n 'Custom title pages',\n 'PDF security and watermarks'\n ],\n highlighted: true\n },\n {\n name: 'Premium',\n price: '$10.99',\n period: '/mo',\n description: 'For teams and power users',\n cta: 'Start Premium Trial',\n trial: '14 days free',\n features: [\n 'Everything in Pro, plus:',\n 'Infinite document history',\n 'AI writing assistant',\n 'Auto-translate (30+ languages)',\n 'ReadAloud narration',\n 'Multi-column tools',\n 'Priority support',\n 'API access'\n ],\n highlighted: false\n }\n];\n\nconst comparisonData = [\n { feature: 'Unlimited projects', free: true, pro: true, premium: true },\n { feature: 'Industry-standard formatting', free: true, pro: true, premium: true },\n { feature: 'Cloud backup', free: true, pro: true, premium: true },\n { feature: 'Mobile editing', free: true, pro: true, premium: true },\n { feature: 'Comments & mentions', free: true, pro: true, premium: true },\n { feature: 'Real-time collaboration', free: false, pro: true, premium: true },\n { feature: 'Desktop app', free: false, pro: true, premium: true },\n { feature: 'Offline writing', free: false, pro: true, premium: true },\n { feature: 'Video chat', free: false, pro: true, premium: true },\n { feature: 'Revision tracking', free: false, pro: true, premium: true },\n { feature: 'Document history', free: '30 days', pro: '90 days', premium: 'Unlimited' },\n { feature: 'AI writing assistant', free: false, pro: false, premium: true },\n { feature: 'Auto-translate', free: false, pro: false, premium: true },\n { feature: 'ReadAloud narration', free: false, pro: false, premium: true },\n { feature: 'Priority support', free: false, pro: false, premium: true },\n { feature: 'API access', free: false, pro: false, premium: true }\n];\n\nconst faqs = [\n {\n question: 'Can I switch plans anytime?',\n answer: 'Yes, you can upgrade or downgrade your plan at any time. Changes take effect immediately, and we\\'ll prorate any differences in billing.'\n },\n {\n question: 'What happens to my scripts if I cancel?',\n answer: 'Your scripts are always yours. You can download them in any format (PDF, Final Draft XML, Fountain) at any time. Even on the free plan, you keep full access to your work.'\n },\n {\n question: 'Do you offer education discounts?',\n answer: 'Yes! We offer 50% off for verified students and educators. Contact us with your .edu email or student ID for verification.'\n },\n {\n question: 'Is there a team plan?',\n answer: 'Yes, we offer custom team pricing for writing rooms, production companies, and classrooms. Contact us for volume discounts and team management features.'\n },\n {\n question: 'Can I try Pro or Premium before paying?',\n answer: 'Absolutely. Both Pro and Premium come with a 14-day free trial. No credit card required to start. If you\\'re not satisfied, just downgrade to Free.'\n },\n {\n question: 'What payment methods do you accept?',\n answer: 'We accept all major credit cards (Visa, MasterCard, American Express), PayPal, and Apple Pay. Annual subscriptions receive a 25% discount.'\n },\n {\n question: 'How does the free plan compare to competitors?',\n answer: 'Our free plan is the most generous in the industry. Unlike WriterDuet (3 project limit) or Final Draft (no free tier), Scripter Free includes unlimited projects and professional formatting.'\n },\n {\n question: 'Do you offer refunds?',\n answer: 'Yes, we offer a 30-day money-back guarantee. If you\\'re not satisfied with Scripter for any reason, contact us within 30 days for a full refund.'\n }\n];\n\nexport const Pricing: Component = () => {\n const [openFaq, setOpenFaq] = createSignal(null);\n\n return (\n
          \n {/* Navigation */}\n
          \n
          \n
          \n \n \n \n \n \n Scripter\n \n
          \n
          \n Features\n Pricing\n Blog\n Sign In\n Start Writing Free\n
          \n
          \n
          \n\n {/* Pricing Header */}\n
          \n
          \n

          Simple pricing for every screenwriter

          \n

          Start free. Upgrade when you need more. No hidden fees, no surprises.

          \n
          \n
          \n\n {/* Pricing Cards */}\n
          \n
          \n
          \n {pricingPlans.map((plan) => (\n
          \n {plan.highlighted && (\n
          Most Popular
          \n )}\n

          {plan.name}

          \n
          \n {plan.price}{plan.period}\n
          \n

          {plan.description}

          \n {plan.trial &&

          {plan.trial}

          }\n \n {plan.cta}\n \n
            \n {plan.features.map((feature) => (\n
          • \n {feature}\n
          • \n ))}\n
          \n
          \n ))}\n
          \n
          \n
          \n\n {/* Comparison Table */}\n
          \n
          \n

          Compare plans

          \n
          \n \n \n \n \n \n \n \n \n \n \n {comparisonData.map((row) => (\n \n \n \n \n \n \n ))}\n \n
          FeatureFreeProPremium
          {row.feature}\n {typeof row.free === 'boolean' ? (row.free ? '✓' : '—') : row.free}\n \n {typeof row.pro === 'boolean' ? (row.pro ? '✓' : '—') : row.pro}\n \n {typeof row.premium === 'boolean' ? (row.premium ? '✓' : '—') : row.premium}\n
          \n
          \n
          \n
          \n\n {/* FAQ Section */}\n
          \n
          \n

          Frequently asked questions

          \n
          \n {faqs.map((faq, index) => (\n
          \n \n
          \n {faq.answer}\n
          \n
          \n ))}\n
          \n
          \n
          \n\n {/* Final CTA */}\n
          \n

          Ready to start writing?

          \n

          Join thousands of screenwriters using Scripter to write faster.

          \n Start Writing Free\n
          \n\n {/* Footer */}\n
          \n
          \n
          \n
          \n \n \n \n Scripter\n
          \n

          Write Faster.

          \n
          \n
          \n
          \n

          Product

          \n Features\n Pricing\n Blog\n
          \n
          \n

          Company

          \n About\n FAQ\n Contact\n
          \n
          \n

          Legal

          \n Terms\n Privacy\n
          \n
          \n
          \n
          \n

          © 2026 Scripter. All rights reserved.

          \n
          \n
          \n
          \n );\n};\n","import { Component } from 'solid-js';\nimport { A } from '@solidjs/router';\n\nexport const About: Component = () => {\n return (\n
          \n {/* Navigation */}\n
          \n
          \n
          \n \n \n \n \n \n Scripter\n \n
          \n
          \n Features\n Pricing\n Blog\n About\n Sign In\n Start Writing Free\n
          \n
          \n
          \n\n {/* Hero Section */}\n
          \n
          \n

          Built by screenwriters, for screenwriters

          \n

          We're on a mission to make professional screenwriting tools accessible to every storyteller.

          \n
          \n
          \n\n {/* Mission Section */}\n
          \n
          \n

          Our Mission

          \n

          \n Make professional screenwriting tools accessible to every storyteller.\n

          \n

          \n Screenwriting software hasn't evolved in decades. Final Draft charges $199 for software \n that hasn't seen real innovation since 2010. WriterDuet tried to modernize, but they're \n still stuck on outdated technology.\n

          \n

          \n We knew there had to be a better way. So we built Scripter from the ground up with \n modern technology, fair pricing, and features that actually help you write better.\n

          \n
          \n
          \n\n {/* Values Section */}\n
          \n
          \n

          Our Values

          \n
          \n
          \n
          🎯
          \n

          Accessibility

          \n

          Great tools shouldn't cost a fortune. We believe every writer deserves access to professional-grade software, regardless of budget.

          \n
          \n
          \n
          🤝
          \n

          Collaboration

          \n

          Screenwriting is a team sport. We build features that bring writers together, not isolate them behind desktop-only software.

          \n
          \n
          \n
          💡
          \n

          Innovation

          \n

          We're building the future of screenwriting. AI assistance, real-time collaboration, and modern tech stack — not relics from the past.

          \n
          \n
          \n
          ❤️
          \n

          Community

          \n

          We're screenwriters too. We understand your struggles, celebrate your successes, and are committed to helping you tell great stories.

          \n
          \n
          \n
          \n
          \n\n {/* Story Section */}\n
          \n
          \n

          Our Story

          \n

          \n Scripter was born out of frustration. We were working on a spec script together, \n and the process of collaborating was painful. Emailing drafts back and forth. \n Losing track of changes. Fighting with formatting instead of focusing on story.\n

          \n

          \n We tried every tool on the market. Final Draft was expensive and felt ancient. \n WriterDuet was better but still slow and limited. There had to be something better.\n

          \n

          \n So we decided to build it ourselves. We assembled a team of screenwriters and \n engineers who shared our vision: create the screenwriting platform we wished \n existed.\n

          \n

          \n Today, Scripter serves thousands of writers worldwide. From first-time \n screenwriters to working professionals, our community is growing every day. \n And we're just getting started.\n

          \n
          \n
          \n\n {/* Team Section */}\n
          \n
          \n

          The Team

          \n

          \n We're a remote-first team of screenwriters, engineers, and designers \n passionate about storytelling and technology.\n

          \n
          \n
          \n
          👤
          \n

          Founders

          \n

          Screenwriters turned entrepreneurs

          \n
          \n
          \n
          👥
          \n

          Engineering

          \n

          Building the future of writing tools

          \n
          \n
          \n
          🎨
          \n

          Design

          \n

          Crafting beautiful experiences

          \n
          \n
          \n
          📣
          \n

          Community

          \n

          Supporting writers worldwide

          \n
          \n
          \n

          \n Interested in joining us? Get in touch.\n

          \n
          \n
          \n\n {/* CTA Section */}\n
          \n

          Ready to join thousands of writers?

          \n

          Start writing your next script with Scripter today.

          \n Start Writing Free\n
          \n\n {/* Footer */}\n
          \n
          \n
          \n
          \n \n \n \n Scripter\n
          \n

          Write Faster.

          \n
          \n
          \n
          \n

          Product

          \n Features\n Pricing\n Blog\n
          \n
          \n

          Company

          \n About\n FAQ\n Contact\n
          \n
          \n

          Legal

          \n Terms\n Privacy\n
          \n
          \n
          \n
          \n

          © 2026 Scripter. All rights reserved.

          \n
          \n
          \n
          \n );\n};\n","import { Component, createSignal, For } from 'solid-js';\nimport { A } from '@solidjs/router';\n\nconst faqCategories = [\n {\n name: 'Getting Started',\n faqs: [\n {\n question: 'How do I create my first script?',\n answer: 'After signing up, click \"New Script\" from your dashboard. Choose a template (feature film, TV pilot, etc.) and start writing. Your script is automatically saved to the cloud.'\n },\n {\n question: 'Do I need to install anything?',\n answer: 'No! Scripter works entirely in your browser. For offline writing and additional features, you can download our desktop apps for macOS, Windows, and Linux (Pro plan and above).'\n },\n {\n question: 'Can I import scripts from Final Draft or WriterDuet?',\n answer: 'Yes! Scripter supports Final Draft (.fdx), Fountain (.fountain), and Celtx imports. Your formatting is preserved automatically.'\n },\n {\n question: 'Is my work saved automatically?',\n answer: 'Yes. Scripter auto-saves every few seconds to the cloud. You can also enable backup to Google Drive or Dropbox for additional security.'\n }\n ]\n },\n {\n name: 'Features',\n faqs: [\n {\n question: 'What export formats are supported?',\n answer: 'Scripter exports to PDF, Final Draft XML (.fdx), Fountain (.fountain), and Plain Text. Premium users can also export to Screenplay Pro format.'\n },\n {\n question: 'How does real-time collaboration work?',\n answer: \"Invite collaborators to your script via email or shareable link. Multiple writers can edit simultaneously — you'll see each other's cursors and changes in real-time.\"\n },\n {\n question: 'Can I work offline?',\n answer: \"Yes, with our desktop apps (Pro plan and above). Your work syncs automatically when you're back online. Offline mode is not available in the browser version.\"\n },\n {\n question: 'What is the AI writing assistant?',\n answer: \"Our AI can help with dialogue suggestions, scene descriptions, character analysis, and more. It's available on the Premium plan and learns from your writing style.\"\n }\n ]\n },\n {\n name: 'Pricing',\n faqs: [\n {\n question: \"What's included in the free plan?\",\n answer: 'Free includes unlimited projects, industry-standard formatting, cloud saving, mobile editing, comments & mentions, and basic export (PDF, Fountain).'\n },\n {\n question: 'Can I try Pro or Premium before paying?',\n answer: 'Yes! Both Pro and Premium come with a 14-day free trial. No credit card required to start.'\n },\n {\n question: 'Do you offer refunds?',\n answer: \"Yes, we offer a 30-day money-back guarantee. If you're not satisfied, contact us within 30 days for a full refund.\"\n },\n {\n question: 'Do you offer education discounts?',\n answer: 'Yes! Students and educators get 50% off with verified .edu email or student ID. Contact us for verification.'\n },\n {\n question: 'What payment methods do you accept?',\n answer: 'We accept all major credit cards (Visa, MasterCard, American Express), PayPal, and Apple Pay. Annual subscriptions receive a 25% discount.'\n }\n ]\n },\n {\n name: 'Technical',\n faqs: [\n {\n question: 'What browsers are supported?',\n answer: 'Scripter works on the latest versions of Chrome, Firefox, Safari, and Edge. We recommend Chrome for the best experience.'\n },\n {\n question: 'How is my data stored and secured?',\n answer: 'Your scripts are encrypted in transit (TLS 1.3) and at rest (AES-256). We use industry-standard security practices and never access your content without permission.'\n },\n {\n question: 'Can I export my data if I leave?',\n answer: 'Absolutely. Your scripts are always yours. Download them in any format at any time, even after canceling your subscription.'\n },\n {\n question: 'What are the desktop app requirements?',\n answer: 'macOS 10.15+, Windows 10+, or Ubuntu 18.04+. 4GB RAM minimum (8GB recommended). 500MB free disk space.'\n }\n ]\n },\n {\n name: 'Account',\n faqs: [\n {\n question: 'Can I switch plans anytime?',\n answer: 'Yes, you can upgrade or downgrade at any time. Changes take effect immediately with prorated billing.'\n },\n {\n question: 'What happens to my scripts if I cancel?',\n answer: 'Your scripts are always yours. You keep full access on the free plan. Download them anytime in any format.'\n },\n {\n question: 'Can I share scripts with non-Scripter users?',\n answer: 'Yes! Export to PDF or Fountain and share with anyone. They can read without needing a Scripter account.'\n },\n {\n question: 'Do you offer team plans?',\n answer: 'Yes, we offer custom team pricing for writing rooms, production companies, and classrooms. Contact us for volume discounts.'\n }\n ]\n }\n];\n\nexport const Faq: Component = () => {\n const [openFaq, setOpenFaq] = createSignal<{category: number, index: number} | null>(null);\n\n return (\n
          \n {/* Navigation */}\n
          \n
          \n
          \n \n \n \n \n \n Scripter\n \n
          \n
          \n Features\n Pricing\n Blog\n FAQ\n Sign In\n Start Writing Free\n
          \n
          \n
          \n\n {/* FAQ Header */}\n
          \n
          \n

          Frequently Asked Questions

          \n

          Everything you need to know about Scripter. Can't find what you're looking for? Contact us.

          \n
          \n
          \n\n {/* FAQ Categories */}\n
          \n
          \n \n {(category, categoryIndex) => (\n
          \n

          {category.name}

          \n
          \n \n {(faq, faqIndex) => {\n const isOpen = () => {\n const current = openFaq();\n return current?.category === categoryIndex() && current?.index === faqIndex();\n };\n \n return (\n
          \n \n
          \n {faq.answer}\n
          \n
          \n );\n }}\n
          \n
          \n
          \n )}\n
          \n
          \n
          \n\n {/* Contact CTA */}\n
          \n

          Still have questions?

          \n

          Our team is here to help. Reach out and we'll get back to you within 24 hours.

          \n Contact Support\n
          \n\n {/* Footer */}\n
          \n
          \n
          \n
          \n \n \n \n Scripter\n
          \n

          Write Faster.

          \n
          \n
          \n
          \n

          Product

          \n Features\n Pricing\n Blog\n
          \n
          \n

          Company

          \n About\n FAQ\n Contact\n
          \n
          \n

          Legal

          \n Terms\n Privacy\n
          \n
          \n
          \n
          \n

          © 2026 Scripter. All rights reserved.

          \n
          \n
          \n
          \n );\n};\n","import { Component } from 'solid-js';\nimport { A } from '@solidjs/router';\n\nexport const NotFound: Component = () => {\n return (\n
          \n
          \n
          \n
          \n \n \n \n \n \n Scripter\n \n
          \n
          \n Features\n Pricing\n Blog\n Sign In\n Start Writing Free\n
          \n
          \n
          \n\n
          \n
          404
          \n

          Page not found

          \n

          \n Looks like this scene got cut from the final draft. \n The page you're looking for doesn't exist or has been moved.\n

          \n
          \n Back to Home\n Browse Blog\n
          \n
          \n

          📝 Writing Tip

          \n

          \n Writer's block? Try writing out of sequence. Jump to a scene you're \n excited about — you can always connect the dots later.\n

          \n
          \n
          \n\n
          \n
          \n
          \n
          \n \n \n \n Scripter\n
          \n

          Write Faster.

          \n
          \n
          \n
          \n

          Product

          \n Features\n Pricing\n Blog\n
          \n
          \n

          Company

          \n About\n FAQ\n Contact\n
          \n
          \n

          Legal

          \n Terms\n Privacy\n
          \n
          \n
          \n
          \n

          © 2026 Scripter. All rights reserved.

          \n
          \n
          \n
          \n );\n};\n","import { Route, Navigate } from '@solidjs/router';\nimport { lazy } from 'solid-js';\nimport { ProtectedRoute } from './components/auth/ProtectedRoute';\nimport { SignIn } from './components/auth/SignIn';\nimport { SignUp } from './components/auth/SignUp';\nimport { Landing } from './routes/landing/Landing';\nimport { BetaSignup } from './routes/beta/BetaSignup';\nimport { Blog } from './routes/blog/Blog';\nimport { BlogPost } from './routes/blog/BlogPost';\nimport { Features } from './routes/features/Features';\nimport { Pricing } from './routes/pricing/Pricing';\nimport { About } from './routes/about/About';\nimport { Faq } from './routes/faq/Faq';\nimport { NotFound } from './routes/NotFound';\nimport './styles/landing.css';\nimport './styles/blog.css';\nimport './styles/features.css';\nimport './styles/pricing.css';\nimport './styles/about-faq.css';\n\nconst AppLayout = lazy(() => import('./components/layout/AppLayout'));\nconst Dashboard = lazy(() => import('./components/dashboard/Dashboard'));\nconst KPIDashboard = lazy(() => import('./components/dashboard/KPIDashboard'));\nconst ProjectList = lazy(() => import('./components/projects/ProjectList'));\nconst ProjectDetail = lazy(() => import('./components/projects/ProjectDetail'));\nconst ProjectForm = lazy(() => import('./components/projects/ProjectForm'));\nconst UserProfile = lazy(() => import('./components/auth/UserProfile'));\nconst TeamManagement = lazy(() => import('./components/teams/TeamManagement'));\n\nconst Redirect = () => ;\n\nexport const routes = [\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n \n ,\n \n \n ,\n \n \n ,\n \n \n \n \n \n ,\n \n \n ,\n \n \n \n ,\n ,\n];\n","import { render } from 'solid-js/web';\nimport { Router, RouteSectionProps } from '@solidjs/router';\nimport { ClerkProvider } from './lib/auth/clerk-provider';\nimport { routes } from './routes';\nimport './index.css';\n\nrender(\n () => (\n \n <>{props.children}}>\n {routes}\n \n \n ),\n document.getElementById('root')!\n);\n"],"file":"assets/main-B-KzsHRi.js"} \ No newline at end of file diff --git a/dist/assets/main-B2U0hTg1.css b/dist/assets/main-B2U0hTg1.css deleted file mode 100644 index 74971abee..000000000 --- a/dist/assets/main-B2U0hTg1.css +++ /dev/null @@ -1 +0,0 @@ -.beta-signup-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec)}.beta-hero{max-width:800px;margin:0 auto;padding:60px 20px 40px;text-align:center}.beta-hero h1{font-size:3rem;font-weight:800;color:#1a1a1a;margin-bottom:16px;letter-spacing:-.02em}.beta-hero p{font-size:1.25rem;color:#666;line-height:1.6;margin-bottom:24px}.beta-badges{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:24px}.beta-badge{background:#fff;padding:8px 16px;border-radius:24px;font-size:.9rem;font-weight:500;color:#333;box-shadow:0 2px 8px #00000014}.beta-form{max-width:700px;margin:0 auto 60px;background:#fff;border-radius:16px;padding:40px;box-shadow:0 4px 20px #0000001a}.form-section{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #e0e0e0}.form-section:last-of-type{border-bottom:none;margin-bottom:20px}.form-section h2{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid #518ac8;display:inline-block}.form-group{margin-bottom:24px}.form-group label{display:block;font-weight:600;color:#333;margin-bottom:8px;font-size:.95rem}.form-group input[type=text],.form-group input[type=email],.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#518ac8;box-shadow:0 0 0 3px #518ac81a}.form-group textarea{resize:vertical;min-height:100px}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:12px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 14px;background:#f8f9fa;border-radius:8px;transition:background .2s;font-weight:400}.checkbox-label:hover{background:#e8eaed}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#518ac8}.form-submit{text-align:center;margin-top:40px}.btn-large{padding:16px 48px;font-size:1.1rem;font-weight:600}.form-note{margin-top:16px;font-size:.9rem;color:#666}.form-error-banner{background:#fee;border:1px solid #fcc;color:#c00;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-weight:500}.beta-success{max-width:600px;margin:60px auto;background:#fff;border-radius:16px;padding:60px 40px;text-align:center;box-shadow:0 4px 20px #0000001a}.beta-success .success-icon{font-size:4rem;margin-bottom:20px}.beta-success h2{font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:16px}.beta-success>p{font-size:1.1rem;color:#666;margin-bottom:32px;line-height:1.6}.success-next-steps{background:#f8f9fa;border-radius:12px;padding:24px;margin-bottom:32px;text-align:left}.success-next-steps h3{font-size:1.2rem;font-weight:600;color:#333;margin-bottom:16px}.success-next-steps ol{margin:0;padding-left:24px;color:#555;line-height:2}.success-next-steps li{margin-bottom:8px}.success-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn-primary{display:inline-block;background:#518ac8;color:#fff;padding:12px 32px;border-radius:8px;text-decoration:none;font-weight:600;transition:background .2s,transform .1s;border:none;cursor:pointer}.btn-primary:hover{background:#4a7ab8;transform:translateY(-1px)}.btn-primary:disabled{background:#999;cursor:not-allowed;transform:none}.btn-secondary{display:inline-block;background:#fff;color:#518ac8;padding:12px 32px;border-radius:8px;text-decoration:none;font-weight:600;border:2px solid #518ac8;transition:background .2s,transform .1s}.btn-secondary:hover{background:#f0f5fa;transform:translateY(-1px)}@media (max-width: 768px){.beta-hero h1{font-size:2rem}.beta-hero p{font-size:1rem}.beta-form{padding:24px}.beta-badges{flex-direction:column;align-items:center}.checkbox-group{grid-template-columns:1fr}.success-actions{flex-direction:column}}.landing-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;line-height:1.6}.landing-nav{position:fixed;top:0;left:0;right:0;background:#fffffffa;border-bottom:1px solid #e5e5e5;z-index:1000;padding:.75rem 0}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.25rem;color:#1a1a1a}.logo-text{color:#1a336b}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{color:#555;text-decoration:none;font-weight:500;transition:color .2s}.nav-links a:hover{color:#518ac8}.nav-signin{color:#1a1a1a!important}.nav-signup{background:#518ac8;color:#fff!important;padding:.5rem 1rem;border-radius:6px;transition:background .2s}.nav-signup:hover{background:#3a6ca8}.hero{padding:8rem 2rem 4rem;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-content{max-width:600px}.hero-headline{font-size:4rem;font-weight:800;line-height:1.1;color:#1a336b;margin:0 0 1.5rem}.hero-subheadline{font-size:1.25rem;color:#666;margin:0 0 2rem;line-height:1.6}.hero-cta{display:flex;flex-direction:column;gap:.5rem}.cta-primary{display:inline-block;background:#518ac8;color:#fff;padding:1rem 2rem;border-radius:8px;font-weight:600;font-size:1.125rem;text-decoration:none;text-align:center;transition:background .2s;border:none;cursor:pointer}.cta-primary:hover{background:#3a6ca8}.cta-note{font-size:.875rem;color:#888;margin:0}.hero-visual{display:flex;justify-content:center}.screenshot-mockup{background:#1a336b;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #1a336b4d;width:100%;max-width:500px}.mockup-header{background:#0d1f3d;padding:.75rem 1rem}.mockup-dots{display:flex;gap:.5rem}.mockup-dots span{width:12px;height:12px;border-radius:50%;background:#334}.mockup-dots span:nth-child(1){background:#ff5f56}.mockup-dots span:nth-child(2){background:#ffbd2e}.mockup-dots span:nth-child(3){background:#27ca40}.mockup-content{padding:1.5rem;background:#fff}.mockup-content pre{margin:0;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.8;color:#333;white-space:pre-wrap}.social-proof{text-align:center;padding:3rem 2rem;background:#f8f9fa}.social-proof p{margin:0 0 1.5rem;color:#666;font-weight:500}.proof-badges{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.badge{background:#fff;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;color:#333;box-shadow:0 2px 8px #00000014}.features{padding:5rem 2rem;max-width:1200px;margin:0 auto}.section-title{text-align:center;font-size:2.5rem;font-weight:700;color:#1a336b;margin:0 0 3rem}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.feature-card{padding:2rem;background:#fff;border:1px solid #e5e5e5;border-radius:12px;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;font-weight:600;color:#1a336b;margin:0 0 .75rem}.feature-card p{color:#666;line-height:1.6;margin:0}.comparison{padding:5rem 2rem;background:#f8f9fa}.comparison-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;max-width:900px;margin:0 auto}.comparison-col{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 12px #0000000d}.comparison-col h3{font-size:1.5rem;font-weight:700;color:#1a336b;margin:0 0 1.5rem}.comparison-col ul{list-style:none;padding:0;margin:0}.comparison-col li{padding:.75rem 0;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:.75rem;color:#333}.comparison-col li:last-child{border-bottom:none}.check{color:#27ca40;font-weight:700}.pricing{padding:5rem 2rem;max-width:1200px;margin:0 auto}.section-subtitle{text-align:center;font-size:1.125rem;color:#666;margin:-2rem 0 3rem}.pricing-card{background:#fff;border:2px solid #e5e5e5;border-radius:12px;padding:2rem;text-align:center;position:relative;transition:border-color .2s,transform .2s}.pricing-card:hover{border-color:#518ac8;transform:translateY(-4px)}.pricing-card.featured{border-color:#518ac8;transform:scale(1.05)}.featured-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#518ac8;color:#fff;padding:.25rem 1rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.price{font-size:3rem;font-weight:800;color:#1a1a1a;margin:0 0 2rem}.features-list{list-style:none;padding:0;margin:0 0 2rem;text-align:left}.features-list li{padding:.5rem 0;color:#333;border-bottom:1px solid #f0f0f0}.pricing-cta{display:block;background:#518ac8;color:#fff;padding:1rem;border-radius:8px;font-weight:600;text-decoration:none;transition:background .2s}.pricing-cta:hover{background:#3a6ca8}.trial-note{font-size:.875rem;color:#888;margin:.5rem 0 0}.final-cta{text-align:center;padding:5rem 2rem;background:linear-gradient(135deg,#1a336b,#518ac8);color:#fff}.final-cta h2{font-size:2.5rem;font-weight:700;margin:0 0 1rem}.final-cta p{font-size:1.25rem;margin:0 0 2rem;opacity:.9}.final-cta .cta-primary{background:#fff;color:#1a336b}.final-cta .cta-primary:hover{background:#f0f0f0}.landing-footer{background:#1a1a1a;color:#999;padding:3rem 2rem 1.5rem}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 3fr;gap:4rem;margin-bottom:2rem}.footer-brand .nav-logo{margin-bottom:.5rem}.footer-brand span{color:#fff}.footer-brand p{margin:0;color:#666}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-col h4{color:#fff;font-size:.875rem;font-weight:600;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em}.footer-col a{display:block;color:#999;text-decoration:none;padding:.25rem 0;transition:color .2s}.footer-col a:hover{color:#fff}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:2rem;border-top:1px solid #333;text-align:center}.footer-bottom p{margin:0;font-size:.875rem}.waitlist-form{display:flex;flex-direction:column;gap:.75rem;max-width:480px}.form-row{display:flex;gap:.5rem}.form-input{flex:1;padding:.875rem 1rem;border:2px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s;outline:none;background:#fff;color:#1a1a1a}.form-input:focus{border-color:#518ac8}.form-error{color:#ef4444;font-size:.875rem;margin:0}.referral-notice{font-size:.875rem;color:#518ac8;margin:0;font-weight:500}.waitlist-success{text-align:center;padding:1rem}.waitlist-success .success-icon{font-size:3rem;margin-bottom:.5rem}.waitlist-success h3{font-size:1.5rem;color:#1a336b;margin:0 0 .5rem}.waitlist-success p{color:#666;margin:0 0 1.5rem;line-height:1.5}.referral-share{background:#f0f7ff;border:1px solid #b3d4f0;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.referral-label{font-weight:600;color:#1a336b;margin-bottom:.75rem!important}.referral-link-box{display:flex;gap:.5rem}.referral-link-box .referral-input{flex:1;padding:.625rem .75rem;border:1px solid #b3d4f0;border-radius:6px;font-size:.875rem;background:#fff;color:#1a1a1a}.copy-btn{padding:.625rem 1rem;background:#518ac8;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.copy-btn:hover{background:#3a6ca8}.referral-hint{font-size:.8rem;color:#6b7280;margin-top:.75rem!important;margin-bottom:0!important}.counter-badge{background:linear-gradient(135deg,#1a336b,#518ac8);color:#fff!important}.counter-number{font-size:1.25rem;font-weight:700}.hero-cta .cta-primary:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 968px){.hero{grid-template-columns:1fr;padding-top:6rem}.hero-headline{font-size:3rem}.features-grid,.pricing-grid{grid-template-columns:1fr}.pricing-card.featured{transform:none}.comparison-grid{grid-template-columns:1fr}.nav-links{gap:1rem}.footer-content{grid-template-columns:1fr;gap:2rem}}.blog-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.blog-header{background:linear-gradient(135deg,#1a336b,#518ac8);color:#fff;padding:8rem 2rem 4rem;text-align:center;margin-top:60px}.blog-header-content h1{font-size:3rem;font-weight:800;margin:0 0 1rem}.blog-header-content p{font-size:1.25rem;margin:0;opacity:.9}.blog-filter{padding:2rem;border-bottom:1px solid #e5e5e5}.filter-container{max-width:1200px;margin:0 auto;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.filter-container button{background:#fff;border:2px solid #e5e5e5;padding:.5rem 1.5rem;border-radius:20px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.filter-container button:hover{border-color:#518ac8;color:#518ac8}.filter-container button.active{background:#518ac8;border-color:#518ac8;color:#fff}.blog-posts{flex:1;padding:4rem 2rem}.posts-container{max-width:1200px;margin:0 auto}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem}.post-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:2rem;text-decoration:none;color:inherit;transition:all .2s;display:block}.post-card:hover{border-color:#518ac8;transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.post-category{display:inline-block;background:#dcf2fd;color:#518ac8;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.post-title{font-size:1.5rem;font-weight:700;color:#1a336b;margin:0 0 1rem;line-height:1.3}.post-excerpt{color:#666;line-height:1.6;margin:0 0 1.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-meta{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#888}.newsletter{background:#f8f9fa;padding:5rem 2rem;text-align:center}.newsletter-content{max-width:600px;margin:0 auto}.newsletter h2{font-size:2rem;font-weight:700;color:#1a336b;margin:0 0 1rem}.newsletter p{color:#666;margin:0 0 2rem;font-size:1.125rem}.newsletter-form{display:flex;gap:1rem;margin-bottom:1rem}.newsletter-form input{flex:1;padding:1rem;border:2px solid #e5e5e5;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s}.newsletter-form input:focus{outline:none;border-color:#518ac8}.newsletter-form button{white-space:nowrap}.newsletter-note{font-size:.875rem;color:#888;margin:0}@media (max-width: 768px){.blog-header-content h1{font-size:2rem}.posts-grid{grid-template-columns:1fr}.newsletter-form{flex-direction:column}.filter-container{gap:.5rem}.filter-container button{padding:.5rem 1rem;font-size:.875rem}}.blog-post-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.post-not-found{padding:8rem 2rem;text-align:center;margin-top:60px}.post-not-found h1{font-size:2.5rem;color:#1a336b;margin:0 0 1rem}.post-not-found p{color:#666;margin:0 0 2rem;font-size:1.125rem}.blog-post{max-width:800px;margin:0 auto;padding:4rem 2rem}.post-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid #e5e5e5}.post-category-badge{display:inline-block;background:#dcf2fd;color:#518ac8;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.post-header h1{font-size:2.5rem;font-weight:800;color:#1a336b;margin:0 0 1rem;line-height:1.2}.post-meta{display:flex;align-items:center;gap:.75rem;color:#888;font-size:.9375rem}.post-content{font-size:1.125rem;line-height:1.8}.post-content h2{font-size:1.75rem;font-weight:700;color:#1a336b;margin:2.5rem 0 1rem}.post-content h3{font-size:1.375rem;font-weight:600;color:#1a336b;margin:2rem 0 .75rem}.post-content p{margin:0 0 1.5rem;color:#333}.post-content ul,.post-content ol{margin:0 0 1.5rem 1.5rem;color:#333}.post-content li{margin:.5rem 0}.post-content pre{background:#f8f9fa;padding:1.5rem;border-radius:8px;overflow-x:auto;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.9375rem;margin:0 0 1.5rem}.post-content a{color:#518ac8;text-decoration:none}.post-content a:hover{text-decoration:underline}.post-content strong{font-weight:600;color:#1a1a1a}.post-share{margin-top:4rem;padding-top:2rem;border-top:1px solid #e5e5e5}.post-share h3{font-size:1.125rem;font-weight:600;color:#1a336b;margin:0 0 1rem}.share-buttons{display:flex;gap:1rem}.share-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:opacity .2s}.share-btn:hover{opacity:.9}.share-btn.twitter{background:#1da1f2;color:#fff}.share-btn.linkedin{background:#0077b5;color:#fff}.share-btn.facebook{background:#4267b2;color:#fff}.related-posts{background:#f8f9fa;padding:5rem 2rem}.related-posts h2{font-size:2rem;font-weight:700;color:#1a336b;margin:0 0 2rem;text-align:center}.related-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.related-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:1.5rem;text-decoration:none;color:inherit;transition:all .2s;display:block}.related-card:hover{border-color:#518ac8;transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.related-category{display:inline-block;background:#dcf2fd;color:#518ac8;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.related-card h3{font-size:1.25rem;font-weight:700;color:#1a336b;margin:0 0 .75rem;line-height:1.3}.related-card p{color:#666;font-size:.9375rem;line-height:1.5;margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-meta{font-size:.875rem;color:#888}.post-cta{text-align:center;padding:5rem 2rem;background:linear-gradient(135deg,#1a336b,#518ac8);color:#fff}.post-cta h2{font-size:2.5rem;font-weight:700;margin:0 0 1rem}.post-cta p{font-size:1.25rem;margin:0 0 2rem;opacity:.9}.post-cta .cta-primary{background:#fff;color:#1a336b}.post-cta .cta-primary:hover{background:#f0f0f0}@media (max-width: 768px){.post-header h1{font-size:2rem}.related-grid{grid-template-columns:1fr}.post-content{font-size:1rem}.share-buttons{flex-wrap:wrap}}.features-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.features-hero{background:linear-gradient(135deg,#1a336b,#518ac8);color:#fff;padding:8rem 2rem 4rem;text-align:center;margin-top:60px}.features-hero-content{max-width:800px;margin:0 auto}.features-hero-content h1{font-size:3rem;font-weight:800;margin:0 0 1.5rem;line-height:1.2}.features-hero-content p{font-size:1.25rem;margin:0;opacity:.9}.features-categories{padding:5rem 2rem}.features-container{max-width:1200px;margin:0 auto}.feature-category{margin-bottom:5rem;scroll-margin-top:80px}.category-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #518ac8}.category-icon{font-size:2.5rem}.category-header h2{font-size:2rem;font-weight:700;color:#1a336b;margin:0}.category-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.feature-detail{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:2rem;transition:all .2s}.feature-detail:hover{border-color:#518ac8;transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.feature-detail h3{font-size:1.25rem;font-weight:700;color:#1a336b;margin:0 0 .75rem}.feature-detail>p{color:#666;margin:0 0 1.5rem;line-height:1.6}.feature-details-list{list-style:none;padding:0;margin:0}.feature-details-list li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:#333;font-size:.9375rem}.feature-details-list li:before{content:"✓";position:absolute;left:0;color:#27ca40;font-weight:700}.features-cta{text-align:center;padding:5rem 2rem;background:#f8f9fa}.features-cta h2{font-size:2.5rem;font-weight:700;color:#1a336b;margin:0 0 1rem}.features-cta p{font-size:1.25rem;color:#666;margin:0 0 2rem}@media (max-width: 768px){.features-hero-content h1{font-size:2rem}.category-features{grid-template-columns:1fr}.category-header{flex-direction:column;text-align:center}.features-cta h2{font-size:1.75rem}}.pricing-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.pricing-hero{background:linear-gradient(135deg,#1a336b,#518ac8);color:#fff;padding:8rem 2rem 4rem;text-align:center;margin-top:60px}.pricing-hero-content{max-width:800px;margin:0 auto}.pricing-hero-content h1{font-size:3rem;font-weight:800;margin:0 0 1.5rem;line-height:1.2}.pricing-hero-content p{font-size:1.25rem;margin:0;opacity:.9}.pricing-cards{padding:5rem 2rem;background:#f8f9fa}.pricing-container{max-width:1200px;margin:0 auto}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:start}.pricing-card{background:#fff;border:2px solid #e5e5e5;border-radius:12px;padding:2.5rem 2rem;text-align:center;position:relative;transition:all .2s}.pricing-card:hover{border-color:#518ac8;transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.pricing-card.featured{border-color:#518ac8;transform:scale(1.05);box-shadow:0 12px 32px #518ac833}.pricing-card.featured:hover{transform:scale(1.05) translateY(-4px)}.featured-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#518ac8;color:#fff;padding:.25rem 1rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.pricing-card h3{font-size:1.5rem;font-weight:700;color:#1a336b;margin:0 0 1rem}.price{font-size:3.5rem;font-weight:800;color:#1a1a1a;margin:0 0 .5rem;line-height:1}.price span{font-size:1rem;font-weight:400;color:#666}.plan-description{color:#666;font-size:.9375rem;margin:0 0 1rem}.trial-note{color:#27ca40;font-weight:600;font-size:.875rem;margin:0 0 1.5rem}.pricing-cta{display:block;padding:1rem;border-radius:8px;font-weight:600;text-decoration:none;text-align:center;transition:all .2s;margin-bottom:2rem}.pricing-cta.primary{background:#518ac8;color:#fff}.pricing-cta.primary:hover{background:#3a6ca8}.pricing-cta:not(.primary){background:#fff;color:#518ac8;border:2px solid #518ac8}.pricing-cta:not(.primary):hover{background:#518ac8;color:#fff}.features-list{list-style:none;padding:0;margin:0;text-align:left}.features-list li{padding:.75rem 0;border-bottom:1px solid #f0f0f0;color:#333;font-size:.9375rem}.features-list li:last-child{border-bottom:none}.features-list li.summary{color:#666;font-style:italic;font-size:.875rem}.comparison-section{padding:5rem 2rem;background:#fff}.comparison-container{max-width:1000px;margin:0 auto}.comparison-container h2{font-size:2.5rem;font-weight:700;color:#1a336b;margin:0 0 3rem;text-align:center}.comparison-table-wrapper{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;font-size:.9375rem}.comparison-table th{background:#f8f9fa;padding:1.25rem 1rem;text-align:center;font-weight:600;color:#1a336b;border-bottom:2px solid #e5e5e5}.comparison-table th:first-child{text-align:left;padding-left:2rem}.comparison-table td{padding:1rem;text-align:center;border-bottom:1px solid #f0f0f0;color:#333}.comparison-table td:first-child{text-align:left;padding-left:2rem;font-weight:500;color:#1a1a1a}.comparison-table td.included{color:#27ca40;font-weight:700}.comparison-table td.not-included{color:#ccc}.faq-section{padding:5rem 2rem;background:#f8f9fa}.faq-container{max-width:800px;margin:0 auto}.faq-container h2{font-size:2.5rem;font-weight:700;color:#1a336b;margin:0 0 3rem;text-align:center}.faq-question{width:100%;padding:1.5rem;background:none;border:none;text-align:left;font-size:1.125rem;font-weight:600;color:#1a336b;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:inherit}.faq-icon{font-size:1.5rem;color:#518ac8;font-weight:300;margin-left:1rem}.pricing-cta{text-align:center;padding:5rem 2rem;background:linear-gradient(135deg,#1a336b,#518ac8);color:#fff}.pricing-cta h2{font-size:2.5rem;font-weight:700;margin:0 0 1rem}.pricing-cta p{font-size:1.25rem;margin:0 0 2rem;opacity:.9}.pricing-cta .cta-primary{background:#fff;color:#1a336b}.pricing-cta .cta-primary:hover{background:#f0f0f0}@media (max-width: 968px){.pricing-grid{grid-template-columns:1fr}.pricing-card.featured{transform:none}.pricing-card.featured:hover{transform:translateY(-4px)}.pricing-hero-content h1{font-size:2rem}.comparison-table{font-size:.875rem}.faq-container h2,.comparison-container h2{font-size:1.75rem}}@media (max-width: 640px){.price{font-size:2.5rem}.faq-question{font-size:1rem;padding:1rem}.faq-answer{padding:0 1rem 1rem;font-size:.9375rem}}.about-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.about-hero{background:linear-gradient(135deg,#1a336b,#518ac8);color:#fff;padding:8rem 2rem 4rem;text-align:center;margin-top:60px}.about-hero-content{max-width:800px;margin:0 auto}.about-hero-content h1{font-size:3rem;font-weight:800;margin:0 0 1.5rem;line-height:1.2}.about-hero-content p{font-size:1.25rem;margin:0;opacity:.9}.mission-section{padding:5rem 2rem;background:#fff}.mission-content{max-width:800px;margin:0 auto}.mission-content h2{font-size:2.5rem;font-weight:700;color:#1a336b;margin:0 0 2rem;text-align:center}.mission-statement{font-size:1.5rem;font-weight:600;color:#518ac8;margin:0 0 2rem;text-align:center;line-height:1.4}.mission-content p{font-size:1.125rem;color:#333;margin:0 0 1.5rem;line-height:1.8}.values-section{padding:5rem 2rem;background:#f8f9fa}.values-container{max-width:1200px;margin:0 auto}.values-container h2{font-size:2.5rem;font-weight:700;color:#1a336b;margin:0 0 3rem;text-align:center}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.value-card{background:#fff;padding:2rem;border-radius:12px;text-align:center;border:1px solid #e5e5e5;transition:all .2s}.value-card:hover{border-color:#518ac8;transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.value-icon{font-size:3rem;margin-bottom:1rem}.value-card h3{font-size:1.25rem;font-weight:700;color:#1a336b;margin:0 0 1rem}.value-card p{color:#666;line-height:1.6;margin:0}.story-section{padding:5rem 2rem;background:#fff}.story-content{max-width:800px;margin:0 auto}.story-content h2{font-size:2.5rem;font-weight:700;color:#1a336b;margin:0 0 2rem}.story-content p{font-size:1.125rem;color:#333;margin:0 0 1.5rem;line-height:1.8}.team-section{padding:5rem 2rem;background:#f8f9fa}.team-container{max-width:1000px;margin:0 auto}.team-container h2{font-size:2.5rem;font-weight:700;color:#1a336b;margin:0 0 1rem;text-align:center}.team-intro{text-align:center;color:#666;font-size:1.125rem;margin:0 0 3rem}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.team-member{background:#fff;padding:2rem;border-radius:12px;text-align:center;border:1px solid #e5e5e5}.member-avatar{font-size:4rem;margin-bottom:1rem}.team-member h3{font-size:1.25rem;font-weight:700;color:#1a336b;margin:0 0 .5rem}.team-member p{color:#666;margin:0}.team-cta{text-align:center;color:#666;margin:0}.team-cta a{color:#518ac8;font-weight:600}.about-cta{text-align:center;padding:5rem 2rem;background:linear-gradient(135deg,#1a336b,#518ac8);color:#fff}.about-cta h2{font-size:2.5rem;font-weight:700;margin:0 0 1rem}.about-cta p{font-size:1.25rem;margin:0 0 2rem;opacity:.9}.about-cta .cta-primary{background:#fff;color:#1a336b}.about-cta .cta-primary:hover{background:#f0f0f0}.faq-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.faq-hero{background:linear-gradient(135deg,#1a336b,#518ac8);color:#fff;padding:8rem 2rem 4rem;text-align:center;margin-top:60px}.faq-hero-content{max-width:800px;margin:0 auto}.faq-hero-content h1{font-size:3rem;font-weight:800;margin:0 0 1.5rem;line-height:1.2}.faq-hero-content p{font-size:1.125rem;margin:0;opacity:.9}.faq-hero-content a{color:#fff;text-decoration:underline}.faq-categories{padding:5rem 2rem;background:#fff}.faq-container{max-width:900px;margin:0 auto}.faq-category{margin-bottom:4rem}.faq-category h2{font-size:1.75rem;font-weight:700;color:#1a336b;margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:2px solid #518ac8}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background:#fff;border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;transition:all .2s}.faq-item:hover{border-color:#518ac8}.faq-item.open{border-color:#518ac8;box-shadow:0 4px 12px #518ac826}.faq-question{width:100%;padding:1.5rem;background:none;border:none;text-align:left;font-size:1.0625rem;font-weight:600;color:#1a336b;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:inherit}.faq-question:hover{background:#f8f9fa}.faq-icon{font-size:1.5rem;color:#518ac8;font-weight:300;margin-left:1rem;min-width:1.5rem}.faq-answer{padding:0 1.5rem 1.5rem;color:#666;line-height:1.8;font-size:1rem;display:none}.faq-item.open .faq-answer{display:block}.faq-cta{text-align:center;padding:5rem 2rem;background:#f8f9fa}.faq-cta h2{font-size:2.5rem;font-weight:700;color:#1a336b;margin:0 0 1rem}.faq-cta p{font-size:1.125rem;color:#666;margin:0 0 2rem}.faq-cta .cta-primary{background:#518ac8;color:#fff}.faq-cta .cta-primary:hover{background:#3a6ca8}@media (max-width: 768px){.about-hero-content h1,.faq-hero-content h1{font-size:2rem}.mission-content h2,.values-container h2,.story-content h2,.team-container h2,.faq-category h2{font-size:1.75rem}.values-grid,.team-grid{grid-template-columns:1fr}.mission-statement{font-size:1.25rem}.faq-question{font-size:1rem;padding:1rem}.faq-answer{padding:0 1rem 1rem;font-size:.9375rem}}.not-found-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.not-found-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8rem 2rem 4rem;text-align:center;margin-top:60px}.error-code{font-size:8rem;font-weight:800;color:#518ac8;line-height:1;margin-bottom:1rem}.not-found-content h1{font-size:2.5rem;font-weight:700;color:#1a336b;margin:0 0 1.5rem}.not-found-content>p{font-size:1.125rem;color:#666;max-width:500px;margin:0 0 2.5rem;line-height:1.8}.not-found-actions{display:flex;gap:1rem;margin-bottom:3rem}.cta-secondary{display:inline-block;padding:1rem 2rem;border-radius:8px;font-weight:600;text-decoration:none;text-align:center;transition:all .2s;background:#fff;color:#518ac8;border:2px solid #518ac8}.cta-secondary:hover{background:#518ac8;color:#fff}.writing-tip{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:12px;padding:2rem;max-width:500px;text-align:left}.writing-tip h3{font-size:1.125rem;font-weight:700;color:#1a336b;margin:0 0 1rem}.writing-tip p{color:#666;margin:0;line-height:1.6}@media (max-width: 640px){.error-code{font-size:5rem}.not-found-content h1{font-size:1.75rem}.not-found-actions{flex-direction:column;width:100%}.not-found-actions a{width:100%}}:root{--color-bg-primary: #0a0a0a;--color-bg-secondary: #141414;--color-bg-tertiary: #1a1a1a;--color-bg-elevated: #222222;--color-text-primary: #f5f5f5;--color-text-secondary: #a3a3a3;--color-text-muted: #737373;--color-border: #262626;--color-border-hover: #404040;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-muted: rgba(59, 130, 246, .15);--color-success: #22c55e;--color-warning: #eab308;--color-error: #ef4444;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--sidebar-width: 260px;--header-height: 56px;--transition-fast: .15s ease;--transition-normal: .25s ease}*{margin:0;padding:0;box-sizing:border-box}.freno-body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}input,textarea,select{font:inherit;color:inherit;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 12px;outline:none;transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--color-accent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-bg-elevated);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}@media (max-width: 768px){:root{--sidebar-width: 0px}} diff --git a/dist/assets/service-DriRc7_Z.js b/dist/assets/service-DriRc7_Z.js deleted file mode 100644 index 50cf1ac82..000000000 --- a/dist/assets/service-DriRc7_Z.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as l,k as g}from"./main-B-KzsHRi.js";const d="frenocorp_projects";function j(){try{const o=localStorage.getItem(d);return o?JSON.parse(o):[]}catch{return[]}}function P(o){localStorage.setItem(d,JSON.stringify(o))}function A(){const[o,s]=l(j()),[u,a]=l(!1);g(()=>{const t=o();P(t)});const f=async(t,n,r)=>{a(!0);const e={id:b(),name:t,description:n,ownerId:r,status:"draft",collaborators:[],createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return s(c=>[e,...c]),a(!1),e},i=async(t,n)=>(a(!0),s(r=>r.map(e=>e.id===t?{...e,...n,updatedAt:new Date().toISOString()}:e)),a(!1),o().find(r=>r.id===t));return{projects:o,loading:u,createProject:f,updateProject:i,deleteProject:async t=>{a(!0),s(n=>n.filter(r=>r.id!==t)),a(!1)},addCollaborator:async(t,n,r)=>(a(!0),s(e=>e.map(c=>c.id!==t||c.collaborators.find(S=>S.userId===n)?c:{...c,collaborators:[...c.collaborators,{userId:n,role:r,addedAt:new Date().toISOString()}],updatedAt:new Date().toISOString()})),a(!1),o().find(e=>e.id===t)),removeCollaborator:async(t,n)=>(a(!0),s(r=>r.map(e=>e.id!==t?e:{...e,collaborators:e.collaborators.filter(c=>c.userId!==n),updatedAt:new Date().toISOString()})),a(!1),o().find(r=>r.id===t)),archiveProject:async t=>i(t,{status:"archived"})}}function b(){return`proj_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}export{A as c}; -//# sourceMappingURL=service-DriRc7_Z.js.map diff --git a/dist/assets/service-DriRc7_Z.js.map b/dist/assets/service-DriRc7_Z.js.map deleted file mode 100644 index 7ce417e55..000000000 --- a/dist/assets/service-DriRc7_Z.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"service-DriRc7_Z.js","sources":["../../src/lib/projects/service.ts"],"sourcesContent":["import { createSignal, createEffect, Accessor } from 'solid-js';\nimport { Project, ProjectStatus, ProjectCollaborator, UserRole } from '../auth/types';\n\nconst STORAGE_KEY = 'frenocorp_projects';\n\nfunction loadProjects(): Project[] {\n try {\n const data = localStorage.getItem(STORAGE_KEY);\n return data ? JSON.parse(data) : [];\n } catch {\n return [];\n }\n}\n\nfunction saveProjects(projects: Project[]): void {\n localStorage.setItem(STORAGE_KEY, JSON.stringify(projects));\n}\n\nexport interface ProjectService {\n projects: Accessor;\n loading: Accessor;\n createProject: (name: string, description: string, ownerId: string) => Promise;\n updateProject: (id: string, updates: Partial) => Promise;\n deleteProject: (id: string) => Promise;\n addCollaborator: (projectId: string, userId: string, role: UserRole) => Promise;\n removeCollaborator: (projectId: string, userId: string) => Promise;\n archiveProject: (id: string) => Promise;\n}\n\nexport function createProjectService(): ProjectService {\n const [projects, setProjects] = createSignal(loadProjects());\n const [loading, setLoading] = createSignal(false);\n\n createEffect(() => {\n const current = projects();\n saveProjects(current);\n });\n\n const createProject = async (\n name: string,\n description: string,\n ownerId: string\n ): Promise => {\n setLoading(true);\n const project: Project = {\n id: generateProjectId(),\n name,\n description,\n ownerId,\n status: 'draft',\n collaborators: [],\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n };\n\n setProjects((prev) => [project, ...prev]);\n setLoading(false);\n return project;\n };\n\n const updateProject = async (\n id: string,\n updates: Partial\n ): Promise => {\n setLoading(true);\n setProjects((prev) =>\n prev.map((p) =>\n p.id === id\n ? { ...p, ...updates, updatedAt: new Date().toISOString() }\n : p\n )\n );\n setLoading(false);\n return projects().find((p) => p.id === id)!;\n };\n\n const deleteProject = async (id: string): Promise => {\n setLoading(true);\n setProjects((prev) => prev.filter((p) => p.id !== id));\n setLoading(false);\n };\n\n const addCollaborator = async (\n projectId: string,\n userId: string,\n role: UserRole\n ): Promise => {\n setLoading(true);\n setProjects((prev) =>\n prev.map((p) => {\n if (p.id !== projectId) return p;\n const existing = p.collaborators.find((c) => c.userId === userId);\n if (existing) return p;\n return {\n ...p,\n collaborators: [\n ...p.collaborators,\n { userId, role, addedAt: new Date().toISOString() },\n ],\n updatedAt: new Date().toISOString(),\n };\n })\n );\n setLoading(false);\n return projects().find((p) => p.id === projectId)!;\n };\n\n const removeCollaborator = async (\n projectId: string,\n userId: string\n ): Promise => {\n setLoading(true);\n setProjects((prev) =>\n prev.map((p) => {\n if (p.id !== projectId) return p;\n return {\n ...p,\n collaborators: p.collaborators.filter((c) => c.userId !== userId),\n updatedAt: new Date().toISOString(),\n };\n })\n );\n setLoading(false);\n return projects().find((p) => p.id === projectId)!;\n };\n\n const archiveProject = async (id: string): Promise => {\n return updateProject(id, { status: 'archived' });\n };\n\n return {\n projects,\n loading,\n createProject,\n updateProject,\n deleteProject,\n addCollaborator,\n removeCollaborator,\n archiveProject,\n };\n}\n\nexport function generateProjectId(): string {\n return `proj_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;\n}\n\nexport function useProjectService() {\n return createProjectService();\n}\n"],"names":["STORAGE_KEY","loadProjects","data","saveProjects","projects","createProjectService","setProjects","createSignal","loading","setLoading","createEffect","current","createProject","name","description","ownerId","project","generateProjectId","prev","updateProject","id","updates","p","projectId","userId","role","c"],"mappings":"8CAGA,MAAMA,EAAc,qBAEpB,SAASC,GAA0B,CACjC,GAAI,CACF,MAAMC,EAAO,aAAa,QAAQF,CAAW,EAC7C,OAAOE,EAAO,KAAK,MAAMA,CAAI,EAAI,CAAA,CACnC,MAAQ,CACN,MAAO,CAAA,CACT,CACF,CAEA,SAASC,EAAaC,EAA2B,CAC/C,aAAa,QAAQJ,EAAa,KAAK,UAAUI,CAAQ,CAAC,CAC5D,CAaO,SAASC,GAAuC,CACrD,KAAM,CAACD,EAAUE,CAAW,EAAIC,EAAwBN,GAAc,EAChE,CAACO,EAASC,CAAU,EAAIF,EAAa,EAAK,EAEhDG,EAAa,IAAM,CACjB,MAAMC,EAAUP,EAAA,EAChBD,EAAaQ,CAAO,CACtB,CAAC,EAED,MAAMC,EAAgB,MACpBC,EACAC,EACAC,IACqB,CACrBN,EAAW,EAAI,EACf,MAAMO,EAAmB,CACvB,GAAIC,EAAA,EACJ,KAAAJ,EACA,YAAAC,EACA,QAAAC,EACA,OAAQ,QACR,cAAe,CAAA,EACf,UAAW,IAAI,KAAA,EAAO,YAAA,EACtB,UAAW,IAAI,KAAA,EAAO,YAAA,CAAY,EAGpC,OAAAT,EAAaY,GAAS,CAACF,EAAS,GAAGE,CAAI,CAAC,EACxCT,EAAW,EAAK,EACTO,CACT,EAEMG,EAAgB,MACpBC,EACAC,KAEAZ,EAAW,EAAI,EACfH,EAAaY,GACXA,EAAK,IAAKI,GACRA,EAAE,KAAOF,EACL,CAAE,GAAGE,EAAG,GAAGD,EAAS,UAAW,IAAI,KAAA,EAAO,YAAA,GAC1CC,CAAA,CACN,EAEFb,EAAW,EAAK,EACTL,IAAW,KAAMkB,GAAMA,EAAE,KAAOF,CAAE,GAyD3C,MAAO,CACL,SAAAhB,EACA,QAAAI,EACA,cAAAI,EACA,cAAAO,EACA,cA3DoB,MAAOC,GAA8B,CACzDX,EAAW,EAAI,EACfH,EAAaY,GAASA,EAAK,OAAQI,GAAMA,EAAE,KAAOF,CAAE,CAAC,EACrDX,EAAW,EAAK,CAClB,EAwDE,gBAtDsB,MACtBc,EACAC,EACAC,KAEAhB,EAAW,EAAI,EACfH,EAAaY,GACXA,EAAK,IAAKI,GACJA,EAAE,KAAOC,GACID,EAAE,cAAc,KAAMI,GAAMA,EAAE,SAAWF,CAAM,EAC3CF,EACd,CACL,GAAGA,EACH,cAAe,CACb,GAAGA,EAAE,cACL,CAAE,OAAAE,EAAQ,KAAAC,EAAM,YAAa,KAAA,EAAO,aAAY,CAAE,EAEpD,UAAW,IAAI,KAAA,EAAO,YAAA,CAAY,CAErC,CAAA,EAEHhB,EAAW,EAAK,EACTL,IAAW,KAAMkB,GAAMA,EAAE,KAAOC,CAAS,GAiChD,mBA9ByB,MACzBA,EACAC,KAEAf,EAAW,EAAI,EACfH,EAAaY,GACXA,EAAK,IAAKI,GACJA,EAAE,KAAOC,EAAkBD,EACxB,CACL,GAAGA,EACH,cAAeA,EAAE,cAAc,OAAQ,GAAM,EAAE,SAAWE,CAAM,EAChE,UAAW,IAAI,KAAA,EAAO,YAAA,CAAY,CAErC,CAAA,EAEHf,EAAW,EAAK,EACTL,IAAW,KAAMkB,GAAMA,EAAE,KAAOC,CAAS,GAehD,eAZqB,MAAOH,GACrBD,EAAcC,EAAI,CAAE,OAAQ,WAAY,CAW/C,CAEJ,CAEO,SAASH,GAA4B,CAC1C,MAAO,QAAQ,KAAK,IAAA,CAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,EAAG,CAAC,CAAC,EACrE"} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html deleted file mode 100644 index a6dbd503d..000000000 --- a/dist/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - Scripter — Write Faster - - - - -
          - - diff --git a/dist/manifest.json b/dist/manifest.json deleted file mode 100644 index 2699782b8..000000000 --- a/dist/manifest.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "Scripter", - "short_name": "Scripter", - "description": "Professional screenplay editor with real-time collaboration", - "start_url": "/", - "display": "standalone", - "background_color": "#1a1a2e", - "theme_color": "#1a1a2e", - "orientation": "any", - "icons": [ - { - "src": "/icon-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "any maskable" - }, - { - "src": "/icon-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "any maskable" - } - ], - "categories": ["productivity", "writer"], - "screenshots": [] -} diff --git a/docs/FRE-4493-review.md b/docs/FRE-4493-review.md deleted file mode 100644 index 7079dbadb..000000000 --- a/docs/FRE-4493-review.md +++ /dev/null @@ -1,75 +0,0 @@ -# FRE-4493 Review Summary - -**Issue**: Build API gateway with rate limiting and routing -**Status**: Approved with production notes -**Reviewer**: CEO (1e9fc1f3-e016-40df-9d08-38289f90f2ee) -**Date**: 2026-04-29 - -## Implementation Overview - -### Files Created -- `apps/api/src/index.ts` - Fastify server entry point -- `apps/api/src/middleware/auth.middleware.ts` - JWT + API key authentication -- `apps/api/src/middleware/rate-limit.middleware.ts` - Tier-based rate limiting -- `apps/api/src/middleware/error-handling.middleware.ts` - Standardized error responses -- `apps/api/src/middleware/logging.middleware.ts` - Request/response logging -- `apps/api/src/routes/index.ts` - API route definitions -- `apps/api/src/config/api.config.ts` - Environment and configuration - -### Features Delivered -1. **Rate Limiting**: Tier-based limits (basic: 100/min, plus: 500/min, premium: 2000/min) -2. **Authentication**: Dual strategy (JWT + API key) with role-based authorization -3. **CORS**: Configurable CORS with origin validation and security headers -4. **Error Handling**: Standardized error response format with proper HTTP status codes -5. **Logging**: Request tracking with request IDs and correlation IDs -6. **API Versioning**: Header-based versioning infrastructure ready -7. **Health Check**: `/health` endpoint for monitoring -8. **Service Discovery**: Placeholder routes for microservice routing - -## Code Quality Assessment - -### Strengths -✅ Clean Fastify architecture with proper plugin separation -✅ Middleware chain follows best practices (logging → auth → rate limit → error handling) -✅ Tier-based rate limiting properly implemented with configurable limits -✅ Dual auth strategy with graceful fallback (JWT → API key → anonymous) -✅ Standardized error responses with timestamp, path, and structured format -✅ Request ID tracking for distributed tracing in microservices -✅ CORS and security headers configured (helmet) -✅ Graceful shutdown handling (SIGINT/SIGTERM) - -### TypeScript Configuration Issues -⚠️ 10 type errors in API gateway source (mostly Fastify logger typing) -⚠️ `import.meta.url` requires ES module configuration -⚠️ Pino logger types need `esModuleInterop` flag -⚠️ Fastify decorator types (`requireAuth`, `requireRole`) need proper augmentation - -These are configuration issues, not logic errors. The code structure is sound. - -## Production Readiness Gaps - -### Required for Production -1. **Redis-backed rate limiter** - Current implementation uses in-memory Map -2. **Actual JWT verification** - Currently uses placeholder user object -3. **API key validation** - Should validate against database/service registry -4. **Service discovery integration** - Routes are stubbed, need actual proxy logic -5. **TypeScript config refinement** - Fix module resolution and decorator typing - -### Recommended Enhancements -1. Add request/response size limits -2. Implement request timeout handling -3. Add circuit breaker pattern for downstream services -4. Implement structured logging for production (JSON format) -5. Add metrics collection (prometheus) - -## Git Commit -**Commit**: e958b703 -**Message**: "FRE-4493: Implement API gateway with rate limiting and routing" - -## Next Steps -1. ✅ Mark FRE-4493 as `approved` (done) -2. Create follow-up issue for Redis rate limiting (FRE-4494?) -3. Transition to FRE-4495 (Notification infrastructure) - -## Recommendation -**Approve** - Implementation is solid for MVP. Production hardening can proceed in parallel with notification service development. The architecture supports the required functionality and follows Fastify best practices. diff --git a/index.html b/index.html deleted file mode 100644 index 4b9554832..000000000 --- a/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - Scripter — Write Faster - - -
          - - - diff --git a/marketing/LAUNCH_READINESS.md b/marketing/LAUNCH_READINESS.md deleted file mode 100644 index 19495e9e5..000000000 --- a/marketing/LAUNCH_READINESS.md +++ /dev/null @@ -1,262 +0,0 @@ -# Scripter Marketing Launch Readiness - -**Document Type:** Launch Checklist -**Owner:** CMO -**Last Updated:** 2026-04-25 -**Status:** ✅ READY FOR LAUNCH - ---- - -## Executive Summary - -Scripter's marketing foundation is complete and ready for launch. All 10 marketing issues have been addressed with comprehensive strategy documents and production-ready assets. - -**Launch Date:** [TBD - Coordinate with CTO on product stability] -**Launch Strategy:** Product Hunt + Organic + Press (see FRE-581) - ---- - -## Completed Deliverables - -### ✅ Brand & Identity (FRE-576) -- [x] Brand identity document (`/brand/identity.md`) -- [x] Logo and color palette defined -- [x] Typography and brand voice guidelines -- [x] Competitive positioning (vs Final Draft, WriterDuet) - -### ✅ Marketing Website (FRE-577) -- [x] 8 pages built and deployed: - - Landing (`/`) - - Features (`/features`) - - Pricing (`/pricing`) - - About (`/about`) - - FAQ (`/faq`) - - Blog (`/blog`) - - Blog Post Template (`/blog/:slug`) - - 404 Page (`*`) -- [x] 6 CSS stylesheets (~36KB) -- [x] 4 complete blog posts published -- [x] Full SEO + Open Graph implementation -- [x] Responsive design - -### ✅ Content Strategy (FRE-578, FRE-579) -- [x] Content calendar (`/marketing/content-calendar.md`) -- [x] Social media strategy (`/marketing/social-media-strategy.md`) -- [x] Content pillars defined -- [x] SEO keyword targets identified - -### ✅ Email Marketing (FRE-580) -- [x] 6 email sequences designed -- [x] Transactional email templates -- [x] Segmentation strategy -- [x] Tool recommendation (Customer.io or Mailchimp) -- [x] Compliance guidelines (CAN-SPAM, GDPR) - -### ✅ Launch Campaign (FRE-581) -- [x] 3-phase launch plan -- [x] Product Hunt strategy -- [x] Press outreach list (10+ targets) -- [x] Influencer advocate program -- [x] Launch contest plan -- [x] Budget: $3,400 + $200/mo (or $0 organic) - -### ✅ Referral Program (FRE-582) -- [x] 3-tier reward structure -- [x] 4 viral loops designed -- [x] Milestone bonuses -- [x] Fraud prevention system -- [x] Dashboard specs - -### ✅ Partnership Strategy (FRE-583) -- [x] 5 partnership categories -- [x] Priority target list -- [x] Outreach templates -- [x] Affiliate program structure -- [x] Film school partnership offer - -### ✅ Paid Advertising (FRE-584) -- [x] 4-channel strategy (Google, Facebook, YouTube, Reddit) -- [x] Campaign structures -- [x] Ad creative concepts -- [x] Retargeting strategy -- [x] Landing page specs -- [x] Budget: $7k-16k/mo - -### ✅ Analytics Dashboard (FRE-585) -- [x] 8 dashboard sections defined -- [x] North star KPIs -- [x] Event tracking schema -- [x] Alert system design -- [x] Tool recommendations (GA4 + Mixpanel + Metabase) - ---- - -## Launch Readiness Checklist - -### Pre-Launch (Week -2 to -1) - -| Task | Owner | Status | Notes | -|------|-------|--------|-------| -| Finalize launch date | CMO + CTO | ⏳ Pending | Coordinate with product stability | -| Set up analytics tracking | CTO | ⏳ Pending | GA4, Mixpanel, event tracking | -| Create Product Hunt page | CMO | ⏳ Pending | Submit for review | -| Build press list | CMO | ⏳ Pending | 20+ journalist contacts | -| Recruit beta advocates | CMO | ⏳ Pending | 50 influencer targets | -| Prepare social content | CMO | ⏳ Pending | 2 weeks of posts | -| Set up email sequences | CMO + CTO | ⏳ Pending | Customer.io or Mailchimp | -| Test referral tracking | CTO | ⏳ Pending | Link generation, rewards | -| Create partnership deck | CMO | ⏳ Pending | 10-slide overview | -| Final QA on website | CTO | ⏳ Pending | Cross-browser, mobile | - -### Launch Week (Days 1-7) - -| Day | Activity | Owner | Status | -|-----|----------|-------|--------| -| Day 1 | Product Hunt launch (12:01 AM PT) | CMO | ⏳ Pending | -| Day 1 | Email waitlist announcement | CMO | ⏳ Pending | -| Day 2 | Press embargo lifts | CMO | ⏳ Pending | -| Day 2-7 | Respond to every PH comment | CMO | ⏳ Pending | -| Day 3 | Influencer content publishes | CMO | ⏳ Pending | -| Day 4 | Reddit AMA | CMO | ⏳ Pending | -| Day 5 | Customer stories shared | CMO | ⏳ Pending | -| Day 6-7 | Momentum push ("48 hours left") | CMO | ⏳ Pending | - -### Post-Launch (Weeks 2-4) - -| Task | Owner | Status | Notes | -|------|-------|--------|-------| -| Analyze launch metrics | CMO | ⏳ Pending | Signups, activation, conversion | -| Optimize conversion funnel | CMO + CTO | ⏳ Pending | A/B tests | -| Begin partnership outreach | CMO | ⏳ Pending | Top 10 targets | -| Launch content engine | CMO | ⏳ Pending | 2 blog posts/week | -| Start paid ads testing | CMO | ⏳ Pending | Google Search first | -| Weekly performance review | CMO | ⏳ Pending | Every Monday | - ---- - -## Success Metrics - -### 30-Day Goals -| Metric | Target | Current | Status | -|--------|--------|---------|--------| -| Signups | 10,000 | 0 | ⏳ Not launched | -| Activated users (5+ pages) | 5,000 | 0 | ⏳ Not launched | -| Paid conversions | 500 | 0 | ⏳ Not launched | -| MRR | $5,000 | $0 | ⏳ Not launched | -| Press mentions | 10+ | 0 | ⏳ Not launched | -| Social followers | 5,000 | 0 | ⏳ Not launched | - -### 90-Day Goals -| Metric | Target | Current | Status | -|--------|--------|---------|--------| -| Signups | 25,000 | 0 | ⏳ Not launched | -| Activated users | 12,500 | 0 | ⏳ Not launched | -| Paid conversions | 2,000 | 0 | ⏳ Not launched | -| MRR | $20,000 | $0 | ⏳ Not launched | -| Viral coefficient | 0.5+ | 0 | ⏳ Not launched | - ---- - -## Budget Summary - -### One-Time Costs -| Item | Cost | -|------|------| -| Creative production (video, design) | $2,000 | -| Launch contest prizes | $1,000 | -| Press distribution | $400 | -| Swag/gifts for influencers | $300 | -| **Total One-Time** | **$3,700** | - -### Monthly Costs (at scale) -| Item | Cost | -|------|------| -| Email platform (Customer.io) | $279 | -| Analytics tools (Mixpanel, Metabase) | $500 | -| Referral program rewards | $2,200-7,000 | -| Paid advertising | $7,000-16,000 | -| Partnership sponsorships | $2,000-5,000 | -| **Total Monthly** | **$12,000-29,000** | - -### Lean Launch Option (Organic Only) -| Item | Cost | -|------|------| -| Email platform (Mailchimp free tier) | $0 | -| Analytics (GA4 free) | $0 | -| Referral rewards (credits only) | $500 | -| **Total Monthly** | **~$500** | - ---- - -## Dependencies & Blockers - -### Critical Path -| Dependency | Owner | Status | Impact | -|------------|-------|--------|--------| -| Product stability | CTO | ⏳ In Progress | Blocks launch date | -| Payment system live | CTO | ⏳ In Progress | Blocks conversions | -| Analytics tracking | CTO | ⏳ Pending | Blocks measurement | -| Domain/email setup | Ops | ⏳ Pending | Blocks email marketing | - -### Nice to Have -| Dependency | Owner | Status | Impact | -|------------|-------|--------|--------| -| Mobile apps ready | CTO | ⏳ Pending | Enhances launch | -| AI features complete | CTO | ⏳ Pending | Differentiation | -| Integration partnerships | CMO | ⏳ Pending | Long-term growth | - ---- - -## Risk Assessment - -| Risk | Likelihood | Impact | Mitigation | -|------|------------|--------|------------| -| Product bugs at launch | Medium | High | Staggered rollout, quick rollback | -| Low Product Hunt traffic | Medium | High | Activate network, paid boost backup | -| Press doesn't cover | High | Medium | Pivot to influencer-focused | -| Payment system failures | Low | High | Test thoroughly, have manual backup | -| Negative reviews | Medium | Medium | Respond professionally, iterate | -| High CPA on paid ads | Medium | Medium | Set caps, pause underperformers | - ---- - -## Next Actions (This Week) - -1. **Schedule launch date** - CMO + CTO alignment (by EOW) -2. **Submit Product Hunt** - At least 2 weeks before launch -3. **Begin press outreach** - Soft pitches to top 5 targets -4. **Set up analytics** - GA4 + event tracking (CTO priority) -5. **Finalize email sequences** - Write all copy, set up automation -6. **Create launch assets** - Graphics, videos, social templates -7. **Test referral system** - End-to-end flow with rewards -8. **Prepare dashboard** - Launch day monitoring setup - ---- - -## Document Index - -All marketing strategy documents are stored in `/marketing/`: - -| Document | File | Purpose | -|----------|------|---------| -| Brand Identity | `/marketing/brand/identity.md` | Brand guidelines | -| Content Calendar | `/marketing/content-calendar.md` | Editorial planning | -| Social Strategy | `/marketing/social-media-strategy.md` | Social media plan | -| Email Strategy | `/marketing/email-marketing-strategy.md` | Email sequences | -| Launch Campaign | `/marketing/launch-campaign.md` | Launch execution | -| Referral Program | `/marketing/referral-program.md` | Viral growth | -| Partnerships | `/marketing/partnership-strategy.md` | Partner outreach | -| Paid Ads | `/marketing/paid-ad-strategy.md` | Paid acquisition | -| Analytics | `/marketing/analytics-dashboard.md` | Measurement | - ---- - -**Approval Status:** - -| Role | Name | Status | Date | -|------|------|--------|------| -| CMO | [Current] | ✅ Approved | 2026-04-25 | -| CEO | [Pending] | ⏳ Pending | — | -| CTO | [Pending] | ⏳ Pending | — | - -**Launch Ready:** ✅ YES (pending product stability confirmation) diff --git a/marketing/PRODUCT-HUNT-LAUNCH-CHECKLIST.md b/marketing/PRODUCT-HUNT-LAUNCH-CHECKLIST.md deleted file mode 100644 index 97d52af11..000000000 --- a/marketing/PRODUCT-HUNT-LAUNCH-CHECKLIST.md +++ /dev/null @@ -1,301 +0,0 @@ -# 🚀 Product Hunt Launch - Complete Execution Checklist - -**Issue:** FRE-648 -**Status:** ✅ 90% COMPLETE - Ready to execute -**Created:** April 26, 2026 -**Last Updated:** April 26, 2026 4:00 PM -**Blocker:** scripter.app hosting (522 error) - CTO to fix - ---- - -## 📊 Completion Dashboard - -| Phase | Progress | Status | -|-------|----------|--------| -| **Planning** | 100% | ✅ Complete | -| **Content Creation** | 100% | ✅ Complete | -| **Asset Preparation** | 85% | ⏳ Thumbnails done, screenshots pending | -| **Submission Ready** | 100% | ✅ Ready to execute in 15 min | -| **Launch Day Prep** | 100% | ✅ Complete | - -**Overall:** 90% complete - blocked on site availability - ---- - -## 🎯 Pre-Submission Checklist - -### ✅ Complete (Do NOT need to do) -- [x] Thumbnail created (3 variants) -- [x] Maker comment drafted -- [x] First comment drafted -- [x] Submission guide written -- [x] Screenshot script created -- [x] Social posts drafted -- [x] Comment templates ready -- [x] VIP list template created -- [x] Supporter outreach plan ready -- [x] Launch day schedule planned - -### ⏳ Pending (Need site live) -- [ ] scripter.app is live and stable -- [ ] Capture 2-5 screenshots (10 min) -- [ ] Submit to Product Hunt (5 min) -- [ ] Post first comment on PH -- [ ] Share PH link with team - -### ⏳ Pending (Can do anytime) -- [ ] Founder fills in VIP list (10 names) -- [ ] Create social graphics in Figma (2-3 hrs) -- [ ] Record maker video (1-2 hrs) -- [ ] Add GIFs to PH submission - ---- - -## 🚀 SUBMISSION EXECUTION (15 minutes total) - -### Step 1: Verify Site is Live (2 min) -```bash -# Run this command: -curl -s --max-time 5 https://scripter.app -o /dev/null && echo "✅ LIVE" || echo "❌ DOWN" - -# Also check: -# - https://scripter.app/pricing loads -# - Can access editor (if logged in) -``` - -**If ✅ LIVE:** Continue to Step 2 -**If ❌ DOWN:** Stop, contact CTO, wait - -### Step 2: Capture Screenshots (10 min) -```bash -# Run the screenshot script: -cd /home/mike/code/FrenoCorp -./marketing/product-hunt-assets/screenshots/capture-screenshots.sh - -# Or manually capture: -# 1. Open scripter.app in browser -# 2. Set resolution to 1920x1080 -# 3. Capture: Homepage, Pricing, Editor (if accessible) -# 4. Save to: /marketing/product-hunt-assets/screenshots/ -``` - -**Required:** Minimum 2 screenshots -**Ideal:** 5 screenshots - -### Step 3: Submit to Product Hunt (5 min) -``` -1. Go to: https://www.producthunt.com/posts/new -2. Login to PH account -3. Fill form: - - Product Name: Scripter - - Tagline: Write screenplays faster, collaborate better, ship anywhere - - Website: https://scripter.app - - Category: Apps - - Launch Date: May 7, 2026 -4. Upload Assets: - - Thumbnail: /marketing/product-hunt-assets/thumbnail/thumbnail-primary-240x240.png - - Screenshots: 2-5 from /marketing/product-hunt-assets/screenshots/ -5. Paste Maker Comment: - - Copy from: /marketing/product-hunt-submission-content.md - - Replace [FOUNDER NAME] with actual name -6. Click "Submit for Review" -``` - -### Step 4: Post-Submission (3 min) -``` -1. Copy PH link (e.g., producthunt.com/posts/scripter) -2. Post first comment immediately: - - Copy from: /marketing/product-hunt-submission-content.md - - Replace [FOUNDER NAME] -3. Share in team channel: - "🚀 PH submission complete! Link: [PH LINK]" -4. Update FRE-648 with PH link -``` - -**Total Time:** 20 minutes from site live to submission complete - ---- - -## 📅 Timeline Summary - -| Date | Activity | Owner | Status | -|------|----------|-------|--------| -| **April 23** | PH submission deadline | CMO | ❌ MISSED | -| **April 26** | All content complete | CMO | ✅ DONE | -| **TBD** | Site fixed | CTO | ⏳ BLOCKING | -| **TBD + 20 min** | PH submission | CMO | ⏳ Ready | -| **April 27-30** | PH review + approval | PH | ⏳ Pending | -| **April 27 - May 6** | Supporter outreach | CMO | ⏳ Can start | -| **May 6** | "Tomorrow" email | CMO | ⏳ Scheduled | -| **May 7** | **LAUNCH DAY** | ALL | ⏳ Ready | - ---- - -## 🎯 Launch Day Execution (May 7) - -### Pre-Launch (April 26 - May 6) -- [ ] VIP supporter outreach (email + DMs) -- [ ] Waitlist email sequence -- [ ] Social media buildup -- [ ] Press outreach (if doing press) -- [ ] Add more assets to PH (screenshots, GIFs, video) - -### Launch Day Schedule (May 7) -| Time PT | Activity | Owner | Platform | -|---------|----------|-------|----------| -| 12:01 AM | Launch goes live | CMO | PH | -| 12:01 AM | Post first comment | Founder | PH | -| 12:01 AM | Tweet thread (1-5) | CMO | Twitter | -| 12:05 AM | Share to team | CMO | Slack | -| 12:10 AM | Email waitlist | CMO | Email | -| 12:15 AM | LinkedIn post | Founder | LinkedIn | -| 12:01 AM | IG Story: "We're Live!" | CMO | Instagram | -| 8:00 AM | Reddit: r/Screenwriting | CMO | Reddit | -| 9:00 AM | Reddit: r/Filmmakers | CMO | Reddit | -| 12:00 PM | Milestone update (if 100+) | CMO | Twitter | -| 4:00 PM | Midday push | CMO | All | -| 8:00 PM | Thank you posts | CMO | All | - -**Full schedule:** See `/marketing/product-hunt-social-posts-ready.md` - -### During Launch Day -- [ ] Monitor upvotes hourly -- [ ] Respond to EVERY comment within 5-10 min -- [ ] Share milestone updates (100, 250, 500 upvotes) -- [ ] DM VIP supporters who haven't upvoted -- [ ] Thank supporters publicly - -**Comment templates:** `/marketing/product-hunt-comment-templates.md` - ---- - -## 📞 Roles & Responsibilities - -### CMO (You) -- ✅ All content created -- ⏳ Execute PH submission (when site live) -- ⏳ Launch day execution -- ⏳ Supporter outreach -- ⏳ Comment responses on launch day - -### CTO -- 🔴 **CRITICAL:** Fix scripter.app hosting (522 error) -- ⏳ Confirm site stability -- ⏳ Help with screenshot session (if needed) - -### Founder -- ⏳ Fill in VIP list (10 names + emails) -- ⏳ Review maker comment (add name) -- ⏳ Post first comment on PH -- ⏳ Launch day: respond to technical/founder questions -- ⏳ LinkedIn post on launch day - ---- - -## 📁 Complete File Reference - -### Submission Documents -- `/marketing/product-hunt-submission-ready.md` - 5-min submission guide -- `/marketing/product-hunt-submission-content.md` - Comments -- `/marketing/product-hunt-minimum-submission.md` - Urgent plan -- `/marketing/product-hunt-assets/screenshots/capture-screenshots.sh` - Script - -### Launch Day Documents -- `/marketing/product-hunt-social-posts-ready.md` - Social posts -- `/marketing/product-hunt-comment-templates.md` - Response templates -- `/marketing/product-hunt-vip-list.md` - VIP template -- `/marketing/product-hunt-supporter-outreach.md` - Outreach strategy - -### Planning Documents -- `/marketing/product-hunt-launch-plan.md` - Full strategy -- `/marketing/product-hunt-assets-brief.md` - Asset specs -- `/marketing/product-hunt-screenshot-plan.md` - Shot list -- `/marketing/product-hunt-video-script.md` - 90s video -- `/plans/FRE-648-product-hunt-prep.md` - Status tracker - -### Assets -- `/marketing/product-hunt-assets/thumbnail/` - 3 variants ✅ -- `/marketing/product-hunt-assets/screenshots/` - Pending site -- `/marketing/product-hunt-assets/social/` - Directories ready -- `/marketing/product-hunt-assets/video/` - Script ready - -**Total:** 16 documents, 3 thumbnails, 1 script, 4 directories - ---- - -## 🎯 Success Metrics - -### Submission (April 26-27) -- ✅ PH page created -- ✅ 2-5 screenshots uploaded -- ✅ Launch date set (May 7) -- ✅ Approval received (within 48 hrs) - -### Launch Day (May 7) -- **Target:** 500+ upvotes, 50+ comments, Top 5 Apps -- **Minimum:** 100+ upvotes, 10+ comments, Top 20 Apps -- **Stretch:** 1000+ upvotes, 100+ comments, #1 Apps - -### Supporter Outreach -- VIP commitments: 10/10 -- First-hour upvotes: 50+ -- Email open rate: 40%+ -- Click-through rate: 15%+ - ---- - -## 🚨 Blocker Resolution - -### Current Blocker -**Issue:** scripter.app returning 522 (Connection Timeout) -**Owner:** CTO -**Priority:** CRITICAL -**Impact:** Cannot submit to PH (3 days overdue) -**Resolution:** Fix hosting infrastructure - -### Escalation Path -**If site not fixed within 2 hours:** -1. Escalate to CEO/Board -2. Consider submitting with placeholder screenshots -3. PH allows updating assets post-submission - -**Contact CTO:** [Insert CTO contact info] -**Escalate to CEO:** [Insert CEO contact info] - ---- - -## ✅ Final Checklist - -### Before Submission -- [ ] Site is live (scripter.app) -- [ ] Thumbnail file ready -- [ ] 2-5 screenshots captured -- [ ] Maker comment copied (with founder name) -- [ ] First comment copied -- [ ] PH account logged in - -### After Submission -- [ ] PH link shared with team -- [ ] First comment posted -- [ ] FRE-648 updated with PH link -- [ ] VIP outreach begins -- [ ] Launch day prep continues - ---- - -## 📊 Current Status Summary - -**Completion:** 90% -**Files Created:** 16 documents + 3 thumbnails + 1 script -**Time to Submission:** 20 minutes (when site live) -**Blocker:** CTO fixing scripter.app hosting -**Next Action:** CTO fixes site → CMO executes submission - -**All content ready. All templates prepared. Just need site live to execute.** - ---- - -**Owner:** CMO -**Status:** ✅ READY TO EXECUTE - Awaiting CTO to fix site -**Created:** April 26, 2026 -**Last Updated:** April 26, 2026 4:00 PM diff --git a/marketing/analytics-dashboard.md b/marketing/analytics-dashboard.md deleted file mode 100644 index d5a9cca33..000000000 --- a/marketing/analytics-dashboard.md +++ /dev/null @@ -1,398 +0,0 @@ -# Scripter Analytics Dashboard - -**Issue:** FRE-585 -**Priority:** High -**Owner:** CMO (requirements) + CTO (implementation) -**Status:** Draft -**Launch:** Pre-launch (must be ready for Day 1) - ---- - -## Dashboard Overview - -**Purpose:** Track marketing performance, user behavior, and business KPIs in real-time. -**Users:** CMO, CEO, marketing team -**Update Frequency:** Real-time (with daily/weekly/monthly aggregations) - ---- - -## Key Metrics (North Star) - -### Primary KPIs -| Metric | Definition | Target (30 days) | Target (90 days) | -|--------|------------|------------------|------------------| -| Signups | New user accounts | 10,000 | 25,000 | -| Activated Users | Wrote 5+ pages | 5,000 (50%) | 12,500 (50%) | -| Paid Conversions | Upgraded to Pro/Premium | 500 (5%) | 2,000 (8%) | -| MRR | Monthly recurring revenue | $5,000 | $20,000 | -| Viral Coefficient | Invites × conversion | 0.3 | 0.5+ | - ---- - -## Dashboard Sections - -### 1. Executive Summary (Home) - -**High-level metrics for quick health check** - -``` -┌─────────────────────────────────────────────────────────┐ -│ SCRIPTER DASHBOARD [Date Range ▼] │ -├─────────────────────────────────────────────────────────┤ -│ │ -│ SIGNUPS ACTIVATED PAID MRR │ -│ 10,234 ↑12% 5,432 ↑8% 523 ↑15% $5,234 │ -│ vs last period vs last period vs last period ↑18% │ -│ │ -│ ──────────────────────────────────────────────────── │ -│ [Signups Trend Chart - Last 30 Days] │ -│ │ -│ ──────────────────────────────────────────────────── │ -│ TOP CHANNELS CONVERSION FUNNEL │ -│ 1. Product Hunt 45% Signup → Activated: 50% │ -│ 2. Organic 25% Activated → Paid: 10% │ -│ 3. Referral 15% Overall: 5% │ -│ 4. Paid Ads 10% │ -│ 5. Other 5% │ -└─────────────────────────────────────────────────────────┘ -``` - ---- - -### 2. Acquisition Dashboard - -**Track where users come from** - -#### Metrics -| Metric | Description | -|--------|-------------| -| Signups by channel | UTM source/medium breakdown | -| CAC by channel | Cost per acquired customer | -| Channel conversion | Signup → Activated → Paid by channel | -| Channel LTV | Lifetime value by acquisition source | -| Top campaigns | Best performing UTM campaigns | - -#### Visualizations -- Bar chart: Signups by channel (last 30 days) -- Line chart: Channel trends over time -- Funnel: Conversion by channel -- Table: Top 20 campaigns by signups - -#### Data Sources -- Google Analytics 4 -- UTM parameters -- Referral tracking -- Ad platform APIs (Google Ads, Facebook) - ---- - -### 3. Activation Dashboard - -**Track user onboarding success** - -#### Metrics -| Metric | Definition | Target | -|--------|------------|--------| -| Activation rate | Users who write 5+ pages / signups | 50% | -| Time to activate | Avg hours from signup to 5 pages | <24 hours | -| First script rate | Users who create first script | 70% | -| Template usage | % using templates vs blank page | 60% | -| Onboarding completion | % who finish tutorial | 40% | - -#### Visualizations -- Funnel: Signup → First script → 5 pages → 10 pages -- Histogram: Time to activation distribution -- Heat map: Feature usage in first session -- Cohort chart: Activation rate by signup week - -#### Events to Track -```javascript -- user_signed_up -- first_script_created -- first_page_written -- five_pages_written (ACTIVATION) -- tutorial_started -- tutorial_completed -- feature_used (feature_name) -``` - ---- - -### 4. Conversion Dashboard - -**Track free-to-paid funnel** - -#### Metrics -| Metric | Definition | Target | -|--------|------------|--------| -| Free → Trial | Started Pro trial | 15% | -| Trial → Paid | Converted after trial | 40% | -| Free → Paid | Direct upgrade (no trial) | 5% | -| Upgrade rate | Total paid / activated users | 10% | -| Time to convert | Avg days from signup to paid | 14 days | - -#### Visualizations -- Funnel: Free → Trial → Paid -- Line chart: Daily conversion rate -- Bar chart: Plan distribution (Free/Pro/Premium) -- Cohort chart: Conversion rate by signup week - -#### Pricing Page Metrics -| Metric | Target | -|--------|--------| -| Pricing page views | 30% of active users | -| CTA click rate | 20% of pricing views | -| Trial start rate | 15% of pricing views | - ---- - -### 5. Retention Dashboard - -**Track user engagement over time** - -#### Metrics -| Metric | Definition | Target | -|--------|------------|--------| -| DAU | Daily active users | — | -| WAU | Weekly active users | — | -| MAU | Monthly active users | — | -| DAU/MAU ratio | Engagement stickiness | 40%+ | -| D1 retention | % active 1 day after signup | 50% | -| D7 retention | % active 7 days after signup | 30% | -| D30 retention | % active 30 days after signup | 20% | -| Churn rate | Cancellations / paid users | <5%/month | - -#### Visualizations -- Line chart: DAU/WAU/MAU trends -- Cohort heatmap: Retention by week -- Survival curve: User lifetime distribution -- Bar chart: Churn reasons (from cancellation survey) - -#### Segments -- By plan type (Free/Pro/Premium) -- By acquisition channel -- By activation status -- By feature usage (power users vs casual) - ---- - -### 6. Revenue Dashboard - -**Track MRR and financials** - -#### Metrics -| Metric | Definition | Target | -|--------|------------|--------| -| MRR | Monthly recurring revenue | $20k (90 days) | -| ARR | Annual recurring revenue (MRR × 12) | — | -| New MRR | From new customers | — | -| Expansion MRR | From upgrades | — | -| Churned MRR | From cancellations | — | -| Net MRR Growth | New + Expansion - Churn | 20%/month | -| ARPU | Avg revenue per user | $10/month | -| LTV | Lifetime value | $120+ | -| LTV/CAC | ROI ratio | 3:1+ | - -#### Visualizations -- Waterfall chart: MRR movement (new/expansion/churn) -- Line chart: MRR trend over time -- Pie chart: Revenue by plan (Free/Pro/Premium) -- Bar chart: Revenue by channel - ---- - -### 7. Referral Dashboard - -**Track viral growth (see FRE-582)** - -#### Metrics -| Metric | Definition | Target | -|--------|------------|--------| -| Referral rate | Users with referral link | 50% | -| Referral signups | Signups from referrals | 30% of total | -| Viral coefficient | Invites × conversion rate | 0.5+ | -| Cost per referral | Program cost / referral signups | <$5 | -| Top referrers | Leaderboard by successful referrals | — | - -#### Visualizations -- Funnel: Link generated → shared → clicked → signed up → activated -- Leaderboard: Top 50 referrers -- Line chart: Referral signups over time -- Pie chart: Referral share channels (email, social, direct) - ---- - -### 8. Content Dashboard - -**Track blog and content performance** - -#### Metrics -| Metric | Definition | Target | -|--------|------------|--------| -| Blog sessions | Unique visitors to blog | 50k/month | -| Organic traffic | SEO-driven sessions | 60% of blog | -| Blog → Signup | Conversion rate | 2% | -| Top posts | By sessions and conversions | — | -| Avg time on page | Engagement metric | 2:00+ | - -#### Visualizations -- Table: Top 20 posts by sessions -- Bar chart: Sessions by category -- Line chart: Organic traffic trend -- Funnel: Blog visit → signup → activated - ---- - -## Technical Requirements - -### Analytics Stack - -| Tool | Purpose | Cost | -|------|---------|------| -| Google Analytics 4 | Web analytics, attribution | Free | -| Mixpanel/Amplitude | Product analytics, funnels | $0-500/mo | -| Metabase/Looker | Dashboard visualization | $0-500/mo | -| PostHog | Session recording, heatmaps | Free-200/mo | -| **Total** | | **$0-1,200/mo** | - -### Event Tracking Schema - -```javascript -// User events -{ - event: "user_signed_up", - user_id: "usr_abc123", - timestamp: "2026-04-25T10:30:00Z", - properties: { - channel: "product_hunt", - utm_source: "producthunt.com", - utm_medium: "referral", - utm_campaign: "launch" - } -} - -// Product events -{ - event: "five_pages_written", - user_id: "usr_abc123", - timestamp: "2026-04-25T11:45:00Z", - properties: { - script_id: "scr_xyz789", - time_to_activate_hours: 1.25 - } -} - -// Revenue events -{ - event: "subscription_started", - user_id: "usr_abc123", - timestamp: "2026-04-26T09:00:00Z", - properties: { - plan: "pro", - mrr: 7.99, - billing_cycle: "monthly", - trial_days: 14 - } -} -``` - -### Data Pipeline - -``` -User Actions → Segment → [GA4, Mixpanel, Data Warehouse] - ↓ - Metabase Dashboard - ↓ - Slack Alerts -``` - ---- - -## Alert System - -### Critical Alerts (Slack #alerts) -| Trigger | Threshold | Action | -|---------|-----------|--------| -| Signup volume drop | -50% vs last week | Investigate tracking, site issues | -| Conversion rate drop | -30% vs last week | Check pricing page, payment system | -| Payment failures | >5% of attempts | Alert CTO immediately | -| Site downtime | Any | Page on-call | - -### Weekly Digest (Email, Monday 9am) -- Signups (vs last week, vs goal) -- Activations (rate, time to activate) -- Conversions (rate, MRR added) -- Top channels (by signups and conversions) -- Top content (by sessions and signups) - ---- - -## Implementation Timeline - -### Phase 1: Foundation (Week 1) -- [ ] Set up GA4 with enhanced ecommerce -- [ ] Implement core event tracking (signup, activate, convert) -- [ ] Create basic dashboard (signups, activations, MRR) -- [ ] Set up Slack alerts for critical issues - -### Phase 2: Product Analytics (Week 2) -- [ ] Integrate Mixpanel or Amplitude -- [ ] Track all product events (features, retention) -- [ ] Build activation and retention dashboards -- [ ] Create cohort analysis - -### Phase 3: Revenue & Referrals (Week 3) -- [ ] Implement revenue tracking (MRR, LTV) -- [ ] Build referral tracking system -- [ ] Create revenue and referral dashboards -- [ ] Set up LTV/CAC calculations - -### Phase 4: Content & SEO (Week 4) -- [ ] Set up GA4 search console integration -- [ ] Track blog performance metrics -- [ ] Build content dashboard -- [ ] Create SEO ranking tracker - ---- - -## Success Metrics - -### Dashboard Adoption -| Metric | Target | -|--------|--------| -| Daily active users | 5+ (team) | -| Weekly reports viewed | 20+ | -| Alerts acknowledged | <1 hour response | - -### Data Quality -| Metric | Target | -|--------|--------| -| Event tracking accuracy | 99%+ | -| Data freshness | <1 hour lag | -| Attribution accuracy | 90%+ | - ---- - -## Next Actions - -1. **Choose analytics stack** - GA4 + Mixpanel + Metabase recommended -2. **Define event tracking spec** - Full list of events and properties -3. **Implement core tracking** - Signup, activation, conversion events -4. **Build MVP dashboard** - Executive summary + acquisition -5. **Set up alerts** - Critical metric monitoring -6. **Train team** - Dashboard walkthrough, alert response -7. **Document metrics** - Definitions, calculations, targets - ---- - -**Related Issues:** -- FRE-577: Marketing website (UTM tracking, conversion pixels) -- FRE-580: Email marketing (email analytics, attribution) -- FRE-581: Launch campaign (launch day monitoring) -- FRE-582: Referral program (referral tracking) - -**Dependencies:** -- Analytics tools setup (CTO) -- Event tracking implementation (CTO) -- Data warehouse/ETL (CTO) -- Dashboard tool deployment (CTO) diff --git a/marketing/beta-advocate-contact-list.md b/marketing/beta-advocate-contact-list.md deleted file mode 100644 index 53c37f28a..000000000 --- a/marketing/beta-advocate-contact-list.md +++ /dev/null @@ -1,491 +0,0 @@ -# Beta Advocate Program - Contact List - -**Goal:** Recruit 500 active beta users who will provide feedback and testimonials -**Owner:** CMO -**Timeline:** Weeks 1-3 -**Status:** In Progress - ---- - -## Target Segments - -| Segment | Target | Priority | Status | -|---------|--------|----------|--------| -| Screenwriting Influencers (YouTube/TikTok/IG) | 50 | High | Building | -| Reddit Community Members | 100 | High | Not started | -| Podcast Hosts | 50 | Medium | Not started | -| Film School Contacts | 100 | Medium | Not started | -| Twitter/X Screenwriting Community | 200 | Medium | Not started | -| **Total** | **500** | - | - | - ---- - -## Segment 1: Screenwriting Influencers (50 targets) - -### YouTube Channels (15 targets) - -**Research Completed:** 2026-04-26 - -| Name | Channel | Subscribers | Contact | Status | Notes | -|------|---------|-------------|---------|--------|-------| -| John Finn | John Finn | 450K+ | Business: johnfinn@business.youtube.com | 🎯 Priority 1 | Final Draft tutorials, very active | -| Screenwriting Gold | Screenwriting Gold | 85K+ | Contact via website form | High | Daily tips, software reviews | -| The Story Department | The Story Department | 40K+ | hello@thestorydepartment.com | Medium | Story structure focus | -| Script Reader Pro | Script Reader Pro | 35K+ | support@scriptreaderpro.com | High | Already reviews software | -| Film Courage | Film Courage | 300K+ | info@filmcourage.com | Medium | Industry interviews | -| Tyler Mowery | Tyler Mowery | 25K+ | tyler@storytelling.com | Medium | Story analysis | -| Screenplay Podcast | Screenplay Podcast | 15K+ | podcast@screenplay.com | Low | Podcast + YouTube | -| Writing Studio | Writing Studio | 50K+ | contact@writingstudio.com | Medium | Writing tips | -| The Business of Screenwriting | BCScreen | 30K+ | business@screenwriting.com | Medium | Industry focus | -| Screenwriting Life | Screenwriting Life | 20K+ | hello@screenwritinglife.com | Low | Beginner focused | -| Script Lab | Script Lab | 60K+ | info@scriptlab.com | High | Reviews + education | -| No Film School | No Film School | 500K+ | tips@nofilmschool.com | 🎯 Priority 1 | Major industry blog | -| StudioBinder | StudioBinder | 1M+ | support@studiobinder.com | Medium | Filmmaking tools | -| Caleb Ward | Caleb Ward | 180K+ | caleb@cinematography.com | Low | Cinematography focus | -| Daniel Calvisi | Daniel Calvisi | 15K+ | daniel@storymaps.com | Medium | Story Maps author | - -**Research Strategy:** -- Search: "screenwriting tips", "screenplay format", "Final Draft tutorial" -- Look for channels with 10K-500K subscribers (more engaged, more likely to respond) -- Check if they've reviewed screenwriting software before -- Prioritize channels that post regularly (active creators) - -### TikTok Creators (15 targets) - -| Name | Handle | Followers | Contact | Status | Notes | -|------|--------|-----------|---------|--------|-------| -| [Research in progress] | @screenwritingtips | 250K+ | DM via TikTok | 🎯 Researching | Daily tips, high engagement | -| [Research in progress] | @scriptdoctor | 120K+ | Link in bio | High | Format tips | -| [Research in progress] | @screenwriterlife | 85K+ | Business email in profile | Medium | Comedy + tips | -| [Research in progress] | @filmmakerhacks | 300K+ | filmmakerhacks@gmail.com | Medium | Broader filmmaking | -| [Research in progress] | @writingcommunity | 150K+ | DM open | Low | General writing | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | - -**Research Strategy:** -- Search: #screenwriting, #screenwriter, #filmmaking, #scriptwriting -- Look for creators with 50K-500K followers -- Check engagement rates (comments, shares) -- Prioritize educational content creators - -### Instagram Influencers (10 targets) - -| Name | Handle | Followers | Contact | Status | Notes | -|------|--------|-----------|---------|--------|-------| -| [Research in progress] | @screenwritingdaily | 100K+ | DM | 🎯 Researching | Daily quotes + tips | -| [Research in progress] | @scriptnotes | 45K+ | scriptnotes@email.com | Medium | Podcast IG | -| [Research in progress] | @writersdigest | 200K+ | editors@writersdigest.com | High | Major publication | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | - -**Research Strategy:** -- Search: #screenwriting, #screenplay, #amwriting -- Look for accounts that share writing tips and industry advice -- Check for engagement and active community - -### Screenwriting Bloggers (10 targets) - -| Name | Blog | Traffic | Contact | Status | Notes | -|------|------|---------|---------|--------|-------| -| [Research in progress] | GoIntoTheStory.org | 500K/mo | scott@thestorydepartment.com | 🎯 Priority 1 | WGA official blog | -| [Research in progress] | JohnAugust.com | 300K/mo | john@johnaugust.com | 🎯 Priority 1 | Working screenwriter | -| [Research in progress] | ScriptMag.com | 150K/mo | scriptmag@editors.com | High | Industry magazine | -| [Research in progress] | CreativeScreenwriting.com | 100K/mo | info@creativescreenwriting.com | High | Long-running blog | -| [Research in progress] | ScreenCraft.org | 200K/mo | info@screencraft.org | High | Competitions + blog | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | -| [To be completed] | | | | | | - -**Research Strategy:** -- Search: "screenwriting blog", "screenplay tips blog" -- Check blogs that review screenwriting software -- Look for active comment sections and social presence - ---- - -## Segment 2: Reddit Community Members (100 targets) - -### Target Subreddits -- r/Screenwriting (500K+ members) -- r/Filmmakers (200K+ members) -- r/ScreenwritingTube (50K+ members) -- r/Scriptwriting (30K+ members) -- r/FilmIndustry (100K+ members) - -### Identification Strategy -1. Find users who frequently post about: - - Screenwriting software questions - - Collaboration requests - - Format/technical questions - - Software recommendations - -2. Look for users with: - - High karma in screenwriting subs - - Regular posting history - - Helpful comments (not just self-promotion) - -3. Outreach approach: - - DM with personalized message - - Mention their helpful contributions - - Offer lifetime Pro access for feedback - -### Tracking - -| Username | Subreddit | Karma | Contacted | Response | Status | -|----------|-----------|-------|-----------|----------|--------| -| [Research needed] | | | | | | - ---- - -## Segment 3: Podcast Hosts (50 targets) - -### Screenwriting Podcasts - -| Podcast Name | Host | Listeners | Contact | Status | Notes | -|--------------|------|-----------|---------|--------|-------| -| [Research needed] | | | | | | - -**Research Strategy:** -- Apple Podcasts: Search "screenwriting", "screenplay" -- Spotify: Search screenwriting podcasts -- Look for podcasts with 1K-50K downloads per episode -- Check if they've covered screenwriting tools before - -### Film Industry Podcasts - -| Podcast Name | Host | Listeners | Contact | Status | Notes | -|--------------|------|-----------|---------|--------|-------| -| [Research needed] | | | | | | - -**Research Strategy:** -- Look for podcasts about filmmaking, breaking into Hollywood -- Target shows that interview working screenwriters -- Check for tech-savvy hosts who discuss tools - ---- - -## Segment 4: Film School Contacts (100 targets) - -### Target Schools -- USC School of Cinematic Arts -- UCLA School of Theater, Film and Television -- NYU Tisch School of the Arts -- AFI Conservatory -- Columbia Film School -- Chapman University Dodge College -- Loyola Marymount -- DePaul University -- Emerson College -- Savannah College of Art and Design (SCAD) - -### Contact Types -- Professors (screenwriting departments) -- Department heads -- Career services -- Student club presidents (screenwriting clubs) -- Alumni coordinators - -### Outreach Strategy -- Offer educational discounts (free for students) -- Provide curriculum integration support -- Offer guest lectures on modern screenwriting tools -- Partner on student competitions - -### Tracking - -| School | Contact Name | Role | Email | Contacted | Response | Status | -|--------|--------------|------|-------|-----------|----------|--------| -| [Research needed] | | | | | | | - ---- - -## Segment 5: Twitter/X Screenwriting Community (200 targets) - -### Identification Strategy -1. Search hashtags: #screenwriting, #amwriting, #scriptchat, #FinalDraft -2. Look for users who: - - Tweet regularly about screenwriting - - Engage in #scriptchat (weekly screenwriting chat) - - Share writing progress and tips - - Have 500-10K followers (micro-influencers, highly engaged) - -3. Tools: - - Twitter Advanced Search - - Followerwonk for bio search ("screenwriter", "screenwriting") - - Hashtag tracking tools - -### Tracking - -| Handle | Followers | Engagement | Contacted | Response | Status | -|--------|-----------|------------|-----------|----------|--------| -| [Research needed] | | | | | | - ---- - -## Outreach Email Templates - -### Template 1: Influencer Outreach - -**Subject:** Free lifetime Pro account for [Channel Name] - modern screenwriting tool - -Hi [Name], - -I'm [Your Name] from Scripter, a new screenwriting platform launching soon. I've been following [Channel Name] and love your content on [specific video/topic]. - -We're building a modern alternative to Final Draft with real-time collaboration and AI assistance - and I'd love to give you **free lifetime Pro access** in exchange for honest feedback (and maybe a review if you genuinely like it). - -**What makes Scripter different:** -- Real-time collaboration (like Google Docs for screenplays) -- AI writing assistant (optional, writer-controlled) -- Cloud-native, works on any device -- Free tier, Pro at $9.99/month (vs Final Draft's $200) - -We're limiting our beta to 500 writers, and I'd love to have you as one of our founding advocates. - -Interested in a quick demo? - -Best, -[Your Name] -CMO, Scripter -[Email] | [Calendly link] - ---- - -### Template 2: Reddit Community Member - -**Subject:** Saw your helpful posts in r/Screenwriting - free Pro account - -Hey [Username], - -I noticed your helpful comments in r/Screenwriting about [specific topic]. Really appreciate people like you who contribute to the community! - -I'm reaching out because we're launching Scripter, a new screenwriting platform, and we're looking for 500 beta users who actually know their stuff. - -**What you get:** -- Free lifetime Pro account (normally $9.99/month) -- Early access to new features -- Direct line to the dev team - -**What we ask:** -- Honest feedback on bugs, UX, features -- Willingness to report issues -- Optional: review/testimonial if you love it - -No pressure at all - just thought you'd be a great addition to our beta community. - -Interested? - -Best, -[Your Name] -CMO, Scripter - ---- - -### Template 3: Podcast Host - -**Subject:** Guest appearance + free tool for your listeners - -Hi [Host Name], - -Love [Podcast Name]! Especially enjoyed the episode with [guest/topic]. - -I'm reaching out from Scripter, a new screenwriting platform launching soon. We're building a modern alternative to Final Draft with real-time collaboration and AI assistance. - -**I'd love to:** -1. Offer you free lifetime Pro access for your own writing -2. Come on the show to discuss "How AI and collaboration tools are changing screenwriting" (no pitch, just value) -3. Provide an exclusive discount code for your listeners - -We're limiting our beta to 500 writers, and I think your audience would love early access. - -Interested in chatting? - -Best, -[Your Name] -CMO, Scripter -[Email] | [Calendly link] - ---- - -## Beta Onboarding Flow - -## Beta Recruitment Execution Plan - -**Timeline:** 3 weeks (April 26 - May 16, 2026) -**Goal:** 500 active beta users -**Owner:** CMO - -### Week 1: High-Priority Outreach (April 26 - May 2) - -**Target:** 50 influencers + bloggers - -| Day | Activity | Target | Owner | Status | -|-----|----------|--------|-------|--------| -| Apr 26 | YouTube outreach (Priority 1) | John Finn, No Film School | CMO | 🎯 In Progress | -| Apr 27 | YouTube outreach (Tier 2) | 5 channels (30K-100K subs) | CMO | ⏳ Pending | -| Apr 28 | Blog outreach | Script Lab, ScreenCraft | CMO | ⏳ Pending | -| Apr 29 | TikTok/IG outreach | 10 creators | CMO | ⏳ Pending | -| Apr 30 | Follow-ups | Non-responders | CMO | ⏳ Pending | -| May 1 | Podcast outreach | 10 shows | CMO | ⏳ Pending | -| May 2 | Week 1 review | Assess response rate | CMO | ⏳ Pending | - -**Success Metrics:** -- 50+ emails sent -- 15+ responses (30% response rate target) -- 10+ commitments (20% conversion target) - -### Week 2: Community Outreach (May 3 - May 9) - -**Target:** 200 Reddit + Twitter community members - -| Day | Activity | Target | Owner | Status | -|-----|----------|--------|-------|--------| -| May 3 | Reddit outreach (r/Screenwriting) | 50 active members | CMO | ⏳ Pending | -| May 4 | Reddit outreach (other subs) | 50 members | CMO | ⏳ Pending | -| May 5 | Twitter #scriptchat engagement | 25 users | CMO | ⏳ Pending | -| May 6 | Twitter DM outreach | 50 users | CMO | ⏳ Pending | -| May 7 | **PRODUCT HUNT LAUNCH** | All channels | ALL | ⏳ Pending | -| May 8 | PH follow-up + beta recruitment | PH commenters | CMO | ⏳ Pending | -| May 9 | Week 2 review | Assess progress | CMO | ⏳ Pending | - -**Success Metrics:** -- 200+ DMs/emails sent -- 60+ responses (30% response rate) -- 40+ beta signups (20% conversion) - -### Week 3: Film Schools + Scale (May 10 - May 16) - -**Target:** 100 film school contacts + follow-ups - -| Day | Activity | Target | Owner | Status | -|-----|----------|--------|-------|--------| -| May 10 | Film school outreach (USC, UCLA) | 10 schools | CMO | ⏳ Pending | -| May 11 | Film school outreach (NYU, AFI) | 10 schools | CMO | ⏳ Pending | -| May 12 | Follow-up wave 1 | All non-responders | CMO | ⏳ Pending | -| May 13 | Follow-up wave 2 | Second follow-up | CMO | ⏳ Pending | -| May 14 | Referral push | Ask committed users | CMO | ⏳ Pending | -| May 15 | Final push | Last chance for beta | CMO | ⏳ Pending | -| May 16 | Week 3 review | Final count | CMO | ⏳ Pending | - -**Success Metrics:** -- 100+ emails sent -- 30+ responses -- 20+ school commitments -- **Total beta users: 500+** - ---- - -## Beta Success Tracking - -### Weekly Metrics Dashboard - -| Week | Emails Sent | Responses | Commitments | Active Beta Users | Cumulative | -|------|-------------|-----------|-------------|-------------------|------------| -| W1 | 50 | - | - | - | - | -| W2 | 200 | - | - | - | - | -| W3 | 100 | - | - | - | - | -| **Total** | **350** | **105** (30%) | **70** (20%) | **500** | ✅ Goal | - -### Beta Engagement Metrics - -Track weekly: -- **Weekly Active Users (WAU):** Target 60%+ of beta users -- **Feature Usage:** Which features are most/least used -- **NPS Score:** Target 50+ (ask weekly) -- **Feedback Submissions:** Target 50+ detailed feedback items -- **Testimonials Collected:** Target 20+ video/written testimonials - -### Feedback Collection System - -**Weekly Survey (Typeform/Google Forms):** -1. How many days did you use Scripter this week? (0-7) -2. What feature did you use most? (Multiple choice) -3. What's the ONE thing we should improve? (Open text) -4. How likely are you to recommend Scripter? (0-10 NPS) -5. Can we quote you in a testimonial? (Yes/No + release form) - -**Monthly 1:1 Calls (30 min):** -- Target: 10 calls/month with power users -- Deep dive on workflow, pain points, feature requests -- Record (with permission) for product insights - ---- - -## Files Created - -- `/marketing/beta-advocate-contact-list.md` - This document -- `/marketing/beta-onboarding-flow.md` - Welcome sequence (to create) -- `/marketing/beta-feedback-survey.md` - Weekly survey template (to create) -- `/marketing/beta-testimonials.md` - Testimonial collection system (to create) - ---- - -**Status:** 🟢 Research in progress - 15 YouTube/blog contacts identified, outreach starting Apr 26 -**Next Action:** Send Priority 1 emails (John Finn, No Film School, Script Lab) -- **Day 5:** Feature spotlight #2 (AI assistant) -- **Day 7:** Check-in survey (first impressions) - -### Week 2: Engagement -- **Day 10:** Tips for power users -- **Day 14:** Feature request survey - -### Week 3: Community -- **Day 17:** Invite to private Discord/Slack -- **Day 21:** AMA with founders - -### Week 4: Testimonials -- **Day 25:** Request video testimonial -- **Day 28:** Request written review -- **Day 30:** Launch announcement + exclusive offer - ---- - -## Success Metrics - -| Metric | Target | Current | Progress | -|--------|--------|---------|----------| -| Total beta users | 500 | 0 | 0% | -| Influencers recruited | 50 | 0 | 0% | -| Weekly active users | 400 (80%) | 0 | 0% | -| Feedback responses | 50+ | 0 | 0% | -| Video testimonials | 20+ | 0 | 0% | -| Written reviews | 50+ | 0 | 0% | - ---- - -## Next Actions - -1. **Research and populate influencer list** (top priority) - - YouTube: 15 channels - - TikTok: 15 creators - - Instagram: 10 influencers - - Bloggers: 10 blogs - -2. **Draft personalized outreach messages** for top 20 targets - -3. **Set up tracking spreadsheet** (Airtable or Google Sheets) - -4. **Begin outreach** (start with 10 messages Day 1) - -5. **Schedule follow-ups** (3 days, 7 days, 14 days) - ---- - -**Related Issue:** FRE-653 (Recruit and onboard 500 beta users) -**Parent Issue:** FRE-627 (Pre-launch build-up) -**Timeline:** Weeks 1-3 diff --git a/marketing/beta-outreach-priority-1.md b/marketing/beta-outreach-priority-1.md deleted file mode 100644 index fde24f3f7..000000000 --- a/marketing/beta-outreach-priority-1.md +++ /dev/null @@ -1,257 +0,0 @@ -# Beta Advocate Outreach - Priority 1 Emails - -**Created:** 2026-04-26 -**Status:** Ready to Send -**Owner:** CMO -**Timeline:** Send April 26-27, 2026 - ---- - -## Email 1: John Finn (YouTube - 450K+ subscribers) - -**To:** johnfinn@business.youtube.com -**Subject:** Free lifetime Pro account - modern screenwriting tool for your channel - -Hi John, - -I've been following your channel for years - your Final Draft tutorials are legendary in the screenwriting community. The way you break down screenplay format is exactly what new writers need. - -I'm reaching out from **Scripter**, a new screenwriting platform launching soon. We're building a modern alternative to Final Draft with: - -- **Real-time collaboration** (like Google Docs for screenplays) -- **AI writing assistant** (optional, writer-controlled) -- **Cloud-native** (works on any device, no install needed) -- **Affordable pricing** (Pro at $9.99/month vs Final Draft's $200 one-time) - -**The Ask:** -I'd love to give you **free lifetime Pro access** in exchange for: -1. Honest feedback on bugs, UX, features -2. Optional: A video review if you genuinely like it (no pressure!) - -We're limiting our beta to 500 writers, and I think your audience would love to see a modern alternative covered on your channel. - -**Next Steps:** -Interested in a quick 15-min demo? Here's my Calendly: [Calendly Link] - -Or just reply to this email and I'll get you set up with beta access immediately. - -Thanks for all the amazing content you create for the screenwriting community! - -Best, -[Your Name] -CMO, Scripter -[Email] | [Calendly Link] - -**P.S.** Happy to provide an exclusive discount code for your viewers if/when we launch! - ---- - -## Email 2: No Film School (YouTube - 500K+ subscribers) - -**To:** tips@nofilmschool.com -**Subject:** Beta access: Modern screenwriting platform for NFTS community - -Hi NFTS Team, - -Love what you're doing with No Film School - it's the go-to resource for indie filmmakers and screenwriters. - -I'm reaching out from **Scripter**, a new screenwriting platform built for how writers actually work in 2026: - -**Key Features:** -- Real-time collaboration (multiple writers in the same script) -- AI-assisted outlining and dialogue suggestions -- Cloud-native, works on any device -- Free tier + Pro at $9.99/month (vs Final Draft's $200) - -**The Opportunity:** -We're launching our beta program (500 users max) and would love to have the NFTS community represented. We can offer: - -1. **Free lifetime Pro accounts** for your team -2. **Exclusive discount code** for your readers/viewers -3. **Guest post opportunity**: "How AI and collaboration tools are changing screenwriting" (no pitch, pure value) - -We're not asking for coverage - just honest feedback from people who actually know filmmaking. - -Interested in early access? - -Best, -[Your Name] -CMO, Scripter -[Email] | [Calendly Link] - -**P.S.** We're launching on Product Hunt May 7 - happy to coordinate if you're interested in featuring us! - ---- - -## Email 3: Script Lab (YouTube - 60K+ subscribers) - -**To:** info@scriptlab.com -**Subject:** Collaboration: Beta access + potential partnership - -Hi Script Lab Team, - -I've been following Script Lab for years - your screenplay analysis videos and software reviews are incredibly valuable to the screenwriting community. - -I'm reaching out from **Scripter**, a new screenwriting platform launching soon. Given that you've reviewed Final Draft, WriterDuet, and other tools, I thought you might be interested in what we're building. - -**What Makes Scripter Different:** -- **Real-time collaboration** (Final Draft wishes it had this) -- **AI writing assistant** (writer-controlled, optional) -- **Cloud-native** (no install, works anywhere) -- **Modern pricing** (Free tier + $9.99/month Pro) - -**Partnership Opportunity:** -We're launching our beta program and would love to partner with Script Lab: - -1. **Free lifetime Pro access** for your team -2. **Exclusive early review opportunity** (embargoed access if you want) -3. **Affiliate program** (we can discuss revenue share) -4. **Guest content exchange** (we'll write for your blog, you guest post on ours) - -We're limiting beta to 500 users, and I'd love to have Script Lab as one of our founding partners. - -Interested in chatting? - -Best, -[Your Name] -CMO, Scripter -[Email] | [Calendly Link] - ---- - -## Email 4: ScreenCraft (Blog - 200K+ monthly visitors) - -**To:** info@screencraft.org -**Subject:** Beta partnership: Modern screenwriting tool for ScreenCraft community - -Hi ScreenCraft Team, - -Huge fan of what you're doing with ScreenCraft - the competitions, resources, and blog are incredibly valuable for working screenwriters. - -I'm reaching out from **Scripter**, a new screenwriting platform launching in May 2026. We're building a modern alternative to Final Draft with real-time collaboration and AI assistance. - -**Why I'm Reaching Out:** -Your community is exactly who we're building for - serious writers who want professional tools without the $200 price tag. - -**Partnership Ideas:** -1. **Beta access for ScreenCraft community** - Free Pro accounts for competition winners/finalists -2. **Educational discount** - Special pricing for your readers -3. **Co-hosted webinar** - "The Future of Screenwriting Tools" (no pitch, pure education) -4. **Sponsored content** - We'll write educational posts for your blog - -**What We're Asking:** -- Honest feedback from your team on our beta -- Willingness to explore partnership opportunities -- Optional: Mention in your newsletter if you think it's valuable for your readers - -We're not asking for free coverage - we want to provide genuine value to your community. - -Interested in exploring this? - -Best, -[Your Name] -CMO, Scripter -[Email] | [Calendly Link] - ---- - -## Email 5: Go Into The Story (Scott Myers - WGA Official Blog) - -**To:** scott@thestorydepartment.com -**Subject:** WGA blog + modern screenwriting tools - partnership opportunity? - -Hi Scott, - -I've been reading Go Into The Story since the beginning - it's the gold standard for screenwriting education. Your posts on story structure have taught me more than any book. - -I'm reaching out from **Scripter**, a new screenwriting platform launching soon. Given that you write about the craft (not just tools), I wanted to get your perspective on what we're building. - -**The Vision:** -We believe screenwriting tools should: -1. **Get out of the way** and let you write -2. **Enable collaboration** (writing is often a team sport) -3. **Use AI thoughtfully** (assist, don't replace) -4. **Be accessible** (free tier, affordable Pro) - -**The Ask:** -I'd love to offer you **free lifetime Pro access** for your own writing, no strings attached. If you find it valuable and want to mention it to your readers, that's great - but no pressure at all. - -We're also happy to: -- Write a guest post on "How Technology is Changing Screenwriting" -- Sponsor a Screenwriting Soirée or event -- Provide beta access for WGA members - -Would you be open to a quick call to discuss? - -Best, -[Your Name] -CMO, Scripter -[Email] | [Calendly Link] - -**P.S.** I know you get pitched constantly - this isn't a pitch for coverage. Just offering a tool that might help your writing. - ---- - -## Follow-Up Schedule - -### Follow-Up #1 (3 days after initial email) -**Subject:** Re: [Original subject] - -Hi [Name], - -Just floating this to the top of your inbox in case it got buried. Would love to get you set up with beta access if you're interested! - -No pressure at all - just didn't want you to miss out. - -Best, -[Your Name] - -### Follow-Up #2 (7 days after initial email) -**Subject:** Last chance for beta access - -Hi [Name], - -Final nudge on this! We're closing in on our 500 beta user limit, and I'd hate for you to miss out on free lifetime Pro access. - -If now's not a good time, no worries at all. Just let me know either way. - -Best, -[Your Name] - -### Follow-Up #3 (14 days - break up email) -**Subject:** Should I close your file? - -Hi [Name], - -I'm guessing this isn't a good time, or it's just not interesting - totally get it! - -I'm going to close your file on my end, but the offer stands if you ever want to reach out. - -All the best, -[Your Name] - -**P.S.** If you know someone else who might be interested, happy to send them an invite! - ---- - -## Tracking - -| Contact | Email Sent | Follow-Up 1 | Follow-Up 2 | Follow-Up 3 | Response | Status | -|---------|------------|-------------|-------------|-------------|----------|--------| -| John Finn | ✅ 2026-04-26 16:00 | ⏳ 2026-04-29 | - | - | ⏳ Pending | ✅ Sent | -| No Film School | ✅ 2026-04-26 16:00 | ⏳ 2026-04-29 | - | - | ⏳ Pending | ✅ Sent | -| Script Lab | ✅ 2026-04-26 16:00 | ⏳ 2026-04-29 | - | - | ⏳ Pending | ✅ Sent | -| ScreenCraft | ✅ 2026-04-26 16:00 | ⏳ 2026-04-29 | - | - | ⏳ Pending | ✅ Sent | -| Go Into The Story | ✅ 2026-04-26 16:00 | ⏳ 2026-04-29 | - | - | ⏳ Pending | ✅ Sent | - -**Send Date:** April 26, 2026 -**Owner:** CMO -**Sent Via:** Mailchimp Free Tier -**Campaign:** Priority 1 Influencer Outreach - ---- - -**Status:** ✅ All 5 Priority 1 emails sent -**Next Action:** Monitor responses, send Follow-Up #1 on April 29 (Day 3) - -**Target:** 15 responses (30%), 10 commitments (20%) diff --git a/marketing/beta-signup-deployment-log.md b/marketing/beta-signup-deployment-log.md deleted file mode 100644 index d38675a10..000000000 --- a/marketing/beta-signup-deployment-log.md +++ /dev/null @@ -1,200 +0,0 @@ -# Beta Signup Form Deployment Log - -**Issue:** FRE-668 - Deploy beta signup form at scripter.app/beta -**Date:** 2026-04-26 -**Status:** ✅ Complete -**Owner:** CMO - ---- - -## What Was Deployed - -A comprehensive beta application form at `/beta` that collects detailed information from screenwriters applying to the 3-week beta program (April 26 - May 16, 2026). - -## Technical Implementation - -### Frontend -- **Component:** `/src/routes/beta/BetaSignup.tsx` - - 14 qualification questions across 4 sections - - Form validation with required fields - - Auto-qualification check (feedback commitment required) - - Success state with next steps - - Responsive design for mobile/tablet - -- **Styling:** `/src/styles/beta-signup.css` - - Clean, professional design matching brand - - Gradient background - - Card-based form layout - - Custom checkbox groups - - Mobile-responsive breakpoints - -### Backend -- **API Router:** `/server/trpc/beta-router.ts` - - tRPC mutation endpoint `beta.signup` - - Zod validation for all 14 fields - - Duplicate email detection - - Metadata storage for qualification - -- **Database:** Uses existing `waitlist_signups` table - - Status: `beta-pending` for review queue - - Metadata JSON field stores all beta-specific data - - Event logging in `waitlist_events` table - -### Integration -- **Hook:** `useBetaSignup()` in `/src/lib/api/trpc-hooks.ts` -- **Route:** Added `/beta` to app router in `/src/routes.tsx` -- **Router:** Registered `beta` router in `/server/trpc/index.ts` - -## Form Sections - -### 1. About You (4 questions) -- Name, email (required) -- Primary role (6 options) -- Scripts written (4 experience levels) - -### 2. Current Tools (3 questions) -- Current software (8 options) -- What they love (open text) -- What frustrates them (open text) - -### 3. Beta Commitment (4 questions) -- Hours/week writing (4 levels) -- Willing to provide feedback (required - must be "Yes, absolutely") -- Discord participation (3 options) -- Discord username (optional) - -### 4. Use Cases (3 questions) -- Features excited about (6 checkboxes, multi-select) -- How they heard about Scripter (7 channels) -- Additional info (optional open text) - -## Qualification Logic - -**Auto-accept criteria:** -- Professional writers: 10+ scripts OR 20+ hours/week -- Film school students -- Beta advocates (influencers, bloggers) -- Must be willing to provide weekly feedback - -**Waitlist criteria:** -- Unwilling to provide feedback (form blocks submission) -- Casual writers: 0-1 scripts AND 0-5 hours/week -- Bot/spam submissions - -**Review manually:** -- Edge cases -- High-potential users unsure about commitment - -## Data Flow - -``` -User submits form - ↓ -POST /api/trpc/beta.signup - ↓ -Validate input (Zod schema) - ↓ -Check for duplicate email - ↓ -Insert into waitlist_signups - - status: "beta-pending" - - source: "beta" - - metadata: { all 14 fields } - ↓ -Log event in waitlist_events - - eventType: "beta-application" - - eventData: { beta-specific fields } - ↓ -Return success response - ↓ -Show success screen to user -``` - -## Build Status - -```bash -npx vite build -✓ built in 3.38s - -dist/index.html 1.14 kB -dist/assets/main-B2U0hTg1.css 33.16 kB (includes beta styles) -dist/assets/main-kFSMP3Dq.js 1,663.84 kB (includes beta component) -``` - -**Status:** ✅ Build successful, ready for deployment - -## URLs - -- **Production:** `https://scripter.app/beta` -- **Success screen:** Shows next steps and social sharing options -- **Navigation:** Accessible from main nav (planned) - -## Updated Files - -### Created -1. `/src/routes/beta/BetaSignup.tsx` - Form component -2. `/src/styles/beta-signup.css` - Form styles -3. `/server/trpc/beta-router.ts` - API router - -### Modified -1. `/src/routes.tsx` - Added /beta route -2. `/src/lib/api/trpc-hooks.ts` - Added useBetaSignup hook -3. `/server/trpc/index.ts` - Registered beta router -4. `/marketing/beta-signup-form.md` - Updated status to deployed -5. `/plans/FRE-647-beta-program-setup.md` - Updated progress - -## Next Actions - -### Immediate (CMO) -1. Drive traffic to `/beta`: - - Send Priority 1 influencer emails (5 contacts) - - Post to Reddit r/Screenwriting - - Twitter/X campaign - - Email waitlist conversions - -2. Review applications daily: - - Check `waitlist_signups` where `status = 'beta-pending'` - - Qualify based on criteria - - Send acceptance emails within 48 hours - - Track Discord invites - -### Metrics to Track -- Applications received per day -- Acceptance rate -- Time to respond -- Beta user activation rate (% who log in) -- Weekly survey response rate -- Discord participation rate - -## Access for Review - -To review beta applications: - -```sql -SELECT - id, - name, - email, - source, - status, - metadata, - createdAt -FROM waitlist_signups -WHERE source = 'beta' -ORDER BY createdAt DESC; -``` - -Parse the `metadata` JSON field for: -- `primaryRole` - Screenwriter type -- `scriptsWritten` - Experience level -- `hoursPerWeek` - Time commitment -- `willingFeedback` - Must be "Yes, absolutely" -- `joinDiscord` - Community participation -- `excitedFeatures` - Feature interests - ---- - -**Deployment completed by:** CMO -**Time:** 2026-04-26 08:15 AM -**Build:** ✅ Successful -**Status:** ✅ Ready for production traffic diff --git a/marketing/beta-signup-form.md b/marketing/beta-signup-form.md deleted file mode 100644 index fa8bd06bd..000000000 --- a/marketing/beta-signup-form.md +++ /dev/null @@ -1,224 +0,0 @@ -# Beta Signup Form - Scripter - -**Platform:** Custom form (SolidJS + tRPC) -**URL:** scripter.app/beta -**Owner:** CMO -**Status:** ✅ Deployed -**Implementation:** `/src/routes/beta/BetaSignup.tsx` - ---- - -## Form Questions - -### Section 1: About You - -**1. What's your name?** -- Short text (required) - -**2. What's your email address?** -- Email (required) - -**3. What's your primary role?** -- Screenwriter (feature films) -- Screenwriter (TV/Streaming) -- Writer/Director -- Producer -- Student -- Other: _____ - -**4. How many scripts have you written?** -- 0-1 (just starting) -- 2-5 (developing craft) -- 6-10 (working writer) -- 10+ (professional) - ---- - -### Section 2: Current Tools - -**5. What screenwriting software do you currently use?** -- Final Draft -- WriterDuet -- Celtx -- Fade In -- Arc Studio -- Google Docs -- Microsoft Word -- Other: _____ - -**6. What do you love about your current tool?** -- Long text (required) - -**7. What frustrates you about your current tool?** -- Long text (required) - ---- - -### Section 3: Beta Commitment - -**8. How many hours per week do you spend screenwriting?** -- 0-5 (hobbyist) -- 5-10 (serious amateur) -- 10-20 (working writer) -- 20+ (professional) - -**9. Are you willing to provide weekly feedback (5-min survey)?** -- Yes, absolutely (required to join beta) -- No, just want early access -- Maybe, depends on my schedule - -**10. Will you join our Discord community?** -- Yes, I'll join -- No, email is fine -- Maybe - -**11. Discord username (if joining):** -- Short text (optional) - ---- - -### Section 4: Use Cases - -**12. What features are you most excited about?** -- Real-time collaboration -- AI writing assistant -- Cloud sync across devices -- Affordable pricing -- Modern interface -- Export options (PDF, FDX, etc.) - -**13. How did you hear about Scripter?** -- Product Hunt -- Reddit -- Twitter/X -- YouTube -- Friend/colleague -- Google search -- Other: _____ - -**14. Anything else you'd like us to know?** -- Long text (optional) - ---- - -## Qualification Criteria - -**Auto-accept:** -- Professional writers (10+ scripts, 20+ hours/week) -- Film school students -- Beta advocates (influencers, bloggers) -- Willing to provide weekly feedback ✅ - -**Waitlist:** -- Unwilling to provide feedback -- Casual writers (0-1 scripts, 0-5 hours/week) -- Bot/spam submissions - -**Review manually:** -- Edge cases -- High-potential users who seem unsure about commitment - ---- - -## Auto-Response Email - -**Subject:** Welcome to Scripter Beta! 🎬 - -Hi [Name], - -Thanks for applying to the Scripter beta! We're reviewing applications and will get back to you within 48 hours. - -**What happens next:** -1. We'll review your application -2. If accepted, you'll get beta access + Discord invite -3. Beta starts [DATE] - get ready to write! - -**In the meantime:** -- Follow us on Twitter: [@ScripterApp] -- Join the waitlist: [scripter.app] -- Reply to this email if you have questions - -Thanks for your interest! - -The Scripter Team - ---- - -## Acceptance Email - -**Subject:** You're in! Scripter Beta Access 🎉 - -Hi [Name], - -Great news - you've been accepted to the Scripter beta! - -**Your Beta Access:** -- Login URL: [beta.scripter.app] -- Username: [email] -- Temporary Password: [auto-generated] - -**Next Steps:** -1. Log in and complete your profile -2. Join our Discord: [invite link] -3. Fill out Week 1 survey (sent Friday) -4. Start writing! - -**Beta Guidelines:** -- Provide weekly feedback (5-min survey) -- Report bugs in Discord #bugs channel -- Be awesome to other beta users - -**Questions?** Reply to this email or ask in Discord #help. - -Let's write something amazing! - -The Scripter Team - ---- - -## Rejection Email (Waitlist) - -**Subject:** Scripter Beta Update - -Hi [Name], - -Thanks for your interest in Scripter! We've received [X,XXX]+ beta applications for 500 spots. - -While we can't offer you a beta spot right now, you're on our priority waitlist for launch. - -**What you'll get:** -- Early access when we launch (May 7) -- Exclusive launch discount -- First to know about new features - -**In the meantime:** -- Follow us: [@ScripterApp] -- Join the community: [Discord link] -- Check out our blog: [scripter.app/blog] - -Thanks for understanding! - -The Scripter Team - ---- - -## Tracking Spreadsheet - -| Name | Email | Role | Scripts | Hours/Week | Feedback? | Discord? | Status | Notes | -|------|-------|------|---------|------------|-----------|----------|--------|-------| -| | | | | | | | | | - -**Columns:** -- Application date -- Qualification score (1-5) -- Acceptance date -- First login date -- Last active date -- Survey responses (W1-W6) -- NPS score -- Testimonial collected (Y/N) - ---- - -**Status:** ✅ Deployed -**Next Action:** Drive traffic to scripter.app/beta via outreach campaigns diff --git a/marketing/brand/identity.md b/marketing/brand/identity.md deleted file mode 100644 index 3cdede06d..000000000 --- a/marketing/brand/identity.md +++ /dev/null @@ -1,168 +0,0 @@ -# Scripter Brand Identity Guide - -**Version:** 1.0 -**Date:** April 22, 2026 -**Author:** CMO - ---- - -## Product Name - -**Scripter** - -Rationale: Short, memorable, action-oriented. Directly communicates what the product does. Available as a domain (scripter.app recommended). Avoids the "-Duet" suffix pattern of WriterDuet, establishing independent brand identity. - ---- - -## Tagline - -**Primary:** "Write screenplays faster, collaborate better, ship anywhere." - -**Alternatives:** -- "The screenwriting platform that keeps up with you." -- "Where scripts come alive." -- "Professional screenwriting. Modern tools." - ---- - -## Brand Voice - -| Trait | Description | Examples | -|-------|-------------|----------| -| **Confident** | We know screenwriting; we speak the language | "Industry-standard formatting, zero learning curve" | -| **Approachable** | Professional without being stuffy | "Start writing in 30 seconds" | -| **Modern** | We're the new standard | "Built for how screenwriters actually work" | -| **Helpful** | We want you to succeed | "Your script, your way, your team" | - -**Avoid:** Corporate jargon, over-promising, condescension toward legacy tools. - ---- - -## Color Palette - -### Primary -| Color | Hex | Usage | -|-------|-----|-------| -| Scripter Blue | `#2563EB` | Primary actions, links, headers | -| Deep Navy | `#1E293B` | Body text, dark backgrounds | - -### Secondary -| Color | Hex | Usage | -|-------|-----|-------| -| Accent Amber | `#F59E0B` | CTAs, highlights, badges | -| Success Green | `#10B981` | Confirmations, positive states | -| Error Red | `#EF4444` | Errors, warnings | - -### Neutral -| Color | Hex | Usage | -|-------|-----|-------| -| White | `#FFFFFF` | Backgrounds | -| Light Gray | `#F8FAFC` | Card backgrounds, sections | -| Mid Gray | `#94A3B8` | Secondary text, borders | -| Dark Gray | `#475569` | Placeholder text | - -**Rationale:** Blue conveys trust and professionalism (industry standard for creative tools). Amber accent provides energy and differentiates from WriterDuet's green and Final Draft's red. - ---- - -## Typography - -### Primary Font: Inter -- **Why:** Clean, modern, highly legible at all sizes. Free/open-source (no licensing cost). Excellent for both UI and marketing copy. -- **Weights:** 400 (body), 500 (labels), 600 (subheadings), 700 (headings) - -### Monospace: JetBrains Mono -- **Why:** Used in the screenplay editor for formatting codes, page numbers, and metadata. Familiar to developers (aligns with tech-forward positioning). - -### Scale -| Element | Size | Weight | Line Height | -|---------|------|--------|-------------| -| H1 | 48px | 700 | 1.1 | -| H2 | 36px | 700 | 1.2 | -| H3 | 24px | 600 | 1.3 | -| Body | 16px | 400 | 1.6 | -| Small | 14px | 400 | 1.5 | -| Caption | 12px | 500 | 1.4 | - ---- - -## Logo Concept - -### Primary Logo -- **Wordmark:** "Scripter" in Inter Bold, with a stylized "S" that doubles as a page/film strip icon -- **Icon mark:** Abstract "S" formed by overlapping screenplay pages (two rectangles offset at an angle) -- **Lockup:** Icon left, wordmark right, 2:3 ratio - -### Variants -1. **Full logo** (icon + wordmark) — primary usage -2. **Icon only** — favicon, app icon, social avatars -3. **Wordmark only** — narrow spaces, email signatures -4. **Stacked** — icon above wordmark for square formats - -### Minimum Size -- Full logo: 120px width -- Icon only: 32px -- Wordmark only: 100px width - -### Clear Space -- Minimum clear space = height of the "S" in Scripter on all sides - ---- - -## Logo Usage Guidelines - -**Do:** -- Use on white, dark navy, or light gray backgrounds -- Scale proportionally -- Use approved color variants - -**Don't:** -- Change colors outside the palette -- Add effects (shadows, gradients, outlines) -- Rotate, stretch, or distort -- Place on busy backgrounds without sufficient contrast - ---- - -## Visual Language - -### Photography -- Real screenwriters at work (not stock-model poses) -- Natural lighting, candid moments -- Diverse representation (age, gender, ethnicity) -- Settings: home offices, co-working spaces, film sets - -### Illustrations -- Flat, geometric style with subtle depth -- Use brand colors exclusively -- Rounded corners (8px radius) on all shapes -- Consistent character style if used - -### Icons -- Outline style, 2px stroke -- Rounded caps and joins -- 24px grid, scalable to 16px-48px - ---- - -## Competitive Positioning Statements - -| Competitor | Positioning | -|------------|-------------| -| **Final Draft** | "All the power of Final Draft, none of the $199 price tag. Collaborate in real-time from any device." | -| **WriterDuet** | "The screenwriting platform that keeps up with you. Faster, smarter, and more affordable." | -| **Celtx** | "Professional tools without the bloat. Focused on writing, not production management." | - ---- - -## Brand Assets Checklist - -- [ ] Logo files (SVG, PNG, ICO) — all variants -- [ ] Favicon set (16x16, 32x32, 48x48, 180x180) -- [ ] App icon (macOS, Windows, Linux, Web PWA) -- [ ] Social media profile images (Twitter/X, LinkedIn, Reddit, Discord, YouTube) -- [ ] Social media cover images -- [ ] Email signature template -- [ ] Presentation template -- [ ] Press kit -- [ ] Brand style guide PDF diff --git a/marketing/content-calendar.md b/marketing/content-calendar.md deleted file mode 100644 index 1c72ef01e..000000000 --- a/marketing/content-calendar.md +++ /dev/null @@ -1,217 +0,0 @@ -# Scripter Content Calendar — Year 1 - -**Version:** 1.0 -**Date:** April 22, 2026 -**Author:** CMO - ---- - -## Publishing Cadence - -| Channel | Frequency | Best Time | Owner | -|---------|-----------|-----------|-------| -| Blog | 2 posts/week | Tuesday, Thursday 9am PT | Content | -| YouTube | 1 video/week | Wednesday 12pm PT | Video | -| Twitter/X | Daily | 8am, 12pm, 4pm PT | Social | -| LinkedIn | 3x/week | Monday-Wednesday-Friday 10am PT | Social | -| Reddit | 2x/week | Sunday, Wednesday | Community | -| Newsletter | Weekly | Friday 10am PT | Email | - ---- - -## Content Pillars - -### 1. Screenwriting Education -How-to guides, formatting tips, structure advice, genre deep-dives. - -### 2. Industry Insights -Film news, festival coverage, market trends, script sales analysis. - -### 3. Product Education -Feature tutorials, use cases, tips and tricks, migration guides. - -### 4. Community Spotlights -Writer interviews, success stories, script spotlights, beta feedback. - -### 5. Competitive Content -Why Scripter vs alternatives, feature comparisons, migration incentives. - ---- - -## Monthly Breakdown - -### Month 1 (May 2026) — Foundation -**Theme:** "What makes great screenwriting software?" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "Top 10 Screenwriting Tools in 2026 (And Why They Fall Short)" | "What We're Building: Scripter Preview" | Tease the product, build curiosity | -| W2 | "The Anatomy of a Screenplay: Formatting Guide for Beginners" | "How to Format a Screenplay (Complete Guide)" | Screenwriting education | -| W3 | "Final Draft vs WriterDuet: Honest Comparison in 2026" | "Why We Left WriterDuet" (founder story) | Competitive content | -| W4 | "5 Screenwriting Mistakes Every Beginner Makes" | "Screenwriting Tips from a Working Screenwriter" | Education pillar | - -**Reddit:** Join r/Screenwriting discussions. Answer formatting questions. No self-promotion yet. -**Newsletter:** Launch "The Scripter" weekly newsletter (signup on landing page). - -### Month 2 (June 2026) — Education -**Theme:** "Level up your screenwriting" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "How to Write a Logline That Sells" | "Logline Workshop: From Pitch to Script" | Education | -| W2 | "Three-Act Structure Explained (With Examples)" | "Breaking Down the Three-Act Structure" | Education | -| W3 | "Character Development: Creating Memorable Characters" | "Character Arcs That Move Audiences" | Education | -| W4 | "Screenplay Dialogue: How to Write What People Actually Say" | "Dialogue Tips from Oscar-Winning Scripts" | Education | - -**Reddit:** Share educational content when relevant to discussions. -**Twitter:** Daily screenwriting tips thread. - -### Month 3 (July 2026) — Beta Launch -**Theme:** "Scripter is coming" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "Introducing Scripter: The Screenwriting Platform You've Been Waiting For" | "Scripter Beta: First Look" | Beta announcement | -| W2 | "How Scripter's AI Writing Assistant Works" | "AI for Screenwriters: Demo and Ethics" | Product deep-dive | -| W3 | "Real-Time Collaboration for Screenwriters: Why It Matters" | "Collaborative Screenwriting: Live Demo" | Feature spotlight | -| W4 | "Migrating from WriterDuet to Scripter: Complete Guide" | "Importing Your WriterDuet Scripts to Scripter" | Migration content | - -**Discord:** Launch community server. Beta signup drive. -**Reddit:** Announce beta in r/Screenwriting, r/FinalDraft (follow sub rules). - -### Month 4 (August 2026) — Beta Growth -**Theme:** "Early adopters love Scripter" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "Beta Spotlight: How [Writer] Uses Scripter" | "Beta User Interview: First Impressions" | Social proof | -| W2 | "Screenplay Formatting: Fountain vs Final Draft XML" | "Fountain Format: The Open Standard for Screenwriters" | Education | -| W3 | "How to Build a Writing Routine (That Sticks)" | "My Screenwriting Morning Routine" | Lifestyle | -| W4 | "Top 5 Features Our Beta Users Love Most" | "Scripter Beta: Feature Roundup" | Product | - -**Referral:** Launch referral program for beta users. -**Influencer:** Send beta access to 10 screenwriting YouTubers. - -### Month 5 (September 2026) — Authority -**Theme:** "Scripter knows screenwriting" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "How Hollywood Scripts Get Formatted (Behind the Scenes)" | "Inside a Hollywood Script Formatting Workflow" | Industry | -| W2 | "Screenplay Coverage: What Pro Readers Actually Look For" | "Getting Your Script Read: Coverage Explained" | Education | -| W3 | "TV Pilot vs Feature Film: Structural Differences" | "Writing a TV Pilot: Complete Guide" | Education | -| W4 | "Script Competitions Worth Entering in 2026" | "Nicholl Fellowship: Application Tips" | Industry | - -**Partnership:** Outreach to film schools (USC, NYU, AFI). - -### Month 6 (October 2026) — Community -**Theme:** "Screenwriters unite" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "How to Build a Screenwriting Network" | "Networking for Introverted Screenwriters" | Community | -| W2 | "Scriptment to Script: Bridging the Gap" | "From Outline to First Draft: My Process" | Education | -| W3 | "Rewriting: How to Kill Your Darlings" | "Rewriting a Screenplay: Before and After" | Education | -| W4 | "Scripter Community: Best Scripts from Our Beta" | "Community Script Spotlight: Top 3 Scripts" | Community | - -**Event:** Host first virtual screenwriting workshop on Discord. - -### Month 7 (November 2026) — Pre-Launch Push -**Theme:** "Something big is coming" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "The Future of Screenwriting: AI, Collaboration, and Beyond" | "Will AI Replace Screenwriters? (Spoiler: No)" | Thought leadership | -| W2 | "Scripter Premium: Every Feature Explained" | "Scripter Premium: Full Feature Tour" | Product | -| W3 | "Why We Priced Scripter at $7.99 (Transparency Post)" | "Behind Our Pricing: Making Screenwriting Accessible" | Trust | -| W4 | "Launch Week Preview: What to Expect" | "Scripter Launch: Everything You Need to Know" | Hype | - -**Waitlist:** Push waitlist signups to 10K+. -**Press:** Send embargoed press releases to film tech outlets. - -### Month 8 (December 2026) — Launch -**Theme:** "Scripter is live" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "Scripter is Live: Start Writing for Free Today" | "Scripter Launch: Full Product Tour" | Launch day | -| W2 | "First Week at Scripter: What We Learned" | "Scripter: First Week User Stories" | Momentum | -| W3 | "Holiday Screenwriting Challenge: Write Your First Draft" | "30-Day Screenwriting Challenge: Day 1" | Engagement | -| W4 | "Year in Review: Best Screenwriting Resources of 2026" | "Best Screenwriting Tools and Resources" | Authority | - -**Product Hunt:** Launch day campaign. -**Reddit:** Launch announcement (r/Screenwriting, r/SideProject, r/InternetIsBeautiful). - -### Month 9 (January 2027) — Growth -**Theme:** "New year, new scripts" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "How to Finish Your Screenplay in 2027" | "Screenwriting Goals That Actually Work" | Motivation | -| W2 | "Scripter Tips: 10 Features You're Not Using" | "10 Hidden Scripter Features" | Product | -| W3 | "Spec Scripts vs Original Scripts: Which Should You Write?" | "Spec vs Original: Screenwriter's Dilemma" | Education | -| W4 | "How to Query Literary Agents for Screenplays" | "Getting Represented: Agent Query Guide" | Career | - -**Paid Ads:** Launch Google Ads for "Final Draft alternative" keywords. - -### Month 10 (February 2027) — Authority -**Theme:** "Scripter is the standard" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "Screenplay Market Report: What's Selling in 2027" | "What Studios Are Looking For Right Now" | Industry | -| W2 | "Advanced Scripter: Power User Workflow" | "Scripter Power User: My Daily Workflow" | Product | -| W3 | "How to Write a Screenplay in 30 Days" | "30-Day Screenplay Challenge: Full Process" | Education | -| W4 | "Scripter API: Building Integrations for Screenwriters" | "Building a Scripter Integration: Tutorial" | Developer | - -### Month 11 (March 2027) — Scale -**Theme:** "Scripter grows" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "Scripter Hits [Milestone]: Thank You, Community" | "Scripter Community Milestone Celebration" | Celebration | -| W2 | "International Screenwriting: Writing for Global Markets" | "Screenwriting for International Co-Productions" | Expansion | -| W3 | "Scripter for Teams: How Studios Use Our Platform" | "How [Studio] Uses Scripter for Development" | Enterprise | -| W4 | "Screenwriting in the Age of AI: A Balanced View" | "AI Tools for Screenwriters: What Works, What Doesn't" | Thought leadership | - -### Month 12 (April 2027) — Year 1 Review -**Theme:** "One year of Scripter" - -| Week | Blog | YouTube | Social Focus | -|------|------|---------|-------------| -| W1 | "One Year of Scripter: What We Built and Learned" | "Scripter at One Year: Founder's Letter" | Reflection | -| W2 | "Best Scripts Written on Scripter in Year 1" | "Top 5 Scripts from Our Community" | Community | -| W3 | "What's Coming in Year 2: Scripter Roadmap" | "Scripter Roadmap 2027: What's Next" | Vision | -| W4 | "Screenwriting Resources: The Ultimate Guide" | "Every Screenwriting Resource You Need" | Authority | - ---- - -## SEO Content Cluster - -### Pillar Pages (Long-form, 2000+ words) -1. "Complete Guide to Screenwriting Software" (target: "screenwriting software") -2. "How to Write a Screenplay" (target: "how to write a screenplay") -3. "Final Draft Alternative" (target: "Final Draft alternative") -4. "Screenplay Formatting Guide" (target: "screenplay format") - -### Cluster Posts (800-1500 words, link to pillars) -- Genre-specific guides (comedy, thriller, sci-fi, drama) -- Formatting deep-dives (scene headings, action lines, dialogue) -- Tool comparisons (Scripter vs X) -- Career guides (breaking in, getting represented, selling scripts) - ---- - -## Newsletter Strategy - -### "The Scripter" — Weekly (Friday) -- One screenwriting tip -- One industry news item -- One Scripter update or feature -- One community spotlight -- One resource recommendation - -### Segmentation -- **Free users:** Tips, features, upgrade prompts -- **Pro/Premium users:** Advanced tips, new features, community highlights -- **Beta/Waitlist:** Development updates, sneak peeks, launch countdown diff --git a/marketing/content-strategy.md b/marketing/content-strategy.md deleted file mode 100644 index faa692681..000000000 --- a/marketing/content-strategy.md +++ /dev/null @@ -1,477 +0,0 @@ -# Scripter Content Strategy — 12 Months - -**Version:** 2.0 -**Date:** April 23, 2026 -**Author:** CMO -**Issue:** [FRE-578](/FRE/issues/FRE-578) - ---- - -## Strategic Objectives - -1. **Acquisition:** Drive 50K paying users by end of Year 1 through content-led organic growth -2. **SEO Domination:** Own top-3 rankings for "Final Draft alternative", "online screenplay writer", "free screenwriting software" -3. **Brand Authority:** Become the #1 educational resource for screenwriters online -4. **Community:** Build 5K Discord members and 10K newsletter subscribers pre-launch - ---- - -## Content Pillars - -| Pillar | Purpose | % of Content | Primary Channels | -|--------|---------|-------------|-----------------| -| **Screenwriting Education** | Attract organic traffic, build trust | 35% | Blog, YouTube, Newsletter | -| **Industry Insights** | Position as authority, shareable content | 20% | Blog, Twitter/X, LinkedIn | -| **Product Education** | Drive conversions, reduce churn | 25% | Blog, YouTube, Email | -| **Community Spotlights** | Build social proof, engagement | 10% | All channels | -| **Competitive Content** | Capture competitor search traffic | 10% | Blog, YouTube, Reddit | - ---- - -## Channel Strategy - -### Blog (2 posts/week — Tuesday, Thursday 9am PT) - -**Role:** Primary SEO engine and content hub. Every blog post feeds social, email, and YouTube. - -**Content Mix:** -- 40% Evergreen educational (screenwriting how-to, formatting guides) -- 25% Product-driven (feature tutorials, migration guides) -- 20% Industry/authority (market analysis, trend pieces) -- 15% Competitive (comparisons, alternatives) - -**SEO Architecture:** -- 4 pillar pages (2000+ words) targeting head terms -- 20+ cluster posts (800-1500 words) linking to pillars -- Internal linking: every cluster links to its pillar; pillars cross-link - -**Performance Targets:** -- Month 1-3: 500 monthly visitors -- Month 4-6: 5K monthly visitors -- Month 7-12: 25K monthly visitors - ---- - -### YouTube (1 video/week — Wednesday 12pm PT) - -**Role:** Trust builder and product demo channel. Long-form education + product demos. - -**Content Mix:** -- 30% Tutorials (screenwriting education, how-to) -- 25% Product demos (Scripter features, workflows) -- 20% Interviews (writers, industry professionals) -- 15% Commentary (industry news, trends) -- 10% Behind-the-scenes (building Scripter, team) - -**Video Length:** -- Tutorials: 10-15 min -- Demos: 5-10 min -- Interviews: 20-30 min -- Commentary: 8-12 min - -**Performance Targets:** -- Month 1-3: 100 subscribers -- Month 4-6: 1K subscribers -- Month 7-12: 10K subscribers - ---- - -### Twitter/X (Daily — 3 tweets/day: 8am, 12pm, 4pm PT) - -**Role:** Real-time engagement, community building, thought leadership. - -**Content Mix:** -- 30% Screenwriting tips (thread format, high engagement) -- 25% Product updates (feature drops, screenshots, GIFs) -- 20% Industry commentary (hot takes on film news) -- 15% Community engagement (retweets, replies, polls) -- 10% Personal/founder (building in public) - -**Thread Strategy (weekly):** -- Monday: Screenwriting tip thread (educational) -- Wednesday: Product update thread -- Friday: Community highlight thread - ---- - -### LinkedIn (3x/week — Mon/Wed/Fri 10am PT) - -**Role:** B2B credibility, studio partnerships, talent acquisition. - -**Content Mix:** -- Product milestones and company updates -- Industry analysis and market insights -- Team culture and hiring -- Thought leadership on creative tooling - ---- - -### Reddit (2x/week — Sunday, Wednesday) - -**Role:** Community trust and organic discovery. - -**Subreddits:** r/Screenwriting, r/FinalDraft, r/writer, r/Filmmaking, r/SideProject - -**Rules:** -- 90/10 rule: 90% genuine contribution, 10% self-promotion -- Never spam; add value first -- Announce major milestones (beta, launch) per subreddit rules - ---- - -### Newsletter — "The Scripter" (Weekly — Friday 10am PT) - -**Role:** Retention, conversion, and community glue. - -**Format:** -- One screenwriting tip (actionable) -- One industry news item (curated) -- One Scripter update or feature spotlight -- One community spotlight (user feature) -- One resource recommendation (book, tool, course) - -**Segmentation:** -- **Free users:** Tips, feature highlights, upgrade prompts (1 per month) -- **Pro/Premium users:** Advanced tips, beta features, community highlights -- **Beta/Waitlist:** Development updates, sneak peeks, launch countdown - -**Performance Targets:** -- Open rate: >35% -- Click rate: >5% -- Unsubscribe rate: <0.5% monthly - ---- - -## SEO Keyword Strategy - -### Primary Targets (Head Terms) - -| Keyword | Search Vol. | Difficulty | Target Page | Month Live | -|---------|-----------|------------|-------------|-----------| -| "Final Draft alternative" | 4,400 | Medium | Pillar page | Month 1 | -| "online screenplay writer" | 2,900 | Medium | Pillar page | Month 1 | -| "free screenwriting software" | 5,400 | Medium | Pillar page | Month 2 | - -### Secondary Targets (Long-tail) - -| Keyword | Search Vol. | Maps To | -|---------|-----------|---------| -| "WriterDuet alternatives" | 1,300 | Competitive pillar | -| "how to write a screenplay" | 12,000 | Education pillar | -| "screenplay format template" | 1,900 | Education cluster | -| "best screenwriting software 2026" | 2,400 | Competitive pillar | -| "screenwriting software for beginners" | 880 | Education cluster | -| "Final Draft vs WriterDuet" | 1,600 | Competitive cluster | -| "how to format a screenplay" | 3,600 | Education cluster | -| "free screenplay software online" | 2,200 | Free tier landing | -| "collaborative screenwriting tool" | 720 | Product page | -| "AI screenwriting assistant" | 1,800 | Product page | -| "Fountain format editor" | 590 | Product cluster | -| "screenplay writing app" | 1,400 | Product cluster | - -### Content-to-SEO Mapping (Explicit) - -Each primary keyword gets a dedicated pillar page with 5-8 cluster posts: - -**"Final Draft alternative" pillar:** -- "Final Draft alternative: Complete Guide 2026" (pillar) -- "Final Draft vs Scripter: Feature Comparison" (cluster) -- "Why I switched from Final Draft" (cluster, community story) -- "Final Draft pricing vs Scripter pricing" (cluster) -- "Import Final Draft files to Scripter" (cluster, tutorial) -- "Final Draft alternatives ranked by price" (cluster) - -**"online screenplay writer" pillar:** -- "Best Online Screenplay Writers in 2026" (pillar) -- "Scripter online editor: Full review" (cluster) -- "Write screenplays on iPad: Browser vs App" (cluster) -- "Online vs Desktop screenwriting: What's better?" (cluster) -- "Collaborative online screenwriting tools" (cluster) - -**"free screenwriting software" pillar:** -- "Best Free Screenwriting Software in 2026" (pillar) -- "Scripter free plan: Everything included" (cluster) -- "Free vs Paid screenwriting tools: What you need" (cluster) -- "WriterDuet free plan vs Scripter free plan" (cluster) -- "Is free screenwriting software good enough?" (cluster) - ---- - -## 12-Month Content Calendar - -### Month 1 (May 2026) — Foundation -**Theme:** "What makes great screenwriting software?" -**Goal:** Establish SEO foundations, build pre-launch audience - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "Top 10 Screenwriting Tools in 2026" (SEO: free screenwriting software) | "What We're Building: Why Scripter Exists" | "What We're Building: Scripter Preview" | Tease product, build curiosity | Launch "The Scripter" newsletter | -| W2 | "Screenplay Formatting Guide for Beginners" (SEO: screenplay format) | "The History of Screenwriting Software" | "How to Format a Screenplay (Complete Guide)" | Screenwriting education tips | Formatting resources round-up | -| W3 | "Final Draft vs WriterDuet: Honest Comparison" (SEO: Final Draft alternative) | "5 Screenwriting Mistakes Every Beginner Makes" | "Why We Left WriterDuet" (founder story) | Competitive discussion, polls | Tool comparison summary | -| W4 | "How to Write a Logline That Sells" (SEO: how to write screenplay) | "Screenwriting Software: What to Look For" | "Screenwriting Tips from a Working Screenwriter" | Logline challenges, tips | Logline workshop recap | - -**SEO Focus:** Publish "Final Draft alternative" pillar page + 2 clusters -**Social:** Twitter threads on formatting tips; Reddit engagement (no promo) -**Email:** Newsletter launch; landing page signup drive - ---- - -### Month 2 (June 2026) — Education -**Theme:** "Level up your screenwriting" -**Goal:** Build educational authority, grow email list - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "Three-Act Structure Explained (With Examples)" | "Character Development: Creating Memorable Characters" | "Breaking Down the Three-Act Structure" | Structure breakdowns | Structure cheat sheet | -| W2 | "Screenplay Dialogue: Write What People Actually Say" | "Show Don't Tell: Screenwriting's Golden Rule" | "Dialogue Tips from Oscar-Winning Scripts" | Dialogue snippets, polls | Dialogue exercises | -| W3 | "How to Write Action Lines That Pop" | "Scene Transitions: The Invisible Art" | "Action Lines: Before and After Examples" | Writing prompts | Action line workshop | -| W4 | "Best Free Screenwriting Software in 2026" (SEO: free screenwriting software pillar) | "Scripter Free Plan: Everything You Get" | "Free Screenwriting Tools: Hands-On Review" | Free tool discussion | Free tier announcement | - -**SEO Focus:** Publish "free screenwriting software" pillar page + 2 clusters -**Social:** Daily writing prompts; Twitter tip threads -**Email:** Free tier signup drive; educational content series - ---- - -### Month 3 (July 2026) — Beta Launch -**Theme:** "Scripter is coming" -**Goal:** Drive beta signups, establish product awareness - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "Introducing Scripter: The New Screenwriting Platform" | "How Scripter's AI Writing Assistant Works" | "Scripter Beta: First Look" | Beta announcement across all channels | Beta signup push | -| W2 | "Real-Time Collaboration for Screenwriters: Why It Matters" | "Scripter vs WriterDuet: Feature-by-Feature" (SEO: WriterDuet alternatives) | "Collaborative Screenwriting: Live Demo" | Collaboration use cases | Beta sneak peek | -| W3 | "Migrating from WriterDuet to Scripter: Complete Guide" | "Migrating from Final Draft to Scripter" | "Importing WriterDuet Scripts to Scripter" | Migration stories | Migration checklist | -| W4 | "Best Online Screenplay Writers in 2026" (SEO: online screenplay writer pillar) | "Scripter Online Editor: Full Review" | "Writing Screenplays in Your Browser" | Browser vs desktop debate | Online editor deep-dive | - -**SEO Focus:** Publish "online screenplay writer" pillar page + 2 clusters -**Social:** Beta countdown; Discord server launch -**Email:** Beta waitlist segment; weekly dev updates - ---- - -### Month 4 (August 2026) — Beta Growth -**Theme:** "Early adopters love Scripter" -**Goal:** Social proof, beta feedback loop, referral growth - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "Beta Spotlight: How [Writer] Uses Scripter" | "Screenplay Formatting: Fountain vs Final Draft XML" | "Beta User Interview: First Impressions" | Beta user testimonials | Beta feedback roundup | -| W2 | "How to Build a Writing Routine (That Sticks)" | "Top 5 Features Our Beta Users Love Most" | "My Screenwriting Morning Routine" | Writing habit tips | Routine builder template | -| W3 | "Scripter Tips: Collaboration Features You're Not Using" | "Screenplay Outlining: Cards vs Mind Maps" | "Scripter Beta: Feature Roundup" | Feature tips, GIFs | Collaboration tips | -| W4 | "WriterDuet Alternatives Ranked: Price, Features, UX" (SEO: WriterDuet alternatives) | "Why Beta Users Are Switching to Scripter" | "Switching Screenwriting Tools: What to Consider" | Switching stories | Switching guide | - -**SEO Focus:** "WriterDuet alternatives" pillar page -**Social:** Referral program launch; user-generated content -**Email:** Referral campaign; beta milestone updates - ---- - -### Month 5 (September 2026) — Authority -**Theme:** "Scripter knows screenwriting" -**Goal:** Industry authority, film school partnerships - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "How Hollywood Scripts Get Formatted (Behind the Scenes)" | "Screenplay Coverage: What Pro Readers Look For" | "Inside a Hollywood Script Formatting Workflow" | Industry insider content | Coverage guide | -| W2 | "TV Pilot vs Feature Film: Structural Differences" | "Script Competitions Worth Entering in 2026" | "Writing a TV Pilot: Complete Guide" | Competition deadlines | Competition calendar | -| W3 | "How to Get Your Script Optioned" | "Scripter for Film Schools: Education Program" | "Nicholl Fellowship: Application Tips" | Career advancement | Film school program | -| W4 | "Screenwriting Software for Beginners: Complete Guide" (SEO: screenwriting software for beginners) | "From First Draft to Final: The Revision Process" | "Screenwriting Software for Beginners: Walkthrough" | Beginner resources | Revision checklist | - -**SEO Focus:** Long-tail keyword clusters; film school landing page -**Social:** Film school partnership announcements -**Email:** Education discount program; competition reminders - ---- - -### Month 6 (October 2026) — Community -**Theme:** "Screenwriters unite" -**Goal:** Community growth, user-generated content - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "How to Build a Screenwriting Network" | "Scriptment to Script: Bridging the Gap" | "Networking for Introverted Screenwriters" | Community spotlights | Networking tips | -| W2 | "Rewriting: How to Kill Your Darlings" | "Scripter Community: Best Beta Scripts" | "Rewriting a Screenplay: Before and After" | Script sharing prompts | Community scripts | -| W3 | "Group Critiques: How to Give and Receive Feedback" | "Scripter's Revision Tracking: Game Changer" | "Script Feedback Session: Live Critique" | Feedback culture | Revision tools | -| W4 | "Screenwriting in 2026: Trends and Opportunities" | "AI in Screenwriting: Tools That Actually Help" | "Screenwriting Trends: What's Changing" | Industry discussion | Trend report | - -**SEO Focus:** "AI screenwriting assistant" cluster content -**Social:** Virtual workshop on Discord; community challenges -**Email:** Community highlights; workshop invites - ---- - -### Month 7 (November 2026) — Pre-Launch Push -**Theme:** "Something big is coming" -**Goal:** Waitlist growth, press coverage, launch hype - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "The Future of Screenwriting: AI, Collaboration, Beyond" | "Scripter Premium: Every Feature Explained" | "Will AI Replace Screenwriters? (Spoiler: No)" | Feature countdown | Premium preview | -| W2 | "Why We Priced Scripter at $7.99 (Transparency Post)" | "Launch Week Preview: What to Expect" | "Behind Our Pricing: Making Screenwriting Accessible" | Pricing discussion | Launch countdown | -| W3 | "Scripter Launch: Everything You Need to Know" | "From Beta to Launch: What Changed" | "Scripter Launch: Full Feature Tour" | Launch hype, countdown | Launch details | -| W4 | "Best Screenwriting Software 2026: Updated Rankings" (SEO: best screenwriting software) | "Get Ready: Scripter Launches Next Week" | "Last Chance: Scripter Beta Features Recap" | Final countdown | Launch reminder | - -**SEO Focus:** Update all pillar pages with launch info; "best screenwriting software 2026" -**Social:** Launch countdown; press mentions; influencer amplification -**Email:** Launch countdown sequence; waitlist conversion - ---- - -### Month 8 (December 2026) — Launch -**Theme:** "Scripter is live" -**Goal:** User acquisition, Product Hunt, press coverage - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "Scripter is Live: Start Writing for Free Today" | "First Week at Scripter: What We Learned" | "Scripter Launch: Full Product Tour" | Launch day blitz across all channels | Launch announcement | -| W2 | "Holiday Screenwriting Challenge: Write Your First Draft" | "Scripter vs Final Draft: 2026 Update" | "Scripter: First Week User Stories" | Holiday challenge | Challenge kickoff | -| W3 | "Year in Review: Best Screenwriting Resources of 2026" | "How to Use Scripter's AI Features Effectively" | "Best Screenwriting Tools and Resources 2026" | Year-in-review | Resource round-up | -| W4 | "Scripter User Stories: First Month on the Platform" | "Screenwriting Goals for 2027" | "Scripter User Interviews: Month One" | User testimonials | Goal setting guide | - -**SEO Focus:** Update comparison pages; capture launch search traffic -**Social:** Product Hunt campaign; Reddit launch posts; Twitter Spaces -**Email:** Onboarding sequence; holiday challenge; user stories - ---- - -### Month 9 (January 2027) — Growth -**Theme:** "New year, new scripts" -**Goal:** Conversion optimization, paid acquisition launch - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "How to Finish Your Screenplay in 2027" | "Scripter Tips: 10 Features You're Not Using" | "Screenwriting Goals That Actually Work" | Goal setting, motivation | Goal tracker | -| W2 | "Spec Scripts vs Original Scripts: Which Should You Write?" | "How to Query Literary Agents for Screenplays" | "10 Hidden Scripter Features" | Career advice | Agent query template | -| W3 | "Scripter API: Building Integrations for Screenwriters" | "Getting Represented: Agent Query Guide" | "Spec vs Original: Screenwriter's Dilemma" | Developer community | Representation guide | -| W4 | "Screenplay Writing App: Mobile vs Desktop vs Web" (SEO: screenplay writing app) | "How Scripter Compares: Updated 2027" | "Building a Scripter Integration: Tutorial" | Platform comparison | API announcement | - -**SEO Focus:** "screenplay writing app" cluster; update all 2026 content to 2027 -**Social:** Paid ads launch (Google Ads for target keywords) -**Email:** Feature adoption campaigns; upgrade prompts - ---- - -### Month 10 (February 2027) — Authority -**Theme:** "Scripter is the standard" -**Goal:** Market leadership, advanced user content - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "Screenplay Market Report: What's Selling in 2027" | "Advanced Scripter: Power User Workflow" | "What Studios Are Looking For Right Now" | Market insights | Market report | -| W2 | "How to Write a Screenplay in 30 Days" | "Scripter Power User: Keyboard Shortcuts & Filters" | "Scripter Power User: My Daily Workflow" | Power user tips | Shortcut cheat sheet | -| W3 | "Scripter for Production Teams: Beyond Writing" | "Collaborative Screenwriting: Best Practices" | "30-Day Screenplay Challenge: Full Process" | Team workflows | Team features | -| W4 | "Fountain Format: The Open Standard for Screenwriters" (SEO: Fountain format editor) | "Scripter API Deep-Dive: What You Can Build" | "Building a Scripter Integration: Advanced" | Developer content | API deep-dive | - -**SEO Focus:** "Fountain format editor" cluster; developer documentation -**Social:** Power user spotlights; developer community -**Email:** Advanced feature adoption; API announcements - ---- - -### Month 11 (March 2027) — Scale -**Theme:** "Scripter grows" -**Goal:** Enterprise, international, scale narrative - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "Scripter Hits [Milestone]: Thank You, Community" | "International Screenwriting: Writing for Global Markets" | "Scripter Community Milestone Celebration" | Milestone celebration | Milestone recap | -| W2 | "Scripter for Teams: How Studios Use Our Platform" | "Screenwriting for International Co-Productions" | "How [Studio] Uses Scripter for Development" | Enterprise stories | Team plan preview | -| W3 | "Screenwriting in the Age of AI: A Balanced View" | "Scripter Auto-Translate: Writing in Any Language" | "AI Tools for Screenwriters: What Works, What Doesn't" | AI discussion | AI features | -| W4 | "Scripter Team Plan: Collaboration at Scale" | "Year in Review: Scripter's Growth Story" | "Scripter Team Plan: Full Walkthrough" | Team plan launch | Team plan details | - -**SEO Focus:** Enterprise/team keywords; international content -**Social:** Enterprise case studies; team plan launch -**Email:** Team plan campaigns; enterprise outreach - ---- - -### Month 12 (April 2027) — Year 1 Review -**Theme:** "One year of Scripter" -**Goal:** Retrospective, roadmap, Year 2 positioning - -| Week | Blog Tue | Blog Thu | YouTube Wed | Social Theme | Newsletter | -|------|----------|----------|-------------|-------------|------------| -| W1 | "One Year of Scripter: What We Built and Learned" | "Best Scripts Written on Scripter in Year 1" | "Scripter at One Year: Founder's Letter" | Year in review | Year recap | -| W2 | "What's Coming in Year 2: Scripter Roadmap" | "Screenwriting Resources: The Ultimate Guide" | "Scripter Roadmap 2027: What's Next" | Roadmap reveal | Roadmap preview | -| W3 | "How We Grew to [X] Users: Our Growth Story" | "The Future of Screenwriting Tools" | "Top 5 Scripts from Our Community" | Growth story | Community scripts | -| W4 | "Screenwriting Software Landscape 2027: Full Update" | "Thank You, Scripter Community" | "Every Screenwriting Resource You Need" | Gratitude, community | Year 2 preview | - -**SEO Focus:** Update all pillar pages with 2027 data; comprehensive guide updates -**Social:** Year-in-review content; community appreciation -**Email:** Year 2 roadmap; loyalty rewards - ---- - -## Email Campaign Sequences - -### Welcome Series (Free Users — 5 emails, 10 days) -1. **Day 0:** Welcome to Scripter + quick start guide -2. **Day 2:** Your first screenplay: step-by-step -3. **Day 4:** Collaboration features you'll love -4. **Day 7:** Power user tips (shortcuts, filters) -5. **Day 10:** Upgrade to Pro (social proof + pricing) - -### Beta Waitlist Series (3 emails, 14 days) -1. **Signup:** What to expect from Scripter beta -2. **Day 7:** Behind the scenes: building Scripter -3. **Day 14:** Beta is opening — here's how to get in - -### Launch Sequence (4 emails, 7 days) -1. **Launch day:** Scripter is live — start writing free -2. **Day 2:** Feature deep-dive: AI writing assistant -3. **Day 4:** Feature deep-dive: real-time collaboration -4. **Day 7:** User stories + Pro upgrade offer - -### Re-engagement (Inactive 30 days — 2 emails) -1. **Day 30:** We miss you — new features since you left -2. **Day 45:** Last chance — your script is waiting - ---- - -## Content Production Workflow - -### Weekly Rhythm -- **Monday:** Content planning meeting; finalize week's topics -- **Tuesday:** Blog post 1 published; social content scheduled -- **Wednesday:** YouTube video published; LinkedIn post -- **Thursday:** Blog post 2 published; Reddit engagement -- **Friday:** Newsletter sent; weekly analytics review -- **Saturday/Sunday:** Community engagement; content ideation - -### Content Repurposing Pipeline -Each blog post generates: -- 1 YouTube video (expanded) -- 3-5 Twitter posts (key takeaways) -- 1 LinkedIn post (professional angle) -- 1 newsletter section -- 2-3 Reddit comments (where relevant) -- 1 Discord discussion starter - ---- - -## Performance Metrics - -| Metric | Month 1-3 | Month 4-6 | Month 7-9 | Month 10-12 | -|--------|-----------|-----------|-----------|-------------| -| Blog monthly visitors | 500 | 5K | 15K | 25K | -| YouTube subscribers | 100 | 1K | 5K | 10K | -| Twitter followers | 500 | 2K | 8K | 15K | -| Newsletter subscribers | 500 | 3K | 8K | 15K | -| Discord members | 0 | 1K | 3K | 5K | -| Organic signups (monthly) | 50 | 300 | 1K | 2K | -| SEO top-3 rankings | 2 | 5 | 8 | 12 | - ---- - -## Budget Allocation (Content) - -| Category | Monthly Budget | Notes | -|----------|---------------|-------| -| Guest writers (blog) | $0 (founder-led initially) | Scale at Month 6+ | -| Video production | $0 (DIY initially) | Upgrade at Month 4 | -| SEO tools (Ahrefs/SEMrush) | $99 | Essential for keyword tracking | -| Social scheduling (Buffer) | $0 (free tier) | Upgrade at Month 6 | -| Newsletter (ConvertKit) | $0 (free to 1K) | Scales with audience | -| **Total (Months 1-6)** | **~$99/mo** | Bootstrap phase | -| **Total (Months 7-12)** | **~$500/mo** | Growth phase | diff --git a/marketing/discord-beta-server-setup.md b/marketing/discord-beta-server-setup.md deleted file mode 100644 index b93497411..000000000 --- a/marketing/discord-beta-server-setup.md +++ /dev/null @@ -1,240 +0,0 @@ -# Discord Beta Server Setup - -**Server:** Scripter Beta Community -**Owner:** CMO (community management) -**Support:** Engineering (technical setup) -**Status:** Ready to create - ---- - -## Server Structure - -### Categories & Channels - -**📌 WELCOME & INFO** -- #welcome-rules - Beta guidelines, code of conduct -- #announcements - Weekly updates from team -- #start-here - Quick links, getting started guide - -**💬 COMMUNITY** -- #general - Casual chat, introductions -- #showcase - Share your scripts, milestones -- #help - Peer-to-peer support - -**🐛 FEEDBACK & BUGS** -- #feature-requests - Suggest features + vote -- #bugs - Bug reports (template required) -- #beta-surveys - Weekly survey reminders - -**🎯 BETA PROGRAM** -- #feedback-fridays - Survey collection, feedback discussions -- #bug-bounty - Report critical bugs for rewards -- #testimonials - Share your experience - -**🔧 TECHNICAL** -- #tech-support - Login issues, bugs, troubleshooting -- #feature-discussion - Deep dives on specific features - ---- - -## Channel Descriptions - -### #welcome-rules (Pinned Message) - -``` -🎬 Welcome to Scripter Beta! - -We're thrilled to have you as one of 500 founding members. This is where we'll build the future of screenwriting together. - -**Beta Guidelines:** -1. Be respectful and supportive -2. Provide honest feedback (good and bad) -3. Report bugs promptly -4. Complete weekly surveys (5 min) -5. Help other beta users - -**Beta Timeline:** -- April 26: Beta starts -- May 7: Product Hunt launch -- May 16: Beta ends, launch begins - -**Getting Started:** -1. Introduce yourself in #general -2. Check #start-here for login info -3. Join #feedback-fridays for weekly surveys -4. Report bugs in #bugs - -**Bug Bounty:** -- Critical bugs: 1 month Premium free -- High priority: 2 weeks Premium -- Medium: 1 week Premium - -Questions? Ask in #help or @CMO - -Let's write! ✍️ -``` - -### #announcements (Pinned Message) - -``` -📢 Weekly Updates - -**Week 1 (April 26 - May 2): Onboarding** -- Welcome email sent -- Login credentials distributed -- First survey: Friday - -**Week 2 (May 3 - May 9): Product Hunt Launch** -- Launch day: May 7 -- Special beta user perks announced -- Community AMA with founders - -**Week 3 (May 10 - May 16): Final Push** -- Testimonial collection -- Final surveys -- Launch party planning - -Stay tuned! -``` - -### #bugs (Pinned Message - Template) - -``` -🐛 Bug Report Template - -Please use this format: - -**What happened?** -[Describe the bug] - -**What did you expect?** -[Expected behavior] - -**How to reproduce:** -1. Step 1 -2. Step 2 -3. Step 3 - -**Environment:** -- Browser/OS: [e.g., Chrome on Mac] -- Script: [Link if comfortable sharing] - -**Severity:** -- 🔴 Critical (data loss, crash) -- 🟡 High (feature broken) -- 🟢 Medium (minor issue) -- ⚪ Low (cosmetic) - -**Bonus:** Screenshots/video - -Bug bounties awarded for critical/high severity! -``` - -### #feature-requests (Pinned Message) - -``` -💡 Feature Requests - -Have an idea? Share it here! - -**How to submit:** -1. Describe the feature -2. Explain the use case -3. Vote on others' ideas with 👍 - -**Most upvoted features get prioritized!** - -Top requests this week: -1. [Auto-updating based on votes] -2. [Auto-updating] -3. [Auto-updating] -``` - ---- - -## Roles & Permissions - -**@Admin** - CMO, CEO, CTO -- Full server access -- Can manage channels, roles, bans - -**@Moderator** - Community manager (if hired) -- Can delete messages, timeout users -- Cannot manage roles/channels - -**@BetaTester** - All beta users -- Access to all beta channels -- Can post, react, vote - -**@VIP** - Influencers, advocates -- Special role color -- Early access to features - ---- - -## Onboarding Flow - -1. **User joins Discord** → Auto-assign @BetaTester role -2. **Welcome DM** → Bot sends rules + #start-here link -3. **First post** → Introduce in #general -4. **First survey** → Sent via email Friday - ---- - -## Weekly Engagement Plan - -**Monday:** Week kickoff in #announcements -**Wednesday:** Feature spotlight in #feature-discussion -**Friday:** Survey reminder in #feedback-fridays -**Ongoing:** Bug reports, feature requests, community chat - ---- - -## Success Metrics - -| Metric | Target | Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 | -|--------|--------|--------|--------|--------|--------|--------|--------| -| Members | 500 | 100 | 250 | 400 | 450 | 480 | 500 | -| Daily active | 300 | 60 | 150 | 240 | 270 | 290 | 300 | -| Messages/day | 200 | 40 | 100 | 160 | 180 | 190 | 200 | -| Bug reports | 50+ | 10 | 20 | 35 | 40 | 45 | 50 | -| Feature requests | 30+ | 5 | 12 | 20 | 24 | 27 | 30 | - ---- - -## Moderation Guidelines - -**Delete + Warn:** -- Spam, self-promotion -- Harassment, discrimination -- NSFW content - -**Timeout (24 hours):** -- Repeated rule violations -- Aggressive behavior - -**Ban:** -- Severe harassment -- Doxxing, threats -- Malicious spam - ---- - -## Setup Checklist - -- [x] Create Discord server ✅ -- [x] Create channels (12 total) ✅ -- [x] Set up roles (Admin, Moderator, BetaTester, VIP) ✅ -- [x] Configure channel permissions ✅ -- [x] Write welcome messages (pinned) ✅ -- [x] Set up welcome bot (MEE6 or similar) ✅ -- [x] Test invite link ✅ -- [x] Create invite URL: discord.gg/scripter-beta ✅ -- [x] Add server icon (Scripter logo) ✅ -- [x] Add server description ✅ - ---- - -**Status:** ✅ Complete - Ready for user onboarding -**Owner:** CMO (community management) -**Timeline:** Created April 26, start inviting users April 27 diff --git a/marketing/discord-community-guidelines.md b/marketing/discord-community-guidelines.md deleted file mode 100644 index ce998488f..000000000 --- a/marketing/discord-community-guidelines.md +++ /dev/null @@ -1,234 +0,0 @@ -# Discord Community Guidelines - -**Effective:** April 26, 2026 -**Version:** 1.0 -**Owner:** CMO - ---- - -## Welcome to the Scripter Beta Community! - -This is a space for screenwriters to collaborate, share feedback, and help build the future of screenwriting technology. These guidelines ensure everyone has a positive, productive experience. - ---- - -## Core Principles - -### 1. Be Respectful and Supportive -- Treat all members with kindness and respect -- Offer constructive feedback, not criticism -- Celebrate others' successes and milestones -- Remember: we're all here to write better scripts - -### 2. Be Honest and Helpful -- Provide genuine feedback on features and bugs -- Share your knowledge when you can -- Ask questions when you're stuck -- Help fellow beta testers when possible - -### 3. Be Professional -- No harassment, discrimination, or hate speech -- No spam, self-promotion, or unsolicited DMs -- Keep discussions relevant to screenwriting and Scripter -- Respect privacy and confidentiality - ---- - -## Channel-Specific Guidelines - -### #welcome-rules -- Read the pinned welcome message -- Introduce yourself in #general -- Check #start-here for getting started resources - -### #general -- Casual chat and introductions -- Screenwriting discussions -- Off-topic conversations (keep it friendly) - -### #showcase -- Share your scripts, scenes, milestones -- Celebrate wins (big and small) -- Get feedback on your work (when requested) - -### #help -- Ask questions about Scripter -- Help other users with their questions -- Search before posting (your question may already be answered) - -### #bugs -- Use the bug report template (see pinned message) -- Include steps to reproduce -- Add severity level (Critical/High/Medium/Low) -- One bug per post - -### #feature-requests -- Describe the feature clearly -- Explain the use case -- Vote on others' ideas with 👍 -- Most upvoted features get prioritized! - -### #feedback-fridays -- Weekly survey reminders -- Feedback discussions -- Share your thoughts on new features - -### #bug-bounty -- Report critical bugs for rewards -- Rewards: 1 week - 1 month free Premium -- See pinned message for details - -### #tech-support -- Login issues -- Technical problems -- Browser/compatibility questions - -### #feature-discussion -- Deep dives on specific features -- Workflows and best practices -- Feature comparisons and discussions - ---- - -## What's Allowed - -✅ **Encouraged:** -- Constructive feedback (positive and negative) -- Bug reports with details -- Feature suggestions -- Script excerpts for testing -- Questions about the app -- Helping other users -- Celebrating milestones - -✅ **Okay Sometimes:** -- Off-topic chat (in moderation) -- Memes and humor (keep it appropriate) -- Industry news and discussions -- Writing tips and advice - -❌ **Not Allowed:** -- Harassment, bullying, or discrimination -- Hate speech or offensive content -- Spam or excessive self-promotion -- Piracy or copyright infringement -- NSFW content -- Doxxing or sharing private info -- Malicious bugs or exploits -- Impersonation of team members - ---- - -## Bug Bounty Program - -Report critical bugs and earn rewards! - -| Severity | Description | Reward | -|----------|-------------|--------| -| 🔴 Critical | Data loss, crash, security issue | 1 month Premium | -| 🟡 High | Feature completely broken | 2 weeks Premium | -| 🟢 Medium | Feature partially broken | 1 week Premium | -| ⚪ Low | Cosmetic issue, typo | Thanks! | - -**How to Claim:** -1. Report bug in #bugs with template -2. Team confirms severity -3. Reward applied to your account -4. Public shoutout (optional) - ---- - -## Moderation - -### Our Approach -We use a **progressive enforcement** model: - -1. **Warning** - First violation (public or DM) -2. **Timeout** - 24 hours for repeated violations -3. **Ban** - Severe or persistent violations - -### What Gets You Warned -- First-time rule violation -- Accidental spam -- Minor disrespect - -### What Gets You Timed Out -- Repeated rule violations -- Aggressive behavior -- Ignoring warnings - -### What Gets You Banned -- Severe harassment -- Doxxing or threats -- Malicious spam or exploits -- Ban evasion - ---- - -## Reporting Issues - -### See Something? Say Something. - -**To Report:** -- DM @CMO or @Moderator -- Email: community@scripter.app (future) -- Use #help for general issues - -**What to Include:** -- What happened -- Who was involved (if applicable) -- Screenshots (if available) -- Why it's a problem - -**We Will:** -- Review all reports -- Respond within 24 hours -- Take appropriate action -- Keep reporter anonymous (if requested) - ---- - -## Privacy & Safety - -### Your Data -- Discord username and ID visible to all -- Messages visible to server members -- Team can see all messages for moderation -- We don't sell or share your data - -### Stay Safe -- Don't share personal info publicly -- Use DMs carefully (scammers exist) -- Report suspicious behavior -- Block users if needed - ---- - -## Questions? - -**Need Help?** -- Ask in #help -- DM @CMO or @Moderator -- Check #start-here for FAQs - -**Feedback on Guidelines?** -- Post in #feature-requests -- DM @CMO - ---- - -## Acknowledgment - -By participating in this server, you agree to: -- Follow these guidelines -- Respect other members -- Help build a positive community -- Provide honest feedback -- Report bugs and issues - -**Let's write! ✍️** - ---- - -**Last Updated:** April 26, 2026 -**Next Review:** May 26, 2026 (or as needed) diff --git a/marketing/discord-moderation-playbook.md b/marketing/discord-moderation-playbook.md deleted file mode 100644 index f8293a8ed..000000000 --- a/marketing/discord-moderation-playbook.md +++ /dev/null @@ -1,296 +0,0 @@ -# Discord Moderation Playbook - -**For:** Moderators and Admin -**Version:** 1.0 -**Effective:** April 26, 2026 -**Owner:** CMO - ---- - -## Quick Reference - -### Escalation Ladder -1. **Verbal Warning** - "Hey, please keep it civil" -2. **Public Warning** - "@user Please follow channel rules" -3. **Timeout** - 24 hours mute -4. **Ban** - Permanent removal - -### Common Scenarios - -| Situation | Action | Template | -|-----------|--------|----------| -| First spam | Warn + delete | "Please no self-promo" | -| Rudeness | Warn publicly | "Let's keep it constructive" | -| Harassment | Timeout + DM | 24hr timeout, explain why | -| Severe harassment | Ban immediately | No warning needed | -| Bug report (no template) | Ask to reformat | "Please use the template" | -| Off-topic in tech channels | Gently redirect | "Try #general for this" | - ---- - -## Moderator Permissions - -### What You Can Do -- ✅ Delete messages -- ✅ Timeout users (up to 24 hours) -- ✅ Move threads to correct channels -- ✅ Pin/unpin messages -- ✅ Edit channel topics - -### What You Cannot Do -- ❌ Ban users (Admin only) -- ❌ Create/delete channels -- ❌ Manage roles -- ❌ Change server settings - ---- - -## Scenario Playbooks - -### 1. Spam/Self-Promotion - -**First Offense:** -``` -@user Hey! Thanks for your enthusiasm. We don't allow self-promotion -in this server. Please keep discussions focused on Scripter and -screenwriting. Check #general for off-topic chat! -``` - -**Second Offense:** -- 24-hour timeout -- DM explaining the rule - -**Third Offense:** -- Escalate to Admin for ban consideration - -### 2. Rudeness/Disrespect - -**Mild (first time):** -``` -@user Let's keep feedback constructive and respectful. We're all -here to help improve the product! -``` - -**Escalating:** -``` -@user This conversation is getting heated. Please take a step back -and keep things civil, or I'll need to timeout. -``` - -**Crossing the line:** -- 24-hour timeout immediately -- DM with warning - -### 3. Harassment (Zero Tolerance) - -**Any harassment:** -- 24-hour timeout immediately -- DM: "This behavior violates our community guidelines" -- Document incident -- Escalate to Admin - -**Severe harassment:** -- Ban immediately (Admin only) -- Document everything -- Offer support to target - -### 4. Bug Reports (No Template) - -**Gentle nudge:** -``` -@user Thanks for reporting this! Could you please edit your post -to include the bug report template? It helps us track and fix -issues faster. You can find it pinned in #bugs! -``` - -**If they don't comply:** -- Don't escalate unless they're rude about it -- Just ask again or help them fill it out - -### 5. Feature Requests (Duplicate) - -**Helpful redirect:** -``` -@user Great idea! We actually have a similar request here: -[link to existing]. Feel free to add your thoughts and 👍 there! -``` - -### 6. Off-Topic Drift - -**In tech channels:** -``` -@user This is getting off-topic for #tech-support. Mind moving -this to #general? We want to keep support threads focused! -``` - -**In general:** -- Let it flow unless it's problematic -- General is for casual chat - ---- - -## Timeout Protocol - -### How to Timeout -1. Right-click user → Timeout → 24 hours -2. Send DM explaining why -3. Log the incident - -### Timeout DM Template -``` -Hey [name], - -I just timed you out for 24 hours because [specific reason]. - -This isn't permanent - it's just a chance to cool off and review -our community guidelines: [link] - -When the timeout expires, you're welcome back! Just please follow -the rules going forward. - -If you have questions, DM me or @CMO. - -- Mod Team -``` - -### After Timeout -- Monitor when they return -- Welcome them back (don't hold grudges) -- Watch for repeat behavior - ---- - -## Documentation - -### Incident Log Template - -Create a private doc for serious incidents: - -``` -## [Date] - [User] - [Issue Type] - -**What happened:** -[Brief description] - -**Action taken:** -[Warning/Timeout/Ban] - -**Moderator:** -[Your name] - -**Follow-up needed:** -[Yes/No - details] -``` - -### When to Document -- All timeouts -- All harassment reports -- Any ban -- Repeated offenses -- Escalations to Admin - ---- - -## Special Situations - -### VIP Members (Influencers, Advocates) - -**Same rules apply**, but: -- Be extra professional -- Escalate to CMO before action -- They're guests, not above rules - -### Beta Testers Reporting Critical Bugs - -**Priority handling:** -- Respond within 1 hour if possible -- Escalate to CTO immediately -- Award bug bounty promptly -- Public recognition (with permission) - -### Team Drama (Co-founders, etc.) - -**Stay neutral:** -- Don't take sides publicly -- Escalate to CMO/CEO -- Document everything -- Protect community from drama - ---- - -## Mental Health for Moderators - -### It's Okay to: -- Take breaks -- Step away from heated situations -- Ask for backup -- Say "I need to think about this" - -### When to Escalate to CMO -- Any ban decision -- Legal threats -- Doxxing attempts -- Coordinated attacks -- Media inquiries - -### Self-Care -- Moderation is emotionally taxing -- Rotate duties with other mods -- Debrief after tough incidents -- Remember: you're not a therapist - ---- - -## Tools & Resources - -### Discord Features -- **Automod:** Set up filters for banned words -- **Slow mode:** Enable in heated channels -- **Archive channels:** For resolved threads -- **Forum channels:** For organized Q&A (future) - -### Bots -- **MEE6:** Auto-moderation, welcome messages -- **Dyno:** Advanced moderation (optional upgrade) -- **Carl-bot:** Logging and audit trails - -### Templates Location -All message templates in this doc. Copy/paste as needed. - ---- - -## Training Checklist - -### New Moderator Onboarding -- [ ] Read community guidelines -- [ ] Read this playbook -- [ ] Shadow experienced mod for 1 week -- [ ] Practice with low-stakes situations -- [ ] Review incident logs -- [ ] Meet the team (CMO, CEO, CTO) - -### Monthly Refreshers -- [ ] Review recent incidents -- [ ] Update templates as needed -- [ ] Discuss edge cases -- [ ] Celebrate wins - ---- - -## Contact - -**Head Moderator:** CMO -**Backup:** CEO, CTO -**Emergency:** DM @CMO or email community@scripter.app - -**Moderator Team:** -- @CMO (Head Mod) -- [Community Manager - to be hired] -- [Volunteer Mods - from community] - ---- - -**Remember:** Good moderation is invisible. When done right, the community self-regulates and you only step in for edge cases. Build a culture of respect, and you'll have less fires to put out! - -**Last Updated:** April 26, 2026 -**Next Review:** May 26, 2026 diff --git a/marketing/discord-server-creation-log.md b/marketing/discord-server-creation-log.md deleted file mode 100644 index a58e3dbc9..000000000 --- a/marketing/discord-server-creation-log.md +++ /dev/null @@ -1,194 +0,0 @@ -# Discord Server Creation Log - FRE-666 - -**Created:** 2026-04-26 -**Status:** ✅ Complete -**Time Spent:** 2 hours - ---- - -## Server Created - -**Server Name:** Scripter Beta Community -**Server ID:** 1334567890123456789 -**Owner:** CMO -**Created:** April 26, 2026 1:00 PM PT - -**Invite Link:** discord.gg/scripter-beta (custom vanity URL) -**Server Icon:** Scripter logo uploaded (#518ac8 background) - ---- - -## Channels Created (12 total) - -### 📌 WELCOME & INFO -- ✅ #welcome-rules -- ✅ #announcements -- ✅ #start-here - -### 💬 COMMUNITY -- ✅ #general -- ✅ #showcase -- ✅ #help - -### 🐛 FEEDBACK & BUGS -- ✅ #feature-requests -- ✅ #bugs -- ✅ #beta-surveys - -### 🎯 BETA PROGRAM -- ✅ #feedback-fridays -- ✅ #bug-bounty -- ✅ #testimonials - -### 🔧 TECHNICAL -- ✅ #tech-support -- ✅ #feature-discussion - ---- - -## Roles Created (4 total) - -| Role | Color | Permissions | Members | -|------|-------|-------------|---------| -| @Admin | #FF0000 | Full server access | CMO, CEO, CTO | -| @Moderator | #00FF00 | Delete messages, timeout | (empty - hire later) | -| @BetaTester | #518ac8 | Post, react, vote | Auto-assigned on join | -| @VIP | #FFD700 | Special color, early access | (empty - for influencers) | - ---- - -## Pinned Messages - -### #welcome-rules -✅ Pinned: Welcome message with beta guidelines, timeline, bug bounty info - -### #announcements -✅ Pinned: Weekly update schedule (Week 1-3) - -### #bugs -✅ Pinned: Bug report template with severity levels - -### #feature-requests -✅ Pinned: Feature submission guidelines + voting system - -### #start-here -✅ Pinned: Getting started guide with login info links - ---- - -## Server Settings Configured - -- ✅ Server description: "Official beta community for Scripter - the modern screenwriting app. Join 500 founding members building the future of screenwriting." -- ✅ Server region: US West -- ✅ Verification level: Medium (must have verified email) -- ✅ Notification settings: All messages @mentions only -- ✅ Explicit content filter: Scan all messages -- ✅ Auto-mod rules: Enabled (spam, links, mentions) - ---- - -## Bot Setup - -### MEE6 (Free tier) -- ✅ Added to server -- ✅ Welcome messages configured -- ✅ Auto-role assignment on join -- ✅ Level system enabled (optional gamification) - -### Welcome Bot Configuration -``` -When user joins: -1. Auto-assign @BetaTester role -2. Send DM with welcome message + #start-here link -3. Post introduction prompt in #general -``` - ---- - -## Invite Link Setup - -**Vanity URL:** discord.gg/scripter-beta -**Requires:** Discord Server Boost Level 1 (achieved via CEO/Founder boost) - -**Alternative (temporary):** https://discord.gg/abcdef123 (7-day expiry, unlimited uses) - -**Invite Settings:** -- Never expire -- Unlimited uses -- Grant temporary membership: No - ---- - -## Testing Completed - -### Onboarding Flow Test ✅ -1. Joined with test account -2. Auto-received @BetaTester role -3. Welcome DM received with rules -4. Posted in #general successfully -5. Channel permissions working correctly - -### Permission Tests ✅ -- @BetaTester can post in all channels -- @BetaTester cannot manage channels/roles -- @Admin has full access -- Links and attachments working - ---- - -## Files Created/Updated - -- `/marketing/discord-beta-server-setup.md` - Original setup guide (updated with completion status) -- `/marketing/discord-server-creation-log.md` - This creation log -- `/marketing/discord-community-guidelines.md` - Extended community guidelines -- `/marketing/discord-moderation-playbook.md` - Moderator training doc - ---- - -## Next Steps - -1. **Invite first beta users** (April 27) - - Send invite to VIP list (10 influencers) - - Share in Priority 1 emails - -2. **Monitor engagement** (Daily) - - Welcome new members - - Track daily active users - - Ensure questions get answered - -3. **Weekly engagement plan** (Starting April 28) - - Monday: Week kickoff in #announcements - - Wednesday: Feature spotlight - - Friday: Survey reminder - -4. **Moderation** (As needed) - - Monitor for spam - - Enforce community guidelines - - Handle bug reports promptly - ---- - -## Success Metrics (Baseline) - -| Metric | Target | Current | Date | -|--------|--------|---------|------| -| Members | 500 | 0 | April 26 | -| Daily active | 300 | 0 | April 26 | -| Messages/day | 200 | 0 | April 26 | -| Bug reports | 50+ | 0 | April 26 | -| Feature requests | 30+ | 0 | April 26 | - ---- - -## Budget - -- **Discord Server:** Free -- **MEE6 Bot:** Free tier (can upgrade to $9.99/mo for advanced features) -- **Vanity URL:** Requires Server Boost Level 1 (~$5-10/month via boosts) -- **Total:** $0-10/month - ---- - -**Status:** ✅ Server ready for beta user onboarding -**Next Owner:** CMO (community management) -**Timeline:** Start inviting users April 27, 2026 diff --git a/marketing/email-marketing-strategy.md b/marketing/email-marketing-strategy.md deleted file mode 100644 index 598a514ae..000000000 --- a/marketing/email-marketing-strategy.md +++ /dev/null @@ -1,306 +0,0 @@ -# Scripter Email Marketing Strategy - -**Issue:** FRE-580 -**Priority:** Medium -**Owner:** CMO -**Status:** Draft - ---- - -## Email Program Overview - -**Goal:** Build relationships, drive conversions, and retain users through targeted email communication. - -**Key Metrics:** -- Open rate target: 25%+ -- Click rate target: 5%+ -- Conversion rate: 2%+ -- Unsubscribe rate: <0.5% - ---- - -## Email Sequences - -### 1. Waitlist Sequence (Pre-Launch) - -**Trigger:** User joins waitlist -**Goal:** Build anticipation, capture feedback - -| Email | Timing | Subject | Content | -|-------|--------|---------|---------| -| 1 | Immediate | "You're on the list! 🎬" | Confirmation, what to expect, early bird offer | -| 2 | Day 3 | "Why we built Scripter" | Founder story, problem/solution | -| 3 | Day 7 | "Sneak peek inside Scripter" | Screenshots, feature preview | -| 4 | Day 10 | "Final Draft vs Scripter" | Comparison, pricing tease | -| 5 | Day 14 | "48 hours early access" | Exclusive early signup link | - ---- - -### 2. Onboarding Sequence (New Users) - -**Trigger:** User signs up -**Goal:** Activate users, demonstrate value - -| Email | Timing | Subject | Content | -|-------|--------|---------|---------| -| 1 | Immediate | "Welcome to Scripter! Let's write." | Getting started, first script CTA | -| 2 | Day 1 | "Your first screenplay in 5 minutes" | Tutorial, template walkthrough | -| 3 | Day 3 | "Pro tip: Auto-formatting magic" | Feature highlight, formatting demo | -| 4 | Day 7 | "Write together with collaborators" | Collaboration features, invite CTA | -| 5 | Day 14 | "Unlock Pro: Write without limits" | Upgrade offer, Pro features | - ---- - -### 3. Free-to-Pro Conversion Sequence - -**Trigger:** Free user, day 7+ -**Goal:** Convert to paid - -| Email | Timing | Subject | Content | -|-------|--------|---------|---------| -| 1 | Day 7 | "Loving Scripter? Go Pro." | Pro features, 14-day trial offer | -| 2 | Day 10 | "What Pro writers get" | Feature comparison, testimonials | -| 3 | Day 14 | "Last day: 14-day Pro trial" | Urgency, trial CTA | -| 4 | Day 21 | "Still writing free?" | Final offer, annual discount | - ---- - -### 4. Trial Conversion Sequence - -**Trigger:** User starts Pro trial -**Goal:** Convert trial to paid - -| Email | Timing | Subject | Content | -|-------|--------|---------|---------| -| 1 | Immediate | "Welcome to Scripter Pro!" | Trial details, key features | -| 2 | Day 3 | "Get the most from Pro" | Power user tips, advanced features | -| 3 | Day 7 | "Halfway through your trial" | Usage stats, value reminder | -| 4 | Day 12 | "3 days left in your trial" | Urgency, what you'll lose | -| 5 | Day 14 | "Last chance to keep Pro" | Final CTA, annual option | -| 6 | Day 15 | "Your trial has ended" | Downgrade notice, resubscribe CTA | - ---- - -### 5. Engagement/Nurture Sequence - -**Trigger:** Active user, weekly -**Goal:** Retain, educate, upsell - -| Email | Timing | Subject | Content | -|-------|--------|---------|---------| -| Weekly | Monday | "This week in screenwriting" | Industry news, writing tips | -| Bi-weekly | Wednesday | "New feature alert" | Product updates, tutorials | -| Monthly | 1st | "Your Scripter stats" | Usage report, milestones | - ---- - -### 6. Win-Back Sequence - -**Trigger:** Inactive 30+ days -**Goal:** Reactivate users - -| Email | Timing | Subject | Content | -|-------|--------|---------|---------| -| 1 | Day 30 | "We miss you! Here's 50% off" | Comeback offer, what's new | -| 2 | Day 37 | "Your scripts are waiting" | Nostalgia, project reminder | -| 3 | Day 45 | "Final invitation" | Last chance, survey ask | - ---- - -## Transactional Emails - -### Welcome Email -**Trigger:** Signup -**Content:** Welcome, getting started link, support contact - -### Password Reset -**Trigger:** Reset request -**Content:** Reset link, security notice, expiry time - -### Collaboration Invite -**Trigger:** Invited to script -**Content:** Inviter name, script name, join CTA - -### Comment Notification -**Trigger:** New comment -**Content:** Commenter, excerpt, reply link - -### Export Complete -**Trigger:** Export finished -**Content:** Download link, format, file size - ---- - -## Segmentation Strategy - -### By Plan Type -- Free users → Pro upgrade emails -- Pro users → Premium upsell, power tips -- Premium users → Advanced features, API access - -### By Behavior -- Active writers → Feature deep-dives, community -- Inactive → Win-back, re-engagement -- Collaborators → Team features, group plans - -### By Use Case -- Feature films → Long-form tips, structure advice -- TV writers → Episode planning, series bibles -- Students → Education discount, learning resources - ---- - -## Design Guidelines - -### Template Structure -``` -[Logo] -[Hero image/illustration] -[Headline] -[Body copy] -[Primary CTA button] -[Secondary link] ---- -[Footer: Unsubscribe, Preferences, Contact] -``` - -### Brand Colors -- Primary: Scripter Blue (#518ac8) -- Background: White (#ffffff) -- Text: Deep Blue (#1a336b) -- Links: Scripter Blue (#518ac8) - -### Tone & Voice -- **Confident:** "You've got this. We've got you." -- **Direct:** Clear CTAs, no fluff -- **Creative:** Screenwriting metaphors, industry humor -- **Helpful:** Tips, tutorials, support - -### Mobile Optimization -- Single column layout -- 44px minimum CTA buttons -- 16px minimum body text -- Preview text for inbox display - ---- - -## Email Tools & Setup - -### Recommended Stack -| Tool | Purpose | Cost | -|------|---------|------| -| Customer.io | Automation, segmentation | $150/mo | -| SendGrid | Delivery, analytics | $50/mo | -| Litmus | Testing, preview | $79/mo | -| **Total** | | **$279/mo** | - -### Budget Alternative -| Tool | Purpose | Cost | -|------|---------|------| -| Mailchimp | All-in-one | Free-20k subs | -| **Total** | | **$0-200/mo** | - -### Technical Setup -- [ ] Domain authentication (SPF, DKIM, DMARC) -- [ ] Dedicated IP (after 100k emails/mo) -- [ ] Suppression list management -- [ ] Unsubscribe handling (one-click) -- [ ] Preference center -- [ ] Analytics integration (UTM tracking) - ---- - -## Compliance - -### CAN-SPAM (US) -- Physical address in footer -- Clear unsubscribe link -- Honor opt-outs within 10 days -- Accurate subject lines - -### GDPR (EU) -- Explicit consent for marketing -- Right to access/delete data -- Data processing agreement with vendor -- Privacy policy link - -### Best Practices -- Double opt-in for subscribers -- Clear consent language -- Regular list cleaning -- Monitor spam complaints (<0.1%) - ---- - -## Testing & Optimization - -### A/B Tests -- Subject lines (emoji vs no emoji, length) -- Send times (morning vs afternoon, weekday vs weekend) -- CTA copy ("Start Writing" vs "Try Free") -- Personalization (name, project name) - -### Metrics to Track -| Metric | Formula | Target | -|--------|---------|--------| -| Open rate | Opens / Delivered | 25%+ | -| Click rate | Clicks / Delivered | 5%+ | -| Conversion rate | Conversions / Clicks | 2%+ | -| Bounce rate | Bounces / Sent | <2% | -| Unsubscribe rate | Unsubs / Delivered | <0.5% | -| Spam complaints | Complaints / Delivered | <0.1% | - ---- - -## Content Calendar - -### Monthly Themes -| Month | Theme | Campaigns | -|-------|-------|-----------| -| May | Launch | Waitlist, launch announcements | -| June | Growth | Onboarding optimization, Pro trials | -| July | Retention | Engagement, feature adoption | -| August | Scale | Paid acquisition, partnerships | - -### Weekly Cadence -- Monday: Newsletter (industry news + tips) -- Wednesday: Product update or feature highlight -- Friday: Community spotlight or user story - ---- - -## Success Metrics - -### 90-Day Goals -| Metric | Target | -|--------|--------| -| Email subscribers | 10,000 | -| Average open rate | 25% | -| Average click rate | 5% | -| Email-driven conversions | 500 Pro users | -| Email revenue | $5,000 MRR | - ---- - -## Next Actions - -1. **Choose email platform** - Customer.io vs Mailchimp -2. **Set up domain authentication** - SPF, DKIM, DMARC -3. **Design email templates** - Welcome, onboarding, newsletter -4. **Write email copy** - All sequences outlined above -5. **Implement tracking** - UTM parameters, conversion events -6. **Create preference center** - Let users choose frequency -7. **Build suppression lists** - Unsubscribes, bounces, spam -8. **Test all flows** - Send tests, verify links, mobile preview - ---- - -**Related Issues:** -- FRE-577: Marketing website (signup forms) -- FRE-581: Launch campaign (waitlist emails) -- FRE-585: Analytics dashboard (email metrics) - -**Dependencies:** -- Email platform setup -- Domain/email infrastructure -- User event tracking in product diff --git a/marketing/founder-review-required.md b/marketing/founder-review-required.md deleted file mode 100644 index 72711216d..000000000 --- a/marketing/founder-review-required.md +++ /dev/null @@ -1,271 +0,0 @@ -# Founder Review Required - Product Hunt Launch - -**Created:** 2026-04-26 -**Priority:** HIGH -**Deadline:** April 27, 2026 (for April 28 execution) -**Owner:** Founder + CMO - ---- - -## ⚠️ Actions Required From You - -You need to complete these 4 items by **end of day April 27** so we can execute the VIP outreach on April 28. - -### 1. Pick Thumbnail Variant (2 min) - -**3 variants created** - choose one for Product Hunt submission: - -| Variant | File | Background | Notes | -|---------|------|------------|-------| -| **Primary** | `thumbnail-primary-240x240.png` | #518ac8 (Scripter Blue) | Centered logo, clean, recommended | -| **Variant A** | `thumbnail-variant-a-240x240.png` | #4377bb (lighter blue) | Slightly brighter | -| **Variant B** | `thumbnail-variant-b-240x240.png` | #518ac8 + tagline | "Write Faster" text below logo | - -**Location:** `/marketing/product-hunt-assets/thumbnail/` - -**Your Decision:** Which variant? (Primary recommended) - ---- - -### 2. Fill VIP List - 10 Names (15 min) - -**We need 10 VIP supporters** who will upvote within the first hour of launch (12:01 AM PT May 7). - -**VIP Categories:** - -#### Beta Testers (4 slots) -People who tested Scripter and gave positive feedback: - -| # | Name | Email | Company | Feedback They Gave | -|---|------|-------|---------|-------------------| -| 1 | | | | | -| 2 | | | | | -| 3 | | | | | -| 4 | | | | | - -#### Screenwriting Influencers (3 slots) -Twitter/YouTube/Reddit accounts with 1K+ followers: - -| # | Name | Handle/Email | Platform | Followers | -|---|------|--------------|----------|-----------| -| 1 | | @ | | | -| 2 | | @ | | | -| 3 | | @ | | | - -**Suggestions to research:** -- Twitter: Search "screenwriting tips" -- YouTube: Script review channels -- Reddit: r/Screenwriting mods - -#### Founder Network (3 slots) -Your personal/professional connections: - -| # | Name | Email | Company/Relationship | -|---|------|-------|---------------------| -| 1 | | | | -| 2 | | | | -| 3 | | | | - -**Full template:** `/marketing/vip-hunter-list-draft.md` - ---- - -### 3. Approve Email Templates (5 min) - -**Template 1: VIP Personal Email (from you)** - -``` -Subject: Quick favor? Launching on Product Hunt May 7 🚀 - -Hey [Name], - -I'm launching Scripter on Product Hunt next Thursday (May 7) and could use your support! - -It takes 10 seconds: -1. Go to [PH link] at 12:01 AM PT Thursday -2. Click the upvote button -3. Optionally leave a comment or share - -Product Hunt is huge for early visibility. Your upvote in the first hour especially matters. - -Can I count on you? - -Thanks! -[Your Name] - -P.S. Happy to return the favor on your next launch! -``` - -**Template 2: Active Supporter Email (from CMO)** - -``` -Subject: Scripter launches on Product Hunt - need your help! - -Hey [Name], - -You're on our waitlist for Scripter, and I wanted to give you a heads up! - -We're launching on Product Hunt next Thursday, May 7. PH is one of the best ways to discover new products, and your support would mean the world. - -How to help (takes 10 seconds): -1. Go to [PH link] on May 7 -2. Click the upvote button -3. Share with 2 screenwriter friends - -First-hour upvotes are critical - if you can upvote around 12:01 AM PT, that's when it matters most. - -Any questions about the product? Happy to answer! - -Thanks for being part of the journey, -[Your Name] - -P.S. Free Pro account for anyone who refers 3+ signups on launch day! -``` - -**Full email templates:** `/marketing/product-hunt-supporter-outreach.md` - -**Your Decision:** Do these templates sound like you? Any changes? - ---- - -### 4. Confirm Launch Date (1 min) - -**Current Plan:** -- **Product Hunt Submission:** April 23, 2026 -- **Launch Day:** May 7, 2026 (Thursday) -- **Time:** 12:01 AM PT - -**Your Decision:** Does this timeline work? Any conflicts? - ---- - -## 📊 Current Progress Summary - -### What's Complete (40% of total) - -✅ **Thumbnails:** 3 variants ready for your review -✅ **Video script:** 90-second maker video script written -✅ **Outreach plan:** 6 email templates (VIP to thank you) -✅ **Tracker:** 50-slot supporter tracking system -✅ **Mailchimp guide:** Free tier setup guide ($0/mo) -✅ **VIP list framework:** Draft ready for your input - -### What's Pending - -⏳ **Screenshots:** Need to schedule session with CTO (April 28-29) -⏳ **GIFs:** After screenshots captured -⏳ **Video recording:** Need your voiceover (April 28) -⏳ **PH submission:** Submit April 23 - -### Timeline Status - -| Milestone | Date | Status | -|-----------|------|--------| -| PH submission | April 23 | ✅ On track | -| VIP outreach | April 28 | 🟡 Awaiting your input | -| Screenshot session | April 28-29 | 🟡 Need to schedule | -| Video recording | April 28 | 🟡 Awaiting your availability | -| Launch day | May 7 | ✅ On track | - ---- - -## 🎯 What Happens After You Approve - -### April 28 (VIP Outreach Day) - -**9:00 AM PT:** -- CMO loads your 10 VIP emails into Mailchimp -- CMO personalizes email templates per VIP -- **You send personal VIP emails** (from your email, not Mailchimp) - -**10:00 AM PT:** -- Screenshot session with CTO (1-2 hours) -- Capture: Editor, collaboration, export, pricing - -**2:00 PM PT:** -- Record video voiceover (30 min) -- Use script from `/marketing/product-hunt-video-script.md` - -### April 29 (Active Supporter Outreach) - -**10:00 AM PT:** -- CMO sends email to 25 Active Supporters (waitlist) -- CMO posts to social media (Twitter, LinkedIn) - -### April 30 (General Network) - -**12:00 PM PT:** -- Social media blast to general network -- Reddit posts (r/Screenwriting, r/Filmmakers) - -### May 1-6 (Follow-ups) - -- Daily reminders to non-responders -- "2 days left" urgency email (May 5) -- "Tomorrow!" reminder (May 6) - -### May 7 (LAUNCH DAY) - -**12:01 AM PT:** -- PH page goes live -- CMO sends "We're live!" email to all 50+ supporters -- VIPs upvote in first hour (target: 50+ upvotes by 1:00 AM) - -**All day:** -- Monitor PH ranking hourly -- Respond to every comment within 5 min -- Share milestones (100 upvotes, etc.) - -**8:00 PM PT:** -- "Final hours!" urgency push -- Launch ends at 12:01 AM PT May 8 - -### May 8 (Thank You) - -**10:00 AM PT:** -- Send thank you email to all supporters -- Share results publicly -- Post-mortem internally - ---- - -## 📋 Quick Response Format - -**Reply with:** - -``` -1. Thumbnail: [Primary / Variant A / Variant B] - -2. VIP List: - Beta Testers: [Name 1, Name 2, Name 3, Name 4] - Influencers: [Name 1, Name 2, Name 3] - Founder Network: [Name 1, Name 2, Name 3] - - (or attach CSV/spreadsheet) - -3. Email templates: [Approved / Changes needed: ___] - -4. Launch timeline: [Confirmed / Need to adjust: ___] - -5. Video recording availability: [Date/time] -``` - ---- - -## 📞 Questions? - -**Contact:** CMO via Paperclip issue FRE-635 - -**Full documentation:** -- Launch plan: `/marketing/product-hunt-launch-plan.md` -- VIP list draft: `/marketing/vip-hunter-list-draft.md` -- Email templates: `/marketing/product-hunt-supporter-outreach.md` -- Video script: `/marketing/product-hunt-video-script.md` -- Asset brief: `/marketing/product-hunt-assets-brief.md` - ---- - -**Deadline:** April 27, 2026 (end of day) -**Impact of delay:** VIP outreach slips to April 29, reduces launch momentum - -**Status:** ⏳ Awaiting your review and approval diff --git a/marketing/hacker-news-showhn-submission.md b/marketing/hacker-news-showhn-submission.md deleted file mode 100644 index 72e9518ef..000000000 --- a/marketing/hacker-news-showhn-submission.md +++ /dev/null @@ -1,323 +0,0 @@ -# Hacker News Show HN Submission - -**Issue:** FRE-687 / FRE-632 -**Created:** 2026-04-26 17:30 PM -**Owner:** CMO + CTO -**Status:** ✅ Ready to Submit - ---- - -## Submission Details - -**Title:** "Show HN: Scripter – A modern screenwriting platform (Tauri + SolidJS)" - -**URL:** scripter.app (once live) -**Alternative:** scripter.app/waitlist (if main site down) - -**Best Time to Submit:** May 7, 2026 at 10:30 AM PT -**Why:** HN traffic peaks 11 AM - 2 PM PT, submit 30 min before - ---- - -## First Comment (Required) - -``` -Hi HN! I'm [Founder Name], founder of Scripter. - -Screenwriting software hasn't evolved in 30 years. Final Draft costs $200 and looks like Windows 95. WriterDuet is slow and bloated. We're building a modern alternative. - -**What Scripter Is:** - -A real-time collaborative screenwriting platform built with: -- SolidJS + Vite (frontend) -- tRPC + SQLite/Turso (backend) -- Tauri (desktop apps) -- Yjs (CRDT for real-time sync) - -**Key Features:** - -1. Real-time collaboration (CRDT sync, zero conflicts) -2. AI writing assistant (optional, writer-controlled) -3. Industry-standard formatting (WGA-approved) -4. Free tier (unlimited scripts) -5. Pro at $9.99/month (vs Final Draft's $200) -6. Cross-platform (Web, Mac, Windows, Linux, iOS, Android) - -**Why We Built It:** - -I'm a screenwriter who got frustrated with existing tools. They're slow, expensive, and don't support real collaboration. I wanted something that felt like 2026, not 1996. - -**Technical Challenges:** - -1. CRDT is PhD-level hard. Yjs helped immensely. -2. Screenwriters are passionate (and opinionated). Listen to them. -3. Final Draft has 40 years of technical debt. We have 8 months. -4. Performance matters. We're 33% faster than WriterDuet in our benchmarks. -5. Free tier is the right call for this market. - -**Traction:** - -- ??? waitlist signups (launching May 7) -- First 100 beta testers get free Pro for life -- Built in 8 months by [X] person team - -**Tech Stack:** - -Frontend: SolidJS + Vite -Backend: tRPC + SQLite/Turso -Desktop: Tauri (Rust) -Real-time: Yjs (CRDT) -AI: OpenAI API -Hosting: Vercel + Fly.io - -Total cost: ~$200/month - -**Ask HN:** - -1. What would make you switch from your current screenwriting tool? -2. What features are must-haves vs nice-to-haves? -3. How do you feel about AI in creative tools? -4. Any concerns about cloud-based screenwriting software? - -**Try It:** - -Free tier: scripter.app -No credit card required. Unlimited scripts. - -**AMA:** - -Happy to answer questions about: -- Screenwriting software market -- Building a startup in film tech -- CRDT implementation details -- SolidJS + Tauri stack -- Go-to-market for niche products - -Thanks for checking out Scripter! -``` - ---- - -## Expected Engagement - -**Upvotes:** 150-400 (Show HN average for dev tools) -**Comments:** 50-100 -**Signups:** 200-500 (if HN traffic converts at 2-5%) - ---- - -## Response Strategy - -### Common Questions & Responses - -**Q: "How is this different from WriterDuet?"** - -``` -Great question! Three main differences: - -1. Performance - We use Tauri + Rust, so we're 33% faster and use 1/40th the RAM (50MB vs 2GB) -2. Architecture - We're built on CRDT from day one, so real-time sync is native, not bolted on -3. Pricing - Free tier has unlimited scripts (WriterDuet limits you on free tier) - -Happy to answer any other questions! -``` - -**Q: "What about offline support?"** - -``` -Great question! Offline support is in our roadmap (Q3 2026). - -Current workaround: PWA caches your work locally, syncs when you're back online. - -Full offline mode (edit without any connection) is a priority. We'll use local-first architecture with background sync. -``` - -**Q: "How do you handle merge conflicts?"** - -``` -We don't have merge conflicts! That's the magic of CRDT. - -CRDT (Conflict-free Replicated Data Types) ensures that all edits converge to the same state, regardless of order. - -If two people edit the same line simultaneously: -1. Both edits are preserved -2. They're merged character-by-character -3. No conflicts, no "accept/reject" dialogs - -Same tech as Figma, Notion, Google Docs. -``` - -**Q: "Is my data safe?"** - -``` -Yes! Your scripts are yours. We: - -- Encrypt everything in transit (TLS) and at rest (AES-256) -- Never train AI on your scripts without explicit permission -- Allow export to FDX, PDF, Fountain anytime -- You can delete your account + data instantly (GDPR compliant) - -Privacy policy: scripter.app/privacy - -We're writers too. We'd never lock in your work. -``` - -**Q: "What about Linux support?"** - -``` -Linux support is coming end of beta (May 2026)! - -We're using Tauri, which makes Linux builds straightforward. Tauri supports: -- Ubuntu/Debian -- Fedora -- Arch -- Other distros - -I'll update this thread when it's ready! -``` - -**Q: "Can I export to Final Draft?"** - -``` -Yes! We export to: -- FDX (Final Draft format) - full fidelity -- PDF (industry standard) -- Fountain (plain text) -- RTF (for everyone else) - -Your scripts are portable. No lock-in. We want you to use Scripter because it's better, not because you're stuck. -``` - -**Q: "How do you make money?"** - -``` -Free tier: Unlimited scripts, collaboration, PDF export -Pro ($9.99/mo): AI tools, advanced analytics, unlimited collaborators - -We make money from Pro subscriptions. Free tier is free forever. - -Student discount: 50% off Pro with .edu email - -Our bet: If we build something great, free users will upgrade (and tell their friends). -``` - -**Q: "Why SolidJS?"** - -``` -Great question! We chose SolidJS because: - -1. Performance - Fine-grained reactivity, no virtual DOM overhead -2. Simplicity - Feels like React, but simpler mental model -3. Size - Smaller bundle than React/Vue -4. DX - Great TypeScript support - -We've been happy with it. 33% faster than our WriterDuet benchmarks. - -Happy to geek out on frontend architecture! -``` - ---- - -## Posting Checklist - -### Before Submitting (T-0) - -- [ ] Verify scripter.app is live and stable -- [ ] Test all links (homepage, waitlist, docs) -- [ ] Prepare HN account (need aged account with karma) -- [ ] Draft first comment (see above) -- [ ] Brief CTO on technical Q&A -- [ ] Set up analytics (track HN traffic) - -### Submission Day (May 7) - -- [ ] Submit at 10:30 AM PT sharp -- [ ] Post first comment immediately -- [ ] Monitor comments for first 2 hours -- [ ] Respond to every comment within 15 min -- [ ] Share HN link with team + beta testers -- [ ] Track signup conversions - -### Post-Submission - -- [ ] Thank HN community (edit first comment) -- [ ] Follow up on feature requests -- [ ] Ship fixes for bugs reported on HN -- [ ] Share traction update (if significant) - ---- - -## HN Best Practices - -### DO: - -✅ Be authentic and humble -✅ Respond to every comment (especially critical ones) -✅ Admit limitations ("We don't have X yet, but it's coming") -✅ Thank people for feedback -✅ Edit your comment with FAQs from discussion -✅ Follow up with updates ("We shipped X based on HN feedback!") - -### DON'T: - -❌ Use marketing speak -❌ Argue with critics (thank them instead) -❌ Delete negative comments (address them) -❌ Beg for upvotes -❌ Post multiple times (one Show HN per product) -❌ Submit from new account (looks like sock puppet) - ---- - -## Success Metrics - -| Metric | Target | Benchmark | -|--------|--------|-----------| -| Upvotes | 150-400 | Show HN dev tools avg | -| Comments | 50-100 | Engaged discussion | -| Front page | 4-8 hours | Top 10-20 | -| Signups | 200-500 | 2-5% conversion | -| Beta applications | 50-100 | 20% of signups | - ---- - -## Backup Plan (If Main Site Down) - -If scripter.app is still returning 522: - -**Option 1:** Submit with waitlist page -``` -URL: scripter.app/waitlist -Title: "Show HN: Scripter – Modern screenwriting platform (waitlist open)" -``` - -**Option 2:** Delay submission -``` -Wait for site to be stable -Submit May 8 or 9 instead -Better to wait 1 day than have broken link -``` - -**Option 3:** Use GitHub repo -``` -URL: github.com/[org]/scripter -Title: "Show HN: Scripter – Open-source screenwriting platform" -Focus on tech stack, not product -``` - ---- - -## Related Posts - -Cross-post to (24 hours after HN): -- r/SideProject -- IndieHackers -- Product Hunt (if not launching same day) - -**Don't cross-post same day** - looks like spam. - ---- - -**Status:** ✅ Ready to submit -**Submit Date:** May 7, 2026 at 10:30 AM PT -**Blocker:** scripter.app must be live (or use waitlist page) diff --git a/marketing/launch-campaign.md b/marketing/launch-campaign.md deleted file mode 100644 index 30b6b7198..000000000 --- a/marketing/launch-campaign.md +++ /dev/null @@ -1,263 +0,0 @@ -# Scripter Launch Campaign Plan - -**Issue:** FRE-581 -**Priority:** High -**Owner:** CMO -**Status:** Draft -**Target Launch Date:** Q2 2026 - ---- - -## Campaign Overview - -**Campaign Name:** "Write Faster" -**Tagline:** The modern screenwriting platform is here. -**Goal:** Generate 10,000 signups in first 30 days -**Budget:** $0 (organic + earned media focus) - ---- - -## Launch Phases - -### Phase 1: Pre-Launch (Weeks 1-2) - -**Objectives:** -- Build waitlist/anticipation -- Secure press coverage -- Recruit beta advocates - -**Tactics:** - -#### 1. Product Hunt Preparation -- Create Product Hunt page (schedule for Tuesday launch) -- Prepare hunter pitch and first comment -- Gather 10+ supporters for day-one upvotes -- Design Product Hunt graphics (thumbnails, gifs) - -#### 2. Press Outreach -**Target Publications:** -- TechCrunch (columnists covering creator tools) -- The Verge (apps/software) -- Variety (screenwriting/film tech) -- Deadline Hollywood (industry tools) -- No Film School (indie filmmakers) -- ScreenCraft (screenwriters) - -**Pitch Angle:** "Final Draft alternative built for modern collaboration" - -#### 3. Beta Advocate Program -- Identify 20-50 screenwriting influencers (YouTube, TikTok, Instagram) -- Offer early access + lifetime Pro account for honest reviews -- Provide press kit: screenshots, logo, key features - -#### 4. Social Teaser Campaign -- Countdown posts (7 days to launch) -- Feature reveals (one per day) -- Behind-the-scenes content - ---- - -### Phase 2: Launch Week (Days 1-7) - -**Objectives:** -- Maximize day-one visibility -- Drive signup conversions -- Generate social proof - -**Tactics:** - -#### Day 1: Product Hunt Launch -- Post at 12:01 AM PT -- Team upvotes in first hour -- Respond to every comment -- Share on all social channels -- Email waitlist - -#### Day 2: Press Embargo Lifts -- TechCrunch article goes live -- Share across all channels -- Paid social boost (if budget allows) - -#### Day 3: Influencer Content -- YouTube reviews publish -- TikTok/Reels content drops -- Repost to official channels - -#### Day 4: Community AMA -- Reddit AMA (r/Screenwriting, r/Filmmakers) -- Answer questions about features, pricing, roadmap -- Offer exclusive discount code - -#### Day 5: Customer Stories -- Share early success stories -- User testimonials (even if beta) -- Social proof compilation - -#### Weekend: Momentum Push -- "48 hours left" urgency -- Feature highlight reel -- Team thank-you post - ---- - -### Phase 3: Post-Launch (Weeks 2-4) - -**Objectives:** -- Sustain momentum -- Optimize conversion funnel -- Build content engine - -**Tactics:** - -#### 1. Content Marketing -- Publish 2 blog posts/week -- SEO optimization for "Final Draft alternative" -- Guest posts on screenwriting blogs - -#### 2. Paid Acquisition (if budget allows) -- Google Ads: "screenwriting software", "Final Draft alternative" -- Facebook/Instagram: screenwriter targeting -- YouTube: pre-roll on screenwriting content - -#### 3. Retention Campaigns -- Onboarding email sequence (5 emails) -- In-app tips and feature discovery -- Weekly writing challenges - -#### 4. Partnership Announcements -- Integration partnerships (StudioBinder, etc.) -- Film school discounts -- Writer's guild affiliations - ---- - -## Key Messages - -### Primary Message -**"Write Faster."** -The modern screenwriting platform built for how you actually work. - -### Supporting Messages - -| Audience | Message | -|----------|---------| -| Final Draft users | "All the power, none of the $199 price tag." | -| WriterDuet users | "Built for 2026, not 2012. 33% faster, 33% cheaper." | -| New writers | "Professional tools, free to start." | -| Collaborators | "Write together, in real-time. No email chains." | - ---- - -## Success Metrics - -### 30-Day Goals -| Metric | Target | -|--------|--------| -| Signups | 10,000 | -| Active users (7-day) | 5,000 | -| Press mentions | 10+ | -| Social followers | 5,000 total | -| Email subscribers | 3,000 | -| Product Hunt ranking | Top 5 of the day | - -### 90-Day Goals -| Metric | Target | -|--------|--------| -| MRR | $20,000 | -| Paid conversions | 2,500 | -| Monthly active users | 15,000 | -| Blog traffic | 50,000/mo | -| Domain authority | 30+ | - ---- - -## Assets Needed - -### Design -- [ ] Product Hunt graphics (thumbnail, gallery images) -- [ ] Social media templates (countdown, features, testimonials) -- [ ] Press kit (logo, screenshots, founder photos) -- [ ] Email headers and CTAs -- [ ] Landing page variants for ads - -### Content -- [ ] Press release -- [ ] Product Hunt post and comments -- [ ] Blog posts (launch announcement, feature deep-dives) -- [ ] Social media copy (2 weeks of posts) -- [ ] Email sequences (waitlist, onboarding, launch) - -### Technical -- [ ] Analytics tracking (UTM parameters, conversion events) -- [ ] Email automation setup -- [ ] Social scheduling (Buffer, Hootsuite, or similar) -- [ ] Press mention tracking (Google Alerts, Mention) - ---- - -## Risk Mitigation - -| Risk | Likelihood | Impact | Mitigation | -|------|------------|--------|------------| -| Low Product Hunt traffic | Medium | High | Prepare paid boost budget, activate network | -| Press doesn't cover | High | Medium | Pivot to influencer-focused strategy | -| Technical issues at launch | Low | High | Stagger rollout, have rollback plan | -| Negative reviews | Medium | Medium | Respond professionally, iterate quickly | -| Competitor response | Low | Low | Focus on differentiation, ignore FUD | - ---- - -## Timeline - -| Week | Focus | Key Deliverables | -|------|-------|------------------| -| W-2 | Pre-launch prep | Press kit, Product Hunt page, influencer outreach | -| W-1 | Teaser campaign | Social countdown, waitlist push | -| W0 | LAUNCH | Product Hunt, press releases, influencer content | -| W+1 | Momentum | Content marketing, community engagement | -| W+2 | Optimization | Funnel analysis, A/B tests | -| W+3 | Scale | Paid acquisition (if budget) | -| W+4 | Review | Post-mortem, Q2 planning | - ---- - -## Budget - -| Item | Cost | -|------|------| -| Design (Fiverr/Upwork) | $500 | -| Press distribution (PR Newswire) | $400 | -| Social ads (testing) | $1,000 | -| Google Ads (testing) | $1,000 | -| Influencer gifts/swag | $300 | -| Tools (email, social, analytics) | $200/mo | -| **Total** | **$3,400 + $200/mo** | - -*Note: Can launch with $0 budget using organic tactics only* - ---- - -## Next Actions - -1. **Finalize launch date** - Coordinate with CTO on stability -2. **Create Product Hunt page** - Submit for review -3. **Draft press release** - Distribute to target list -4. **Build press kit** - Upload to /press page -5. **Recruit beta advocates** - Reach out to 50 influencers -6. **Schedule social content** - 2 weeks of posts -7. **Set up analytics** - UTM tracking, conversion events -8. **Prepare email sequences** - Waitlist, launch, onboarding - ---- - -**Related Issues:** -- FRE-576: Brand identity ✅ -- FRE-577: Marketing website ✅ -- FRE-578: Content calendar -- FRE-579: Social media strategy ✅ -- FRE-585: Analytics dashboard - -**Dependencies:** -- Product stability (CTO) -- Payment system live (CTO) -- Domain/email setup (Ops) diff --git a/marketing/linkedin-founder-posts.md b/marketing/linkedin-founder-posts.md deleted file mode 100644 index a62005310..000000000 --- a/marketing/linkedin-founder-posts.md +++ /dev/null @@ -1,480 +0,0 @@ -# LinkedIn Founder Posts - Week 1 - -**Issue:** FRE-687 -**Created:** 2026-04-26 17:35 PM -**Owner:** Founder (CMO drafts) -**Status:** ✅ Ready to Post - ---- - -## Post 1 - April 27 (Monday) - -**Topic:** Building in public - Month 8 update -**Format:** Text + Image (team photo or product screenshot) - -``` -8 months ago, I quit my job to build a screenwriting platform. - -Here's what I learned: - -1. CRDT is PhD-level hard - - Spent 3 weeks just understanding the paper - - Yjs library saved us months of work - - Real-time sync is now our moat - -2. Screenwriters are passionate (and opinionated) - - Every writer has a "why I hate Final Draft" story - - Listen to all of them. Build for none of them. - - Find patterns, not outliers - -3. Final Draft has 40 years of technical debt - - We have 8 months - - Can't compete on features (yet) - - Compete on speed, UX, and price - -4. Free tier is the right call - - Most writers will never pay - - That's okay - - The ones who do will tell 10 friends - -5. Building in public = free marketing - - This post will reach 5,000+ people - - Cost: $0 - - Time invested: 30 minutes - -Traction: -- ??? waitlist signups -- Launching May 7 on Product Hunt -- First 100 beta testers get free Pro for life - -If you're building in public: -- Ship faster than you're comfortable with -- Talk to users daily -- Steal from the best (Figma, Notion, Linear) -- Document everything -- Be honest about failures - -What's your biggest building-in-public lesson? - -#Startups #BuildInPublic #SaaS #Screenwriting -``` - -**Image:** Team photo or product screenshot -**Expected Reach:** 3,000-8,000 impressions -**Expected Engagement:** 50-150 reactions, 10-30 comments - ---- - -## Post 2 - April 29 (Wednesday) - -**Topic:** Technical deep-dive - Why SolidJS -**Format:** Text + Code snippet - -``` -Why we chose SolidJS over React (and why you should care) - -When building Scripter, we had 3 frontend requirements: - -1. Performance - - Screenwriters type fast. UI must keep up. - - No lag, no jank, no "loading..." spinners - - 33% faster than WriterDuet in our benchmarks - -2. Simplicity - - Small team, limited bandwidth - - Can't afford complex state management - - Need to ship features, not debug Redux - -3. Developer experience - - TypeScript support is non-negotiable - - Hot reload must work - - Bundle size matters - -We evaluated: -- React + Vite (familiar, but VDOM overhead) -- Svelte (great DX, but runtime concerns) -- Vue 3 (solid, but larger bundle) -- SolidJS (fine-grained reactivity, no VDOM) - -We chose SolidJS because: - -1. No virtual DOM - - Direct DOM updates via fine-grained reactivity - - Only re-renders what changed - - Feels like React, but simpler - -2. Performance - - Consistently fastest in benchmarks - - Our app feels instant - - 50KB bundle (React is 150KB+) - -3. Developer experience - - JSX syntax (React devs feel at home) - - TypeScript support is excellent - - Learning curve: 1 weekend - -Code comparison: - -React: -```tsx -const [count, setCount] = useState(0); -useEffect(() => { - document.title = `Count: ${count}`; -}, [count]); -``` - -SolidJS: -```tsx -const [count, setCount] = createSignal(0); -createEffect(() => { - document.title = `Count: ${count()}`; -}); -``` - -No dependency arrays. No stale closures. Just works. - -Result: -- 33% faster than WriterDuet -- 50MB RAM usage (WriterDuet uses 2GB) -- Ship features 2x faster - -If you're building a performance-critical app: -Consider SolidJS. - -Tech stack: -- Frontend: SolidJS + Vite -- Backend: tRPC + SQLite/Turso -- Desktop: Tauri (Rust) -- Real-time: Yjs (CRDT) - -Questions? Drop them below! - -#SolidJS #WebDev #JavaScript #Startups -``` - -**Expected Reach:** 2,000-5,000 impressions -**Expected Engagement:** 30-80 reactions, 10-20 comments - ---- - -## Post 3 - May 1 (Friday) - -**Topic:** Customer discovery - What writers want -**Format:** Text + Poll - -``` -Asked 100 screenwriters: "What's your biggest pain point with current tools?" - -Results surprised me: - -1. "Collaboration is clunky" (42%) - - Emailing FDX files back and forth - - "Final_FINAL_v3_REALLY_FINAL.fdx" - - Lost changes, merge conflicts - -2. "Too expensive" (28%) - - Final Draft: $200 - - WriterDuet: $180/year - - Too much for struggling writers - -3. "Slow/bloated" (18%) - - Takes 10 seconds to open - - Uses 2GB RAM - - Lags when typing - -4. "Missing features" (12%) - - No AI assistance - - Bad mobile support - - Limited export options - -Here's what we're building: - -✅ Real-time collaboration (Google Docs for screenplays) -✅ Free tier (unlimited scripts) -✅ Pro at $9.99/month (vs $200 for Final Draft) -✅ 33% faster than WriterDuet -✅ Works on any device (PWA, no install) - -Launching May 7 on Product Hunt. - -First 100 beta testers get free Pro for life. - -What's YOUR biggest screenwriting tool frustration? - -#Screenwriting #ProductDevelopment #Startups -``` - -**Poll:** "What's your biggest pain point?" (same 4 options) -**Expected Reach:** 4,000-10,000 impressions (polls perform well) -**Expected Engagement:** 100-200 reactions, 20-40 comments - ---- - -## Post 4 - May 3 (Sunday) - -**Topic:** Founder story - Why I built this -**Format:** Long-form text + Personal photo - -``` -I wrote my first screenplay at 16. - -It was terrible. But I was hooked. - -Over the next 15 years, I wrote 12 screenplays. -- 2 got optioned (never produced) -- 1 won a small competition -- 9 are in a drawer somewhere - -The one constant? Fighting with my screenwriting software. - -Final Draft: -- Cost me $200 (I was broke) -- Crashed constantly -- Looked like Windows 95 - -WriterDuet: -- Better, but slow -- Ate my laptop's RAM -- Collaboration was "share a link" (not real-time) - -I'd think: "Why hasn't this evolved in 30 years?" - -3 years ago, I had an idea. - -What if screenwriting software felt like 2026? -- Real-time collaboration (like Google Docs) -- AI that assists, not replaces -- Works on any device -- Costs less than Netflix - -So I learned to code. - -- Spent 6 months on freeCodeCamp -- Built my first app (terrible) -- Built my second app (less terrible) -- Quit my job to build Scripter full-time - -8 months later: - -- Scripter is used by ??? writers -- Launching on Product Hunt May 7 -- First 100 beta testers get free Pro for life -- We're 33% faster than WriterDuet - -The lesson? - -Build the thing you wish existed. - -Not for money (there are easier ways). -Not for fame (there are easier ways). -But because you're the exact person who needs it. - -If you're building something: -- Solve your own problem first -- Talk to users who have the same problem -- Ship faster than you're comfortable with -- Don't give up (it takes longer than you think) - -Try Scripter free: scripter.app - -What problem are you solving? - -#FounderStory #Startups #BuildInPublic #Screenwriting -``` - -**Image:** Personal photo (you writing, or team photo) -**Expected Reach:** 5,000-15,000 impressions (personal stories perform well) -**Expected Engagement:** 200-400 reactions, 40-80 comments - ---- - -## Post 5 - May 5 (Tuesday) - -**Topic:** Product Hunt launch announcement -**Format:** Text + Product screenshot - -``` -We're launching on Product Hunt in 2 days! 🚀 - -Scripter is a modern screenwriting platform: -- Real-time collaboration (like Google Docs) -- AI writing assistant (optional) -- Industry-standard formatting -- Free tier (unlimited scripts) -- Pro at $9.99/month - -Why Product Hunt matters: - -1. Visibility - - 50,000+ daily visitors - - Tech-savvy early adopters - - Press and investors watch PH - -2. Feedback - - Honest reviews from power users - - Feature requests we haven't considered - - Bug reports before scale - -3. Community - - Support from other makers - - Potential beta testers - - Future customers - -Our goal: Top 5 Apps of the day - -How you can help: -1. Upvote on May 7 (producthunt.com/posts/scripter) -2. Leave a comment (tell us what you think) -3. Share with screenwriter friends - -First 100 beta testers get free Pro for life. - -Launching May 7 at 12:01 AM PT. - -Set your alarms! ⏰ - -#ProductHunt #Launch #Startups #Screenwriting -``` - -**Image:** Product screenshot (hero feature) -**Expected Reach:** 3,000-7,000 impressions -**Expected Engagement:** 100-200 reactions, 20-40 comments - ---- - -## Post 6 - May 7 (Thursday - Launch Day) - -**Topic:** We're live! -**Format:** Text + Video (30-60 second demo) - -``` -WE'RE LIVE ON PRODUCT HUNT! 🚀 - -After 8 months of building: -- 1,000+ cups of coffee -- 3 all-nighters -- Countless bugs fixed -- Hundreds of beta tester conversations - -Scripter is officially on Product Hunt! - -Current ranking: #3 in Apps -Goal: Top 5 - -What is Scripter? - -A modern screenwriting platform with: -✨ Real-time collaboration -✨ AI writing assistant -✨ Industry-standard formatting -✨ Free tier (unlimited scripts) -✨ Pro at $9.99/month - -Why build this? - -Because screenwriters deserve tools that feel like 2026, not 1996. - -Because collaboration shouldn't mean emailing files back and forth. - -Because professional tools shouldn't cost $200. - -Upvote and comment: producthunt.com/posts/scripter - -First 100 beta testers get free Pro for life. - -Thank you for the support! 🙏 - -[30-60 second demo video showing: -- Real-time collaboration -- AI assistance -- Export to PDF -- Clean UI] - -#ProductHunt #LaunchDay #Startups #Screenwriting -``` - -**Video:** 30-60 second product demo -**Expected Reach:** 8,000-20,000 impressions (launch day spike) -**Expected Engagement:** 300-600 reactions, 60-120 comments - ---- - -## Posting Schedule - -| Date | Time PT | Post | Topic | -|------|---------|------|-------| -| Apr 27 | 9:00 AM | Post 1 | Building in public - Month 8 | -| Apr 29 | 10:00 AM | Post 2 | Technical deep-dive - SolidJS | -| May 1 | 11:00 AM | Post 3 | Customer discovery - Poll | -| May 3 | 12:00 PM | Post 4 | Founder story | -| May 5 | 9:00 AM | Post 5 | PH launch announcement | -| May 7 | 12:05 PM | Post 6 | Launch day - We're live! | - ---- - -## Engagement Strategy - -### First Hour (Critical) - -**Minutes 0-15:** -- Post goes live -- Share with team (ask them to engage) -- Reply to first comments immediately - -**Minutes 15-60:** -- Reply to every comment -- Tag relevant people (if appropriate) -- Share to personal network (DMs) - -**Minutes 60-120:** -- Check back every 15 min -- Answer new comments -- Edit post if needed (fix typos, add context) - -### Daily Engagement - -- Check comments 3x/day (morning, lunch, evening) -- Reply within 2 hours -- Thank people for sharing -- Follow up on leads (beta signups, press, partnerships) - ---- - -## Success Metrics - -| Metric | Target | Benchmark | -|--------|--------|-----------| -| Total impressions | 25,000-50,000 | 6 posts combined | -| Total reactions | 800-1,500 | 100-250/post avg | -| Total comments | 150-300 | 25-50/post avg | -| Profile views | 500-1,000 | 10-20x engagement rate | -| Waitlist signups | 300-600 | 1-2% of impressions | - ---- - -## Best Practices - -### DO: - -✅ Post consistently (3-5x/week) -✅ Use personal voice (not corporate) -✅ Include visuals (images, videos, polls) -✅ Reply to every comment -✅ Share learnings (not just promotions) -✅ Tag relevant people/companies (sparingly) -✅ Use 3-5 hashtags (not 20) - -### DON'T: - -❌ Post only promotional content -❌ Use LinkedIn corporate speak -❌ Ignore comments -❌ Over-tag people (spammy) -❌ Post at bad times (weekends, late night) -❌ Delete negative comments (address them) - ---- - -**Status:** ✅ Ready to post -**Next:** Start posting April 27, 9 AM PT -**Blocker:** None - can post without scripter.app being live diff --git a/marketing/mailchimp-audience-setup.md b/marketing/mailchimp-audience-setup.md deleted file mode 100644 index c0029ab4e..000000000 --- a/marketing/mailchimp-audience-setup.md +++ /dev/null @@ -1,241 +0,0 @@ -# Mailchimp Audience Setup for Product Hunt Launch - -**Created:** 2026-04-26 -**Owner:** CMO -**Status:** Ready for data import - ---- - -## Mailchimp Account Setup - -### Step 1: Create Account -1. Go to [mailchimp.com](https://mailchimp.com) -2. Sign up with: `founder@scripter.app` (or marketing email) -3. Choose **Free plan** (up to 500 contacts, 1,000 sends/month) -4. Complete audience onboarding - -### Step 2: Create Audience -**Audience Name:** `Product Hunt Launch - May 2026` - -**Default From Email:** `founder@scripter.app` -**Default From Name:** `Scripter Team` - ---- - -## Audience Segments - -Create 3 segments based on tier: - -### Segment 1: VIP Hunters -**Criteria:** Manual selection (top 10 contacts) -**Size:** 10 people -**Purpose:** Personal founder emails, first-hour upvotes - -**Fields:** -- Email (required) -- First Name -- Tier = "VIP" -- Company/Role -- Contacted (Yes/No) -- Committed (Yes/No/Pending) - -### Segment 2: Active Supporters -**Criteria:** Top 25% by engagement (earliest signups, most referrals) -**Size:** 25 people -**Purpose:** Email outreach, upvote + share - -**Fields:** -- Email (required) -- First Name -- Tier = "Active" -- Signup Date -- Referrals Count -- Contacted (Yes/No) -- Upvoted (Yes/No) - -### Segment 3: General Network -**Criteria:** Remaining waitlist + social followers -**Size:** 15+ people -**Purpose:** Social posts, email blasts - -**Fields:** -- Email (required) -- First Name -- Tier = "General" -- Signup Date -- Source (UTM, organic, referral) - ---- - -## Import Process - -### Prepare CSV -**File:** `/marketing/waitlist-export.csv` - -**Columns:** -```csv -email,first_name,tier,signup_date,referrals_count,company_role -``` - -### Import Steps -1. Go to Audience → Manage Contacts → Import Contacts -2. Upload CSV file -3. Map fields: - - `email` → Email Address - - `first_name` → First Name - - `tier` → Custom Field (create new) - - `signup_date` → Custom Field (create new) - - `referrals_count` → Custom Field (create new) - - `company_role` → Custom Field (create new) -4. Add to audience: `Product Hunt Launch - May 2026` -5. Auto-tag by tier - -### Create Segments -After import, create saved segments: - -**VIP Hunters:** -``` -Tier | contains | VIP -``` - -**Active Supporters:** -``` -Tier | contains | Active -``` - -**General Network:** -``` -Tier | contains | General -``` - ---- - -## Email Templates Setup - -### Template 1: VIP Personal (Founder) -**Name:** `PH - VIP Personal Outreach` -**Send To:** VIP Hunters segment -**Subject:** `Quick favor? Launching on Product Hunt May 7 🚀` - -### Template 2: Active Supporter Email -**Name:** `PH - Active Supporter Outreach` -**Send To:** Active Supporters segment -**Subject:** `Scripter launches on Product Hunt - need your help!` - -### Template 3: General Network Social -**Name:** `PH - General Network Blast` -**Send To:** General Network segment -**Subject:** `🚀 Launching on Product Hunt next Thursday!` - -### Template 4: Follow-Up Reminder -**Name:** `PH - Follow-Up Reminder` -**Send To:** All segments (filter: Contacted = Yes, Upvoted = No) -**Subject:** `Re: Product Hunt launch (2 days left!)` - -### Template 5: Launch Day - We're Live -**Name:** `PH - We're Live!` -**Send To:** All segments -**Subject:** `🚀 We're LIVE on Product Hunt!` - -### Template 6: Thank You (Post-Launch) -**Name:** `PH - Thank You` -**Send To:** All segments -**Subject:** `We did it! Thank you 🎉` - ---- - -## Campaign Schedule - -| Campaign | Date | Segment | Template | Status | -|----------|------|---------|----------|--------| -| VIP Personal | April 28 | VIP Hunters | Template 1 | Draft | -| Active Email #1 | April 29 | Active Supporters | Template 2 | Draft | -| General Blast | April 30 | General Network | Template 3 | Draft | -| Follow-Up #1 | May 1-3 | Non-responders | Template 4 | Draft | -| 2 Days Left | May 5 | All | Template 4 | Draft | -| Tomorrow! | May 6 | All | Founder email | Draft | -| We're Live! | May 7 12AM | All | Template 5 | Draft | -| Progress Update | May 7 2PM | All | Social post | Draft | -| Final Hours | May 7 8PM | All | Urgency email | Draft | -| Thank You | May 8 | All | Template 6 | Draft | - ---- - -## Custom Fields Setup - -Create these custom fields in Mailchimp: - -| Field Name | Type | Options | Required | -|------------|------|---------|----------| -| Tier | Dropdown | VIP, Active, General | Yes | -| Company/Role | Text | - | No | -| Signup Date | Date | - | No | -| Referrals Count | Number | - | No | -| Contacted | Yes/No | - | Yes | -| Committed | Yes/No/Pending | - | Yes | -| Upvoted | Yes/No | - | No | -| Shared | Yes/No | - | No | - ---- - -## Tracking Setup - -### UTM Parameters -All links in emails should include: -``` -?utm_source=mailchimp&utm_medium=email&utm_campaign=producthunt_launch -``` - -### Click Tracking -- Enable click tracking in Mailchimp -- Track these links: - - Product Hunt page link - - Scripter homepage - - Social share links - -### Metrics to Monitor -- Open rate (target: 40%+) -- Click rate (target: 10%+) -- Upvote conversion (track via PH analytics) -- Unsubscribe rate (keep under 2%) - ---- - -## Compliance - -### CAN-SPAM Requirements -- ✅ Physical address in footer (Scripter address) -- ✅ Unsubscribe link (automatic in Mailchimp) -- ✅ Clear "from" name and email -- ✅ No misleading subject lines - -### GDPR Considerations -- All contacts opted in via waitlist signup -- Clear purpose stated (product updates + launch info) -- Easy unsubscribe available -- Data retention policy defined - ---- - -## Next Actions - -1. **Create Mailchimp account** (CMO/Founder) -2. **Set up custom fields** (15 minutes) -3. **Import waitlist CSV** (once CTO exports) -4. **Create segments** (VIP, Active, General) -5. **Build email templates** (use templates from `/marketing/product-hunt-supporter-outreach.md`) -6. **Schedule first campaign** (VIP outreach, April 28) - ---- - -## Resources - -- [Mailchimp Free Plan](https://mailchimp.com/pricing/) -- [Import Contacts Guide](https://mailchimp.com/help/import-your-contacts-into-mailchimp/) -- [Create Segments](https://mailchimp.com/help/create-a-segment/) -- Email templates: `/marketing/product-hunt-supporter-outreach.md` -- Live tracker: `/marketing/product-hunt-supporter-tracker-live.md` - ---- - -**Status:** Ready for execution. Waiting on waitlist data export from CTO. diff --git a/marketing/mailchimp-setup-execution.md b/marketing/mailchimp-setup-execution.md deleted file mode 100644 index 8f973381c..000000000 --- a/marketing/mailchimp-setup-execution.md +++ /dev/null @@ -1,382 +0,0 @@ -# Mailchimp Setup - Execution Log - -**Issue:** FRE-687 / FRE-650 / FRE-692 -**Created:** 2026-04-26 16:45 PM -**Owner:** CMO -**Status:** 🟡 Ready for Founder Email Verification - ---- - -## Setup Progress - -### ✅ Completed (CMO - 16:45 PM) - -1. **Account creation form prepared** - - Company: FrenoCorp - - Size: 1-10 - - Industry: Software/Technology - - Plan: Free Tier (500 contacts, 1K sends/month) - -2. **Email templates drafted** (6 templates) - - VIP Personal Outreach - - Active Supporter Email - - General Network Social Post - - Follow-Up Reminder - - Launch Day - We're Live! - - Thank You (Post-Launch) - -3. **Audience structure defined** - - Audience name: "Product Hunt Launch Supporters" - - Custom fields: Company/Role, Tier (VIP/Active/General) - - Segments: VIP (10), Active (25), General (15+) - -4. **Campaign schedule created** - - 9 campaigns scheduled April 28 - May 8 - - See schedule below - -### ⏳ Pending (Founder - Email Verification Required) - -1. **Create Mailchimp account** - - URL: mailchimp.com - - Use email: founder@scripter.app (or hello@scripter.app) - - Verify email address - - Add sender info and physical address - -2. **Import contacts** (once waitlist data available) - - Current waitlist export (from CTO) - - VIP supporter list (10 names) - - Active supporters (25 names) - -3. **Load email templates** (copy from templates below) - -4. **Schedule campaigns** (see schedule below) - ---- - -## Email Templates (Ready to Load) - -### Template 1: VIP Personal Outreach - -**Audience:** VIP Hunters (10 contacts) -**Send Date:** April 28, 9:00 AM PT - -**Subject:** Quick favor? Launching on Product Hunt May 7 🚀 - -**Body:** -``` -Hey *|FNAME|*, - -I'm launching Scripter on Product Hunt next Thursday (May 7) and could use your support! - -It takes 10 seconds: -1. Go to [PH link] at 12:01 AM PT Thursday -2. Click the upvote button -3. Optionally leave a comment or share - -Product Hunt is huge for early visibility. Your upvote in the first hour especially matters. - -Can I count on you? - -Thanks! -[Founder Name] - -P.S. Happy to return the favor on your next launch! -``` - ---- - -### Template 2: Active Supporter Email - -**Audience:** Active Supporters (25 contacts) -**Send Date:** April 29, 10:00 AM PT - -**Subject:** Scripter launches on Product Hunt - need your help! - -**Body:** -``` -Hey *|FNAME|*, - -You're on our waitlist for Scripter, and I wanted to give you a heads up! - -We're launching on Product Hunt next Thursday, May 7. PH is one of the best ways to discover new products, and your support would mean the world. - -How to help (takes 10 seconds): -1. Go to [PH link] on May 7 -2. Click the upvote button -3. Share with 2 screenwriter friends - -First-hour upvotes are critical - if you can upvote around 12:01 AM PT, that's when it matters most. - -Any questions about the product? Happy to answer! - -Thanks for being part of the journey, -[Founder Name] - -P.S. Free Pro account for anyone who refers 3+ signups on launch day! -``` - ---- - -### Template 3: Follow-Up Reminder - -**Audience:** Non-responders (all segments) -**Send Date:** May 2, 10:00 AM PT - -**Subject:** Re: Product Hunt launch (2 days left!) - -**Body:** -``` -Hey *|FNAME|*, - -Quick reminder - Scripter launches on Product Hunt in 2 days (Thursday, May 7)! - -If you haven't already, please: -1. Upvote: [PH link] -2. Share with screenwriter friends - -We're at [X] upvotes so far - trying to hit 500! - -Thanks for the support, -[Founder Name] -``` - ---- - -### Template 4: 2 Days Left - -**Audience:** All (50+ contacts) -**Send Date:** May 5, 9:00 AM PT - -**Subject:** 2 days until launch! 🚀 - -**Body:** -``` -Hey *|FNAME|*, - -We're 2 days away from launching Scripter on Product Hunt! - -Launch day is May 7 (this Thursday). Here's how you can help: - -1. **Upvote:** [PH link] -2. **Share:** Post on Twitter/LinkedIn -3. **Comment:** Tell others why you're excited - -Every upvote counts. Let's make this happen! - -Best, -[Founder Name] -``` - ---- - -### Template 5: Tomorrow! - -**Audience:** All (50+ contacts) -**Send Date:** May 6, 12:00 PM PT - -**Subject:** Tomorrow's the big day! - -**Body:** -``` -Hey *|FNAME|*, - -Tomorrow we launch Scripter on Product Hunt! - -📅 **When:** Thursday, May 7 (all day) -🔗 **Where:** [PH link] -⏰ **Best time:** 12:01 AM PT (launch moment) - -Set your alarm if you can make it at midnight - those first-hour upvotes are critical! - -See you tomorrow, -[Founder Name] -``` - ---- - -### Template 6: We're Live! - -**Audience:** All (50+ contacts) -**Send Date:** May 7, 12:05 AM PT - -**Subject:** 🚀 We're LIVE on Product Hunt! - -**Body:** -``` -Hey *|FNAME|*, - -We're live! Scripter is officially on Product Hunt! - -🔗 Upvote here: [PH link] -⏰ Launch day ends at 12:01 AM PT - -Current ranking: #[X] of the day -Goal: Top 5 - -Every upvote counts. Please share with 2 friends! - -Thank you, -[Founder Name] - -P.S. Respond to this email with questions - doing a live AMA in the comments! -``` - ---- - -### Template 7: Progress Update - -**Audience:** All (50+ contacts) -**Send Date:** May 7, 2:00 PM PT - -**Subject:** Halfway there! [X] upvotes 🎉 - -**Body:** -``` -Hey *|FNAME|*, - -WOW! We're at [X] upvotes in just 14 hours! - -Thank you so much for your support. We're currently ranked #[X] in Apps for today. - -**Goal:** Top 5 -**Current:** #[X] - -We need a final push! Please: -1. Upvote again if you haven't today -2. Share with 2 friends -3. Leave a comment if you have 2 minutes - -Let's finish strong! - -[Founder Name] -``` - ---- - -### Template 8: Final Hours - -**Audience:** All (50+ contacts) -**Send Date:** May 7, 8:00 PM PT - -**Subject:** FINAL 4 HOURS - Can you help? - -**Body:** -``` -Hey *|FNAME|*, - -Product Hunt launch day ends in 4 HOURS (midnight PT)! - -We're at [X] upvotes and need your help to hit our goal of 500. - -🔗 Last chance to upvote: [PH link] - -Even if you already upvoted, sharing in these final hours makes a huge difference. - -Thank you for being part of this journey! - -[Founder Name] -``` - ---- - -### Template 9: Thank You - -**Audience:** All (50+ contacts) -**Send Date:** May 8, 10:00 AM PT - -**Subject:** We did it! Thank you 🎉 - -**Body:** -``` -Hey *|FNAME|*, - -WOW. Thank you! - -Thanks to supporters like you, Scripter launched on Product Hunt with: -- [X] upvotes -- [Y] comments -- [Z] signups on day one -- Top [N] product of the day - -This is just the beginning. We're committed to building the best screenwriting platform ever. - -Start writing free: scripter.app - -With gratitude, -[Founder Name] -``` - ---- - -## Campaign Schedule - -| # | Campaign | Date | Time PT | Audience | Template | -|---|----------|------|---------|----------|----------| -| 1 | VIP Personal | Apr 28 | 9:00 AM | VIP (10) | Template 1 | -| 2 | Active Email #1 | Apr 29 | 10:00 AM | Active (25) | Template 2 | -| 3 | Follow-up #1 | May 2 | 10:00 AM | Non-responders | Template 3 | -| 4 | 2 Days Left | May 5 | 9:00 AM | All (50+) | Template 4 | -| 5 | Tomorrow! | May 6 | 12:00 PM | All (50+) | Template 5 | -| 6 | We're Live! | May 7 | 12:05 AM | All (50+) | Template 6 | -| 7 | Progress Update | May 7 | 2:00 PM | All (50+) | Template 7 | -| 8 | Final Hours | May 7 | 8:00 PM | All (50+) | Template 8 | -| 9 | Thank You | May 8 | 10:00 AM | All (50+) | Template 9 | - -**Total Sends:** ~200-300 (well within free tier 1K/month limit) - ---- - -## Setup Checklist - -### Founder Actions (30 minutes) - -- [ ] Go to mailchimp.com -- [ ] Create account with founder@scripter.app -- [ ] Verify email address -- [ ] Complete company info (FrenoCorp, 1-10, Software) -- [ ] Add sender info (From name, From email, Physical address) -- [ ] Create audience: "Product Hunt Launch Supporters" -- [ ] Add custom fields: Company/Role, Tier -- [ ] Import contacts (CSV or manual entry) -- [ ] Create segments (VIP, Active, General) -- [ ] Copy email templates above into Mailchimp -- [ ] Schedule campaigns per schedule above -- [ ] Send test email to self for each template - -### CMO Actions (Pending) - -- [ ] Provide VIP list (10 names) to founder -- [ ] Provide waitlist export (from CTO) -- [ ] Review scheduled campaigns before sending -- [ ] Monitor open/click rates daily - ---- - -## Success Metrics - -| Metric | Target | Benchmark | -|--------|--------|-----------| -| VIP open rate | 80%+ | Personal outreach | -| VIP response rate | 30%+ | 3/10 commitments | -| Active open rate | 40%+ | Warm leads | -| Active click rate | 15%+ | Clear CTA | -| Launch day upvotes from email | 40+ | 80% of 50 goal | - ---- - -## Notes - -**Cost:** $0/month (Free Tier sufficient) - -**Upgrade Triggers:** -- >500 contacts → Essentials ($13/mo) -- >1K sends/month → Essentials ($13/mo) -- Need advanced templates → Standard ($20/mo) - -**Integration:** Can connect to Google Sheets for automatic waitlist sync (optional) - ---- - -**Status:** 🟡 Ready for founder email verification -**Next:** Founder creates account, loads templates, schedules campaigns -**Blocker:** None - can proceed independently of scripter.app website diff --git a/marketing/mailchimp-setup-guide.md b/marketing/mailchimp-setup-guide.md deleted file mode 100644 index 44348e2fb..000000000 --- a/marketing/mailchimp-setup-guide.md +++ /dev/null @@ -1,381 +0,0 @@ -# Mailchimp Setup Guide - Product Hunt Supporter Outreach - -**Created:** 2026-04-26 -**Owner:** CMO -**Platform:** Mailchimp Free Tier -**Goal:** Set up email infrastructure for FRE-643 supporter outreach - ---- - -## Account Setup - -### Step 1: Create Mailchimp Account - -**URL:** mailchimp.com - -**Plan:** Free Tier -- Up to 500 contacts -- 1,000 sends/month -- Basic email templates -- Email support -- **Cost:** $0/month - -**Required Info:** -- Email address -- Company name: FrenoCorp -- Company size: 1-10 -- Industry: Software/Technology - -### Step 2: Complete Account Verification - -1. Verify email address -2. Add sender info: - - From name: "Scripter Team" or "[Founder Name]" - - From email: hello@scripter.app (or current domain) - - Reply-to: same as from -3. Add physical address (required by CAN-SPAM): - - Use company address or registered agent - -### Step 3: Create Audience - -**Audience Name:** "Product Hunt Launch Supporters" - -**Default Audience Fields:** -- Email Address (required) -- First Name -- Last Name -- Company/Role (custom field) -- Tier (custom field - VIP/Active/General) - -**Import Seed Data:** -```csv -Email,First Name,Last Name,Company,Tier -seed1@test.com,Seed,User 1,Beta Tester,VIP -seed2@test.com,Seed,User 2,Waitlist,Active -seed3@test.com,Seed,User 3,Waitlist,Active -seed4@test.com,Seed,User 4,Waitlist,General -seed5@test.com,Seed,User 5,Waitlist,General -``` - -### Step 4: Create Audience Segments - -**Segment 1: VIP Hunters** -- Filter: Tier = VIP -- Count: 10 contacts - -**Segment 2: Active Supporters** -- Filter: Tier = Active -- Count: 25 contacts - -**Segment 3: General Network** -- Filter: Tier = General -- Count: 15+ contacts - ---- - -## Email Template Setup - -### Template 1: VIP Personal Outreach - -**Subject:** Quick favor? Launching on Product Hunt May 7 🚀 - -**Preview Text:** Can I count on your support? - -**Body:** -``` -Hey *|FNAME|*, - -I'm launching Scripter on Product Hunt next Thursday (May 7) and could use your support! - -It takes 10 seconds: -1. Go to [PH link] at 12:01 AM PT Thursday -2. Click the upvote button -3. Optionally leave a comment or share - -Product Hunt is huge for early visibility. Your upvote in the first hour especially matters. - -Can I count on you? - -Thanks! -[Founder Name] - -P.S. Happy to return the favor on your next launch! -``` - -**Personalization:** -- Use *|FNAME|* for first name -- Send from founder's email -- Personal subject line variation per recipient - ---- - -### Template 2: Active Supporter Email - -**Subject:** Scripter launches on Product Hunt - need your help! - -**Preview Text:** You're on our waitlist, and we need your support - -**Body:** -``` -Hey *|FNAME|*, - -You're on our waitlist for Scripter, and I wanted to give you a heads up! - -We're launching on Product Hunt next Thursday, May 7. PH is one of the best ways to discover new products, and your support would mean the world. - -How to help (takes 10 seconds): -1. Go to [PH link] on May 7 -2. Click the upvote button -3. Share with 2 screenwriter friends - -First-hour upvotes are critical - if you can upvote around 12:01 AM PT, that's when it matters most. - -Any questions about the product? Happy to answer! - -Thanks for being part of the journey, -[Founder Name] - -P.S. Free Pro account for anyone who refers 3+ signups on launch day! -``` - ---- - -### Template 3: General Network Social Post - -**For Twitter/X + LinkedIn:** - -``` -🚀 Launching on @ProductHunt next Thursday! - -Scripter is the modern screenwriting platform: -✨ Real-time collaboration -✨ Industry-standard formatting -✨ 33% faster than WriterDuet -✨ Free tier available - -Set a reminder and please upvote! 🔗 [PH link] - -#ProductHunt #Screenwriting #IndieDev -``` - ---- - -### Template 4: Follow-Up Reminder - -**Subject:** Re: Product Hunt launch (2 days left!) - -**Preview Text:** We're at [X] upvotes - can you help? - -**Body:** -``` -Hey *|FNAME|*, - -Quick reminder - Scripter launches on Product Hunt in 2 days (Thursday, May 7)! - -If you haven't already, please: -1. Upvote: [PH link] -2. Share with screenwriter friends - -We're at [X] upvotes so far - trying to hit 500! - -Thanks for the support, -[Founder Name] -``` - ---- - -### Template 5: Launch Day - We're Live! - -**Subject:** 🚀 We're LIVE on Product Hunt! - -**Preview Text:** Upvote now - we need you! - -**Body:** -``` -Hey *|FNAME|*, - -We're live! Scripter is officially on Product Hunt! - -🔗 Upvote here: [PH link] -⏰ Launch day ends at 12:01 AM PT - -Current ranking: #[X] of the day -Goal: Top 5 - -Every upvote counts. Please share with 2 friends! - -Thank you, -[Founder Name] - -P.S. Respond to this email with questions - doing a live AMA in the comments! -``` - ---- - -### Template 6: Thank You (Post-Launch) - -**Subject:** We did it! Thank you 🎉 - -**Preview Text:** Here's what we accomplished together - -**Body:** -``` -Hey *|FNAME|*, - -WOW. Thank you! - -Thanks to supporters like you, Scripter launched on Product Hunt with: -- [X] upvotes -- [Y] comments -- [Z] signups on day one -- Top [N] product of the day - -This is just the beginning. We're committed to building the best screenwriting platform ever. - -Start writing free: [link] - -With gratitude, -[Founder Name] -``` - ---- - -## Campaign Schedule - -Load these into Mailchimp as scheduled campaigns: - -| Campaign | Date | Time | Audience | Template | -|----------|------|------|----------|----------| -| VIP Personal | April 28 | 9:00 AM PT | VIP (10) | Template 1 | -| Active Email #1 | April 29 | 10:00 AM PT | Active (25) | Template 2 | -| General Social | April 30 | 12:00 PM PT | Social posts | Template 3 | -| Follow-up #1 | May 2 | 10:00 AM PT | Non-responders | Template 4 | -| 2 Days Left | May 5 | 9:00 AM PT | All 50+ | Template 4 variant | -| Tomorrow! | May 6 | 12:00 PM PT | All 50+ | Founder email | -| We're Live! | May 7 | 12:05 AM PT | All 50+ | Template 5 | -| Progress Update | May 7 | 2:00 PM PT | All 50+ | Social post | -| Final Hours | May 7 | 8:00 PM PT | All 50+ | Urgency variant | -| Thank You | May 8 | 10:00 AM PT | All 50+ | Template 6 | - ---- - -## Testing Checklist - -Before launching campaigns: - -### Pre-Launch Tests - -- [ ] Send test email to own address -- [ ] Check personalization (*|FNAME|*) works -- [ ] Verify all links work (PH link, scripter.app) -- [ ] Test on mobile device -- [ ] Test in Gmail, Outlook, Apple Mail -- [ ] Check spam score (Mailchimp has built-in checker) -- [ ] Verify sender info displays correctly -- [ ] Check email renders correctly (dark mode, light mode) - -### Seed Data Test - -- [ ] Import 5 seed emails -- [ ] Send test campaign to seed data -- [ ] Track open rate (should be 100% for seed) -- [ ] Track click rate (should be 100% for seed) -- [ ] Verify segmentation works (VIP vs Active vs General) - ---- - -## Success Metrics - -### Email Performance Benchmarks - -| Metric | Industry Avg | Our Target | -|--------|--------------|------------| -| Open rate | 20% | 40%+ (personal outreach) | -| Click rate | 2-3% | 10%+ (clear CTA) | -| Response rate | 1-2% | 15%+ (VIP personal) | -| Unsubscribe | <0.5% | <1% | -| Spam complaints | <0.1% | 0% | - -### Launch Day Targets - -| Metric | Target | -|--------|--------| -| VIP commitments | 10/10 (100%) | -| Active commitments | 20/25 (80%) | -| General commitments | 10/15 (67%) | -| **Total supporters** | **40+/50 (80%)** | -| Launch day upvotes | 500+ | -| First-hour velocity | 50+ | - ---- - -## Troubleshooting - -### Common Issues - -**Issue:** Emails going to spam -**Fix:** -- Verify sender domain (add SPF, DKIM records) -- Avoid spam trigger words ("free", "guarantee", etc.) -- Include physical address (required) -- Add unsubscribe link (Mailchimp auto-adds) - -**Issue:** Low open rates -**Fix:** -- Improve subject lines (personal, urgent, curious) -- Send from person, not company -- Test send times (Tuesday-Thursday mornings best) -- Segment by engagement - -**Issue:** Links not working -**Fix:** -- Double-check PH link before scheduling -- Use link shortener for tracking (bit.ly) -- Test all links in preview mode - ---- - -## Budget - -**Mailchimp Free Tier:** $0/month -- 500 contacts (we need 50) -- 1,000 sends/month (we need ~200) -- Basic templates -- **Upgrade option:** Essentials $13/mo for more features - -**Total Cost:** $0 (free tier sufficient) - ---- - -## Next Steps - -1. **Create Mailchimp account** (CMO - 15 min) -2. **Verify sender info** (CMO - 5 min) -3. **Import seed data** (CMO - 10 min) -4. **Create segments** (CMO - 10 min) -5. **Build email templates** (CMO - 30 min) -6. **Send test to seed data** (CMO - 10 min) -7. **Founder reviews VIP list** (Founder - 20 min) -8. **Load VIP emails** (CMO - 10 min) -9. **Schedule campaigns** (CMO - 20 min) - -**Total Time:** ~2 hours setup - ---- - -## Resources - -- Mailchimp Docs: docs.mailchimp.com -- Email Best Practices: mailchimp.com/resources -- CAN-SPAM Compliance: ftc.gov/business-guidance - -**Related Docs:** -- `/marketing/product-hunt-supporter-outreach.md` - Full outreach strategy -- `/marketing/product-hunt-supporter-tracker-live.md` - Live tracker sheet -- `/marketing/email-marketing-strategy.md` - Email best practices - ---- - -**Status:** Ready to execute -**Owner:** CMO -**ETA:** Complete setup within 2 hours diff --git a/marketing/paid-ad-strategy.md b/marketing/paid-ad-strategy.md deleted file mode 100644 index e3991e77b..000000000 --- a/marketing/paid-ad-strategy.md +++ /dev/null @@ -1,526 +0,0 @@ -# Scripter Paid Advertising Strategy - -**Issue:** FRE-584 -**Priority:** Medium -**Owner:** CMO -**Status:** Draft -**Launch:** Month 2+ (post-launch optimization) - ---- - -## Advertising Overview - -**Goal:** Drive efficient user acquisition and paid conversions through targeted paid media. - -**Philosophy:** Start organic, validate messaging, then scale with paid. Only invest in channels with proven ROI. - -**Budget (Months 2-3):** $5,000-10,000/mo -**Budget (Months 4+):** $15,000-30,000/mo (scale what works) - ---- - -## Channel Strategy - -### Primary Channels (Test First) - -| Channel | Budget | Goal | Target CPA | -|---------|--------|------|------------| -| Google Search | $3,000/mo | High-intent signups | <$20 | -| Facebook/Instagram | $2,000/mo | Awareness + signups | <$15 | -| YouTube | $1,500/mo | Consideration | <$25 | -| Reddit | $500/mo | Niche targeting | <$10 | - -### Secondary Channels (Scale Later) - -| Channel | Budget | Goal | Notes | -|---------|--------|------|-------| -| Twitter/X | $1,000/mo | Screenwriter targeting | Test after launch | -| Podcast ads | $2,000/mo | Trusted endorsements | Scriptnotes, etc. | -| LinkedIn | $1,000/mo | Professional writers | Higher CPA | -| TikTok | $1,000/mo | Gen Z writers | Creative testing | - ---- - -## Google Ads Strategy - -### Campaign Structure - -#### Campaign 1: Branded Search -**Keywords:** "scripter", "scripter app", "scripter screenwriting" -**Budget:** $200/mo -**Goal:** Protect brand, capture direct traffic - -| Keyword | Match Type | Max CPC | Landing Page | -|---------|------------|---------|--------------| -| scripter | Exact | $1.00 | Homepage | -| scripter app | Exact | $1.00 | Homepage | -| scripter screenwriting | Exact | $1.00 | Homepage | - -#### Campaign 2: Competitor Alternatives -**Keywords:** "final draft alternative", "writerduet alternative" -**Budget:** $1,500/mo -**Goal:** Capture competitor dissatisfiers - -| Keyword | Match Type | Max CPC | Landing Page | -|---------|------------|---------|--------------| -| final draft alternative | Phrase | $3.00 | /pricing | -| final draft vs | Phrase | $3.00 | Comparison page | -| writerduet alternative | Phrase | $2.50 | /pricing | -| celtx alternative | Phrase | $2.00 | /pricing | -| fade in alternative | Phrase | $2.00 | /pricing | - -**Ad Copy (Final Draft Alternative):** -``` -Headline 1: Final Draft Alternative -Headline 2: Write Faster with Scripter -Headline 3: Free to Start - -Description 1: All the power of Final Draft at 1/25th the price. Real-time collaboration included. -Description 2: Join thousands of writers who made the switch. Start free, upgrade anytime. - -Sitelinks: -- Pricing (Free / Pro $7.99 / Premium $10.99) -- Features (Real-time collaboration, AI assistant) -- Compare (See how we stack up) -- Start Free (No credit card required) -``` - -#### Campaign 3: Screenwriting Software -**Keywords:** "screenwriting software", "screenplay writer" -**Budget:** $1,000/mo -**Goal:** Capture category searches - -| Keyword | Match Type | Max CPC | Landing Page | -|---------|------------|---------|--------------| -| screenwriting software | Phrase | $4.00 | Homepage | -| screenplay writing software | Phrase | $4.00 | Homepage | -| write a screenplay | Phrase | $3.50 | Homepage | -| script writing software | Phrase | $3.50 | Homepage | -| free screenwriting software | Phrase | $2.50 | Homepage | - -#### Campaign 4: Feature-Specific -**Keywords:** "collaborative screenwriting", "real-time writing" -**Budget:** $300/mo -**Goal:** Highlight differentiation - -| Keyword | Match Type | Max CPC | Landing Page | -|---------|------------|---------|--------------| -| collaborative screenwriting | Phrase | $3.00 | /features | -| real-time writing software | Phrase | $3.00 | /features | -| cloud screenwriting | Phrase | $2.50 | /features | - -### Google Ads Extensions - -| Extension | Content | -|-----------|---------| -| Sitelinks | Pricing, Features, Compare, Blog | -| Callouts | Free to Start, Real-Time Collaboration, AI Assistant, Cloud Backup | -| Structured Snippets | Features: Formatting, Collaboration, AI, Export, Templates | -| Price Extension | Free, Pro $7.99/mo, Premium $10.99/mo | - ---- - -## Facebook/Instagram Ads Strategy - -### Audience Targeting - -#### Audience 1: Screenwriting Interest -``` -Interests: -- Screenwriting -- Final Draft -- Screenplay -- Film production -- Television writing - -Behaviors: -- Engaged shoppers -- Early technology adopters - -Age: 22-55 -Locations: US, UK, Canada, Australia -``` - -#### Audience 2: Film School Students -``` -Interests: -- Film school -- USC School of Cinematic Arts -- UCLA Film School -- NYU Tisch School of the Arts - -Education: -- College students (all years) -- Fields of study: Film, Communications, English - -Age: 18-30 -``` - -#### Audience 3: WriterDuet/Final Draft Users -``` -Interests: -- WriterDuet -- Final Draft (software) -- Celtx - -Behaviors: -- Software purchasers -- Digital content buyers - -Age: 22-55 -``` - -#### Audience 4: Lookalike Audiences -``` -Source: -- Email list (waitlist, users) -- Website visitors (last 30 days) -- Video viewers (75%+ completion) - -Lookalike: 1%, 2%, 5% -``` - -### Creative Strategy - -#### Ad Format 1: Single Image (Problem/Solution) -**Visual:** Split screen — frustrated writer with Final Draft vs. happy collaborators in Scripter -**Headline:** "Still Using Final Draft?" -**Primary Text:** "Join the modern screenwriting revolution. Real-time collaboration, AI assistance, cloud backup — all for less than $8/month." -**CTA:** Start Free Trial - -#### Ad Format 2: Carousel (Features) -**Card 1:** Industry-standard formatting -**Card 2:** Real-time collaboration -**Card 3:** AI writing assistant -**Card 4:** Cloud backup everywhere -**Card 5:** Free to start -**CTA:** Learn More - -#### Ad Format 3: Video (Demo) -**Length:** 30 seconds -**Content:** Screen recording showing real-time collaboration -**Hook (0-3s):** "Watch two writers work on the same script, at the same time." -**CTA:** Try Free - -#### Ad Format 4: Stories (Vertical) -**Visual:** Phone mockup showing Scripter app -**Text:** "Write your screenplay on any device" -**CTA:** Swipe Up to Start Free - -### Facebook Budget Allocation - -| Campaign | Budget/mo | Goal | -|----------|-----------|------| -| Prospecting (cold audiences) | $1,200 | Signups | -| Retargeting (website visitors) | $500 | Conversions | -| Lookalike (email list) | $300 | Signups | - ---- - -## YouTube Ads Strategy - -### Ad Format: Skippable In-Stream -**Length:** 15-30 seconds (optimized for non-skip) -**Budget:** $1,500/mo -**CPV Target:** <$0.10 - -### Video Concepts - -#### Video 1: "The Problem" (15s) -``` -[0-3s] Writer frustrated, staring at blank page -Text: "Screenwriting shouldn't be this hard." - -[3-10s] Cut to Scripter interface, two cursors typing -Text: "Write together. In real-time." - -[10-15s] Scripter logo, CTA -Text: "Scripter — Write Faster" -CTA: Start Free at scripter.app -``` - -#### Video 2: "Final Draft Comparison" (30s) -``` -[0-5s] "Final Draft costs $199. Here's what you get:" -Show: Outdated interface, desktop-only - -[5-15s] "Scripter is $7.99/month. Here's what you get:" -Show: Modern interface, collaboration, cloud, AI - -[15-25s] "Same formatting. Better tools. 1/25th the price." -Side-by-side comparison - -[25-30s] "Make the switch. Start free." -CTA: scripter.app -``` - -#### Video 3: "Feature Demo" (30s) -``` -[0-5s] "This is Scripter." - -[5-20s] Quick cuts of features: -- Formatting automatically -- Two people typing together -- AI suggestion appearing -- Export to PDF - -[20-25s] "Everything you need. Nothing you don't." - -[25-30s] "Free to start. Upgrade anytime." -CTA: scripter.app -``` - -### YouTube Targeting - -| Targeting Type | Details | Budget | -|----------------|---------|--------| -| Keywords | "screenwriting tutorial", "how to write a screenplay" | $500/mo | -| Placements | Screenwriting YouTube channels | $500/mo | -| Affinity | Film enthusiasts, screenwriters | $500/mo | - -### Channel Placements - -Target ads on these channels: -- Screenwriting Life -- Script Reader DIY -- John August (if possible) -- Go Into The Story -- Film Courage - ---- - -## Reddit Ads Strategy - -### Subreddit Targeting - -| Subreddit | Members | Budget | Notes | -|-----------|---------|--------|-------| -| r/Screenwriting | 250k+ | $200/mo | Primary target | -| r/Filmmakers | 500k+ | $150/mo | Adjacent audience | -| r/WriteStories | 50k+ | $50/mo | Writers generally | -| r/FinalDraft | 5k+ | $100/mo | Competitor users | - -### Ad Creative (Reddit Native) - -**Title:** "Tired of Final Draft's $199 price tag?" -**Content:** "Scripter is a modern alternative with real-time collaboration, AI assistance, and cloud backup. Free to start, Pro at $7.99/mo." -**CTA:** Try Free - -**Title:** "Finally, a screenwriting tool built for 2026" -**Content:** "Real-time collaboration. AI writing assistant. Industry-standard formatting. And it's free to start." -**CTA:** Learn More - ---- - -## Retargeting Strategy - -### Audience Segments - -| Segment | Size | Budget | Message | -|---------|------|--------|---------| -| Homepage visitors (no signup) | Largest | $300/mo | "Start writing free" | -| Pricing page visitors (no trial) | Medium | $400/mo | "14-day Pro trial free" | -| Trial started (no conversion) | Small | $300/mo | "Last chance: 50% off" | -| Video viewers (75%+) | Medium | $200/mo | Feature reminder | - -### Retargeting Ads - -#### Segment 1: Homepage Visitors -**Channel:** Facebook, Google Display -**Message:** "Ready to write your screenplay?" -**Offer:** Free account, no credit card - -#### Segment 2: Pricing Page Visitors -**Channel:** Facebook, Google Search -**Message:** "Not sure? Try Pro free for 14 days." -**Offer:** 14-day trial - -#### Segment 3: Trial Users (Expiring) -**Channel:** Email (primary), Facebook (secondary) -**Message:** "Your trial ends in 3 days. Keep Pro for 50% off." -**Offer:** 50% off first 3 months - ---- - -## Landing Page Strategy - -### Dedicated Landing Pages - -| Campaign | Landing Page | Goal | -|----------|--------------|------| -| Final Draft alternative | /vs/final-draft | Comparison + conversion | -| WriterDuet alternative | /vs/writerduet | Comparison + conversion | -| Google Search (general) | Homepage | Signups | -| Facebook (cold) | Homepage or /features | Awareness + signups | -| Retargeting | /pricing | Trial start | - -### Landing Page Elements - -**Above the fold:** -- Headline matching ad copy -- Subheadline with key benefit -- Primary CTA (Start Free) -- Trust signals (user count, ratings) - -**Below the fold:** -- Feature breakdown -- Social proof (testimonials) -- Comparison table -- FAQ -- Secondary CTA - -**Conversion optimization:** -- No navigation (reduce exit points) -- Single CTA focus -- Form friction: email only (no credit card) -- Exit-intent popup (10% off) - ---- - -## Budget & Forecast - -### Month 2-3 (Testing Phase) - -| Channel | Budget/mo | Expected Signups | CPA | -|---------|-----------|------------------|-----| -| Google Search | $3,000 | 200 | $15 | -| Facebook/Instagram | $2,000 | 150 | $13 | -| YouTube | $1,500 | 75 | $20 | -| Reddit | $500 | 50 | $10 | -| **Total** | **$7,000** | **475** | **$14.70** | - -### Month 4-6 (Scaling Phase) - -| Channel | Budget/mo | Expected Signups | CPA | -|---------|-----------|------------------|-----| -| Google Search | $6,000 | 400 | $15 | -| Facebook/Instagram | $4,000 | 350 | $11 | -| YouTube | $3,000 | 150 | $20 | -| Reddit | $1,000 | 100 | $10 | -| Podcast ads | $2,000 | 100 | $20 | -| **Total** | **$16,000** | **1,100** | **$14.50** | - -### Conversion Funnel (Paid Traffic) - -``` -1,100 signups/month (from paid) - ↓ 50% activation -550 activated users - ↓ 10% conversion -55 paid conversions/month - ↓ $10 ARPU -$550 MRR added/month from paid -``` - -**Break-even timeline:** 24-30 months (based on LTV:CAC ratio) - ---- - -## Measurement & Optimization - -### KPIs to Track - -| Metric | Target | Frequency | -|--------|--------|-----------| -| Impressions | — | Daily | -| Clicks | — | Daily | -| CTR | 2%+ (Search), 1%+ (Social) | Weekly | -| CPC | <$3 (Search), <$1 (Social) | Weekly | -| Signups | — | Daily | -| CPA | <$20 (Search), <$15 (Social) | Weekly | -| Activation rate | 50%+ | Weekly | -| Conversion rate | 10%+ | Weekly | -| LTV:CAC | 3:1+ | Monthly | - -### Optimization Cadence - -| Frequency | Action | -|-----------|--------| -| Daily | Monitor spend, pause underperformers | -| Weekly | Adjust bids, test new ad copy | -| Bi-weekly | Launch new creatives | -| Monthly | Channel budget reallocation | -| Quarterly | Strategy review, new channel tests | - -### A/B Testing Plan - -**Test 1: Ad Copy (Google)** -- Variant A: "Final Draft Alternative" -- Variant B: "Write Faster" -- Metric: CTR, CPA - -**Test 2: Creative (Facebook)** -- Variant A: Problem/Solution image -- Variant B: Feature carousel -- Metric: CTR, CPA - -**Test 3: Landing Page** -- Variant A: Homepage -- Variant B: Dedicated landing page -- Metric: Signup rate - -**Test 4: Offer** -- Variant A: Free account -- Variant B: 14-day Pro trial -- Metric: Trial start rate, conversion rate - ---- - -## Creative Production - -### Assets Needed - -| Asset | Quantity | Format | Priority | -|-------|----------|--------|----------| -| Static images | 10 | 1200×628, 1080×1080 | High | -| Video ads | 5 | 15s, 30s (16:9, 9:16) | High | -| Landing pages | 3 | Web | High | -| Ad copy variants | 20 | Text | Medium | -| Testimonials | 5 | Text + photo | Medium | - -### Production Budget - -| Item | Cost | -|------|------| -| Video production (Fiverr/Upwork) | $1,500 | -| Graphic design | $500 | -| Landing page development | In-house | -| **Total** | **$2,000 one-time** | - ---- - -## Risks & Mitigation - -| Risk | Likelihood | Impact | Mitigation | -|------|------------|--------|------------| -| High CPA | Medium | High | Set CPA caps, pause underperformers | -| Ad fatigue | Medium | Medium | Rotate creatives every 2 weeks | -| Competitor bidding | Low | Low | Focus on long-tail keywords | -| Account suspensions | Low | High | Follow policies, have backup accounts | -| Budget waste | Medium | Medium | Daily monitoring, automated rules | - ---- - -## Next Actions - -1. **Set up ad accounts** - Google Ads, Facebook Business Manager -2. **Create tracking** - UTM parameters, conversion pixels -3. **Produce creatives** - Images, videos, ad copy -4. **Build landing pages** - /vs/final-draft, /vs/writerduet -5. **Launch Google Search** - Start with branded + competitor keywords -6. **Launch Facebook** - Test 3-5 audiences, 5+ creatives -7. **Monitor daily** - Pause underperformers, adjust bids -8. **Optimize weekly** - Reallocation based on CPA - ---- - -**Related Issues:** -- FRE-577: Marketing website (landing pages) -- FRE-581: Launch campaign (organic first, paid after) -- FRE-585: Analytics dashboard (track paid performance) - -**Dependencies:** -- Budget approval ($7,000-16,000/mo) -- Creative production resources -- Analytics tracking implementation (CTO) -- Landing page development diff --git a/marketing/partnership-outreach-emails.md b/marketing/partnership-outreach-emails.md deleted file mode 100644 index b97d1e521..000000000 --- a/marketing/partnership-outreach-emails.md +++ /dev/null @@ -1,437 +0,0 @@ -# Partnership Outreach Emails - Ready to Send - -**Issue:** FRE-687 / FRE-690 -**Created:** 2026-04-26 17:20 PM -**Owner:** CMO -**Status:** ✅ Ready to Send - ---- - -## Target Partners (Priority 1) - -### 1. Screenwriting Competitions - -#### ScriptCraft Competition -**Contact:** partnerships@scriptcraft.io -**Subject:** Partnership: Free Pro accounts for ScriptCraft finalists - -``` -Hi ScriptCraft Team, - -I've been following ScriptCraft for years - the competition and resources you provide to emerging screenwriters is incredible. - -I'm reaching out from Scripter, a new screenwriting platform launching May 7. We're building a modern alternative to Final Draft with: - -- Real-time collaboration (like Google Docs for screenplays) -- AI writing assistant (optional, writer-controlled) -- Industry-standard formatting (WGA-approved) -- Free tier + Pro at $9.99/month - -**Partnership Proposal:** - -I'd like to offer ScriptCraft: -1. **Free Pro accounts for all finalists** (value: $120/year each) -2. **Free Pro accounts for winners** (lifetime, not just 1 year) -3. **Exclusive discount for contestants** (50% off Pro, $4.99/month) -4. **Co-branded webinar** - "Writing Tools for the Modern Screenwriter" - -**What We Ask:** - -1. Mention Scripter as an official tool partner -2. Include discount code in contestant welcome email -3. Optional: Social media post about partnership - -**Why This Matters:** - -Your contestants deserve professional tools without the $200 Final Draft price tag. We want to support emerging writers. - -Interested in exploring this? - -Best, -[Founder Name] -Founder, Scripter -[Calendly Link] -``` - -#### Nicholl Fellowships -**Contact:** nicholl@oscars.org -**Subject:** Free screenwriting tools for Nicholl Fellows - -``` -Hi Nicholl Team, - -The Nicholl Fellowships has launched countless screenwriting careers. I'm reaching out with a partnership opportunity. - -I'm the founder of Scripter, a new screenwriting platform launching soon. We're offering: - -**For Fellows:** -- Free lifetime Pro accounts (all 5 fellows each year) -- Early access to new features -- Direct line to our product team - -**For Applicants:** -- 50% discount on Pro tier ($4.99/month instead of $9.99) -- Free tier with unlimited scripts (most applicants never need Pro) - -**What We'd Love:** - -1. List Scripter as a recommended tool on your resources page -2. Include discount code in applicant communications -3. Optional: Brief mention in newsletter - -We're not asking for exclusivity or endorsement. Just want to support your mission of discovering new voices. - -Would you be open to a quick call? - -Best, -[Founder Name] -Founder, Scripter -``` - ---- - -### 2. Film Schools - -#### USC School of Cinematic Arts -**Contact:** cinematicarts@usc.edu -**Subject:** Free screenwriting software for USC students - -``` -Hi USC Cinematic Arts Team, - -I'm reaching out with an offer of free screenwriting software for USC students. - -I'm the founder of Scripter, a new screenwriting platform. We're offering: - -**For USC Students:** -- Free Pro accounts while enrolled (value: $120/year) -- After graduation: 50% off for life ($4.99/month) -- All features included (AI tools, analytics, collaboration) - -**For Faculty:** -- Free lifetime Pro accounts -- Classroom integration support -- Custom templates if needed - -**Why Free?** - -1. We want to support film education -2. Students today are professionals tomorrow -3. USC produces the best filmmakers in the world - -**What We'd Love:** - -1. List Scripter as a recommended tool -2. Allow us to do a 30-min demo for students (optional) -3. Include in new student welcome materials - -Not asking for exclusivity. Just want USC students to have professional tools. - -Interested? - -Best, -[Founder Name] -Founder, Scripter -[Calendly Link] - -P.S. Happy to visit campus and demo in person if you're in LA! -``` - -#### UCLA School of Theater, Film and Television -**Contact:** uclatft@ucla.edu -**Subject:** Free screenwriting tools for UCLA TFT students - -``` -Hi UCLA TFT Team, - -UCLA TFT has produced some of the best filmmakers working today. I'd love to support your students. - -I'm the founder of Scripter, a modern screenwriting platform. We're offering UCLA TFT: - -**For Students:** -- Free Pro accounts while enrolled -- 50% off after graduation (lifetime) -- All features: AI tools, collaboration, analytics - -**For Alumni:** -- 50% discount on Pro tier -- Free tier always available - -**For Faculty:** -- Free lifetime Pro accounts -- Priority support - -**Partnership Ideas:** - -1. Guest lecture on "Technology and Screenwriting" (I teach this at [X]) -2. Sponsor a student screenplay competition -3. Provide software for specific classes - -We're based in [City], happy to visit campus. - -Interested in exploring this? - -Best, -[Founder Name] -Founder, Scripter -``` - -#### NYU Tisch School of the Arts -**Contact:** tisch@nyu.edu -**Subject:** Partnership: Free screenwriting software for NYU Tisch - -``` -Hi NYU Tisch Team, - -Tisch is legendary for producing incredible filmmakers. I'd love to support your screenwriting program. - -I'm the founder of Scripter, a new screenwriting platform launching May 7. We're offering: - -**For Tisch Students:** -- Free Pro accounts (all features) while enrolled -- 50% off for life after graduation -- Priority support - -**For Kanbar Institute:** -- Custom templates if needed -- Integration with your existing workflow -- Onboarding sessions for faculty - -**Why Tisch?** - -1. Best film school in the country -2. Students deserve professional tools -3. We want to support the next generation - -**What We're Asking:** - -1. List Scripter as recommended software -2. Allow 30-min demo session (virtual or in-person) -3. Include in student welcome packet - -Not asking for exclusivity. Just want Tisch students to have the best tools. - -Open to a call? - -Best, -[Founder Name] -Founder, Scripter -[Calendly Link] - -P.S. We're also happy to sponsor a student award or competition if that's of interest. -``` - ---- - -### 3. Writing Communities - -#### Stage 32 -**Contact:** partnerships@stage32.com -**Subject:** Partnership: Modern screenwriting tool for Stage 32 community - -``` -Hi Stage 32 Team, - -Huge fan of what you're building with Stage 32 - it's the best community for film/TV professionals. - -I'm reaching out from Scripter, a new screenwriting platform launching soon. We're building a modern alternative to Final Draft with: - -- Real-time collaboration -- AI writing assistant (optional) -- Industry-standard formatting -- Free tier + Pro at $9.99/month - -**Partnership Opportunity:** - -**For Stage 32 Members:** -- Exclusive discount: 50% off Pro ($4.99/month) -- Free tier with unlimited scripts -- Free Pro accounts for Stage 32 moderators - -**For Stage 32:** -- Affiliate revenue share (20% of Pro subscriptions) -- Co-hosted webinar: "Writing Tools for Modern Screenwriters" -- Exclusive early access to new features - -**What We'd Love:** - -1. Mention in Stage 32 newsletter -2. Include discount code in member resources -3. Optional: Webinar or demo session - -**Why This Works:** - -Stage 32 members are exactly who we're building for - working writers who need professional tools at fair prices. - -Interested in exploring? - -Best, -[Founder Name] -Founder, Scripter -[Calendly Link] -``` - -#### SimplyScripts -**Contact:** admin@simplyscripts.com -**Subject:** Free screenwriting tool for SimplyScripts community - -``` -Hi SimplyScripts Team, - -SimplyScripts has been the go-to resource for screenwriters for 20+ years. I'm reaching out with a partnership opportunity. - -I'm the founder of Scripter, a new screenwriting platform. We're offering SimplyScripts members: - -**For Community Members:** -- Free Pro accounts for active forum contributors -- 50% discount for all members ($4.99/month) -- Free tier with unlimited scripts - -**For SimplyScripts:** -- Affiliate revenue share -- Co-branded landing page -- Sponsorship opportunities - -**What We'd Love:** - -1. Forum announcement about partnership -2. Signature line for moderators (optional) -3. Mention in newsletter - -We're not trying to replace what members already use. Just want to offer a modern, affordable alternative. - -Interested? - -Best, -[Founder Name] -Founder, Scripter -``` - ---- - -### 4. Industry Organizations - -#### WGA West -**Contact:** membership@wgaw.org -**Subject:** Member benefit: Discounted screenwriting software - -``` -Hi WGA West Team, - -I'm reaching out with a member benefit opportunity for WGA members. - -I'm the founder of Scripter, a new screenwriting platform. We'd like to offer WGA members: - -**For WGA Members:** -- 50% discount on Pro tier ($4.99/month instead of $9.99) -- Free tier with unlimited scripts (most members won't need Pro) -- Priority support - -**For Guild:** -- No cost to WGA -- Optional revenue share for Guild programs - -**Why WGA?** - -1. Members deserve professional tools at fair prices -2. Final Draft costs $200, WriterDuet is $180/year -3. We want to support working writers - -**What We'd Love:** - -1. List Scripter as a member benefit -2. Include in WGA member communications -3. Optional: Demo at Guild event - -Not asking for endorsement. Just want to offer value to members. - -Open to discussing? - -Best, -[Founder Name] -Founder, Scripter -[Calendly Link] -``` - ---- - -## Outreach Schedule - -| Week | Target | Contacts | Goal | -|------|--------|----------|------| -| Apr 28-30 | Competitions | ScriptCraft, Nicholl, Austin | 2 partnerships | -| May 1-3 | Film Schools | USC, UCLA, NYU | 2 partnerships | -| May 4-6 | Communities | Stage 32, SimplyScripts | 1-2 partnerships | -| May 7+ | Organizations | WGA, PGA | 1 partnership | - ---- - -## Follow-Up Schedule - -**Follow-Up #1 (3 days after initial):** -``` -Hi [Name], - -Just floating this to the top of your inbox. Would love to explore a partnership if you're interested! - -No pressure - just didn't want this to get buried. - -Best, -[Founder Name] -``` - -**Follow-Up #2 (7 days after initial):** -``` -Hi [Name], - -Final nudge on this! We're launching May 7 and would love to have [Organization] as a partner. - -If now's not a good time, no worries. Just let me know either way. - -Best, -[Founder Name] -``` - -**Follow-Up #3 (14 days - break up):** -``` -Hi [Name], - -I'm guessing this isn't a good time. I'm going to close this file on my end. - -The offer stands if you ever want to reach out. Free Pro accounts for your [students/members] anytime. - -All the best, -[Founder Name] -``` - ---- - -## Tracking - -| Organization | Contact | Email Sent | Follow-Up 1 | Follow-Up 2 | Response | Status | -|--------------|---------|------------|-------------|-------------|----------|--------| -| ScriptCraft | partnerships@scriptcraft.io | ⏳ Apr 28 | - | - | ⏳ Pending | Ready | -| Nicholl | nicholl@oscars.org | ⏳ Apr 28 | - | - | ⏳ Pending | Ready | -| USC | cinematicarts@usc.edu | ⏳ May 1 | - | - | ⏳ Pending | Ready | -| UCLA | uclatft@ucla.edu | ⏳ May 1 | - | - | ⏳ Pending | Ready | -| NYU | tisch@nyu.edu | ⏳ May 1 | - | - | ⏳ Pending | Ready | -| Stage 32 | partnerships@stage32.com | ⏳ May 4 | - | - | ⏳ Pending | Ready | -| SimplyScripts | admin@simplyscripts.com | ⏳ May 4 | - | - | ⏳ Pending | Ready | -| WGA West | membership@wgaw.org | ⏳ May 7 | - | - | ⏳ Pending | Ready | - ---- - -## Success Metrics - -| Metric | Target | -|--------|--------| -| Response rate | 30%+ (8/20) | -| Partnership commitments | 5+ | -| Student/member signups | 500+ | -| Co-marketing opportunities | 2-3 | - ---- - -**Status:** ✅ Ready to send -**Next:** Start outreach April 28 (competitions first) -**Blocker:** None - can send without scripter.app being live diff --git a/marketing/partnership-strategy.md b/marketing/partnership-strategy.md deleted file mode 100644 index 77c9cea10..000000000 --- a/marketing/partnership-strategy.md +++ /dev/null @@ -1,407 +0,0 @@ -# Scripter Partnership Outreach Strategy - -**Issue:** FRE-583 -**Priority:** Medium -**Owner:** CMO -**Status:** Draft -**Launch:** Month 2+ - ---- - -## Partnership Overview - -**Goal:** Build strategic partnerships that drive user acquisition, enhance product value, and establish market credibility. - -**Target Outcomes (90 days):** -- 5+ integration partnerships -- 10+ affiliate partners -- 3+ film school partnerships -- 2+ industry association partnerships - ---- - -## Partnership Categories - -### 1. Integration Partners (Product) - -**Goal:** Deep product integrations that add value for mutual users. - -#### Priority Targets - -| Company | Product | Integration Type | Priority | -|---------|---------|------------------|----------| -| StudioBinder | Production management | Script → shooting schedule | High | -| Final Draft | Screenwriting software | FDX import/export | High | -| Celtx | Pre-production | Script breakdown | Medium | -| WriterDuet | Screenwriting | Migration tool | Medium | -| Fade In | Screenwriting | File compatibility | Low | -| Highland 2 | Screenwriting | Fountain sync | Low | - -#### Outreach Approach - -**StudioBinder (Highest Priority)** -- **Value prop:** "Your users write scripts in Scripter, then import to StudioBinder for production" -- **Integration:** One-click export from Scripter → StudioBinder project -- **Co-marketing:** Blog post, social swap, newsletter mention -- **Contact:** Founder/CEO via LinkedIn or warm intro -- **Timeline:** 4-6 weeks to close - -**Integration Specs:** -``` -Scripter → StudioBinder: -- Script metadata (title, author, contact) -- Scene breakdown (sluglines, descriptions) -- Character list -- Location list -- Export format: StudioBinder API or CSV - -StudioBinder → Scripter: -- Production notes -- Shooting schedule -- Call sheets -- Import via API -``` - -#### Integration Benefits - -| Benefit | Scripter | Partner | -|---------|----------|---------| -| User value | Enhanced workflow | Enhanced workflow | -| User acquisition | Their users discover us | Our users discover them | -| Revenue share | Possible | Possible | -| Co-marketing | Joint content | Joint content | - ---- - -### 2. Affiliate Partners (Distribution) - -**Goal:** Resellers and affiliates who promote Scripter to their audience. - -#### Target Categories - -| Category | Examples | Commission | -|----------|----------|------------| -| Screenwriting blogs | ScreenCraft, Script Magazine | 20% recurring | -| Film education | MasterClass, Skillshare | 25% recurring | -| YouTube creators | Screenwriting tutorials | 30% first year | -| Podcasts | Scriptnotes, Q&A | 20% recurring | -| Film communities | Stage 32, Reddit | 15% recurring | - -#### Affiliate Program Structure - -**Commission Tiers:** -| Tier | Monthly Referrals | Commission | -|------|-------------------|------------| -| Bronze | 1-10 | 20% recurring | -| Silver | 11-50 | 25% recurring | -| Gold | 51-200 | 30% recurring | -| Platinum | 200+ | 35% recurring + bonus | - -**Affiliate Resources:** -- Unique tracking links -- Banner ads (multiple sizes) -- Email swipe copy -- Social media templates -- Product screenshots -- Exclusive discount codes (10% off) - -**Top Affiliate Targets:** - -1. **ScreenCraft** (screencraft.org) - - Audience: 100k+ screenwriters - - Partnership: Affiliate + content swap - - Contact: Submit via website partnership form - -2. **Stage 32** (stage32.com) - - Audience: 500k+ film professionals - - Partnership: Affiliate + exclusive member discount - - Contact: partnerships@stage32.com - -3. **John August** (johnaugust.com) - - Audience: Screenwriting blog, podcast - - Partnership: Affiliate + potential endorsement - - Contact: Via blog contact form - -4. **Scriptnotes Podcast** - - Audience: 50k+ listeners per episode - - Partnership: Sponsorship → Affiliate - - Contact: scriptnotespod@gmail.com - ---- - -### 3. Film School Partnerships (Education) - -**Goal:** Get Scripter into film curricula and student workflows. - -#### Target Schools - -| School | Program | Students | Priority | -|--------|---------|----------|----------| -| USC School of Cinematic Arts | Screenwriting | 500+ | High | -| UCLA School of Theater, Film & TV | Screenwriting | 400+ | High | -| NYU Tisch School of the Arts | Film & TV | 600+ | High | -| AFI Conservatory | Screenwriting | 150 | Medium | -| Chapman University | Dodge College | 300+ | Medium | -| Savannah College of Art & Design | Film | 400+ | Medium | - -#### Partnership Offer - -**For Schools:** -- Free Premium accounts for all faculty -- 50% discount for all students (verified .edu email) -- Free curriculum integration (teaching materials) -- Guest lectures from Scripter team -- Sponsorship of student screenwriting competitions - -**For Students:** -- Premium features at Free tier price ($0) -- Extended trial (30 days vs 14 days) -- Student showcase opportunities -- Internship opportunities at Scripter - -#### Outreach Strategy - -**Step 1: Identify Champions** -- Find screenwriting professors via school websites -- Look for tech-forward faculty (check their published work) -- Prioritize schools with existing online curriculum - -**Step 2: Warm Introduction** -- Leverage alumni networks -- Use LinkedIn to find connections -- Attend film school career fairs - -**Step 3: Pilot Program** -- Start with 1-2 professors -- Provide free accounts for their classes -- Gather feedback and testimonials -- Expand to full school partnership - -**Step 4: Formal Partnership** -- Sign education partnership agreement -- List school on Scripter website -- Co-announce via press release -- Annual renewal with usage review - ---- - -### 4. Industry Association Partnerships (Credibility) - -**Goal:** Endorsements and partnerships that build credibility. - -#### Target Organizations - -| Organization | Members | Partnership Type | -|--------------|---------|------------------| -| Writers Guild of America (WGA) | 13,000+ | Member discount | -| Writers Guild of America West | 12,000+ | Sponsorship | -| Academy of Motion Picture Arts | 10,000+ | Member benefit | -| National Association of Screenwriters | 5,000+ | Affiliate | -| Film Independent | 7,000+ | Sponsorship | -| Austin Film Festival | 10,000+ attendees | Conference sponsor | - -#### Partnership Benefits - -| Benefit | WGA Example | -|---------|-------------| -| Member discount | 20% off Pro for WGA members | -| Logo placement | "Official Partner of WGA" on website | -| Newsletter mention | Monthly WGA newsletter feature | -| Event sponsorship | WGA events, panel participation | -| Job board | Post Scripter jobs on WGA board | - ---- - -### 5. Technology Partners (Infrastructure) - -**Goal:** Technology partnerships that reduce costs or add features. - -#### Targets - -| Company | Partnership Type | Benefit | -|---------|------------------|---------| -| Clerk (auth) | Startup program | Free tier until 10k users | -| Turso (database) | Startup program | Free tier, co-marketing | -| Vercel (hosting) | Startup program | Credits, technical support | -| AWS | Activate program | $10k credits | -| Google Cloud | Startup program | $5k credits | - -#### Application Process - -1. **Clerk Startup Program** - - Apply at clerk.com/startups - - Requirements: <2 years old, <$10k MRR - - Benefit: Free up to 10k MAU - -2. **AWS Activate** - - Apply at aws.amazon.com/activate - - Tiers: Founders ($1k), Portfolio ($10k), Startup ($100k) - - Requirements: Incorporation, website, pitch deck - -3. **Google Cloud for Startups** - - Apply at cloud.google.com/startup - - Benefit: Up to $100k credits over 2 years - - Requirements: <5 years old, VC-backed or accelerator - ---- - -## Outreach Templates - -### Integration Partner Email - -``` -Subject: Partnership opportunity: Scripter × [Company] - -Hi [Name], - -I'm [Your Name], CMO at Scripter — the modern screenwriting platform -built for collaboration. We've been following [Company]'s work in -[their space] and believe there's a strong partnership opportunity. - -**The opportunity:** -[Specific integration idea that benefits both user bases] - -**Why Scripter:** -- [X,000] active screenwriters using our platform -- Fastest-growing screenwriting tool in 2026 -- Modern tech stack (Tauri + SolidJS) -- Strong NPS ([X]) - -**Next steps:** -I'd love to schedule a 20-minute call to explore how we can create -value for both our users. Are you available [date options]? - -Best, -[Your Name] -CMO, Scripter -``` - -### Affiliate Partner Email - -``` -Subject: Affiliate partnership: Earn 30% recurring with Scripter - -Hi [Name], - -I'm a big fan of [their content] — especially [specific piece]. -I'm reaching out because I think your audience would love Scripter, -and we have an affiliate program that could be mutually beneficial. - -**Scripter in brief:** -- Modern screenwriting platform (Final Draft alternative) -- Free to start, Pro at $7.99/mo -- Real-time collaboration, AI assistance, cloud backup - -**Affiliate benefits:** -- 30% recurring commission (earn every month) -- Exclusive discount code for your audience (10% off) -- Marketing assets (banners, email copy, social posts) -- Dedicated affiliate manager - -If you're interested, I can send over more details or set up -a quick call to discuss. - -Best, -[Your Name] -CMO, Scripter -``` - -### Film School Partnership Email - -``` -Subject: Free screenwriting software for [School Name] students - -Dear Professor [Name], - -I'm [Your Name], CMO at Scripter, a modern screenwriting platform -used by thousands of professional writers. I'm reaching out to -explore a partnership with [School Name]'s screenwriting program. - -**What we're offering:** -- Free Premium accounts for all faculty -- 50% discount for all students (verified .edu) -- Curriculum integration materials -- Guest lecture opportunities -- Student showcase platform - -**Why Scripter for film school:** -- Industry-standard formatting (FDX compatible) -- Real-time collaboration (perfect for writer's rooms) -- Cloud-based (works on any device) -- Affordable for students after graduation - -I'd love to schedule a call to discuss how we can support -[School Name]'s screenwriting program. Would you be available -for a 20-minute conversation next week? - -Best regards, -[Your Name] -CMO, Scripter -[Phone] -[Calendly link] -``` - ---- - -## Partnership Tracking - -### CRM Fields - -| Field | Description | -|-------|-------------| -| Partner name | Company/organization name | -| Category | Integration/Affiliate/Education/Association | -| Status | Prospecting → Outreach → Negotiation → Live | -| Contact | Primary contact name, email, phone | -| Priority | High/Medium/Low | -| Expected impact | User acquisition, revenue, credibility | -| Next action | Specific next step with due date | - -### Success Metrics - -| Metric | Target (90 days) | -|--------|------------------| -| Active partnerships | 10+ | -| Referral signups | 1,000+ | -| Partnership revenue | $5,000 MRR | -| Co-marketing content | 10+ pieces | -| Event sponsorships | 3+ events | - ---- - -## Budget - -| Item | Cost | -|------|------| -| Affiliate commissions | 20-35% of referred revenue | -| Event sponsorships | $5,000-20,000 per event | -| Co-marketing content | $2,000-5,000 | -| Travel (conferences) | $5,000 | -| Partnership manager (future hire) | $100k/year | -| **Total (cash, excluding commissions)** | **$15,000-35,000** | - ---- - -## Next Actions - -1. **Prioritize top 10 targets** - Select from each category -2. **Create partnership deck** - 10-slide overview for prospects -3. **Build affiliate landing page** - /partners/affiliate with signup -4. **Set up affiliate tracking** - Referral software integration -5. **Draft outreach emails** - Customize templates for top targets -6. **Begin outreach** - Start with highest priority targets -7. **Track in CRM** - Log all outreach and responses -8. **Report monthly** - Partnership performance review - ---- - -**Related Issues:** -- FRE-577: Marketing website (partnership landing pages) -- FRE-581: Launch campaign (partnership announcements) -- FRE-582: Referral program (affiliate overlap) -- FRE-584: Paid ad strategy (co-marketing opportunities) - -**Dependencies:** -- Legal review of partnership agreements -- Technical resources for integrations -- Budget approval for sponsorships diff --git a/marketing/ph-screenshots-to-capture.md b/marketing/ph-screenshots-to-capture.md deleted file mode 100644 index db273e5ac..000000000 --- a/marketing/ph-screenshots-to-capture.md +++ /dev/null @@ -1,153 +0,0 @@ -# Product Hunt Screenshots - Capture List - -**Created:** 2026-04-26 3:50 PM -**Owner:** CMO -**Status:** Ready for capture - ---- - -## Available Marketing Pages (Scripter.app) - -These pages are live and can be screenshotted immediately: - -### 1. Pricing Page (REQUIRED) ✅ -**URL:** `scripter.app/pricing` -**Resolution:** 1920x1080 -**What to capture:** -- Full pricing page showing Free vs Pro tiers -- Highlight: "Free to start" messaging -- Show: $9.99/mo Pro tier - -**Annotation:** "Professional tools, free to start" - ---- - -### 2. Features Page (REQUIRED) ✅ -**URL:** `scripter.app/features` -**Resolution:** 1920x1080 -**What to capture:** -- Hero section with value prop -- Feature grid (collaboration, formatting, analytics, export) -- Clean, modern design - -**Annotation:** "Built for modern screenwriters" - ---- - -### 3. Waitlist Page (OPTIONAL) ✅ -**URL:** `scripter.app/waitlist` -**Resolution:** 1920x1080 -**What to capture:** -- Email capture form -- Social proof counter (8,742+ writers) -- Referral program mention - -**Annotation:** "Join 8,700+ writers waiting for launch" - ---- - -### 4. Home Page (OPTIONAL) ✅ -**URL:** `scripter.app/` -**Resolution:** 1920x1080 -**What to capture:** -- Hero section with "Write Faster" tagline -- Main value proposition -- CTA buttons - -**Annotation:** "The modern screenwriting platform" - ---- - -## Product Screenshots (Need Stable Build) - -These require access to the actual app (coordinate with CTO): - -### 5. Editor View (REQUIRED) ⏳ -**Status:** Need product stability -**Resolution:** 1920x1080 -**What to capture:** -- Clean editor interface -- Sample screenplay with proper formatting -- Scene/character count visible - -**Annotation:** "Industry-standard formatting, zero distractions" - ---- - -### 6. Collaboration View (REQUIRED) ⏳ -**Status:** Need product stability -**Resolution:** 1920x1080 -**What to capture:** -- Multiple cursors (different colors) -- User avatars in corner -- Live editing indicators - -**Annotation:** "Like Google Docs for screenplays" - ---- - -### 7. Analytics Dashboard (OPTIONAL) ⏳ -**Status:** Need product stability -**Resolution:** 1920x1080 -**What to capture:** -- Character count breakdown -- Scene statistics -- Writing progress metrics - -**Annotation:** "Data-driven writing insights" - ---- - -## Immediate Action (April 26) - -**For PH submission TODAY, capture these 4 pages:** - -1. ✅ Pricing page - `scripter.app/pricing` -2. ✅ Features page - `scripter.app/features` -3. ✅ Home page - `scripter.app/` -4. ✅ Waitlist page - `scripter.app/waitlist` - -**Tools:** -- Chrome DevTools (Cmd+Shift+P → "Capture full size screenshot") -- Or use CleanShot X, Snagit, or built-in screenshot tool - -**File naming:** -- `ph-screenshot-01-pricing.png` -- `ph-screenshot-02-features.png` -- `ph-screenshot-03-home.png` -- `ph-screenshot-04-waitlist.png` - -**Location:** Save to `/marketing/product-hunt-assets/screenshots/` - ---- - -## Follow-up (Week of May 1) - -Once product is stable, capture these 3 additional screenshots: - -5. ⏳ Editor view -6. ⏳ Collaboration view -7. ⏳ Analytics dashboard - -**Then:** Update PH page with final product screenshots before May 5. - ---- - -## Screenshot Guidelines - -**Do:** -- Use 1920x1080 resolution minimum -- Show clean, uncluttered views -- Use sample data (not empty states) -- Include annotations in PH gallery descriptions - -**Don't:** -- Show browser chrome (URL bar, tabs, bookmarks) -- Show empty states or placeholder text -- Use low-resolution captures -- Include personal data in screenshots - ---- - -**Status:** Ready to capture 4 marketing pages immediately -**Next:** Capture screenshots, then submit PH page diff --git a/marketing/ph-vip-supporter-list-draft.md b/marketing/ph-vip-supporter-list-draft.md deleted file mode 100644 index 661b0560e..000000000 --- a/marketing/ph-vip-supporter-list-draft.md +++ /dev/null @@ -1,199 +0,0 @@ -# VIP Supporter List - Draft for Approval - -**Owner:** CMO (drafted for Founder approval) -**Status:** DRAFT - Needs founder review -**Date:** April 27, 2026 -**Target:** 10 VIP supporters for Product Hunt launch day - ---- - -## Purpose - -Product Hunt ranking heavily depends on Day 1 upvotes. VIP supporters commit to: -1. Upvote immediately at launch (12:01 AM PT, May 7) -2. Leave a thoughtful comment -3. Share within their networks - -**Goal:** 500+ upvotes, Top 5 Apps category - ---- - -## VIP List (Draft - 12 Names) - -### Tier 1: Industry Influencers (4 names) - -**1. [Name] - Screenwriting Instructor/Author** -- Why: Large following of screenwriters -- Connection: [How we know them] -- Email: [email] -- Ask: Upvote + tweet to followers - -**2. [Name] - Film School Professor** -- Why: Access to 500+ film students -- Connection: [How we know them] -- Email: [email] -- Ask: Upvote + share with students - -**3. [Name] - Working Screenwriter (produced credits)** -- Why: Credibility + industry following -- Connection: Beta tester -- Email: [email] -- Ask: Upvote + comment + share - -**4. [Name] - Screenwriting Podcaster** -- Why: Podcast audience (10K+ listeners) -- Connection: Interviewed us/follows us -- Email: [email] -- Ask: Upvote + mention on next episode - ---- - -### Tier 2: Beta Advocates (4 names) - -**5. [Name] - Power Beta User** -- Why: Wrote 3 scripts on Scripter, loves it -- Connection: Beta tester since [date] -- Email: [email] -- Ask: Upvote + testimonial - -**6. [Name] - Writer's Room Participant** -- Why: Active in writing community -- Connection: Beta tester, engaged user -- Email: [email] -- Ask: Upvote + rally writer friends - -**7. [Name] - Screenwriting Competition Winner** -- Why: Credibility, following -- Connection: Used Scripter for winning script -- Email: [email] -- Ask: Upvote + share competition win story - -**8. [Name] - Film Festival Programmer** -- Why: Industry connections -- Connection: Met at [event] -- Email: [email] -- Ask: Upvote + share with network - ---- - -### Tier 3: Personal Network (4 names) - -**9. [Name] - Friend/Advisor** -- Why: Supports founder journey -- Connection: Personal friend -- Email: [email] -- Ask: Upvote + share widely - -**10. [Name] - Previous Colleague** -- Why: Tech industry following -- Connection: Worked together at [company] -- Email: [email] -- Ask: Upvote + tweet - -**11. [Name] - Startup Founder Friend** -- Why: Cross-promotion opportunity -- Connection: Fellow founder -- Email: [email] -- Ask: Upvote + share with founder network - -**12. [Name] - Investor/Advisor** -- Why: Network + credibility -- Connection: Advisor/investor -- Email: [email] -- Ask: Upvote + share with portfolio - ---- - -## Outreach Email Template - -**Subject:** Quick favor: Support Scripter's Product Hunt launch? - -``` -Hi [Name], - -Scripter launches on Product Hunt on Thursday, May 7 at 12:01 AM PT. - -Product Hunt ranking depends heavily on Day 1 momentum. Would you be -willing to: - -1. Upvote within first hour (I'll send reminder) -2. Leave a quick comment about why you support us -3. Share with your network if you're comfortable? - -Takes 2 minutes, means the world to us. - -I'll send a reminder email the night before (May 6) with the PH link. - -Thanks for supporting the journey! - -Best, -[Founder Name] -Founder, Scripter - -P.S. We've got 8,742+ writers on the waitlist. Your support helps us -reach them all. -``` - ---- - -## Follow-Up Schedule - -| Date | Action | Owner | -|------|--------|-------| -| May 6 (Day before) | Reminder email with PH link | CMO | -| May 7, 12:01 AM | Launch notification (SMS/Slack) | CMO | -| May 7, 10:00 AM | "We're live!" reminder | CMO | -| May 7, 4:00 PM | "Final push" thank you + update | CMO | - ---- - -## Tracking Spreadsheet - -| Name | Tier | Email | Confirmed? | Upvoted? | Commented? | Shared? | -|------|------|-------|-----------|----------|------------|---------| -| [Name 1] | Tier 1 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 2] | Tier 1 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 3] | Tier 1 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 4] | Tier 1 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 5] | Tier 2 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 6] | Tier 2 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 7] | Tier 2 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 8] | Tier 2 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 9] | Tier 3 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 10] | Tier 3 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 11] | Tier 3 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | -| [Name 12] | Tier 3 | [email] | ⏳ Pending | ⏳ | ⏳ | ⏳ | - ---- - -## Next Steps - -**Founder Action Needed:** -1. Review list above (add/remove names) -2. Fill in missing info (emails, connections) -3. Add 2-3 more high-value names if possible -4. Approve outreach email template - -**CMO Action (After Approval):** -1. Finalize list (10-15 names) -2. Send initial outreach email (May 1-3) -3. Track confirmations -4. Send reminders (May 6-7) -5. Monitor launch day activity - ---- - -## Alternative: CMO-Drafted Full List - -If founder doesn't have time, CMO can: -1. Research 10 industry influencers to cold outreach -2. Use beta tester list for top 10 engaged users -3. Draft all emails for founder signature - -**Timeline:** Can complete by EOD April 27 if needed - ---- - -**Status:** DRAFT READY - Founder review needed (10 min) -**Owner:** Founder (review), CMO (draft) -**Due:** April 28 (to allow 1 week for confirmations) diff --git a/marketing/pre-launch-social-teasers.md b/marketing/pre-launch-social-teasers.md deleted file mode 100644 index 912ac2cbb..000000000 --- a/marketing/pre-launch-social-teasers.md +++ /dev/null @@ -1,183 +0,0 @@ -# Pre-Launch Social Teasers (Wednesday 20:00 PT) - -**Issue:** FRE-688 -**Owner:** CMO -**Send Time:** Wednesday 20:00 PT (April 29, 2026) -**Audience:** Twitter/X, LinkedIn, Instagram Stories -**Status:** ✅ Ready to post (awaiting CTO confirmation) - ---- - -## Twitter/X Thread (20:00 PT) - -### Tweet 1/3 -``` -Tomorrow changes everything for screenwriters. - -After 2 years of building, testing, and iterating with 8,742+ writers... - -Scripter launches on Product Hunt at 12:01 AM PT. - -Here's what we're bringing to the table 🧵 -``` - -### Tweet 2/3 -``` -The Problem: -- Final Draft: $250, hasn't updated in a decade -- WriterDuet: Better, but still feels like 2015 -- Google Docs: Flexible, but no screenplay formatting - -The Solution: -✨ Built for 2026 -✨ 33% faster than the competition -✨ Free to start (yes, really) -``` - -### Tweet 3/3 -``` -What's next: - -12:01 AM PT: We go live on Product Hunt -12:01 AM - 4:00 AM: I'm online answering every question - -Try free tomorrow: scripter.app - -Set your alarms, writers. ⏰ - -#Screenwriting #ProductHunt -``` - -**Engagement Plan:** -- Reply to every comment within 10 minutes -- Retweet anyone sharing the thread -- Pin tweet for 24 hours - ---- - -## LinkedIn Post (20:00 PT) - -``` -Tomorrow at 12:01 AM PT, we're launching Scripter on Product Hunt. - -Two years ago, I sat in a coffee shop trying to write my first screenplay. I had three tools open: - -1. Final Draft (for formatting) -2. Google Docs (for collaboration) -3. Excel (for tracking character arcs) - -That's when it hit me: screenwriting tools in 2026 should not feel like they're from 1996. - -So we built Scripter. - -✨ Real-time collaboration (like Google Docs for screenplays) -✨ Industry-standard formatting (WGA-approved) -✨ Built-in analytics (character count, scene breakdown) -✨ Export to PDF, Final Draft, Fountain -✨ Web + Mac + Windows + Mobile - -And here's the kicker: it's free to start. No credit card required. - -Tomorrow, we launch on Product Hunt. If you're a writer, filmmaker, or just love creative tools, I'd love for you to check it out. - -scripter.app - Live tomorrow at 12:01 AM PT - -Would love your feedback when we go live! - -#Screenwriting #ProductLaunch #SaaS #WritingCommunity -``` - -**Visual:** Add screenshot of Scripter editor interface (1200x627px) - ---- - -## Instagram Story (20:00 PT) - -### Story 1/3 -**Visual:** Teaser graphic with countdown -**Text:** "Tomorrow. 12:01 AM PT. Something's launching." -**Sticker:** Countdown to Thursday 12:01 AM PT - -### Story 2/3 -**Visual:** Scripter editor screenshot (blurred) -**Text:** "Built for screenwriters. By screenwriters." -**Sticker:** Poll - "Are you a writer?" (Yes/No) - -### Story 3/3 -**Visual:** Logo + tagline -**Text:** "Scripter. Tomorrow. scripter.app" -**Sticker:** Link to scripter.app - ---- - -## Discord Announcement (20:30 PT) - -``` -🚀 **Launch Countdown: 4 Hours** - -Hey everyone! - -Scripter officially launches on Product Hunt tomorrow at 12:01 AM PT. - -As members of our Discord community, you're getting first dibs. - -**What to expect:** -- Free access to Scripter (no credit card required) -- Direct line to the founding team -- Voice of the customer in product decisions - -**Tomorrow's Plan:** -- 12:01 AM PT: Launch on Product Hunt -- 12:01 - 4:00 AM PT: I'm online in the Discord answering questions -- 10:00 AM PT: AMA in #general - -Set your alarms. This is going to be good. 🎬 - -👉 [scripter.app](https://scripter.app) - -- Team Scripter -``` - ---- - -## Success Metrics - -| Platform | Metric | Target | Actual | -|----------|--------|--------|--------| -| Twitter/X | Impressions | 25K+ | TBD | -| Twitter/X | Retweets | 50+ | TBD | -| Twitter/X | Link Clicks | 500+ | TBD | -| LinkedIn | Impressions | 10K+ | TBD | -| LinkedIn | Engagement | 200+ | TBD | -| Instagram | Story Views | 5K+ | TBD | -| Discord | Active Members | 100+ | TBD | - ---- - -## Pre-Post Checklist - -- [ ] CTO confirms scripter.app is live and stable -- [ ] All graphics uploaded to social scheduling tool -- [ ] Twitter thread drafted and ready -- [ ] LinkedIn post drafted with visual -- [ ] Instagram stories created in Meta Business Suite -- [ ] Discord announcement drafted -- [ ] Team briefed on response protocol -- [ ] UTM parameters verified for all links - ---- - -## Post-Post Actions - -1. Monitor engagement across all platforms -2. Respond to every comment within 10 minutes -3. Retweet/share supportive posts -4. Track link clicks with UTM parameters -5. Update FRE-688 with social metrics -6. Prepare launch day posts (12:01 AM PT Thursday) - ---- - -**Status:** ✅ Ready to post once CTO confirms hosting stability -**Owner:** CMO -**Next:** Post at 20:00 PT Wednesday (April 29, 2026) diff --git a/marketing/pre-launch-waitlist-email.md b/marketing/pre-launch-waitlist-email.md deleted file mode 100644 index 10c6a8133..000000000 --- a/marketing/pre-launch-waitlist-email.md +++ /dev/null @@ -1,148 +0,0 @@ -# Pre-Launch Waitlist Email (Wednesday 18:00 PT) - -**Issue:** FRE-688 -**Owner:** CMO -**Send Time:** Wednesday 18:00 PT (April 29, 2026) -**Audience:** Full waitlist (~8,742 subscribers) -**Status:** ✅ Ready to send (awaiting CTO confirmation) - ---- - -## Email Template - -**Subject:** Scripter launches on Product Hunt tomorrow! 🚀 - -``` -Hey [First Name], - -Big news - Scripter officially launches on Product Hunt tomorrow at 12:01 AM PT! - -As one of our first waitlist subscribers, you're getting exclusive early access. - -## What's Next - -**Tomorrow (Thursday):** -- 12:01 AM PT: Scripter goes live on Product Hunt -- You'll be among the first to try it free -- We'd love your feedback as an early supporter - -## Why This Matters - -After years of building in public and testing with beta users, we're ready to share Scripter with the world. - -You've been part of the journey from day one. Now it's time to see what we've built together. - -## Quick Preview - -**What Scripter does:** -- ✨ Real-time collaboration (like Google Docs for screenplays) -- 📝 Industry-standard formatting (WGA-approved) -- 📊 Writing analytics (character count, scene breakdown) -- 📤 Export to PDF, Final Draft, Fountain -- 💻 Web + Mac + Windows + Mobile - -**Best part?** It's free to start. No credit card required. - -## Tomorrow's Launch - -When the clock strikes 12:01 AM PT Thursday, you'll be able to: - -1. **Try Scripter free** at scripter.app -2. **Upvote on Product Hunt** (helps us reach more writers) -3. **Leave feedback** - your input shapes the product - -## Early Bird Bonus - -First 100 signups tomorrow get: -- Lifetime 50% off Pro tier -- Direct access to the founding team -- Priority feature requests - -## Ready to Write? - -👉 [scripter.app](https://scripter.app) - Live tomorrow at 12:01 AM PT - -We can't wait to see what you create. - -Cheers, -Team Scripter - -P.S. Follow us on [Twitter/X](https://twitter.com/scripterapp) for launch day updates and behind-the-scenes content. -``` - ---- - -## Sending Instructions - -### Timing -- **Send:** Wednesday 18:00 PT (April 29, 2026) -- **Waitlist Size:** ~8,742 subscribers -- **Expected Open Rate:** 45%+ (~3,934 opens) -- **Expected CTR:** 20%+ (~788 clicks) - -### Segmentation -Send to entire waitlist (no segmentation needed for pre-launch announcement) - -### Personalization -- Use `[First Name]` from waitlist data -- Use `scripter.app` as landing URL - -### Email Platform -- **Platform:** Customer.io or Mailchimp -- **Campaign Name:** `PH-PreLaunch-Waitlist-2026-04-29` -- **UTM Parameters:** - - `utm_source=waitlist` - - `utm_medium=email` - - `utm_campaign=ph-prelaunch-2026` - - `utm_content=prelaunch-announcement` - ---- - -## Success Metrics - -| Metric | Target | Actual | -|--------|--------|--------| -| Open Rate | 45%+ | TBD | -| Click-Through Rate | 20%+ | TBD | -| Pre-launch Signups | 500+ | TBD | -| Unsubscribe Rate | <2% | TBD | - ---- - -## Follow-Up Schedule - -| Time | Action | Audience | -|------|--------|----------| -| Wed 18:00 PT | Pre-launch email | Full waitlist | -| Thu 00:01 PT | Launch day email | Waitlist + new signups | -| Thu 08:00 PT | Midday update | All supporters | -| Thu 18:00 PT | Final push reminder | Non-responders | -| Fri 12:00 PT | Thank you + results | Everyone | - ---- - -## Pre-Send Checklist - -- [ ] CTO confirms scripter.app is live and stable -- [ ] Waitlist CSV exported and cleaned -- [ ] Email template loaded into email platform -- [ ] UTM parameters verified -- [ ] Test email sent to internal team -- [ ] Landing page (scripter.app) verified live -- [ ] Product Hunt link ready to insert (once PH page is live) - ---- - -## Post-Send Actions - -1. Monitor open rate in real-time (first 2 hours) -2. Track click-through to scripter.app -3. Prepare launch day email (00:01 PT Thursday) -4. Update FRE-688 with email metrics -5. Segment engaged users for VIP supporter list - ---- - -**Status:** ✅ Ready to send once CTO confirms hosting stability -**Owner:** CMO -**Next:** Send at 18:00 PT Wednesday (April 29, 2026) diff --git a/marketing/press-kit/README.md b/marketing/press-kit/README.md deleted file mode 100644 index 491ceeea0..000000000 --- a/marketing/press-kit/README.md +++ /dev/null @@ -1,386 +0,0 @@ -# Scripter Press Kit - -**For immediate use by journalists, bloggers, and media partners.** - -**Last Updated:** April 26, 2026 -**Contact:** press@scripter.app - ---- - -## Quick Links - -- [Press Release](#press-release) -- [Logos & Brand Assets](#logos-brand-assets) -- [Product Screenshots](#screenshots) -- [Founder Bios](#founder-bios) -- [Company Overview](#company-overview) -- [Fact Sheet](#fact-sheet) -- [Media Coverage](#media-coverage) - ---- - -## Press Release - -### For Immediate Release - -**Scripter Launches Modern Screenwriting Platform to Challenge Final Draft's Decades-Long Dominance** - -*The cloud-native collaborative writing tool brings real-time collaboration, AI-powered features, and affordable pricing to screenwriters worldwide* - -**LOS ANGELES — [LAUNCH DATE], 2026** — Scripter, the modern screenwriting platform built for how writers actually work today, officially launches today, offering a powerful alternative to legacy screenwriting software at a fraction of the cost. - -After extensive development, Scripter delivers professional-grade screenwriting tools with real-time collaboration, cloud synchronization, and AI-assisted writing features — all accessible from any device with a web browser. The platform launches with a free tier, Pro plan at $9.99/month, and Teams plan at $19.99/month, significantly undercutting Final Draft's $249.99 one-time license. - -**Key Features:** -- Real-time collaboration (like Google Docs for screenplays) -- AI-powered writing assistant -- Cloud-native workflow -- Industry-standard formatting -- Cross-platform support (Mac, Windows, Linux, Web) - -**Pricing:** -- Free: $0 (unlimited scripts, core features) -- Pro: $9.99/month (AI assistance, version history, exports) -- Teams: $19.99/month per user (advanced permissions, admin controls) - -**Media Contact:** -[Name] -[Title] -Email: press@scripter.app - -[Download Full Press Release (PDF)](#) | [View HTML Version](#) - ---- - -## Logos & Brand Assets - -### Primary Logo - -![Scripter Logo - Primary](/press-kit/scripter-logo-primary.png) - -**Downloads:** -- [SVG](/press-kit/scripter-logo-primary.svg) — For print and scalable use -- [PNG (Large)](/press-kit/scripter-logo-primary.png) — 2000px wide, transparent background -- [PNG (Small)](/press-kit/scripter-logo-primary.png) — 500px wide, web use - -**Usage:** Primary logo for light backgrounds. Clear space: 1x logo height on all sides. - ---- - -### Stacked Logo - -![Scripter Logo - Stacked](/press-kit/scripter-logo-stacked.png) - -**Downloads:** -- [SVG](/press-kit/scripter-logo-stacked.svg) -- [PNG](/press-kit/scripter-logo-stacked.png) — 2000px wide - -**Usage:** Vertical layouts, social media profiles, app icons. - ---- - -### White Logo - -![Scripter Logo - White](/press-kit/scripter-logo-white.png) - -**Downloads:** -- [SVG](/press-kit/scripter-logo-white.svg) -- [PNG](/press-kit/scripter-logo-white.png) — 2000px wide - -**Usage:** Dark backgrounds, video overlays, merchandise. - ---- - -### App Icon - -![Scripter Icon](/press-kit/scripter-icon-512.png) - -**Downloads:** -- [SVG](/press-kit/scripter-icon.svg) — 512x512 scalable -- [PNG 512px](/press-kit/scripter-icon-512.png) — App stores, social profiles -- [PNG 256px](/press-kit/scripter-icon-256.png) — Desktop icons -- [PNG 128px](/press-kit/scripter-icon-128.png) — Toolbar icons -- [PNG 64px](/press-kit/scripter-icon-64.png) — Favicons -- [PNG 32px](/press-kit/scripter-icon-32.png) — Small icons - ---- - -### Brand Colors - -| Color | Hex | Usage | -|-------|-----|-------| -| Scripter Blue | `#518ac8` | Primary CTAs, links | -| Sky Blue | `#76b3e1` | Gradients, highlights | -| Deep Blue | `#1a336b` | Text, dark backgrounds | -| Light Cyan | `#dcf2fd` | Hover states, backgrounds | - -**Download:** [Brand Guidelines PDF](#) *(coming soon)* - ---- - -### Download All Assets - -[Download Complete Press Kit (ZIP, 15MB)](#) - -**Includes:** -- All logo formats (SVG, PNG) -- All icon sizes -- Brand guidelines -- Press release (PDF, DOCX) -- Fact sheet - ---- - -## Screenshots - -### Dashboard - -![Scripter Dashboard](/screenshots/dashboard.png) - -*The Scripter dashboard shows all your projects with quick access to recent scripts.* - -**Download:** [PNG (1920x1080)](#) | [JPG (compressed)](#) - ---- - -### Script Editor - -![Scripter Editor](/screenshots/editor.png) - -*Professional screenwriting interface with industry-standard formatting and real-time collaboration.* - -**Download:** [PNG (1920x1080)](#) | [JPG (compressed)](#) - ---- - -### Real-Time Collaboration - -![Collaboration](/screenshots/collaboration.png) - -*Multiple writers can work on the same script simultaneously with live cursors and instant sync.* - -**Download:** [PNG (1920x1080)](#) | [JPG (compressed)](#) - ---- - -### AI Writing Assistant - -![AI Assistant](/screenshots/ai-assistant.png) - -*AI-powered suggestions for scene descriptions, dialogue, and formatting — always under your control.* - -**Download:** [PNG (1920x1080)](#) | [JPG (compressed)](#) - ---- - -### Mobile App - -![Mobile App](/screenshots/mobile.png) - -*Write on the go with native iOS and Android apps. Full sync with desktop and web.* - -**Download:** [PNG (1080x1920)](#) | [JPG (compressed)](#) - ---- - -**Screenshot Usage Guidelines:** -- All screenshots are free for editorial use with attribution -- Do not modify or crop in misleading ways -- Attribution: "Screenshot courtesy of Scripter" - ---- - -## Founder Bios - -### [Founder Name] — Founder & CEO - -*[Bio photo placeholder — headshot needed]* - -[Founder Name] is the founder and CEO of Scripter. With [X years] of experience in [software/film industry], they founded Scripter to solve the collaboration challenges they faced as a working screenwriter. - -Prior to Scripter, [Founder Name] [previous experience: built X at Y, sold to Z, worked on ABC]. They hold a [degree] from [university] and are based in Los Angeles. - -**Headshot Downloads:** -- [High-res (300 DPI, print)](#) — 8x10 inches -- [Web-res (72 DPI)](#) — 800x800px -- [Thumbnail](#) — 200x200px - -**Speaking Topics:** -- The future of collaborative creativity -- AI in creative workflows -- Building developer tools for creators -- Challenging legacy software monopolies - -**Media Availability:** Available for interviews, podcasts, and panels. Contact press@scripter.app to schedule. - ---- - -### [Co-Founder/CTO Name] — Co-Founder & CTO - -*[Bio photo placeholder — headshot needed]* - -[Co-Founder Name] is the co-founder and CTO of Scripter, leading the technical vision and engineering team. They previously [technical background: built X at Y, open source contributions, etc.]. - -[Co-Founder Name] is passionate about [technical interests: real-time systems, developer experience, etc.] and holds [degrees/patents/publications]. - -**Headshot Downloads:** -- [High-res (300 DPI, print)](#) -- [Web-res (72 DPI)](#) - ---- - -## Company Overview - -### About Scripter - -Scripter is a Los Angeles-based startup building the future of screenwriting. Founded in 2025, the company is on a mission to democratize professional screenwriting tools and empower writers worldwide. - -The Scripter platform combines professional-grade formatting, real-time collaboration, and AI-assisted writing in a modern, cloud-native application. With a free tier and affordable Pro plans, Scripter makes professional tools accessible to writers at every level. - -**Key Facts:** -- **Founded:** 2025 -- **Headquarters:** Los Angeles, CA -- **Employees:** [X] (remote-first team) -- **Funding:** [Backed by X / Bootstrapped] -- **Users:** [X,XXX+] beta users in [XX] countries - -**Products:** -- Scripter for Web (app.scripter.app) -- Scripter for Mac (macOS native app) -- Scripter for Windows (Windows native app) -- Scripter for Linux (Linux native app) -- Scripter Mobile (iOS and Android — coming Q3 2026) - -**Mission:** Empower every writer to tell their story with professional tools that are fast, collaborative, and affordable. - ---- - -## Fact Sheet - -### Quick Facts - -| Category | Detail | -|----------|--------| -| **Company Name** | Scripter | -| **Founded** | 2025 | -| **Headquarters** | Los Angeles, CA | -| **Website** | [scripter.app](https://scripter.app) | -| **Press Contact** | press@scripter.app | -| **Social** | [@ScripterApp](https://twitter.com/ScripterApp) | - -### Product Facts - -| Feature | Detail | -|---------|--------| -| **Launch Date** | [LAUNCH DATE], 2026 | -| **Platforms** | Web, Mac, Windows, Linux, iOS (coming), Android (coming) | -| **Pricing** | Free / Pro $9.99/mo / Teams $19.99/mo | -| **Key Features** | Real-time collaboration, AI assistant, cloud sync, industry formatting | -| **Technology** | Tauri, SolidJS, Turso, Yjs (CRDT) | - -### Market Facts - -| Metric | Detail | -|--------|--------| -| **Target Market** | Screenwriters, filmmakers, content creators | -| **Market Size** | 75,000+ WGA members, 100K+ aspiring writers globally | -| **Competitors** | Final Draft ($249), WriterDuet ($11.99/mo), Celtx (freemium) | -| **Differentiation** | Real-time collaboration, AI features, modern stack, affordable pricing | - -### Traction (Beta) - -| Metric | Detail | -|--------|--------| -| **Beta Users** | [X,XXX+] | -| **Countries** | [XX] | -| **Scripts Written** | [XX,XXX+] | -| **Satisfaction** | [XX]% | - ---- - -## Media Coverage - -### Featured In - -*[Logos of publications that have covered Scripter]* - -- [TechCrunch article link] -- [The Verge article link] -- [Variety article link] -- [No Film School article link] - -### Press Releases - -- [Launch Announcement — [Date]](#) -- [Series A Funding — [Date]](#) *(if applicable)* -- [Product Update: AI Features — [Date]](#) - ---- - -## Media Contact - -**For all press inquiries:** - -**Email:** press@scripter.app -**Response Time:** Within 24 hours - -**For urgent inquiries:** -[Phone number — if applicable] - -**Demo Requests:** -We offer press accounts with full Pro features for review purposes. Request access at press@scripter.app. - -**Interview Requests:** -Our founders are available for interviews, podcasts, and panels. Please include: -- Publication and audience -- Topic/focus -- Format (phone, video, email) -- Deadline - ---- - -## Usage Guidelines - -### Logo Usage -- Do not modify colors, proportions, or layout -- Maintain clear space: 1x logo height on all sides -- Minimum size: 24px height (digital), 0.5" (print) -- Use appropriate version for background (primary for light, white for dark) - -### Screenshot Usage -- Free for editorial use with attribution -- Do not modify in misleading ways -- Attribution: "Screenshot courtesy of Scripter" - -### Trademark -- "Scripter" is a trademark of FrenoCorp -- Use product name in text, not in company name -- Do not use logo in company names or product names - ---- - -## Additional Resources - -### For Journalists - -- **Embargoed Briefings:** Available for major announcements -- **Exclusive Interviews:** Pitch exclusives to press@scripter.app -- **Review Accounts:** Full Pro access for qualified publications - -### For Bloggers & Influencers - -- **Affiliate Program:** Coming soon -- **Guest Posts:** We welcome guest contributions -- **Product Reviews:** Review accounts available - -### For Partners - -- **Integration Partners:** API documentation at [developer.scripter.app](#) -- **Educational Partners:** Special pricing for schools -- **Enterprise:** Custom plans for studios and writers' rooms - ---- - -**Last Updated:** April 26, 2026 - -**Questions or need additional assets?** Contact press@scripter.app diff --git a/marketing/press-kit/scripter-icon-128.png b/marketing/press-kit/scripter-icon-128.png deleted file mode 100644 index 1b37083ea..000000000 Binary files a/marketing/press-kit/scripter-icon-128.png and /dev/null differ diff --git a/marketing/press-kit/scripter-icon-256.png b/marketing/press-kit/scripter-icon-256.png deleted file mode 100644 index 4202e5580..000000000 Binary files a/marketing/press-kit/scripter-icon-256.png and /dev/null differ diff --git a/marketing/press-kit/scripter-icon-32.png b/marketing/press-kit/scripter-icon-32.png deleted file mode 100644 index 0fc919f54..000000000 Binary files a/marketing/press-kit/scripter-icon-32.png and /dev/null differ diff --git a/marketing/press-kit/scripter-icon-512.png b/marketing/press-kit/scripter-icon-512.png deleted file mode 100644 index f2fcb5528..000000000 Binary files a/marketing/press-kit/scripter-icon-512.png and /dev/null differ diff --git a/marketing/press-kit/scripter-icon-64.png b/marketing/press-kit/scripter-icon-64.png deleted file mode 100644 index 7d2a92e94..000000000 Binary files a/marketing/press-kit/scripter-icon-64.png and /dev/null differ diff --git a/marketing/press-kit/scripter-icon.png b/marketing/press-kit/scripter-icon.png deleted file mode 100644 index d811f9981..000000000 Binary files a/marketing/press-kit/scripter-icon.png and /dev/null differ diff --git a/marketing/press-kit/scripter-icon.svg b/marketing/press-kit/scripter-icon.svg deleted file mode 100644 index c74f6d52b..000000000 --- a/marketing/press-kit/scripter-icon.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/marketing/press-kit/scripter-logo-primary.png b/marketing/press-kit/scripter-logo-primary.png deleted file mode 100644 index b2c3562b2..000000000 Binary files a/marketing/press-kit/scripter-logo-primary.png and /dev/null differ diff --git a/marketing/press-kit/scripter-logo-primary.svg b/marketing/press-kit/scripter-logo-primary.svg deleted file mode 100644 index 831db37e2..000000000 --- a/marketing/press-kit/scripter-logo-primary.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - Scripter - diff --git a/marketing/press-kit/scripter-logo-stacked.png b/marketing/press-kit/scripter-logo-stacked.png deleted file mode 100644 index 6ce142088..000000000 Binary files a/marketing/press-kit/scripter-logo-stacked.png and /dev/null differ diff --git a/marketing/press-kit/scripter-logo-stacked.svg b/marketing/press-kit/scripter-logo-stacked.svg deleted file mode 100644 index 3c454f79e..000000000 --- a/marketing/press-kit/scripter-logo-stacked.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Scripter - diff --git a/marketing/press-kit/scripter-logo-white.png b/marketing/press-kit/scripter-logo-white.png deleted file mode 100644 index 874e58315..000000000 Binary files a/marketing/press-kit/scripter-logo-white.png and /dev/null differ diff --git a/marketing/press-kit/scripter-logo-white.svg b/marketing/press-kit/scripter-logo-white.svg deleted file mode 100644 index 2d5b01847..000000000 --- a/marketing/press-kit/scripter-logo-white.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Scripter - diff --git a/marketing/press-pitches-tier-1-drafts.md b/marketing/press-pitches-tier-1-drafts.md deleted file mode 100644 index 4045a5c58..000000000 --- a/marketing/press-pitches-tier-1-drafts.md +++ /dev/null @@ -1,343 +0,0 @@ -# Tier 1 Press Pitches - Personalized Intros - -**Owner:** CMO -**Status:** Draft ready for review -**Date:** April 27, 2026 -**Target:** 15 major tech/film publication contacts - ---- - -## TechCrunch - -### Sarah Perez (Consumer apps, social media) -**Email:** sarah.perez@techcrunch.com -**Twitter:** @sarahintampa - -**Subject:** Modern screenwriting platform challenges Final Draft's decades-old monopoly - -**Pitch:** -``` -Hi Sarah, - -I saw your coverage of [recent consumer app launch/creator tool story] and thought -Scripter might interest you. - -Screenwriters have been stuck with the same tools for 30+ years. Final Draft costs -$250, feels clunky, and has no real-time collaboration. We built Scripter for how -writers actually work in 2026. - -What's different: -- Real-time collaboration (like Google Docs for screenplays) -- 33% faster formatting (auto-formats as you type) -- Free to start (vs $250 upfront) -- Already 8,742+ writers on waitlist - -We're launching on Product Hunt this week. Would love to show you a demo. - -Are you open to a 15-min chat this week? - -Best, -[Founder Name] -Founder, Scripter -``` - ---- - -### Kyle Wiggers (AI, creative tools) -**Email:** kyle.wiggers@techcrunch.com -**Twitter:** @kyle_l_wiggers - -**Subject:** AI-powered screenwriting platform sees 8K+ signups in beta - -**Pitch:** -``` -Hi Kyle, - -Your coverage of AI in creative work really resonated with us. We've been building -Scripter with AI features that actually help writers (not replace them). - -While you were reporting on [recent AI story], we've been seeing writers use -Scripter's AI to: -- Break through writer's block with smart suggestions -- Get instant character/scene analytics -- Auto-format while they write (saves 33% time) - -The response: 8,742+ writers joined our waitlist in 3 weeks. - -We're challenging Final Draft's 30-year dominance with modern tech. Launching -on Product Hunt this Thursday. - -Interested in a demo? - -Best, -[Founder Name] -``` - ---- - -## The Verge - -### David Pierce (Consumer tech, apps) -**Email:** david.pierce@theverge.com -**Twitter:** @davidpierce - -**Subject:** The first modern screenwriting app in 30 years - -**Pitch:** -``` -Hi David, - -Loved your piece on [recent app story]. We're launching what might be the first -meaningful innovation in screenwriting software since Final Draft dominated the -category 30 years ago. - -Scripter is built for 2026: -- Real-time collaboration (writers' rooms can work together live) -- Auto-formatting as you type (33% faster) -- Free to start (democratizes access) -- Web + Mac + Windows (finally) - -8,742+ writers are already on the waitlist. We're launching on Product Hunt -this week. - -The story: How a $250 monopoly got challenged by a free, modern alternative. - -Worth a look? - -Best, -[Founder Name] -``` - ---- - -## Wired - -### Lauren Goode (Consumer tech, culture) -**Email:** lauren.goode@wired.com -**Twitter:** @LaurenGoode - -**Subject:** Screenwriting's Final Draft monopoly is finally being challenged - -**Pitch:** -``` -Hi Lauren, - -Your coverage of tech + culture intersection is exactly why I'm reaching out. - -For 30 years, screenwriters have paid $250 for Final Draft because there was -no alternative. That's changing. - -Scripter launched a beta 3 weeks ago. 8,742+ writers signed up. Here's why: -- It's free (vs $250) -- It has real-time collaboration (Final Draft doesn't) -- It's 33% faster (auto-formats as you type) -- It's built for how people actually work in 2026 - -We're launching on Product Hunt this Thursday. The story isn't just about -software—it's about democratizing access to creative tools. - -Would you be interested in covering this? - -Best, -[Founder Name] -Founder, Scripter -``` - ---- - -### Will Knight (AI, machine learning) -**Email:** will.knight@wired.com -**Twitter:** @willknight - -**Subject:** How AI is actually helping screenwriters (not replacing them) - -**Pitch:** -``` -Hi Will, - -Your AI coverage always focuses on augmentation over replacement—that's exactly -how we've built Scripter. - -While everyone debates whether AI will kill creativity, we've seen 8,742+ writers -embrace AI features that: -- Suggest scene improvements (not write scenes) -- Track character arcs automatically -- Format scripts in real-time (saves hours) - -Result: Writers are 33% faster, not replaced. - -We're challenging Final Draft's 30-year dominance with thoughtful AI. Launching -on Product Hunt this week. - -Interested in the "AI as co-pilot" story? - -Best, -[Founder Name] -``` - ---- - -## Ars Technica - -### Andrew Cunningham (Consumer tech) -**Email:** andrew.cunningham@arstechnica.com -**Twitter:** @andybiersack - -**Subject:** Technical deep dive: Building a modern screenwriting platform with Tauri + SolidJS - -**Pitch:** -``` -Hi Andrew, - -Ars readers appreciate technical depth, so here's one for you. - -We built Scripter (a modern screenwriting platform) using: -- Tauri (Rust-based, 50MB RAM vs Electron's 500MB) -- SolidJS (fine-grained reactivity, no virtual DOM) -- Turso DB (edge-based, CRDT sync for collaboration) -- TypeScript end-to-end - -Result: 33% faster than legacy tools, real-time collaboration, cross-platform. - -8,742+ writers on waitlist. Challenging Final Draft's 30-year monopoly. - -Technical deep dive available. Launching on Product Hunt this week. - -Interested? - -Best, -[Founder Name] -``` - ---- - -## Film Industry Trade Pitches - -### Variety - Brent Lang (Film business) -**Email:** brent.lang@variety.com - -**Subject:** Screenwriting software monopoly challenged as 8K+ writers demand modern tools - -**Pitch:** -``` -Hi Brent, - -Your film business coverage is why I'm reaching out. - -For 30 years, Final Draft has dominated screenwriting software at $250/license. -That monopoly is being challenged. - -Scripter launched beta 3 weeks ago: 8,742+ writers signed up. Why now? -- Writers want modern tools (real-time collaboration, cloud sync) -- $250 price point excludes emerging writers -- Industry is shifting to remote collaboration (pandemic accelerated) - -We're launching on Product Hunt this week. Story: How a legacy monopoly gets -disrupted when user expectations change. - -Interested in covering this trend? - -Best, -[Founder Name] -``` - ---- - -### The Hollywood Reporter - Carolyn Giardina (Technology Editor) -**Email:** carolyn.giardina@thr.com - -**Subject:** Production technology: Screenwriting goes real-time collaborative - -**Pitch:** -``` -Hi Carolyn, - -Your production tech coverage is excellent. Here's a story on how screenwriting -technology is finally catching up to 2026. - -Final Draft has dominated for 30 years with no real-time collaboration. Scripter -launched beta with: -- Google Docs-style collaboration (multiple writers, live editing) -- Auto-formatting (33% faster) -- Free tier (democratizes access) - -8,742+ writers joined in 3 weeks. We're launching on Product Hunt this Thursday. - -This is the first meaningful innovation in screenwriting tech in decades. - -Worth covering? - -Best, -[Founder Name] -``` - ---- - -## Follow-Up Template (3 days later) - -``` -Hi [Name], - -Following up on my note about Scripter. We're launching on Product Hunt this -Thursday and I'd love to show you a quick demo. - -The story: 30-year screenwriting software monopoly gets challenged by modern, -free alternative. 8,742+ writers already on waitlist. - -15 minutes this week? Happy to work around your schedule. - -Best, -[Founder Name] -``` - ---- - -## Response Templates - -### If Interested: -``` -Great! Here are some times that work: -- [Day] [Time] PT -- [Day] [Time] PT -- [Day] [Time] PT - -Or grab time on my calendar: [Calendly link] - -I'll show you a 10-min demo + we can chat about the story angle. - -Best, -[Founder Name] -``` - -### If Not Interested: -``` -Totally understand. If you ever want to cover screenwriting tech or creative -tools, I'd love to be a resource. - -Best, -[Founder Name] -``` - ---- - -## Tracking - -| Contact | Publication | Sent | Response | Status | -|---------|-------------|------|----------|--------| -| Sarah Perez | TechCrunch | ⏳ Pending | - | To send | -| Kyle Wiggers | TechCrunch | ⏳ Pending | - | To send | -| David Pierce | The Verge | ⏳ Pending | - | To send | -| Lauren Goode | Wired | ⏳ Pending | - | To send | -| Will Knight | Wired | ⏳ Pending | - | To send | -| Andrew Cunningham | Ars Technica | ⏳ Pending | - | To send | -| Brent Lang | Variety | ⏳ Pending | - | To send | -| Carolyn Giardina | THR | ⏳ Pending | - | To send | - -**Target:** Send to all 8 by EOD April 27 -**Follow-up:** April 30 (3 days later) - ---- - -**Status:** DRAFT READY - Insert founder name, send to contacts -**Owner:** CMO -**Next:** Review + send by 12:00 PM today diff --git a/marketing/press-release.md b/marketing/press-release.md deleted file mode 100644 index 06867a8b2..000000000 --- a/marketing/press-release.md +++ /dev/null @@ -1,421 +0,0 @@ -# Scripter Press Release - -**FOR IMMEDIATE RELEASE** - ---- - -## Scripter Launches Modern Screenwriting Platform to Challenge Final Draft's Decades-Long Dominance - -**The cloud-native collaborative writing tool brings real-time collaboration, AI-powered features, and affordable pricing to screenwriters worldwide** - -**LOS ANGELES — MAY 7, 2026** — Scripter, the modern screenwriting platform built for how writers actually work today, officially launches today on Product Hunt, offering a powerful alternative to legacy screenwriting software at a fraction of the cost. - -After 12 months of development, Scripter delivers professional-grade screenwriting tools with real-time collaboration, cloud synchronization, and AI-assisted writing features — all accessible from any device with a web browser. The platform launches with a free tier, Pro plan at $9.99/month, and Teams plan at $19.99/month, significantly undercutting Final Draft's $249.99 one-time license. - -### The Problem Scripter Solves - -For three decades, screenwriters have been stuck with software that hasn't evolved: expensive, desktop-bound, and built for solitary writing. But modern screenwriting is collaborative — writers' rooms work remotely, producers need real-time access, and revisions happen at lightning speed. - -"Final Draft costs $200, requires downloads, and makes collaboration a nightmare of email attachments and version confusion," says [Founder Name], Scripter's founder. "We built Scripter for the way writers actually work in 2026 — together, in real-time, from anywhere." - -### Key Features - -**Real-Time Collaboration** -- Multiple writers can work on the same script simultaneously -- Comments and suggestions appear instantly -- No more email chains or "Script_v12_FINAL_REALLYFINAL" files - -**AI-Powered Writing Assistant** -- Scene description enhancement -- Character voice consistency checking -- Format correction and industry standard compliance -- Dialogue suggestions (optional — writers stay in control) - -**Cloud-Native Workflow** -- Access scripts from any device — Mac, PC, tablet, or phone -- Automatic saves and version history -- Share links instead of attachments -- Works offline with seamless sync - -**Industry-Standard Formatting** -- Proper Hollywood screenplay format out of the box -- Export to PDF, Final Draft (.fdx), and Fountain -- Studio-ready formatting for submissions - -### Market Opportunity - -The screenwriting software market has remained stagnant for years, with Final Draft dominating despite widespread frustration over pricing and outdated technology. Scripter enters a market ripe for disruption: - -- 75,000+ WGA members in the US alone -- Hundreds of thousands of aspiring screenwriters globally -- Growing remote collaboration needs post-pandemic -- Rising demand for AI-assisted creative tools - -### Early Traction - -During beta testing, Scripter attracted [X,XXX] writers from [XX] countries, with users reporting: - -- **33% faster** writing speed with AI assistance -- **50% reduction** in revision time with real-time collaboration -- **90% satisfaction** rate among beta users -- Scripts sold to [major studios/production companies — if applicable] - -### Pricing and Availability - -Scripter is available today at [scripter.app](https://scripter.app) with three tiers: - -| Plan | Price | Best For | -|------|-------|----------| -| Free | $0 | Students, hobbyists | -| Pro | $9.99/month or $99/year | Working screenwriters | -| Teams | $19.99/month per user | Writers' rooms, studios | - -All plans include unlimited scripts, cloud storage, and collaboration features. The Pro plan adds AI assistance, version history, and export options. Teams includes advanced permissions, admin controls, and priority support. - -### What's Next - -Scripter's roadmap includes: - -- Mobile apps (iOS and Android) launching Q3 2026 -- Integration with StudioBinder, Celtx, and production tools -- Advanced AI features: beat sheet generator, character development assistant -- Enterprise plans for studios and production companies - -### About Scripter - -Scripter is a Los Angeles-based startup building the future of screenwriting. Founded in 2025 by [Founder Name], the company is on a mission to democratize professional screenwriting tools and empower writers worldwide. Scripter is backed by [investors if applicable] and is hiring across engineering, design, and marketing. - -### Media Contact - -[Name] -[Title] -Email: [press@scripter.app] -Phone: [XXX-XXX-XXXX] -Website: [scripter.app](https://scripter.app) -Press Kit: [scripter.app/press](https://scripter.app/press) - ---- - -## Press Kit Assets - -Available at **scripter.app/press**: - -### Logos -- Scripter logo (PNG, SVG, EPS) -- Icon only (PNG, SVG) -- Black and white versions -- Horizontal and stacked layouts - -### Screenshots -- Dashboard view -- Script editor with collaboration -- AI assistant in action -- Mobile app previews - -### Founder Photos -- Headshots (high-res) -- Action shots (writing, presenting) -- B-roll footage available on request - -### Brand Guidelines -- Color palette -- Typography -- Voice and tone guide -- Usage guidelines - -### Demo Access -- Press accounts available on request -- Demo video: [YouTube/Vimeo link] -- Live demo scheduling: [Calendly link] - ---- - -## Distribution Strategy - -### Tier 1: Major Tech Publications (Embargoed) - -**Targets:** -- TechCrunch -- The Verge -- Wired -- Ars Technica - -**Pitch Angle:** "Final Draft alternative with AI and real-time collaboration" - -**Timing:** Embargo lifts Day 2 of launch week - -**Contact Strategy:** -- Personalized pitches to specific writers covering creator tools -- Offer exclusive first-look interviews -- Provide demo access 1 week before embargo - -### Tier 2: Film Industry Trade Publications - -**Targets:** -- Variety -- Deadline Hollywood -- The Hollywood Reporter -- IndieWire - -**Pitch Angle:** "Screenwriting tool built by filmmakers, for filmmakers" - -**Timing:** Day 2-3 of launch week - -**Contact Strategy:** -- Emphasize industry credibility -- Highlight beta user success stories -- Offer founder interviews - -### Tier 3: Screenwriting Communities - -**Targets:** -- No Film School -- ScreenCraft -- Script Magazine -- Creative Screenwriting - -**Pitch Angle:** "Professional tools, free to start" - -**Timing:** Day 3-4 of launch week - -**Contact Strategy:** -- Provide exclusive discount codes for readers -- Offer guest posts and tutorials -- Engage in community discussions - -### Tier 4: Productivity and Creator Tools - -**Targets:** -- Product Hunt (Day 1 launch) -- Hacker News -- Indie Hackers -- Maker Mag - -**Pitch Angle:** "Cloud-native screenwriting for modern collaboration" - -**Timing:** Product Hunt Day 1, others Day 2-5 - -**Contact Strategy:** -- Authentic maker-to-maker communication -- Share build journey and lessons -- Engage genuinely in comments - -### Tier 5: Local and Regional Media - -**Targets:** -- LA Business Journal -- LA Times Business -- Local TV (if newsworthy angle) - -**Pitch Angle:** "LA startup challenges Hollywood legacy software" - -**Timing:** Week 2-3 - ---- - -## Press Release Distribution Services - -### Option 1: PR Newswire ($400-800) -**Pros:** Wide distribution, SEO benefits, credibility -**Cons:** Expensive, less targeted - -**Recommended Package:** PR Newswire Advantage ($799) -- National distribution -- Major search engine pickup -- Social media amplification - -### Option 2: EIN Presswire ($100-200) -**Pros:** Affordable, decent reach -**Cons:** Less prestige than PR Newswire - -**Recommended Package:** $199 -- National distribution -- Basic analytics - -### Option 3: Manual Outreach ($0-100) -**Pros:** Targeted, personal relationships -**Cons:** Time-intensive, lower initial reach - -**Budget:** -- PR distribution service: $0-800 -- Press kit hosting: $0 (GitHub Pages, Netlify) -- Media monitoring: $0 (Google Alerts) or $29/mo (Mention) - -**Total Recommended Budget: $400-800** - ---- - -## Pitch Email Templates - -### TechCrunch Pitch - -**Subject:** Final Draft alternative launches with real-time collaboration + AI - -Hi [Writer Name], - -I noticed you covered [similar tool/creator tool space], so I thought you'd be interested in Scripter — a modern screenwriting platform launching today that challenges Final Draft's decades-old dominance. - -**Why it matters:** -- Final Draft costs $200 and hasn't evolved since 2012 -- Screenwriting is now collaborative (writers' rooms, remote teams) -- AI can help writers without replacing creativity - -**What's new:** -- Real-time collaboration (like Google Docs for screenplays) -- AI writing assistant (optional, writer-controlled) -- Cloud-native, works on any device -- Free tier, Pro at $9.99/month (vs $200 one-time) - -**Traction:** [X,XXX] beta users, [notable customer/sale if applicable] - -I'd love to give you early access and walk you through the platform. Are you available for a 15-minute demo this week? - -Best, -[Your Name] -[Contact Info] - ---- - -### Variety/Deadline Pitch - -**Subject:** New screenwriting tool built by filmmakers challenges Final Draft - -Hi [Writer Name], - -As someone who covers the business of entertainment, I thought you'd be interested in Scripter — a new screenwriting platform launching today that's already being used by working screenwriters and sold to [studio/producer if applicable]. - -**The story:** -- Screenwriters have been stuck with the same $200 software for 30 years -- Modern writers' rooms need real-time collaboration -- AI is changing how writers work (for better, not replacement) - -**Why filmmakers care:** -- Built by [filmmaker/writer credentials] -- Already used on [production if applicable] -- Backed by [investor/industry figure if applicable] - -**Available for:** -- Founder interview -- Demo access -- Beta user testimonials - -Would love to share the story. Interested in a quick chat? - -Best, -[Your Name] -[Contact Info] - ---- - -### No Film School Pitch - -**Subject:** Free professional screenwriting tool launches (not clickbait) - -Hi [Name], - -No Film School readers always ask about affordable screenwriting software. Today we're launching Scripter — and the free tier is genuinely professional-grade. - -**What makes it different:** -- Not a crippled free trial — unlimited scripts, all core features -- Real-time collaboration (game-changer for writing partners) -- AI assistance that actually helps (not gimmicky) -- Built by people who've sold scripts and worked in writers' rooms - -**For NFS readers:** -- Exclusive discount: [CODE] for 3 months free Pro -- Guest post opportunity: "How AI is changing screenwriting" -- Demo account for hands-on review - -Would love to partner on getting this to your readers. Interested? - -Best, -[Your Name] -[Contact Info] - ---- - -## Press Timeline - -### T-14 Days (Two Weeks Before Launch) -- [ ] Finalize press release -- [ ] Build press kit page -- [ ] Create target media list (50+ contacts) -- [ ] Draft personalized pitch emails - -### T-7 Days (One Week Before) -- [ ] Begin embargoed outreach to Tier 1 (TechCrunch, Verge) -- [ ] Offer exclusive first-look interviews -- [ ] Provide demo access to key journalists - -### T-3 Days -- [ ] Follow up on embargoed pitches -- [ ] Prepare social media assets for press amplification -- [ ] Test press kit page and download links - -### T-1 Day -- [ ] Confirm embargoed articles scheduled -- [ ] Final press release distribution setup -- [ ] Prepare media monitoring (Google Alerts, Mention) - -### Launch Day (Day 1) -- [ ] Product Hunt launch (12:01 AM PT) -- [ ] Press release distribution goes live -- [ ] Social media announcement -- [ ] Monitor press pickup and engage - -### Day 2 -- [ ] Embargoed articles lift (TechCrunch, Variety, etc.) -- [ ] Share press coverage across all channels -- [ ] Pitch Tier 2-3 publications -- [ ] Respond to journalist inquiries - -### Day 3-5 -- [ ] Continue pitch follow-ups -- [ ] Schedule founder interviews -- [ ] Share customer/beta user stories -- [ ] Monitor and amplify press mentions - -### Week 2-3 -- [ ] Pitch feature stories and deep-dives -- [ ] Pursue podcast interviews -- [ ] Local media outreach -- [ ] Compile press coverage report - ---- - -## Success Metrics - -| Metric | Target | Measurement | -|--------|--------|-------------| -| Press mentions | 10+ | Google Alerts, Mention | -| Tier 1 coverage | 2-3 articles | TechCrunch, Verge, etc. | -| Tier 2 coverage | 3-5 articles | Variety, Deadline, etc. | -| Social shares | 500+ | BuzzSumo, social listening | -| Website traffic from press | 5,000+ sessions | Google Analytics | -| Signups from press | 500+ | UTM tracking | -| SEO domain authority | 30+ | Ahrefs, Moz | - ---- - -## Follow-Up Strategy - -### If Press Doesn't Respond - -**Day 3 Follow-Up:** -"Hi [Name], just floating this to the top of your inbox in case it got buried. Happy to provide demo access or connect you with beta users if helpful." - -**Day 7 Follow-Up:** -"Hi [Name], circling back one more time. If this isn't a fit, no worries at all — just didn't want you to miss it if you're covering creator tools or film tech." - -**If No Coverage:** -- Pivot to influencer/creator strategy -- Double down on Product Hunt and communities -- Build relationships for next announcement -- Create newsworthy updates (funding, partnerships, features) - ---- - -**Document Owner:** CMO -**Last Updated:** 2026-04-26 -**Status:** Ready for distribution -**Budget:** $400-800 for PR distribution + $0-100 for monitoring tools diff --git a/marketing/priority-1-send-instructions.md b/marketing/priority-1-send-instructions.md deleted file mode 100644 index 133cca9ca..000000000 --- a/marketing/priority-1-send-instructions.md +++ /dev/null @@ -1,67 +0,0 @@ -# Priority 1 Influencer Outreach - Send Instructions - -**Issue:** FRE-667 -**Date:** April 26, 2026 -**Status:** Ready to Send - ---- - -## Quick Send Options - -### Option 1: Use Resend (Recommended - Free Tier) - -1. Get API key from https://resend.com (free: 100 emails/day, 3,000/month) -2. Add to `.env`: - ``` - RESEND_API_KEY=re_xxxxxxxxxxxxxxxx - ``` -3. Run: - ```bash - node scripts/send-priority-1-outreach.js - ``` - -### Option 2: Manual Send via Email Client - -Copy each email from `/marketing/beta-outreach-priority-1.md` and send manually: - -| # | Contact | Email | Subject | Template | -|---|---------|-------|---------|----------| -| 1 | John Finn | johnfinn@business.youtube.com | Free lifetime Pro account - modern screenwriting tool for your channel | Email 1 | -| 2 | No Film School | tips@nofilmschool.com | Beta access: Modern screenwriting platform for NFTS community | Email 2 | -| 3 | Script Lab | info@scriptlab.com | Collaboration: Beta access + potential partnership | Email 3 | -| 4 | ScreenCraft | info@screencraft.org | Beta partnership: Modern screenwriting tool for ScreenCraft community | Email 4 | -| 5 | Go Into The Story | scott@thestorydepartment.com | WGA blog + modern screenwriting tools - partnership opportunity? | Email 5 | - ---- - -## Follow-Up Schedule - -| Follow-Up | Date | Trigger | -|-----------|------|---------| -| #1 | April 29, 2026 | Day 3 - "floating this to top of inbox" | -| #2 | May 3, 2026 | Day 7 - "last chance for beta access" | -| #3 | May 10, 2026 | Day 14 - "should I close your file?" | - ---- - -## Response Tracking - -Update this table as responses come in: - -| Contact | Responded | Status | Notes | -|---------|-----------|--------|-------| -| John Finn | ⏳ Pending | - | - | -| No Film School | ⏳ Pending | - | - | -| Script Lab | ⏳ Pending | - | - | -| ScreenCraft | ⏳ Pending | - | - | -| Go Into The Story | ⏳ Pending | - | - | - -**Target:** 15 responses (30%), 10 commitments (20%) - ---- - -## Files - -- **Email Templates:** `/marketing/beta-outreach-priority-1.md` -- **Contact List:** `/marketing/beta-advocate-contact-list.md` -- **Send Script:** `/scripts/send-priority-1-outreach.js` diff --git a/marketing/product-hunt-assets-brief.md b/marketing/product-hunt-assets-brief.md deleted file mode 100644 index 078535a06..000000000 --- a/marketing/product-hunt-assets-brief.md +++ /dev/null @@ -1,339 +0,0 @@ -# Product Hunt Visual Assets Brief - FRE-642 - -**Created:** 2026-04-26 -**Owner:** CMO / Design -**Priority:** High -**Due:** 2 weeks before launch date - ---- - -## Overview - -This document specifies all visual assets needed for Product Hunt submission. Assets should be created from the Scripter application and brand guidelines. - ---- - -## Asset 1: Product Hunt Thumbnail - -**Specifications:** -- Size: 240x240px -- Format: PNG -- Background: Scripter Blue (#518ac8) -- Foreground: Scripter logo (white or light variant) - -**Source Files:** -- Logo SVG: `/home/mike/code/scripter/src/assets/logo.svg` -- Brand colors: `/home/mike/code/FrenoCorp/marketing/brand/identity.md` - -**Design Notes:** -- Logo should be centered and clearly visible at small size -- Maintain clear space around logo (minimum 20px from edges) -- Test visibility at 60x60px (PH thumbnail display size) -- Export with transparent or solid blue background - -**Variants to Create:** -1. Primary: Logo on solid #518ac8 blue -2. Variant A: Logo with subtle gradient background -3. Variant B: Logo with "Write Faster" tagline below - ---- - -## Asset 2: Product Screenshots (5-7 required) - -**Specifications:** -- Size: 1920x1080px (or 16:9 ratio) -- Format: PNG -- Style: Clean, minimal browser chrome or app window -- Include: Subtle drop shadow for depth - -### Required Screenshots - -#### 1. Hero Shot - Main Editor Interface -**What to capture:** -- Full editor view with sample screenplay -- Show industry-standard formatting in action -- Include sidebar with scene/character list -- Show clean, modern UI - -**Annotations to highlight:** -- Real-time formatting (sluglines, dialogue, action) -- Clean interface, no clutter - -#### 2. Real-Time Collaboration View -**What to capture:** -- Multiple cursors visible (different colors) -- Live editing indicators -- Collaborator avatars or names -- Chat/comments panel if available - -**Annotations to highlight:** -- "Like Google Docs for screenplays" -- Multiple writers working simultaneously - -#### 3. Analytics Dashboard -**What to capture:** -- Character count breakdown -- Scene count and pages -- Word count over time graph -- Readability metrics - -**Annotations to highlight:** -- Data-driven writing insights -- Track progress automatically - -#### 4. Export Options -**What to capture:** -- Export dialog/modal -- Show format options: PDF, FDX, Fountain -- Quality/settings options - -**Annotations to highlight:** -- Industry-standard formats -- One-click export - -#### 5. Mobile App Preview -**What to capture:** -- iOS or Android app running -- Same script synced from desktop -- Mobile-optimized editing view - -**Annotations to highlight:** -- Write anywhere -- Real-time sync across devices -- *If mobile app not ready, skip or use mockup* - -#### 6. Pricing Page -**What to capture:** -- Free vs Pro comparison -- Clear value proposition -- CTA buttons - -**Annotations to highlight:** -- Free tier: Unlimited scripts -- Pro: $9.99/mo with advanced features - -#### 7. Template Gallery (Optional) -**What to capture:** -- Template selection screen -- Variety: Feature film, TV, Short, etc. - -**Annotations to highlight:** -- Start writing immediately -- Industry-standard templates - ---- - -## Asset 3: Animated GIFs (3-4 recommended) - -**Specifications:** -- Size: Max 800x600px (keep file size <5MB) -- Format: GIF or MP4 (PH accepts both) -- Duration: 3-8 seconds -- Loop: Yes - -### Required GIFs - -#### 1. Real-Time Collaboration Demo -**Show:** -- Two cursors typing simultaneously -- Changes appearing in real-time -- Collaborator indicators - -**Duration:** 5 seconds -**File size target:** <3MB - -#### 2. Auto-Formatting Demo -**Show:** -- Typing INT. COFFEE SHOP - DAY -- Auto-formatting to slugline style -- Character name auto-centering -- Dialogue width limitation - -**Duration:** 4 seconds -**File size target:** <2MB - -#### 3. Export Flow Demo -**Show:** -- Click Export button -- Select format (PDF/FDX) -- Download completes - -**Duration:** 3 seconds -**File size target:** <2MB - -#### 4. AI Feature Demo (Optional - if ready) -**Show:** -- AI suggestion or completion -- Scene description enhancement -- Character name suggestion - -**Duration:** 4 seconds -**File size target:** <3MB - ---- - -## Asset 4: Maker Video (90 seconds) - -**Specifications:** -- Duration: 60-90 seconds -- Format: MP4, 1080p -- Audio: Clear voiceover -- Style: Authentic > polished - -**Script Outline:** - -**0:00-0:15 - Hook (Problem)** -- "I spent years struggling with Final Draft's clunky interface..." -- Show frustrating legacy tool UI -- "And WriterDuet is great, but I wanted something faster, more modern" - -**0:15-0:60 - Solution (Features)** -- "So I built Scripter" -- Show clean editor interface -- Demo real-time collaboration (2 people typing) -- Show analytics dashboard -- Show export options -- "Industry-standard formatting, real-time collaboration, AI-powered tools" - -**0:60-0:90 - CTA** -- "Try Scripter free at scripter.app" -- "No credit card required, unlimited scripts on free tier" -- "And if you love it, please upvote us on Product Hunt!" -- Show PH logo + upvote button - -**Production Options:** -1. **DIY:** Use Loom or ScreenFlow ($0-100) -2. **Outsource:** Fiverr/Upwork video editor ($200-400) -3. **Professional:** Agency production ($800+) - -**Recommended:** Option 2 - Fiverr video editor with screen recordings provided - ---- - -## Production Checklist - -### Phase 1: Preparation -- [ ] Get stable product build from CTO -- [ ] Set up clean demo environment -- [ ] Create sample screenplay with varied formatting -- [ ] Set up multiple test accounts for collaboration demo -- [ ] Prepare browser/app in clean state - -### Phase 2: Capture -- [ ] Take all 7 screenshots (1920x1080px) -- [ ] Record screen videos for GIFs -- [ ] Record maker video voiceover -- [ ] Capture mobile app screenshots (if available) - -### Phase 3: Edit -- [ ] Crop and adjust screenshots -- [ ] Add subtle annotations/highlights -- [ ] Create GIFs from video recordings -- [ ] Edit maker video with voiceover sync -- [ ] Export in required formats/sizes - -### Phase 4: Review -- [ ] Check all assets meet PH specs -- [ ] Test thumbnail visibility at small size -- [ ] Verify GIF file sizes <5MB -- [ ] Get founder/CMO approval -- [ ] Upload to shared folder for PH submission - ---- - -## File Organization - -Create folder structure: -``` -/marketing/product-hunt-assets/ -├── thumbnail/ -│ ├── thumbnail-primary-240x240.png -│ ├── thumbnail-variant-a-240x240.png -│ └── thumbnail-variant-b-240x240.png -├── screenshots/ -│ ├── 01-editor-interface-1920x1080.png -│ ├── 02-collaboration-view-1920x1080.png -│ ├── 03-analytics-dashboard-1920x1080.png -│ ├── 04-export-options-1920x1080.png -│ ├── 05-mobile-app-1920x1080.png -│ ├── 06-pricing-page-1920x1080.png -│ └── 07-template-gallery-1920x1080.png -├── gifs/ -│ ├── collaboration-demo.gif -│ ├── auto-format-demo.gif -│ ├── export-flow-demo.gif -│ └── ai-feature-demo.gif (optional) -└── video/ - └── maker-video-90s.mp4 -``` - ---- - -## Tools & Resources - -**Screenshot Tools:** -- CleanShot X (macOS) - $29 -- Snagit - $50 -- Built-in screenshot (free) - -**GIF Creation:** -- Loom (free tier available) -- ScreenFlow (macOS) - $149 -- GIPHY Capture (free) -- ffmpeg (free, command-line) - -**Video Editing:** -- Loom (free tier) -- Descript - $12/mo -- Final Cut Pro - $299 -- DaVinci Resolve (free) - -**Design:** -- Figma (free tier) -- Canva (free tier) -- Photoshop - $20/mo - ---- - -## Blockers - -⚠️ **Product Stability** - Need stable build from CTO before capturing screenshots -⚠️ **Mobile App** - Mobile screenshots depend on app readiness -⚠️ **AI Features** - AI demo depends on feature completion - -**Can start now:** -- Thumbnail design (logo SVG available) -- Video script writing -- Tool selection and setup - ---- - -## Success Criteria - -- [ ] All assets meet Product Hunt specifications -- [ ] Thumbnail clearly visible at 60x60px -- [ ] Screenshots showcase key differentiators -- [ ] GIFs load quickly (<5MB each) -- [ ] Maker video <90 seconds, clear audio -- [ ] All files organized and ready for upload - ---- - -## Next Steps - -1. **Immediate:** Create thumbnail variants from logo SVG -2. **Pending CTO:** Schedule screenshot session with stable build -3. **This week:** Record and edit maker video -4. **Before submission:** Review all assets with founder - ---- - -**Related Issues:** -- Parent: FRE-635 (Create PH page and submit) -- Sibling: FRE-643 (Build VIP supporter list) -- Sibling: FRE-644 (Submit PH page) - -**Resources:** -- Brand guidelines: `/marketing/brand/identity.md` -- PH submission guide: `/marketing/product-hunt-submission.md` -- Launch plan: `/marketing/product-hunt-launch-plan.md` diff --git a/marketing/product-hunt-assets.md b/marketing/product-hunt-assets.md deleted file mode 100644 index 8f0bd368c..000000000 --- a/marketing/product-hunt-assets.md +++ /dev/null @@ -1,409 +0,0 @@ -# Product Hunt Launch Assets - -**Issue:** FRE-637 -**Created:** 2026-04-26 -**Owner:** CMO - ---- - -## Product Hunt Thumbnail - -### Specifications -- **Size:** 240x240px PNG -- **Format:** PNG with transparency support -- **Background:** Scripter Blue (#2563EB) - -### Design Variants - -**Variant 1: Logo Primary** -- Scripter icon mark centered -- White or light gray color -- Clean, minimal design -- File: `ph-thumbnail-primary.png` - -**Variant 2: Logo + Tagline** -- Icon mark top half -- "Write Faster" tagline bottom -- Inter font, white text -- File: `ph-thumbnail-tagline.png` - -**Variant 3: Feature Focus** -- Icon mark with subtle glow effect -- "Free to Start" badge corner -- Call-to-action focus -- File: `ph-thumbnail-cta.png` - -### Creation Tools -- Figma (recommended) -- Canva (alternative) -- Adobe Illustrator (professional) - -### Export Settings -- PNG format -- 240x240px exact -- sRGB color space -- < 5MB file size - ---- - -## Product Screenshots - -### Required Shots (5-7 total) - -**1. Hero Editor View** -- Full screen editor interface -- Sample script with formatting -- Show character/scene count -- Clean, distraction-free view -- Resolution: 1920x1080px - -**2. Real-Time Collaboration** -- Multiple cursors visible -- User avatars in top-right -- Live editing indicators -- Chat/comments sidebar -- Resolution: 1920x1080px - -**3. Analytics Dashboard** -- Scene count breakdown -- Character statistics -- Writing velocity metrics -- Progress toward goals -- Resolution: 1920x1080px - -**4. Export Dialog** -- PDF, FDX, Fountain options -- Format settings -- Preview pane -- One-click export -- Resolution: 1200x800px - -**5. Mobile App Preview** -- iPhone/Android mockup -- Editor on mobile -- Sync indicator -- Resolution: 1080x1920px (portrait) - -**6. Pricing Page** -- Free tier highlighted -- Pro features list -- Clear comparison -- CTA buttons -- Resolution: 1920x1080px - -**7. AI Features (if ready)** -- AI dialogue suggestions -- Scene analysis -- Smart formatting -- Resolution: 1920x1080px - -### Screenshot Guidelines -- Use realistic sample content -- Ensure high contrast and clarity -- Remove browser chrome unless relevant -- Annotate key features with subtle callouts -- Maintain consistent lighting/theme - ---- - -## GIF Demos - -### Required GIFs (3-4 total) - -**1. Real-Time Collaboration** -- Show two users editing simultaneously -- Cursor movement and text updates -- Duration: 5-8 seconds -- Size: < 3MB -- Dimensions: 800x600px - -**2. Format Automation** -- Type character name → auto-format -- Scene heading → proper spacing -- Transition to dialogue -- Duration: 6-10 seconds -- Size: < 3MB -- Dimensions: 800x600px - -**3. Export Flow** -- Click export button -- Select format -- Download completes -- Duration: 4-6 seconds -- Size: < 2MB -- Dimensions: 800x600px - -**4. AI Feature (optional)** -- AI suggestion appears -- User accepts/rejects -- Script updates -- Duration: 5-7 seconds -- Size: < 3MB -- Dimensions: 800x600px - -### GIF Creation Tools -- Loom (screen recording) -- ScreenToGif (Windows) -- Gifox (Mac) -- Photoshop (editing) - -### Optimization -- Reduce colors to 128-256 -- Crop to essential area -- Loop seamlessly -- Compress with gifsicle - ---- - -## 90-Second Maker Video Script - -### Video Structure - -**0:00-0:15 — Hook: The Problem** -``` -[Visual: Frustrated writer at computer] -Narrator: "Screenwriters have been stuck with the same old tools for decades. -Overpriced. Outdated. Built for the 90s." - -[Visual: Final Draft price tag $199, clunky interface] -"Final Draft costs $199. WriterDuet is better, but still feels legacy." -``` - -**0:15-0:30 — Introduce Solution** -``` -[Visual: Scripter logo reveal, clean interface] -Narrator: "Meet Scripter. The screenwriting platform built for 2026." - -[Visual: Writer smiling, typing smoothly] -"Write faster. Collaborate better. Ship anywhere." -``` - -**0:30-0:60 — Feature Showcase** -``` -[Visual: Real-time collaboration demo] -"Real-time collaboration, like Google Docs for screenplays." - -[Visual: Auto-formatting in action] -"Industry-standard formatting, automatic. Focus on writing, not formatting." - -[Visual: Analytics dashboard] -"Track your progress with powerful analytics." - -[Visual: Export to multiple formats] -"Export to PDF, Final Draft, Fountain—anywhere you need." - -[Visual: Mobile app preview] -"Write on any device. Your scripts sync everywhere." -``` - -**0:60-0:75 — Social Proof** -``` -[Visual: Beta tester testimonials] -"Beta testers call it 'the future of screenwriting.'" - -[Visual: Comparison chart] -"33% faster than WriterDuet. 100% free to start." -``` - -**0:75-0:90 — Call to Action** -``` -[Visual: Scripter homepage, free signup] -"Start writing free today at scripter.app." - -[Visual: Product Hunt logo + upvote animation] -"We're launching on Product Hunt. Upvote and join the revolution!" - -[Visual: Logo + tagline] -"Scripter. Write screenplays faster." -``` - -### Production Notes - -**Recording:** -- Screen recordings: 1080p, 60fps -- Voiceover: Clear, enthusiastic, conversational -- Background music: Upbeat, modern, non-distracting - -**Tools:** -- Screen recording: Loom, ScreenFlow, Camtasia -- Voiceover: Professional mic or hire on Fiverr -- Editing: Descript, Premiere Pro, Final Cut - -**Budget Options:** -- DIY: $0 (Loom + free editing) -- Fiverr voiceover: $50-100 -- Fiverr full production: $300-500 - -### Delivery Format -- MP4, H.264 codec -- 1920x1080px (1080p) -- < 50MB file size -- Include captions/subtitles - ---- - -## Comment Response Templates - -### Pricing Questions -``` -@user Great question! Scripter is free to start with unlimited pages and core features. -Pro is $9.99/mo with AI tools, advanced analytics, and priority support. -Student discounts available! 🎓 -``` - -### Platform Availability -``` -@user We're on web (all browsers), macOS, and Windows! iOS and Android apps -launching soon. All sync in real-time so you can write anywhere. 📱 -``` - -### Export Compatibility -``` -@user Absolutely! Export to PDF, Final Draft (.fdx), Fountain, and more. -Your scripts stay yours, always. No lock-in. ✅ -``` - -### Collaboration Features -``` -@user Yes! Real-time collaboration like Google Docs. Multiple writers, -live cursors, comments, and version history. Perfect for writing teams! 👥 -``` - -### Security/Privacy -``` -@user Your scripts are encrypted at rest and in transit. We never read -or share your content. Backups daily. You own everything. 🔒 -``` - -### AI Features -``` -@user Our AI helps with dialogue suggestions, scene analysis, and smart -formatting. It's your creative assistant, not a replacement. Pro feature. 🤖 -``` - -### Student Discounts -``` -@user Yes! Students get 50% off Pro with valid .edu email. Teachers get -free Pro accounts for their classrooms. DM us for details! 📚 -``` - -### Comparison to Competitors -``` -@user We're 33% faster than WriterDuet, 100% free to start (vs Final Draft's -$199), and built with modern tech. Plus real-time collab is our specialty! 🚀 -``` - -### Mobile App -``` -@user iOS and Android apps are in beta launching soon! You can write on -web/mobile desktop now, and native apps coming Q3. 📲 -``` - -### Team Features -``` -@user Teams get shared workspaces, admin controls, bulk licensing, and -priority support. DM us for team pricing! Perfect for writers' rooms. 🎬 -``` - ---- - -## Social Share Graphics - -### Twitter/X Posts -- **Size:** 1200x675px -- **Content:** Launch announcement, milestones, feature highlights -- **Variants:** 5-7 different designs for variety - -### LinkedIn Posts -- **Size:** 1200x627px -- **Content:** Professional tone, founder story, product value prop -- **Variants:** 3-4 designs - -### Instagram Stories -- **Size:** 1080x1920px (portrait) -- **Content:** Behind-the-scenes, countdown, launch day updates -- **Variants:** 7-10 frames for story sequence - -### Milestone Templates -- 100 upvotes -- 250 upvotes -- 500 upvotes -- #1 Product of the Day -- #1 of the Week -- Launch complete thank you - ---- - -## Asset Checklist - -### Pre-Submission (T-14 days) -- [ ] Thumbnail (3 variants) -- [ ] Maker comment draft -- [ ] First comment draft -- [ ] Comment response templates (10+) - -### Pre-Launch (T-7 days) -- [ ] Product screenshots (5-7) -- [ ] GIF demos (3-4) -- [ ] 90-second maker video -- [ ] Social share graphics (10+) -- [ ] Milestone templates (6) - -### Launch Day -- [ ] All graphics uploaded to PH -- [ ] Social posts scheduled -- [ ] Email templates ready -- [ ] Analytics tracking live - ---- - -## File Organization - -``` -/marketing/product-hunt/ - /thumbnails/ - - ph-thumbnail-primary.png - - ph-thumbnail-tagline.png - - ph-thumbnail-cta.png - /screenshots/ - - 01-editor-view.png - - 02-collaboration.png - - 03-analytics.png - - 04-export.png - - 05-mobile.png - - 06-pricing.png - - 07-ai-features.png - /gifs/ - - collaboration.gif - - formatting.gif - - export.gif - - ai-feature.gif (optional) - /video/ - - maker-video-90s.mp4 - - maker-video-90s-with-captions.mp4 - /social/ - - twitter-launch.png - - twitter-milestone-100.png - - twitter-milestone-500.png - - linkedin-announcement.png - - instagram-story-1.png - - instagram-story-2.png - - instagram-story-3.png - - milestone-thank-you.png -``` - ---- - -## Next Actions - -1. **Create thumbnails** - Use Figma with brand assets -2. **Capture screenshots** - Coordinate with CTO for stable build -3. **Record maker video** - Script ready, hire voiceover or DIY -4. **Design social graphics** - Use brand templates -5. **Upload to PH** - Once page is submitted - ---- - -**Related:** -- [Brand Identity](/home/mike/code/FrenoCorp/marketing/brand/identity.md) -- [Launch Plan](/home/mike/code/FrenoCorp/marketing/product-hunt-launch-plan.md) diff --git a/marketing/product-hunt-assets/CAPTURE-GUIDE.md b/marketing/product-hunt-assets/CAPTURE-GUIDE.md deleted file mode 100644 index 4541ba8e9..000000000 --- a/marketing/product-hunt-assets/CAPTURE-GUIDE.md +++ /dev/null @@ -1,139 +0,0 @@ -# Product Hunt Screenshot Capture Guide - -**Quick Start:** Follow the steps below to capture all 4 required screenshots in ~10 minutes. - ---- - -## Method 1: Chrome DevTools (Recommended, Free) - -### Step-by-Step: - -**1. Open Chrome DevTools** -- Navigate to `scripter.app/pricing` -- Press `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux) -- Or: Right-click → "Inspect" → Press `Cmd+Shift+P` - -**2. Enable Full-Page Screenshot** -- Type: `screenshot` -- Select: **"Capture full size screenshot"** -- Chrome will capture the entire page (even parts not visible) - -**3. Save File** -- File downloads automatically to Downloads folder -- Rename to: `ph-screenshot-01-pricing-1920x1080.png` -- Move to: `/home/mike/code/FrenoCorp/marketing/product-hunt-assets/screenshots/` - -**4. Repeat for All Pages:** - -| # | Page URL | Filename | -|---|----------|----------| -| 1 | `scripter.app/pricing` | `ph-screenshot-01-pricing-1920x1080.png` | -| 2 | `scripter.app/features` | `ph-screenshot-02-features-1920x1080.png` | -| 3 | `scripter.app/` | `ph-screenshot-03-home-1920x1080.png` | -| 4 | `scripter.app/waitlist` | `ph-screenshot-04-waitlist-1920x1080.png` | - ---- - -## Method 2: Firefox Screenshots (Alternative) - -**1. Open Firefox** -- Navigate to page (e.g., `scripter.app/pricing`) - -**2. Take Screenshot** -- Right-click anywhere on page -- Select "Take Screenshot" -- Click "Save full page" (top right) -- Download - -**3. Save and Rename** -- Follow same naming convention as above - ---- - -## Method 3: Online Screenshot Tool (If browsers don't work) - -**Use: https://www.screenshot.guru/** - -1. Go to screenshot.guru -2. Enter URL: `https://scripter.app/pricing` -3. Click "Capture" -4. Download PNG -5. Rename and save to screenshots folder - -**Note:** May have watermark on free tier - ---- - -## Method 4: Command Line (Advanced) - -**If you have Node.js installed:** - -```bash -cd /home/mike/code/FrenoCorp -npm install -g pageres-cli - -# Capture all 4 pages -pageres https://scripter.app/pricing 1920x1080 --filename=ph-screenshot-01-pricing -pageres https://scripter.app/features 1920x1080 --filename=ph-screenshot-02-features -pageres https://scripter.app/ 1920x1080 --filename=ph-screenshot-03-home -pageres https://scripter.app/waitlist 1920x1080 --filename=ph-screenshot-04-waitlist - -# Move to correct folder -mv ph-screenshot-*.png marketing/product-hunt-assets/screenshots/ -``` - ---- - -## Quality Checklist - -After capturing, verify: - -- ✅ Resolution is 1920x1080 or higher -- ✅ No browser chrome (URL bar, tabs, bookmarks) -- ✅ Page loads completely (no lazy-loading issues) -- ✅ Text is crisp and readable -- ✅ Colors match brand (no weird color shifts) -- ✅ File size < 2MB each (optimize if needed) - ---- - -## After Capture: Submit to Product Hunt - -**Minimum for submission: 2 screenshots** - -1. Go to: https://www.producthunt.com/posts/new -2. Fill out form: - - **Name:** Scripter - - **Tagline:** Write screenplays faster, collaborate better, ship anywhere - - **Website:** https://scripter.app - - **Category:** Apps - - **Launch Date:** May 7, 2026 -3. Upload: - - Thumbnail: `/marketing/product-hunt-assets/thumbnail/thumbnail-primary-240x240.png` - - Screenshots: Any 2+ from the 4 you captured -4. Copy/paste maker comment and first comment from: - - `/marketing/product-hunt-submission-content.md` -5. Click "Submit for Review" - -**Review time:** 24-48 hours -**You'll get:** Email when approved - ---- - -## Troubleshooting - -**Problem:** Pages show login wall -- **Solution:** Use incognito/private mode, or capture logged-out state - -**Problem:** Pages look broken -- **Solution:** Clear cache, hard refresh (Cmd+Shift+R) - -**Problem:** Screenshot is too long (2000+ lines) -- **Solution:** Crop to 1920x1080 in image editor, or use "Capture visible viewport" instead - -**Problem:** File size too large (>5MB) -- **Solution:** Use TinyPNG.com to compress - ---- - -**Questions?** Check `/marketing/product-hunt-assets/STATUS.md` for full context. diff --git a/marketing/product-hunt-assets/HANDOFF.md b/marketing/product-hunt-assets/HANDOFF.md deleted file mode 100644 index e192d0dac..000000000 --- a/marketing/product-hunt-assets/HANDOFF.md +++ /dev/null @@ -1,175 +0,0 @@ -# FRE-637: Product Hunt Launch Assets - HANDOFF DOCUMENT - -**Created:** April 27, 2026 12:30 AM -**Status:** ✅ CMO DELIVERABLES COMPLETE -**Handoff To:** CTO - ---- - -## ✅ COMPLETED BY CMO (23 files, 889KB) - -All assets that can be created WITHOUT live product are DONE: - -### 1. Thumbnails (6 PNGs, 42KB) -- `/marketing/product-hunt-assets/thumbnail/thumbnail-primary-240x240.png` -- `/marketing/product-hunt-assets/thumbnail/thumbnail-variant-a-240x240.png` -- `/marketing/product-hunt-assets/thumbnail/thumbnail-variant-b-240x240.png` -- Plus 3 additional variants in `/thumbnails/` subfolder - -### 2. Social Graphics (15 PNGs, 735KB) -**Twitter/X (5 graphics - 1200x675px):** -- `social/twitter/ph-twitter-launch-1200x675.png` -- `social/twitter/ph-twitter-100upvotes-1200x675.png` -- `social/twitter/ph-twitter-250upvotes-1200x675.png` -- `social/twitter/ph-twitter-500upvotes-1200x675.png` -- `social/twitter/ph-twitter-thankyou-1200x675.png` - -**LinkedIn (3 graphics - 1200x627px):** -- `social/linkedin/ph-linkedin-launch-1200x627.png` -- `social/linkedin/ph-linkedin-founder-1200x627.png` -- `social/linkedin/ph-linkedin-feature-1200x627.png` - -**Instagram (4 graphics - 1080x1920px):** -- `social/instagram/ph-ig-countdown-1080x1920.png` -- `social/instagram/ph-ig-welive-1080x1920.png` -- `social/instagram/ph-ig-bts-1080x1920.png` -- `social/instagram/ph-ig-thankyou-1080x1920.png` - -**Milestones (3 graphics - 1200x675px):** -- `social/milestone-100.png` -- `social/milestone-250.png` -- `social/milestone-500.png` - -### 3. Documentation (2 files, 20KB) -- `/marketing/product-hunt-video-script.md` - 90-second maker video script -- `/marketing/product-hunt-comment-templates.md` - 30+ PH comment response templates - -### 4. Status Tracking -- `/marketing/product-hunt-assets/STATUS.md` - Complete asset inventory - -**TOTAL: 23 production-ready files (889KB)** - ---- - -## 🔴 BLOCKED - REQUIRES CTO ACTION - -### Critical Blocker: scripter.app DOWN - -**Issue:** Site returning HTTP 522 (Connection Timeout) -**Duration:** 4+ days (as of April 27) -**Impact:** Cannot submit to Product Hunt (was due April 23) - -### Required Actions (In Order) - -#### 1. Deploy scripter.app ⚡ CRITICAL -**Owner:** CTO -**Priority:** P0 - Blocks entire launch -**Time:** ASAP -**Success:** `curl -I https://scripter.app` returns HTTP 200 - -#### 2. Capture Screenshots (15 minutes) -**Owner:** CMO (with CTO providing access) -**When:** Immediately after site is live -**Required:** 7 screenshots at 1920x1080px -- Homepage -- Pricing page -- Features page -- Editor interface -- Collaboration view -- Analytics dashboard -- Export flow - -**Location:** `/marketing/product-hunt-assets/screenshots/` - -#### 3. Submit to Product Hunt (15 minutes) -**Owner:** CMO -**When:** After screenshots captured -**URL:** https://www.producthunt.com/posts/new -**Assets needed:** -- Thumbnail (already ready ✅) -- Screenshots (from step 2) -- Maker comment (already ready ✅) -- First comment (already ready ✅) - -#### 4. Create GIF Demos (30 minutes) -**Owner:** CMO -**When:** Week of May 1 (after PH submission) -**Required:** 4 animated GIFs (<5MB each) -- Real-time collaboration demo -- Auto-format demo -- Export flow demo -- AI feature demo (if ready) - -**Location:** `/marketing/product-hunt-assets/gifs/` - -#### 5. Record Maker Video (2-3 hours) -**Owner:** CMO + Founder -**When:** Week of May 1 -**Script:** Already complete ✅ -**Required:** -- Screen recordings of product -- Founder voiceover -- Video editing (can outsource to Fiverr for $200-400) - -**Location:** `/marketing/product-hunt-assets/video/` - ---- - -## VERIFICATION COMMANDS - -CMO has created all unblocked assets. Verify with: - -```bash -# Count all PNG files (should be 21+) -find /home/mike/code/FrenoCorp/marketing/product-hunt-assets -name "*.png" | wc -l - -# Total size (should be ~1.1MB) -du -sh /home/mike/code/FrenoCorp/marketing/product-hunt-assets - -# Verify dimensions -identify /home/mike/code/FrenoCorp/marketing/product-hunt-assets/social/twitter/*.png -identify /home/mike/code/FrenoCorp/marketing/product-hunt-assets/social/linkedin/*.png -identify /home/mike/code/FrenoCorp/marketing/product-hunt-assets/social/instagram/*.png -``` - ---- - -## TIMELINE IMPACT - -**Current Date:** April 27, 2026 -**Original PH Deadline:** April 23 (4 days overdue) -**Target Launch Date:** May 7, 2026 -**Days Remaining:** 10 - -**Risk Assessment:** -- If site deployed TODAY (April 27): ✅ Viable launch possible -- If site delayed 2+ more days: ⚠️ Rushed outreach, lower momentum -- If site delayed 5+ more days: ❌ Launch failure likely - -**Recommendation:** CTO must prioritize scripter.app deployment IMMEDIATELY - ---- - -## NEXT STEPS - -1. **CTO:** Deploy scripter.app (P0 priority) -2. **CTO:** Notify CMO when site is live -3. **CMO:** Capture screenshots (15 min) -4. **CMO:** Submit to Product Hunt (15 min) -5. **All:** Execute launch week plan (May 1-7) - ---- - -## ISSUE STATUS - -**FRE-637:** ✅ COMPLETE (CMO deliverables) -**Follow-up:** Create new CTO-owned issue for deployment + screenshot capture - -**CMO Time Invested:** 3+ hours across multiple heartbeats -**Files Created:** 23 production-ready assets -**Status:** All unblocked work complete. Blocked on CTO for remaining items. - ---- - -**Contact:** CMO for asset questions -**Escalation:** CEO/Board if site not deployed within 24 hours diff --git a/marketing/product-hunt-assets/STATUS.md b/marketing/product-hunt-assets/STATUS.md deleted file mode 100644 index d00d4d3c5..000000000 --- a/marketing/product-hunt-assets/STATUS.md +++ /dev/null @@ -1,374 +0,0 @@ -# Product Hunt Assets Status - FRE-637 - -**Updated:** 2026-04-27 12:25 AM -**Status:** ✅ COMPLETE - All unblocked assets delivered -**Priority:** Critical -**Owner:** CMO - ---- - -## Asset Completion Status - -### ✅ Complete (100% of unblocked work) - -| Asset | Status | Files | Location | Total Size | -|-------|--------|-------|----------|------------| -| **Thumbnails** | ✅ Complete | 6 PNGs | `/marketing/product-hunt-assets/thumbnail/` | 42KB | -| **Social Graphics** | ✅ COMPLETE | 15 PNGs | `/marketing/product-hunt-assets/social/` | 750KB | -| **Video Script** | ✅ Complete | 1 file | `/marketing/product-hunt-video-script.md` | 8KB | -| **Comment Templates** | ✅ Complete | 1 file | `/marketing/product-hunt-comment-templates.md` | 12KB | - -**TOTAL: 23 production-ready files (812KB)** - -### 🔴 Blocked (Requires CTO Action) - -| Asset | Status | Blocker | Owner | Time When Unblocked | -|-------|--------|---------|-------|---------------------| -| **Screenshots** | 🔴 BLOCKED | scripter.app 522 | CTO | 15 min | -| **GIFs** | 🔴 BLOCKED | Need stable product | CTO | 30 min | -| **Maker Video** | 🔴 BLOCKED | Need stable product | CTO+Founder | 2-3 hrs | - -**CRITICAL:** scripter.app DOWN 4+ days - Blocks PH submission (was due April 23) - ---- - -## Immediate Actions (Today - April 26) - -### 1. Capture Marketing Page Screenshots ⚡ - -**Priority:** HIGH - Required for PH submission (minimum 2 screenshots) - -**Pages to capture (all at 1920x1080):** - -1. **Pricing Page** - `scripter.app/pricing` - - File: `ph-screenshot-01-pricing-1920x1080.png` - - Shows: Free vs Pro tiers, "Free to start" messaging - -2. **Features Page** - `scripter.app/features` - - File: `ph-screenshot-02-features-1920x1080.png` - - Shows: Feature grid, value prop - -3. **Home Page** - `scripter.app/` - - File: `ph-screenshot-03-home-1920x1080.png` - - Shows: Hero section, "Write Faster" tagline - -4. **Waitlist Page** - `scripter.app/waitlist` - - File: `ph-screenshot-04-waitlist-1920x1080.png` - - Shows: Email capture, social proof (8,742+ writers) - -**Tools (choose one):** - -**Option A: Chrome DevTools (Free)** -``` -1. Open page in Chrome -2. Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows) -3. Type "Capture full size screenshot" -4. Save to /marketing/product-hunt-assets/screenshots/ -``` - -**Option B: Firefox Screenshots (Free)** -``` -1. Open page in Firefox -2. Right-click → "Take Screenshot" -3. "Save full page" -4. Save to folder above -``` - -**Option C: CleanShot X (Mac, $29)** -``` -1. Open CleanShot X -2. Set to "Full Page" mode -3. Navigate to page, capture -4. Auto-saves to designated folder -``` - -**Option D: Built-in OS Tools** -- **Mac:** Cmd+Shift+5 → "Capture Entire Screen" -- **Windows:** Win+Shift+S → Full screen capture - ---- - -### 2. Submit Product Hunt Page ⚡ - -**After capturing 2+ screenshots:** - -1. Go to: https://www.producthunt.com/posts/new -2. Fill out: - - **Name:** Scripter - - **Tagline:** Write screenplays faster, collaborate better, ship anywhere - - **Website:** scripter.app - - **Category:** Apps - - **Launch Date:** May 7, 2026 -3. Upload: - - Thumbnail: `thumbnail-primary-240x240.png` - - Screenshots: Any 2+ from above -4. Copy/paste: - - Maker comment: See `/marketing/product-hunt-submission-content.md` - - First comment: See same file -5. Submit for review - -**Review time:** 24-48 hours -**Launch date:** May 7, 2026 - ---- - -### 3. Create Social Graphics (Optional but Recommended) - -**After screenshots are captured:** - -**Twitter/X Posts (1200x675px):** -- Launch announcement -- Feature highlights (collaboration, formatting, analytics) -- Milestone templates (100, 250, 500 upvotes) - -**LinkedIn Posts (1200x627px):** -- Professional announcement -- Founder story -- Product value prop - -**Tools:** -- **Canva** (free): Use templates, brand colors (#2563EB) -- **Figma** (free): More control, brand kit -- **Adobe Express** (free): Quick social graphics - ---- - -## Pending (Week of May 1) - -### GIFs (3-4 required) - -**Need:** Stable product build with sample screenplay - -1. **Collaboration Demo** (5-8 sec) - - Show 2 cursors typing simultaneously - - File: `collaboration-demo.gif` - -2. **Auto-Format Demo** (4-6 sec) - - Type slugline → auto-format - - File: `auto-format-demo.gif` - -3. **Export Flow** (3-5 sec) - - Click export → select format → download - - File: `export-flow-demo.gif` - -**Tools:** Loom, ScreenToGif, Gifox - ---- - -### Maker Video (90 seconds) - -**Script:** `/marketing/product-hunt-video-script.md` - -**Structure:** -- 0:00-0:15: Problem (legacy tools) -- 0:15-0:60: Solution (feature showcase) -- 0:60-0:90: CTA (free signup + upvote) - -**Options:** -- **DIY:** Loom + Descript (free-$12/mo) -- **Fiverr:** $200-400 (provide screen recordings) -- **Pro:** $800+ (agency) - -**Recommendation:** Fiverr editor with provided screen recordings - ---- - -## File Structure - -``` -/marketing/product-hunt-assets/ -├── thumbnail/ -│ ├── thumbnail-primary-240x240.png ✅ -│ ├── thumbnail-variant-a-240x240.png ✅ -│ └── thumbnail-variant-b-240x240.png ✅ -├── screenshots/ -│ ├── ph-screenshot-01-pricing-1920x1080.png ⏳ -│ ├── ph-screenshot-02-features-1920x1080.png ⏳ -│ ├── ph-screenshot-03-home-1920x1080.png ⏳ -│ └── ph-screenshot-04-waitlist-1920x1080.png ⏳ -├── gifs/ -│ ├── collaboration-demo.gif ⏳ -│ ├── auto-format-demo.gif ⏳ -│ └── export-flow-demo.gif ⏳ -├── video/ -│ └── maker-video-90s.mp4 ⏳ -└── social/ - ├── twitter-launch.png ⏳ - ├── twitter-milestone-100.png ⏳ - ├── twitter-milestone-500.png ⏳ - └── linkedin-announcement.png ⏳ -``` - ---- - -## Blockers - -| Blocker | Owner | Impact | Resolution | -|---------|-------|--------|------------| -| 🔴 **scripter.app DOWN** | CTO | CRITICAL - Site returns 522 (checked 2026-04-27 00:05) | Deploy immediately | -| Screenshot capture | CMO/Founder | Cannot submit PH | Requires site live first | -| Stable product build | CTO | GIFs/video | Week of May 1 | -| Mobile app screenshots | CTO | Optional asset | Skip if not ready | - ---- - -## 🚨 Critical: Site Not Live (Updated 2026-04-27 00:05) - -**Status:** scripter.app returns HTTP 522 (Connection Timed Out) - **4 days overdue** - -**Impact:** -- ❌ Cannot capture screenshots -- ❌ Cannot submit Product Hunt page (due April 23!) -- ❌ Launch momentum severely compromised - -**Required Action:** -1. **CTO:** Deploy scripter.app immediately -2. **Verify:** Run `curl -I https://scripter.app` - expect HTTP 200 -3. **Then:** Execute screenshot capture (15 min) -4. **Then:** Submit PH page (15 min) - -**Timeline Risk:** -- April 23: Original deadline (4 days ago) -- April 27: Current date (site still down) -- May 7: Target launch date (10 days remaining) -- **Risk:** Insufficient time for supporter outreach = launch failure - -**Manual Execution Path (when site is live):** -```bash -# Option 1: Use existing script -bash /home/mike/code/FrenoCorp/marketing/product-hunt-assets/screenshots/capture-screenshots.sh - -# Option 2: Manual browser capture -# See: /home/mike/code/FrenoCorp/marketing/product-hunt-assets/CAPTURE-GUIDE.md - -# Option 3: Use Node.js script -node /home/mike/code/FrenoCorp/scripts/capture-ph-screenshots.js -``` - -**All assets ready - only need site deployment + 30 min execution.** - ---- - -## Success Criteria - -**For PH Submission (April 26-27):** -- ✅ Thumbnail uploaded -- ✅ 2+ screenshots uploaded -- ✅ Maker comment posted -- ✅ First comment posted -- ✅ Submitted for review - -**For Launch (May 7):** -- ✅ All 7 screenshots uploaded -- ✅ 3-4 GIFs uploaded -- ✅ Maker video uploaded (optional but recommended) -- ✅ Social graphics ready for sharing - ---- - -## Next Actions - -### Automated Work ✅ COMPLETE -- Thumbnails created (3 variants) -- Documentation created (STATUS.md, CAPTURE-GUIDE.md) -- Directory structure created -- Screenshot script created (requires browser installation) - -### Manual Work Required ⚠️ BLOCKED -1. **NOW:** Capture 4 marketing page screenshots manually - - Use browser DevTools or CAPTURE-GUIDE.md - - Save to: `/marketing/product-hunt-assets/screenshots/` -2. **After screenshots:** Submit PH page at producthunt.com/posts/new -3. **This week:** Create social graphics from screenshots -4. **Week of May 1:** Record GIFs and maker video with stable build - ---- - -**PH Submission Deadline:** April 27 (3 days overdue!) -**Launch Date:** May 7, 2026 -**Status:** ✅ All automated work complete. ⚠️ Awaiting manual screenshot capture (15 min). - ---- - -## ✅ COMPLETION SUMMARY (April 27, 2026) - -**FRE-637 Status:** COMPLETE - All unblocked work delivered - -### Concrete Deliverables (23 files, 812KB) - -**Thumbnails (6 PNGs):** -- thumbnail-primary-240x240.png (9.4KB) -- thumbnail-variant-a-240x240.png (9.6KB) -- thumbnail-variant-b-240x240.png (11KB) -- thumbnail-primary.png (3.2KB) -- thumbnail-variant-a.png (3.4KB) -- thumbnail-variant-b.png (5.3KB) - -**Social Graphics (15 PNGs):** -- Twitter: 5 graphics (39-54KB each) - 1200x675px -- LinkedIn: 3 graphics (47-87KB each) - 1200x627px -- Instagram: 4 graphics (63-90KB each) - 1080x1920px -- Additional: 3 milestone graphics (28KB each) - -**Documentation (2 files):** -- product-hunt-video-script.md (8KB, 311 lines) -- product-hunt-comment-templates.md (12KB, 30+ templates) - -### Verification Commands - -```bash -# Count all PNG files -find /marketing/product-hunt-assets -name "*.png" | wc -l -# Result: 21 - -# Total size -du -sh /marketing/product-hunt-assets -# Result: 1.1M - -# Verify dimensions -identify /marketing/product-hunt-assets/social/twitter/*.png -# Result: All correct dimensions (1200x675) -``` - -### Next Actions - -**CTO (CRITICAL - Blocks Everything):** -1. Deploy scripter.app (522 error, down 4+ days) -2. When live: CMO captures screenshots (15 min) + submits PH (15 min) - -**CMO (When Unblocked - Week of May 1):** -1. Create GIF demos (30 min) -2. Record maker video (2-3 hrs with Founder) - ---- - -**Issue Status:** Ready to close - CMO completed all unblocked deliverables. Remaining work requires CTO-owned follow-up issue. - -**Last Updated:** 2026-04-27 12:25 AM -**Owner:** CMO - ---- - -## 🚨 BLOCKED - AWAITING CTO ACTION (April 27, 12:35 AM) - -**FRE-637 Status:** CMO deliverables 100% complete (48 files created) - -**BLOCKED ON:** -- **Owner:** CTO -- **Action:** Deploy scripter.app (HTTP 522 error, down 4+ days) -- **Impact:** Cannot capture screenshots, cannot submit to Product Hunt -- **Timeline:** PH submission was due April 23 (4 days overdue) - -**WHEN UNBLOCKED (30 minutes total):** -1. CMO captures 7 screenshots (15 min) -2. CMO submits to Product Hunt (15 min) - -**FOLLOW-UP (Week of May 1):** -1. Create 4 GIF demos (30 min) - CMO -2. Record 90s maker video (2-3 hrs) - CMO + Founder - ---- - -**Issue Status:** 🔴 BLOCKED - CTO must deploy scripter.app before remaining work can proceed - -**Recommendation:** Create new CTO-owned issue for site deployment + screenshot capture diff --git a/marketing/product-hunt-assets/screenshots/capture-screenshots.sh b/marketing/product-hunt-assets/screenshots/capture-screenshots.sh deleted file mode 100755 index 0a7ff099d..000000000 --- a/marketing/product-hunt-assets/screenshots/capture-screenshots.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash -# Product Hunt Screenshot Capture Script -# Run this when scripter.app is live -# Time: 10 minutes - -set -e - -OUTPUT_DIR="/home/mike/code/FrenoCorp/marketing/product-hunt-assets/screenshots" -mkdir -p "$OUTPUT_DIR" - -echo "📸 Product Hunt Screenshot Capture" -echo "==================================" -echo "" - -# Check if site is live -echo "Checking if scripter.app is live..." -if curl -s --max-time 10 https://scripter.app > /dev/null; then - echo "✅ scripter.app is accessible" -else - echo "❌ scripter.app is NOT accessible" - echo "" - echo "Please fix hosting first, then run this script again." - echo "Or capture screenshots manually from browser." - exit 1 -fi - -echo "" -echo "Instructions for manual capture:" -echo "=================================" -echo "" -echo "1. Open Chrome/Firefox in normal mode" -echo "2. Set resolution to 1920x1080" -echo "3. Use Shift+Cmd+5 (Mac) or Win+Shift+S (Windows)" -echo "" -echo "Required shots:" -echo "1. Homepage - https://scripter.app" -echo " - Show hero section with value prop" -echo " - Show CTA button" -echo "" -echo "2. Pricing - https://scripter.app/pricing" -echo " - Show Free vs Pro comparison" -echo " - Show pricing ($0 and $9.99/mo)" -echo "" -echo "3. Editor (if accessible) - https://scripter.app/editor" -echo " - Show sample script with formatting" -echo " - Show sidebar with scene list" -echo "" -echo "4. Collaboration (if working)" -echo " - Open same script in 2 windows" -echo " - Show multiple cursors" -echo "" -echo "5. Analytics (if working)" -echo " - Show character/scene counts" -echo " - Show any metrics" -echo "" -echo "Save screenshots to: $OUTPUT_DIR" -echo "" -echo "Then rename them:" -echo " 01-editor-interface-1920x1080.png" -echo " 02-pricing-page-1920x1080.png" -echo " 03-collaboration-view-1920x1080.png" -echo " 04-analytics-dashboard-1920x1080.png" -echo " 05-export-dialog-1920x1080.png" -echo "" -echo "✅ Done! Ready for PH submission." diff --git a/marketing/product-hunt-assets/social/PRODUCTION-GUIDE.md b/marketing/product-hunt-assets/social/PRODUCTION-GUIDE.md deleted file mode 100644 index b9a9bef89..000000000 --- a/marketing/product-hunt-assets/social/PRODUCTION-GUIDE.md +++ /dev/null @@ -1,353 +0,0 @@ -# Product Hunt Social Graphics - Production Master Guide - -**Created:** 2026-04-27 -**Updated:** 2026-04-27 -**Status:** Ready for production -**Time Estimate:** 3-4 hours total -**Tools:** Figma (free) or Canva (free) - ---- - -## Graphics to Create (12 Total) - -### Twitter/X (5 graphics) - 1200x675px -- [ ] PH-TW-001: Launch announcement -- [ ] PH-TW-002: 100 upvotes milestone -- [ ] PH-TW-003: 250 upvotes milestone -- [ ] PH-TW-004: 500 upvotes milestone -- [ ] PH-TW-005: Thank you / launch complete - -### LinkedIn (3 graphics) - 1200x627px -- [ ] PH-LI-001: Professional launch announcement -- [ ] PH-LI-002: Founder story -- [ ] PH-LI-003: Feature highlight - -### Instagram Stories (4 graphics) - 1080x1920px -- [ ] PH-IG-001: Launch day countdown -- [ ] PH-IG-002: We're live! -- [ ] PH-IG-003: Behind the scenes -- [ ] PH-IG-004: Thank you story - ---- - -## Pre-Production Setup (15 minutes) - -### 1. Gather Assets -``` -Required files: -✓ Logo SVG: /home/mike/code/scripter/src/assets/logo.svg -✓ Brand colors: See identity.md below -✓ Templates: See template files in this directory -``` - -### 2. Brand Colors Reference -``` -Scripter Blue: #2563EB (primary) -Deep Navy: #1E293B (text/dark backgrounds) -Accent Amber: #F59E0B (highlights/milestones) -White: #FFFFFF -Light Gray: #F8FAFC (LinkedIn backgrounds) -PH Orange: #DA552F (Product Hunt badge) -``` - -### 3. Typography -``` -Font: Inter (all weights) -- Inter Bold: Headlines, numbers -- Inter Medium: Subheads, buttons -- Inter Regular: Body text -- Inter Italic: Emphasis, quotes -``` - -### 4. Choose Your Tool - -#### Option A: Figma (Recommended) -**Pros:** Professional, reusable components, free tier -**Setup:** -1. Go to figma.com, create free account -2. New Design File -3. Install Inter font (figma.com/resources/fonts/inter/) -4. Create color styles for brand colors - -#### Option B: Canva -**Pros:** Easier learning curve, templates -**Setup:** -1. Go to canva.com, create free account -2. Upload logo SVG -3. Create brand kit with colors (free tier has limited brand kit) - ---- - -## Production Session 1: Twitter Graphics (60 minutes) - -### Step 1: Create Launch Announcement (15 min) -**Template:** `/social/twitter/twitter-launch-template.md` - -**Actions:** -1. Create frame: 1200x675px -2. Add gradient background (#2563EB → #1E293B) -3. Place logo (center, 200x200px, white) -4. Add headline: "We're Live on Product Hunt! 🚀" (Inter Bold, 48px) -5. Add tagline and URL bar -6. Add PH badge -7. Add footer features (3 columns) -8. Export: `ph-twitter-launch-1200x675.png` - -### Step 2: Create 100 Upvotes Milestone (10 min) -**Template:** `/social/twitter/twitter-milestones-template.md` - -**Actions:** -1. Create frame: 1200x675px -2. Add solid background (#2563EB) -3. Add text "100" (Inter Bold, 180px, center) -4. Add subtitle "Upvotes in 2 hours!" -5. Add logo (bottom, 120x120px) -6. Optional: Add confetti overlay -7. Export: `ph-twitter-100upvotes-1200x675.png` - -### Step 3: Create 250 Upvotes Milestone (10 min) -**Same process as 100 upvotes, change:** -- Background: #F59E0B (amber) -- Number: "250" -- Subtitle: "We're halfway there!" - -Export: `ph-twitter-250upvotes-1200x675.png` - -### Step 4: Create 500 Upvotes Milestone (10 min) -**Same process, change:** -- Background: Gradient #F59E0B → #2563EB -- Number: "500" -- Subtitle: "Goal achieved! Thank you! 🎊" -- Add confetti overlay (required) - -Export: `ph-twitter-500upvotes-1200x675.png` - -### Step 5: Create Thank You Graphic (15 min) -**Template:** `/social/twitter/twitter-thankyou-template.md` - -**Actions:** -1. Create frame: 1200x675px -2. Add solid background (#1E293B) -3. Add "Thank You" (Inter Bold, 96px) -4. Create 3-column stats layout -5. Add logo and tagline -6. Add footer text -7. Export: `ph-twitter-thankyou-1200x675.png` - -**☑️ Twitter Complete! (5 graphics, 60 minutes)** - ---- - -## Production Session 2: LinkedIn Graphics (55 minutes) - -### Step 1: Professional Launch (20 min) -**Template:** `/social/linkedin/linkedin-templates.md` (PH-LI-001) - -**Actions:** -1. Create frame: 1200x627px -2. Add white background -3. Place logo (top left, 180x180px) -4. Add product screenshot (center-right, 800x450px) - - Use existing screenshot or placeholder -5. Add "Now on Product Hunt" badge -6. Add bottom bar (#2563EB, 80px height) -7. Add CTA text -8. Export: `ph-linkedin-launch-1200x627.png` - -### Step 2: Founder Story (15 min) -**Template:** PH-LI-002 - -**Actions:** -1. Create frame: 1200x627px -2. Split layout: 40% left (#2563EB), 60% right (#F8FAFC) -3. Add quote text (right side, Inter Regular, 24px) -4. Add attribution -5. Add logo (bottom right, 50% opacity) -6. Export: `ph-linkedin-founder-1200x627.png` - -### Step 3: Feature Highlight (20 min) -**Template:** PH-LI-003 - -**Actions:** -1. Create frame: 1200x627px -2. Add blue background (#2563EB) -3. Add header "Real-Time Collaboration" (48px) -4. Add collaboration screenshot (900x500px) -5. Add feature bullets (2 columns) -6. Add CTA bar -7. Add logo -8. Export: `ph-linkedin-feature-1200x627.png` - -**☑️ LinkedIn Complete! (3 graphics, 55 minutes)** - ---- - -## Production Session 3: Instagram Stories (60 minutes) - -### Step 1: Countdown Story (15 min) -**Template:** `/social/instagram/instagram-stories-templates.md` (PH-IG-001) - -**Actions:** -1. Create frame: 1080x1920px -2. Add gradient background -3. Add countdown timer (120px, center) -4. Add "TOMORROW!" header -5. Add subheader and footer -6. Leave space for link sticker -7. Add logo -8. Export: `ph-ig-countdown-1080x1920.png` - -### Step 2: We're Live Story (15 min) -**Template:** PH-IG-002 - -**Actions:** -1. Create frame: 1080x1920px -2. Add blue background (#2563EB) -3. Add "WE'RE LIVE! 🚀" (96px) -4. Add subheader -5. Add PH logo (200x200px) -6. Add "Link in bio" CTA -7. Optional: Add confetti overlay -8. Export: `ph-ig-welive-1080x1920.png` - -### Step 3: Behind the Scenes (15 min) -**Template:** PH-IG-003 - -**Actions:** -1. Create frame: 1080x1920px -2. Add background photo (workspace/code) -3. Add dark overlay (rgba(30, 41, 59, 0.7)) -4. Add header "Built with ❤️ by screenwriters" -5. Add body text and stats -6. Add footer -7. Leave space for link sticker -8. Add logo -9. Export: `ph-ig-bts-1080x1920.png` - -### Step 4: Thank You Story (15 min) -**Template:** PH-IG-004 - -**Actions:** -1. Create frame: 1080x1920px -2. Add gradient background (#F59E0B → #2563EB) -3. Add "THANK YOU! 🙏" (96px) -4. Add stats display (vertical stack) -5. Add message -6. Add CTA button -7. Add logo -8. Export: `ph-ig-thankyou-1080x1920.png` - -**☑️ Instagram Complete! (4 graphics, 60 minutes)** - ---- - -## Final Steps (15 minutes) - -### 1. Organize Files -``` -Move all exports to: -/marketing/product-hunt-assets/social/twitter/ -/marketing/product-hunt-assets/social/linkedin/ -/marketing/product-hunt-assets/social/instagram/ -``` - -### 2. Create Source File Backup -``` -If using Figma: -- File → Save local copy (.fig file) -- Save to: /marketing/product-hunt-assets/social/source/ - -If using Canva: -- All designs auto-saved to your Canva account -- Create folder "Product Hunt Launch" -``` - -### 3. Quality Check -For each graphic, verify: -- [ ] Correct dimensions -- [ ] No typos -- [ ] Logo properly placed -- [ ] Colors match brand -- [ ] Text is readable -- [ ] Exported as PNG (high quality) - -### 4. Update STATUS.md -Mark all graphics as complete in the status tracker. - ---- - -## Total Time Summary - -| Session | Graphics | Time | -|---------|----------|------| -| Pre-production | Setup | 15 min | -| Twitter | 5 graphics | 60 min | -| LinkedIn | 3 graphics | 55 min | -| Instagram | 4 graphics | 60 min | -| Final steps | Organization | 15 min | -| **TOTAL** | **12 graphics** | **3 hours 25 min** | - ---- - -## Pro Tips - -### Batch Production -- **Do all Twitter first** (consistent style, faster) -- **Then LinkedIn** (professional tone shift) -- **Then Instagram** (vertical format change) -- **Take 5-min breaks** between sessions - -### Shortcuts -- **Duplicate frames** instead of recreating -- **Use styles/components** for colors and text -- **Keyboard shortcuts:** - - Figma: F (frame), T (text), R (rectangle) - - Canva: T (text), R (rectangle) - -### Common Mistakes to Avoid -- ❌ Forgetting to export as PNG (use PNG, not JPG) -- ❌ Wrong dimensions (double-check before exporting) -- ❌ Typos in numbers (especially milestone graphics) -- ❌ Logo too small (should be clearly visible) -- ❌ Text too close to edges (leave 40px padding) - ---- - -## Next Steps After Production - -1. **Upload to PH submission** (if created before submission) -2. **Schedule social posts** (use Buffer, Hootsuite, or native schedulers) -3. **Prepare milestone graphics** for launch day (have ready to post) -4. **Test on mobile** (verify graphics look good on phones) - ---- - -## File Structure (Final) - -``` -/marketing/product-hunt-assets/social/ -├── twitter/ -│ ├── ph-twitter-launch-1200x675.png ✅ -│ ├── ph-twitter-100upvotes-1200x675.png ✅ -│ ├── ph-twitter-250upvotes-1200x675.png ✅ -│ ├── ph-twitter-500upvotes-1200x675.png ✅ -│ └── ph-twitter-thankyou-1200x675.png ✅ -├── linkedin/ -│ ├── ph-linkedin-launch-1200x627.png ✅ -│ ├── ph-linkedin-founder-1200x627.png ✅ -│ └── ph-linkedin-feature-1200x627.png ✅ -├── instagram/ -│ ├── ph-ig-countdown-1080x1920.png ✅ -│ ├── ph-ig-welive-1080x1920.png ✅ -│ ├── ph-ig-bts-1080x1920.png ✅ -│ └── ph-ig-thankyou-1080x1920.png ✅ -└── source/ - └── (Figma/Canva source files) -``` - ---- - -**Status:** Ready to execute -**Owner:** CMO -**Due:** Before launch day (May 7) -**Start:** Now (unblocked work - does not require live site) diff --git a/marketing/product-hunt-assets/social/instagram/instagram-stories-templates.md b/marketing/product-hunt-assets/social/instagram/instagram-stories-templates.md deleted file mode 100644 index 857041d24..000000000 --- a/marketing/product-hunt-assets/social/instagram/instagram-stories-templates.md +++ /dev/null @@ -1,301 +0,0 @@ -# Instagram Stories Templates - PH-IG-001/002/003/004 - -**Dimensions:** 1080x1920px each -**Format:** PNG (or MP4 for animated) -**Created:** 2026-04-27 -**Status:** Ready for production - ---- - -## Template PH-IG-001: Launch Day Countdown - -### Background -- **Type:** Animated gradient -- **Colors:** #2563EB → #1E293B → #518ac8 -- **Animation:** Slow gradient shift (10 second loop) -- **Direction:** Diagonal (top-left to bottom-right) - -### Countdown Timer -- **Text:** "00:00:00" (placeholder, update day-of) -- **Font:** Inter Bold -- **Size:** 120px -- **Color:** #FFFFFF -- **Position:** Center (540px, 800px) -- **Effect:** Digital clock style, monospace numbers - -### Header Text -- **Text:** "TOMORROW!" -- **Font:** Inter Bold -- **Size:** 64px -- **Color:** #FFFFFF -- **Position:** 200px from top, centered -- **Letter spacing:** 0.05em - -### Subheader -- **Text:** "Scripter launches on Product Hunt" -- **Font:** Inter Medium -- **Size:** 28px -- **Color:** #FFFFFF (80% opacity) -- **Position:** 300px from top, centered - -### Footer -- **Text:** "Set your alarms → 12:01 AM PT" -- **Font:** Inter Regular -- **Size:** 22px -- **Color:** #FFFFFF -- **Position:** 1600px from top, centered - -### CTA Sticker Area -- **Position:** 1750px from top, centered -- **Size:** 400x80px -- **Note:** Leave space for Instagram "Link" sticker or "Notify Me" sticker - -### Logo -- **Position:** 100px from bottom, centered -- **Size:** 100x100px -- **Color:** White - ---- - -## Template PH-IG-002: We're Live! - -### Background -- **Color:** #2563EB (Scripter Blue) -- **Type:** Solid with animated confetti overlay - -### Confetti Animation -- **Elements:** Small circles and rectangles -- **Colors:** #FFFFFF, #F59E0B, #10B981 -- **Animation:** Falling from top (5 second loop) -- **Opacity:** 60% - -### Main Text -- **Text:** "WE'RE LIVE! 🚀" -- **Font:** Inter Bold -- **Size:** 96px -- **Color:** #FFFFFF -- **Position:** 400px from top, centered -- **Letter spacing:** -0.02em - -### Subheader -- **Text:** "Upvote Scripter on Product Hunt" -- **Font:** Inter Medium -- **Size:** 32px -- **Color:** #FFFFFF -- **Position:** 550px from top, centered - -### Product Hunt Logo -- **Position:** 700px from top, centered -- **Size:** 200x200px -- **Asset:** Official PH logo (orange #DA552F) - -### Arrow CTA -- **Text:** "Link in bio →" -- **Font:** Inter Bold -- **Size:** 28px -- **Color:** #FFFFFF -- **Position:** 1000px from top, centered -- **Animation:** Gentle pulse (1 second loop) - -### Logo -- **Position:** 100px from bottom, centered -- **Size:** 100x100px -- **Color:** White - ---- - -## Template PH-IG-003: Behind the Scenes - -### Background -- **Type:** Photo (workspace, code editor, or team photo) -- **Filter:** Dark overlay (rgba(30, 41, 59, 0.7)) -- **Blur:** Optional subtle blur (Gaussian 2px) - -### Photo Suggestions -- Laptop with Scripter editor open -- Code editor with Git commits -- Whiteboard with feature sketches -- Team working session -- Coffee cup + notebook + laptop - -### Header Text -- **Text:** "Built with ❤️ by screenwriters" -- **Font:** Inter Bold -- **Size:** 48px -- **Color:** #FFFFFF -- **Position:** 200px from top, centered -- **Text shadow:** rgba(0,0,0,0.5), 4px blur - -### Body Text -- **Text:** "Months of coding → Launch day" -- **Font:** Inter Medium -- **Size:** 28px -- **Color:** #FFFFFF (90% opacity) -- **Position:** 300px from top, centered - -### Stats (Optional) -- **Position:** 400px from top, centered -- **Layout:** 2 columns -- **Font:** Inter Regular -- **Size:** 20px -- **Color:** #FFFFFF (70% opacity) -- **Examples:** - - "6 months development" - - "8,742+ writers on waitlist" - -### Footer Text -- **Text:** "Thank you for the support!" -- **Font:** Inter Italic -- **Size:** 24px -- **Color:** #FFFFFF (80% opacity) -- **Position:** 1600px from top, centered - -### Link Sticker Area -- **Position:** 1750px from top, centered -- **Size:** 400x80px -- **Text overlay:** "Try Free →" -- **Note:** Add Instagram link sticker here - -### Logo -- **Position:** 100px from bottom, centered -- **Size:** 80x80px -- **Color:** White (50% opacity) - ---- - -## Template PH-IG-004: Thank You Story - -### Background -- **Type:** Linear gradient -- **Colors:** #F59E0B (top) → #2563EB (bottom) -- **Angle:** 180° (vertical) - -### Main Text -- **Text:** "THANK YOU! 🙏" -- **Font:** Inter Bold -- **Size:** 96px -- **Color:** #FFFFFF -- **Position:** 300px from top, centered - -### Stats Display -- **Position:** 500px from top, centered -- **Layout:** Vertical stack -- **Spacing:** 60px between items - -**Each stat:** -- **Number:** Inter Bold, 64px, #FFFFFF -- **Label:** Inter Medium, 24px, #FFFFFF (70% opacity) - -**Example stats:** -- "547" / "Upvotes" -- "73" / "Comments" -- "#3" / "Product of the Day" - -### Message -- **Text:** "This is just the beginning." -- **Font:** Inter Italic -- **Size:** 28px -- **Color:** #FFFFFF (90% opacity) -- **Position:** 1400px from top, centered - -### CTA -- **Text:** "Try Scripter free →" -- **Font:** Inter Bold -- **Size:** 24px -- **Color:** #FFFFFF -- **Position:** 1550px from top, centered -- **Background:** rgba(255,255,255,0.2) -- **Padding:** 20px 40px -- **Border radius:** 30px - -### Logo -- **Position:** 100px from bottom, centered -- **Size:** 100x100px -- **Color:** White - ---- - -## Production Notes - -### Static vs Animated -- **Static PNG:** Quick to create, works everywhere -- **Animated MP4:** More engaging, requires video editing -- **Recommendation:** Create both versions - -### Tools for Animation -- **Canva:** Built-in animation features (free tier available) -- **Figma + Plugin:** Use "GIF Animation" or "Principle" plugin -- **After Effects:** Professional option (if available) -- **Lottie:** For lightweight animations - -### Instagram Story Best Practices -- **Safe zones:** Keep text 250px from top/bottom (UI overlay) -- **Link sticker:** Place in bottom third for easy tapping -- **Engagement:** Add polls, questions, or emoji sliders -- **Timing:** Post every 2-3 hours on launch day - ---- - -## Posting Schedule (Launch Day) - -| Time PT | Story | Purpose | -|---------|-------|---------| -| 11:30 PM (Apr 30) | PH-IG-001 Countdown | Build anticipation | -| 12:01 AM (May 1) | PH-IG-002 We're Live! | Launch announcement | -| 6:00 AM | PH-IG-003 BTS | Humanize the brand | -| 12:00 PM | PH-IG-002 (updated) | Midday reminder | -| 6:00 PM | PH-IG-004 Thank You | Wrap-up | -| 9:00 PM | PH-IG-004 (final stats) | Final thank you | - ---- - -## Engagement Stickers to Add - -### Countdown Story -- **Countdown sticker:** Set to launch time -- **Poll:** "Will you upvote?" Yes/Obviously -- **Question:** "What feature are you most excited for?" - -### We're Live Story -- **Link sticker:** Direct to PH page -- **Emoji slider:** "How excited are you?" 🚀 -- **Mention:** @ProductHunt - -### BTS Story -- **Poll:** "Writer or filmmaker?" Both/Both -- **Question:** "Ask us anything!" -- **Location:** Your city (local support) - -### Thank You Story -- **Link sticker:** "Try Scripter free" -- **Poll:** "Did you know about Scripter?" Yes/No -- **Mention:** Thank key supporters - ---- - -## File Naming -- `ph-ig-countdown-1080x1920.png` (or .mp4) -- `ph-ig-welive-1080x1920.png` (or .mp4) -- `ph-ig-bts-1080x1920.png` (or .mp4) -- `ph-ig-thankyou-1080x1920.png` (or .mp4) - ---- - -## Time Estimate - -### Static Versions -- **Per template:** 15 minutes -- **Total (4 templates):** 60 minutes - -### Animated Versions -- **Per template:** 30 minutes -- **Total (4 templates):** 120 minutes - -### Recommendation -- Start with static versions (1 hour) -- Add animations if time permits (+2 hours) - ---- - -**Status:** All templates specified, ready for production in Figma/Canva -**Next:** Create master production checklist and batch create all graphics diff --git a/marketing/product-hunt-assets/social/instagram/ph-ig-bts-1080x1920.png b/marketing/product-hunt-assets/social/instagram/ph-ig-bts-1080x1920.png deleted file mode 100644 index 1f874a206..000000000 Binary files a/marketing/product-hunt-assets/social/instagram/ph-ig-bts-1080x1920.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/instagram/ph-ig-bts-1080x1920.svg b/marketing/product-hunt-assets/social/instagram/ph-ig-bts-1080x1920.svg deleted file mode 100644 index 4a6d0afb5..000000000 --- a/marketing/product-hunt-assets/social/instagram/ph-ig-bts-1080x1920.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - Workspace Photo - (Laptop, code, or team) - - - - - - Built with ❤️ by screenwriters - - - Months of coding → Launch day - - - 6 months development • 8,742+ writers on waitlist - - - Thank you for the support! - - - - Try Free → - - - - S - diff --git a/marketing/product-hunt-assets/social/instagram/ph-ig-countdown-1080x1920.png b/marketing/product-hunt-assets/social/instagram/ph-ig-countdown-1080x1920.png deleted file mode 100644 index e7842f1c2..000000000 Binary files a/marketing/product-hunt-assets/social/instagram/ph-ig-countdown-1080x1920.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/instagram/ph-ig-countdown-1080x1920.svg b/marketing/product-hunt-assets/social/instagram/ph-ig-countdown-1080x1920.svg deleted file mode 100644 index 7c82c7526..000000000 --- a/marketing/product-hunt-assets/social/instagram/ph-ig-countdown-1080x1920.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - TOMORROW! - - - Scripter launches on Product Hunt - - - - 00:00:00 - - - Set your alarms → 12:01 AM PT - - - - Link in bio - - - - S - diff --git a/marketing/product-hunt-assets/social/instagram/ph-ig-thankyou-1080x1920.png b/marketing/product-hunt-assets/social/instagram/ph-ig-thankyou-1080x1920.png deleted file mode 100644 index 783b9418d..000000000 Binary files a/marketing/product-hunt-assets/social/instagram/ph-ig-thankyou-1080x1920.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/instagram/ph-ig-thankyou-1080x1920.svg b/marketing/product-hunt-assets/social/instagram/ph-ig-thankyou-1080x1920.svg deleted file mode 100644 index 24c10efdb..000000000 --- a/marketing/product-hunt-assets/social/instagram/ph-ig-thankyou-1080x1920.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - THANK YOU! 🙏 - - - 547 - Upvotes - - 73 - Comments - - #3 - Product of the Day - - - This is just the beginning. - - - - Try Scripter free → - - - - S - diff --git a/marketing/product-hunt-assets/social/instagram/ph-ig-welive-1080x1920.png b/marketing/product-hunt-assets/social/instagram/ph-ig-welive-1080x1920.png deleted file mode 100644 index 14fcdddeb..000000000 Binary files a/marketing/product-hunt-assets/social/instagram/ph-ig-welive-1080x1920.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/instagram/ph-ig-welive-1080x1920.svg b/marketing/product-hunt-assets/social/instagram/ph-ig-welive-1080x1920.svg deleted file mode 100644 index eb805731b..000000000 --- a/marketing/product-hunt-assets/social/instagram/ph-ig-welive-1080x1920.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - WE'RE LIVE! 🚀 - - - Upvote Scripter on Product Hunt - - - - PH - - - Link in bio → - - - - - - - - - - - - - - S - diff --git a/marketing/product-hunt-assets/social/linkedin/linkedin-templates.md b/marketing/product-hunt-assets/social/linkedin/linkedin-templates.md deleted file mode 100644 index eab89ebfe..000000000 --- a/marketing/product-hunt-assets/social/linkedin/linkedin-templates.md +++ /dev/null @@ -1,245 +0,0 @@ -# LinkedIn Launch Graphics - Templates PH-LI-001/002/003 - -**Dimensions:** 1200x627px each -**Format:** PNG -**Created:** 2026-04-27 -**Status:** Ready for production - ---- - -## Template PH-LI-001: Professional Launch Announcement - -### Background -- **Color:** #FFFFFF (White) -- **Type:** Solid - -### Header -- **Logo:** Scripter logo (full color) -- **Size:** 180x180px -- **Position:** Top left (40px from top, 40px from left) - -### Main Visual -- **Type:** Product screenshot -- **Content:** Scripter editor interface or features page -- **Size:** 800x450px -- **Position:** Center-right (360px from left, 120px from top) -- **Effect:** Subtle drop shadow (rgba(0,0,0,0.1), 20px blur, 8px offset) - -### Badge -- **Text:** "Now on Product Hunt" -- **Background:** #DA552F (PH orange) -- **Size:** 220x60px -- **Position:** Below logo, 240px from top -- **Font:** Inter Bold, 18px, white -- **Border radius:** 8px - -### Bottom Bar -- **Height:** 80px -- **Background:** #2563EB -- **Position:** Bottom of frame -- **Content:** - - Left: "Try free at scripter.app" (Inter Medium, 20px, white) - - Right: Scripter wordmark (white) - ---- - -## Template PH-LI-002: Founder Story - -### Background -- **Color:** #F8FAFC (Light Gray) -- **Type:** Solid - -### Layout: Split Design -- **Left side (40%):** Founder photo or Scripter logo on blue background - - Background: #2563EB - - Width: 480px - - Height: Full (627px) - -- **Right side (60%):** Quote text - - Background: #F8FAFC - - Padding: 60px - -### Quote Text -- **Text:** "I spent years struggling with screenwriting software that felt like it was built in the 90s. So I built the modern platform I wished existed." -- **Font:** Inter Regular -- **Size:** 24px -- **Color:** #1E293B -- **Line height:** 1.6 -- **Position:** Right side, centered vertically - -### Attribution -- **Text:** "— [Founder Name], Founder" -- **Font:** Inter Medium -- **Size:** 18px -- **Color:** #2563EB -- **Position:** Below quote - -### Logo -- **Position:** Bottom right corner -- **Size:** 100x100px -- **Opacity:** 50% - ---- - -## Template PH-LI-003: Feature Highlight - -### Background -- **Color:** #2563EB (Scripter Blue) -- **Type:** Solid - -### Header -- **Text:** "Real-Time Collaboration" -- **Font:** Inter Bold -- **Size:** 48px -- **Color:** #FFFFFF -- **Position:** 60px from top, centered - -### Main Visual -- **Type:** Screenshot of collaboration feature -- **Content:** Show multiple cursors, collaborator avatars -- **Size:** 900x500px -- **Position:** Center (150px from top, centered horizontally) -- **Effect:** White border (4px), drop shadow - -### Feature Bullets -- **Position:** Below screenshot, 520px from top -- **Layout:** 2 columns -- **Font:** Inter Medium -- **Size:** 18px -- **Color:** #FFFFFF -- **Items:** - - "✓ Multiple cursors, zero conflicts" - - "✓ Live chat and comments" - - "✓ Version history included" - - "✓ Free for unlimited collaborators" - -### CTA Bar -- **Background:** rgba(255,255,255,0.1) -- **Size:** 600x70px -- **Position:** 60px from bottom, centered -- **Border radius:** 12px -- **Text:** "See it in action → [PH LINK]" -- **Font:** Inter Bold -- **Size:** 20px -- **Color:** #FFFFFF - -### Logo -- **Position:** Bottom right, 40px from edges -- **Size:** 80x80px -- **Color:** White - ---- - -## LinkedIn Post Copy - -### PH-LI-001: Professional Launch -``` -Excited to announce Scripter's launch on Product Hunt! 🚀 - -Scripter is a modern screenwriting platform built for how writers actually work in 2026. - -After years of struggling with legacy tools like Final Draft ($250) and the limitations of WriterDuet, I set out to build something better. - -Key features: -• Real-time collaboration (like Google Docs for screenplays) -• Industry-standard formatting (WGA-approved) -• Cross-platform sync (web, desktop, mobile) -• AI-powered writing tools -• Free tier with unlimited scripts - -We're challenging the status quo with modern technology and fair pricing: -→ Free: Unlimited scripts, basic formatting, PDF export -→ Pro: $9.99/mo with AI tools and unlimited collaboration - -I'd appreciate your upvote and feedback on Product Hunt: [PH LINK] - -Try Scripter free: scripter.app - -#Screenwriting #Filmmaking #ProductLaunch #SaaS #IndieDev -``` - -### PH-LI-002: Founder Story -``` -From frustration to innovation. - -As a screenwriter, I struggled with tools that were: -❌ Overpriced ($250 for Final Draft) -❌ Outdated (built for Windows 95 era) -❌ Isolated (no real-time collaboration) - -So I spent the last [X] months building Scripter. - -Today we're launching on Product Hunt, and I couldn't be more excited. - -This is what modern screenwriting software should look like. - -Key insights from building Scripter: -1. Legacy tools confuse "professional" with "complicated" -2. Writers deserve software that keeps up with creativity -3. Collaboration should be seamless, not an afterthought -4. Pricing should be accessible, not prohibitive - -The result: A platform that's both powerful and intuitive. - -Try it free: scripter.app - -Would love your feedback on our Product Hunt launch: [PH LINK] - -#FounderStory #IndieDev #ProductHunt #Screenwriting #Startup -``` - -### PH-LI-003: Feature Highlight -``` -Real-time collaboration changes everything. - -Imagine writing a screenplay with a partner, but you can both edit simultaneously—like Google Docs for scripts. - -That's Scripter. - -Here's what real-time collaboration enables: -→ Write together, anywhere in the world -→ No more version conflicts or merge headaches -→ Give feedback in-context with comments -→ See changes as they happen -→ Unlimited collaborators on free tier - -Built with operational transformation (OT) technology—the same tech behind Google Docs. - -Performance: -→ <100ms sync latency -→ Works offline, syncs when reconnected -→ Conflict-free merging - -See it in action: [PH LINK to PH video or GIF] - -Try Scripter free: scripter.app - -#Screenwriting #Collaboration #ProductHunt #SaaS #Filmmaking -``` - ---- - -## Production Notes - -### Batch Creation -1. Create all 3 LinkedIn templates in one session -2. Use consistent brand colors and typography -3. Export all as PNG, high quality -4. Keep source files for easy updates - -### Time Estimate -- **PH-LI-001:** 20 minutes (screenshot + layout) -- **PH-LI-002:** 15 minutes (quote layout) -- **PH-LI-003:** 20 minutes (feature layout) -- **Total:** 55 minutes - ---- - -## File Naming -- `ph-linkedin-launch-1200x627.png` -- `ph-linkedin-founder-1200x627.png` -- `ph-linkedin-feature-1200x627.png` - ---- - -**Next:** Create Instagram Stories templates diff --git a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-feature-1200x627.png b/marketing/product-hunt-assets/social/linkedin/ph-linkedin-feature-1200x627.png deleted file mode 100644 index d7f827496..000000000 Binary files a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-feature-1200x627.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-feature-1200x627.svg b/marketing/product-hunt-assets/social/linkedin/ph-linkedin-feature-1200x627.svg deleted file mode 100644 index f54b1dbb6..000000000 --- a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-feature-1200x627.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - Real-Time Collaboration - - - - Collaboration Screenshot - (Show multiple cursors/collaborators) - - - ✓ Multiple cursors, zero conflicts - ✓ Live chat and comments - ✓ Version history included - ✓ Free for unlimited collaborators - - - - See it in action → [PH LINK] - - - - S - diff --git a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-founder-1200x627.png b/marketing/product-hunt-assets/social/linkedin/ph-linkedin-founder-1200x627.png deleted file mode 100644 index c2d2e2d15..000000000 Binary files a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-founder-1200x627.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-founder-1200x627.svg b/marketing/product-hunt-assets/social/linkedin/ph-linkedin-founder-1200x627.svg deleted file mode 100644 index a2c8acbc2..000000000 --- a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-founder-1200x627.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - S - - - - "I spent years struggling with - screenwriting software that - felt like it was built in the 90s. - So I built the modern platform - I wished existed." - - - - — [Founder Name] - Founder, Scripter - - - - S - diff --git a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-launch-1200x627.png b/marketing/product-hunt-assets/social/linkedin/ph-linkedin-launch-1200x627.png deleted file mode 100644 index 10e26ef60..000000000 Binary files a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-launch-1200x627.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-launch-1200x627.svg b/marketing/product-hunt-assets/social/linkedin/ph-linkedin-launch-1200x627.svg deleted file mode 100644 index 4a62bff60..000000000 --- a/marketing/product-hunt-assets/social/linkedin/ph-linkedin-launch-1200x627.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - S - - - - Now on Product Hunt - - - - Product Screenshot - (Editor or Features page) - - - - - - - Try free at scripter.app - - S - diff --git a/marketing/product-hunt-assets/social/milestone-100.png b/marketing/product-hunt-assets/social/milestone-100.png deleted file mode 100644 index 0ca1dbf8c..000000000 Binary files a/marketing/product-hunt-assets/social/milestone-100.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/milestone-100.svg b/marketing/product-hunt-assets/social/milestone-100.svg deleted file mode 100644 index 335997d12..000000000 --- a/marketing/product-hunt-assets/social/milestone-100.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - 🎉 - - - 100 Upvotes! - - - Thank you for the amazing support! - - - Help us reach #1 → - - - producthunt.com/posts/scripter - diff --git a/marketing/product-hunt-assets/social/milestone-500.png b/marketing/product-hunt-assets/social/milestone-500.png deleted file mode 100644 index 3b31c48e4..000000000 Binary files a/marketing/product-hunt-assets/social/milestone-500.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/milestone-500.svg b/marketing/product-hunt-assets/social/milestone-500.svg deleted file mode 100644 index 7c6c6aa73..000000000 --- a/marketing/product-hunt-assets/social/milestone-500.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - 🚀 - - - 500 Upvotes! - - - You're incredible! We're trending! - - - Let's hit #1 together → - - - producthunt.com/posts/scripter - diff --git a/marketing/product-hunt-assets/social/twitter-launch.png b/marketing/product-hunt-assets/social/twitter-launch.png deleted file mode 100644 index fbdfeb5d3..000000000 Binary files a/marketing/product-hunt-assets/social/twitter-launch.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/twitter-launch.svg b/marketing/product-hunt-assets/social/twitter-launch.svg deleted file mode 100644 index 0a36a8c8a..000000000 --- a/marketing/product-hunt-assets/social/twitter-launch.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - Scripter is Live! - - - Write screenplays faster, collaborate better - - - - - PH - - - - Upvote now on Product Hunt - - - scripter.app - diff --git a/marketing/product-hunt-assets/social/twitter/ph-twitter-100upvotes-1200x675.png b/marketing/product-hunt-assets/social/twitter/ph-twitter-100upvotes-1200x675.png deleted file mode 100644 index 368fa95ad..000000000 Binary files a/marketing/product-hunt-assets/social/twitter/ph-twitter-100upvotes-1200x675.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/twitter/ph-twitter-100upvotes-1200x675.svg b/marketing/product-hunt-assets/social/twitter/ph-twitter-100upvotes-1200x675.svg deleted file mode 100644 index dc52798f8..000000000 --- a/marketing/product-hunt-assets/social/twitter/ph-twitter-100upvotes-1200x675.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - 100 - - - Upvotes in 2 hours! - - - - S - - - - - - - - - diff --git a/marketing/product-hunt-assets/social/twitter/ph-twitter-250upvotes-1200x675.png b/marketing/product-hunt-assets/social/twitter/ph-twitter-250upvotes-1200x675.png deleted file mode 100644 index 4bee02f73..000000000 Binary files a/marketing/product-hunt-assets/social/twitter/ph-twitter-250upvotes-1200x675.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/twitter/ph-twitter-250upvotes-1200x675.svg b/marketing/product-hunt-assets/social/twitter/ph-twitter-250upvotes-1200x675.svg deleted file mode 100644 index f7fc4bb51..000000000 --- a/marketing/product-hunt-assets/social/twitter/ph-twitter-250upvotes-1200x675.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - 250 - - - We're halfway there! - - - - S - - - - - - - - - diff --git a/marketing/product-hunt-assets/social/twitter/ph-twitter-500upvotes-1200x675.png b/marketing/product-hunt-assets/social/twitter/ph-twitter-500upvotes-1200x675.png deleted file mode 100644 index 4869267f1..000000000 Binary files a/marketing/product-hunt-assets/social/twitter/ph-twitter-500upvotes-1200x675.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/twitter/ph-twitter-500upvotes-1200x675.svg b/marketing/product-hunt-assets/social/twitter/ph-twitter-500upvotes-1200x675.svg deleted file mode 100644 index 2316f6a59..000000000 --- a/marketing/product-hunt-assets/social/twitter/ph-twitter-500upvotes-1200x675.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - 500 - - - Goal achieved! Thank you! 🎊 - - - - S - - - - - - - - - - - - - diff --git a/marketing/product-hunt-assets/social/twitter/ph-twitter-launch-1200x675.png b/marketing/product-hunt-assets/social/twitter/ph-twitter-launch-1200x675.png deleted file mode 100644 index 4f0599174..000000000 Binary files a/marketing/product-hunt-assets/social/twitter/ph-twitter-launch-1200x675.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/twitter/ph-twitter-launch-1200x675.svg b/marketing/product-hunt-assets/social/twitter/ph-twitter-launch-1200x675.svg deleted file mode 100644 index ae6c3237c..000000000 --- a/marketing/product-hunt-assets/social/twitter/ph-twitter-launch-1200x675.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - S - - - We're Live on Product Hunt! 🚀 - - - Write screenplays faster, collaborate better, ship anywhere - - - - scripter.app - - - - Product Hunt - - - ✨ Real-time collaboration - ✨ Industry-standard formatting - ✨ Free to start - diff --git a/marketing/product-hunt-assets/social/twitter/ph-twitter-thankyou-1200x675.png b/marketing/product-hunt-assets/social/twitter/ph-twitter-thankyou-1200x675.png deleted file mode 100644 index 19ccd7033..000000000 Binary files a/marketing/product-hunt-assets/social/twitter/ph-twitter-thankyou-1200x675.png and /dev/null differ diff --git a/marketing/product-hunt-assets/social/twitter/ph-twitter-thankyou-1200x675.svg b/marketing/product-hunt-assets/social/twitter/ph-twitter-thankyou-1200x675.svg deleted file mode 100644 index 529a8f736..000000000 --- a/marketing/product-hunt-assets/social/twitter/ph-twitter-thankyou-1200x675.svg +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - Thank You - - - 547 - Upvotes - - - 73 - Comments - - - #3 - Top of Day - - - - S - - - Write Faster - - - This is just the beginning. - diff --git a/marketing/product-hunt-assets/social/twitter/twitter-launch-template.md b/marketing/product-hunt-assets/social/twitter/twitter-launch-template.md deleted file mode 100644 index ebce1270d..000000000 --- a/marketing/product-hunt-assets/social/twitter/twitter-launch-template.md +++ /dev/null @@ -1,139 +0,0 @@ -# Twitter/X Launch Announcement - Template PH-TW-001 - -**Dimensions:** 1200x675px -**Format:** PNG -**Created:** 2026-04-27 -**Status:** Ready for production - ---- - -## Design Specification - -### Background -- **Type:** Linear gradient -- **Colors:** #2563EB (top) → #1E293B (bottom) -- **Angle:** 180° (vertical) - -### Logo -- **File:** `/home/mike/code/scripter/src/assets/logo.svg` -- **Size:** 200x200px -- **Position:** Center (600px from left, 300px from top) -- **Color:** White (#FFFFFF) - -### Headline Text -- **Text:** "We're Live on Product Hunt! 🚀" -- **Font:** Inter Bold -- **Size:** 48px -- **Color:** #FFFFFF -- **Position:** 80px from top, centered -- **Letter spacing:** -0.02em - -### Tagline -- **Text:** "Write screenplays faster, collaborate better, ship anywhere" -- **Font:** Inter Regular -- **Size:** 24px -- **Color:** #FFFFFF (80% opacity) -- **Position:** 420px from top, centered - -### URL Bar -- **Background:** rgba(255, 255, 255, 0.1) -- **Border radius:** 8px -- **Size:** 400x60px -- **Position:** 540px from top, centered -- **Text:** "scripter.app" -- **Font:** Inter Medium -- **Size:** 20px -- **Color:** #FFFFFF - -### Product Hunt Badge -- **Position:** 620px from top, centered -- **Size:** 180x60px -- **Asset:** Use official PH "Today's Product" badge or create: - - Background: #DA552F (PH orange) - - Text: "Product Hunt" in white - - Icon: PH logo (hunting horn) - -### Footer Features -- **Position:** 50px from bottom -- **Layout:** 3 columns, centered -- **Font:** Inter Medium -- **Size:** 16px -- **Color:** #FFFFFF -- **Items:** - - "✨ Real-time collaboration" - - "✨ Industry-standard formatting" - - "✨ Free to start" - ---- - -## Canva/Figma Production Steps - -### Figma -1. Create frame: 1200x675px -2. Add fill: Linear gradient #2563EB → #1E293B -3. Place logo SVG (white variant) -4. Add headline text (Inter Bold, 48px, white) -5. Add tagline (Inter Regular, 24px, white 80%) -6. Create URL bar rectangle with semi-transparent fill -7. Add PH badge (download from producthunt.com/brand or create) -8. Add footer features in 3 columns -9. Export as PNG - -### Canva -1. Create design: Custom 1200x675px -2. Background: Gradient (use #2563EB and #1E293B) -3. Upload logo, place center -4. Add heading text (use Inter or similar sans-serif) -5. Add text elements as specified -6. Download as PNG (high quality) - ---- - -## Social Post Copy (to accompany graphic) - -**Tweet:** -``` -🚀 WE'RE LIVE on @ProductHunt! - -After years of building, Scripter is finally here. - -✨ Real-time collaboration (like Google Docs for screenplays) -✨ Industry-standard formatting (WGA-approved) -✨ Free tier: unlimited scripts, no credit card - -Upvote and try free → [PH LINK] - -#ProductHunt #Screenwriting #Filmmaking #IndieDev -``` - -**Thread continuation:** -``` -🧵 Why Scripter? - -I spent years struggling with: -❌ Final Draft's $250 price tag -❌ Clunky, outdated interfaces -❌ No real-time collaboration - -So I built the modern screenwriting platform I wished existed. - -Try it free → scripter.app -``` - ---- - -## File Naming -- `ph-twitter-launch-1200x675.png` -- Source: `ph-twitter-launch.fig` (Figma) or `ph-twitter-launch.canva` - ---- - -## Usage -- **Primary:** Twitter/X launch day 12:01 AM PT -- **Secondary:** LinkedIn, Facebook, Instagram feed -- **Email:** Launch day email header -- **Website:** Embed on homepage during launch - ---- - -**Next:** Create this graphic in Figma/Canva, then proceed to milestone templates diff --git a/marketing/product-hunt-assets/social/twitter/twitter-milestones-template.md b/marketing/product-hunt-assets/social/twitter/twitter-milestones-template.md deleted file mode 100644 index c55603d96..000000000 --- a/marketing/product-hunt-assets/social/twitter/twitter-milestones-template.md +++ /dev/null @@ -1,164 +0,0 @@ -# Twitter/X Milestone Templates - PH-TW-002/003/004 - -**Dimensions:** 1200x675px each -**Format:** PNG -**Created:** 2026-04-27 -**Status:** Ready for production - ---- - -## Template PH-TW-002: 100 Upvotes - -### Background -- **Color:** #2563EB (Scripter Blue) -- **Type:** Solid - -### Number Display -- **Text:** "100" -- **Font:** Inter Bold -- **Size:** 180px -- **Color:** #FFFFFF -- **Position:** Center (600px, 300px) -- **Drop shadow:** rgba(0,0,0,0.2), 20px blur, 4px offset - -### Subtitle -- **Text:** "Upvotes in 2 hours!" -- **Font:** Inter Medium -- **Size:** 32px -- **Color:** #FFFFFF -- **Position:** 500px from top, centered - -### Logo -- **Position:** 50px from bottom, centered -- **Size:** 120x120px -- **Color:** White - -### Celebration Element (Optional) -- **Type:** Confetti overlay -- **Opacity:** 30% -- **Colors:** #F59E0B, #FFFFFF, #10B981 - ---- - -## Template PH-TW-003: 250 Upvotes - -### Background -- **Color:** #F59E0B (Accent Amber) -- **Type:** Solid - -### Number Display -- **Text:** "250" -- **Font:** Inter Bold -- **Size:** 180px -- **Color:** #FFFFFF -- **Position:** Center - -### Subtitle -- **Text:** "We're halfway there!" -- **Font:** Inter Medium -- **Size:** 32px -- **Color:** #FFFFFF -- **Position:** Below number - -### Logo -- **Position:** 50px from bottom, centered -- **Size:** 120x120px -- **Color:** White - ---- - -## Template PH-TW-004: 500 Upvotes - -### Background -- **Type:** Linear gradient -- **Colors:** #F59E0B (left) → #2563EB (right) -- **Angle:** 90° (horizontal) - -### Number Display -- **Text:** "500" -- **Font:** Inter Bold -- **Size:** 180px -- **Color:** #FFFFFF -- **Position:** Center - -### Subtitle -- **Text:** "Goal achieved! Thank you! 🎊" -- **Font:** Inter Medium -- **Size:** 32px -- **Color:** #FFFFFF -- **Position:** Below number - -### Logo -- **Position:** 50px from bottom, centered -- **Size:** 120x120px -- **Color:** White - -### Celebration Element -- **Type:** Confetti overlay (required) -- **Opacity:** 50% -- **Colors:** #FFFFFF, #10B981, #3B82F6 - ---- - -## Production Notes - -### Batch Creation (Figma/Canva) -1. Create all 3 templates in one session -2. Use consistent typography and spacing -3. Vary only background color and number -4. Export all as PNG - -### Time Estimate -- **First template:** 15 minutes -- **Templates 2-3:** 10 minutes each (reusing design) -- **Total:** 35 minutes - ---- - -## Social Post Copy - -### 100 Upvotes Tweet -``` -🎉 100 UPVOTES in just 2 hours! - -Thank you Product Hunt community! This is incredible! - -Try Scripter free → [PH LINK] - -#ProductHunt #IndieDev #Screenwriting -``` - -### 250 Upvotes Tweet -``` -🔥 250 UPVOTES! You're amazing! - -We're halfway to our goal. Help us reach 500 → [PH LINK] - -Every upvote helps more writers discover Scripter. - -#ProductHunt #Startup #Filmmaking -``` - -### 500 Upvotes Tweet -``` -🎊 500 UPVOTES! GOAL ACHIEVED! - -We're blown away by the support. This is just the beginning. - -Thank you to everyone who upvoted, commented, and shared! - -Try Scripter free → scripter.app - -#ProductHunt #Grateful #Startup -``` - ---- - -## File Naming -- `ph-twitter-100upvotes-1200x675.png` -- `ph-twitter-250upvotes-1200x675.png` -- `ph-twitter-500upvotes-1200x675.png` - ---- - -**Next:** Create LinkedIn templates (PH-LI-001/002/003) diff --git a/marketing/product-hunt-assets/social/twitter/twitter-thankyou-template.md b/marketing/product-hunt-assets/social/twitter/twitter-thankyou-template.md deleted file mode 100644 index 5f8b99637..000000000 --- a/marketing/product-hunt-assets/social/twitter/twitter-thankyou-template.md +++ /dev/null @@ -1,112 +0,0 @@ -# Twitter/X Thank You Template - PH-TW-005 - -**Dimensions:** 1200x675px -**Format:** PNG -**Created:** 2026-04-27 -**Status:** Ready for production - ---- - -## Design Specification - -### Background -- **Color:** #1E293B (Deep Navy) -- **Type:** Solid - -### Main Text -- **Text:** "Thank You" -- **Font:** Inter Bold -- **Size:** 96px -- **Color:** #FFFFFF -- **Position:** 200px from top, centered -- **Letter spacing:** -0.03em - -### Stats Display -- **Position:** 350px from top, centered -- **Layout:** 3 columns -- **Column spacing:** 150px -- **Each column:** - - **Number:** Inter Bold, 48px, #F59E0B - - **Label:** Inter Medium, 18px, #FFFFFF (60% opacity) - - **Examples:** - - Column 1: "547" / "Upvotes" - - Column 2: "73" / "Comments" - - Column 3: "#3" / "Top of Day" - -### Logo -- **Position:** 50px from bottom, centered -- **Size:** 120x120px -- **Color:** White - -### Tagline -- **Text:** "Write Faster" -- **Font:** Inter Medium -- **Size:** 20px -- **Color:** #FFFFFF (50% opacity) -- **Position:** Below logo - -### Footer -- **Text:** "This is just the beginning." -- **Font:** Inter Italic -- **Size:** 16px -- **Color:** #FFFFFF (40% opacity) -- **Position:** 20px from bottom, centered - ---- - -## Production Notes - -### When to Use -- End of launch day (8-9 PM PT) -- Launch week wrap-up (Sunday evening) -- Thank you email to waitlist - -### Customization -- Update stats with actual numbers -- Can add team photo overlay (optional) -- Consider adding "Try free at scripter.app" CTA - ---- - -## Social Post Copy - -**Tweet:** -``` -🙏 LAUNCH DAY COMPLETE! - -Final stats: -✨ 547 upvotes -✨ 73 comments -✨ #3 Product of the Day - -To everyone who supported us: THANK YOU. - -This is just the beginning for Scripter. - -The best is yet to come. 🚀 - -#ProductHunt #Grateful #Startup -``` - -**Follow-up reply:** -``` -Huge thanks to: -- The @ProductHunt team -- Everyone who upvoted & commented -- Our beta testers -- The screenwriting community - -You made this possible. ❤️ - -Try Scripter free → scripter.app -``` - ---- - -## File Naming -- `ph-twitter-thankyou-1200x675.png` -- Source: `ph-twitter-thankyou.fig` - ---- - -**Next:** Create LinkedIn templates diff --git a/marketing/product-hunt-assets/thumbnail/thumbnail-primary-240x240.png b/marketing/product-hunt-assets/thumbnail/thumbnail-primary-240x240.png deleted file mode 100644 index 577214d9c..000000000 Binary files a/marketing/product-hunt-assets/thumbnail/thumbnail-primary-240x240.png and /dev/null differ diff --git a/marketing/product-hunt-assets/thumbnail/thumbnail-variant-a-240x240.png b/marketing/product-hunt-assets/thumbnail/thumbnail-variant-a-240x240.png deleted file mode 100644 index 5ba4bbd26..000000000 Binary files a/marketing/product-hunt-assets/thumbnail/thumbnail-variant-a-240x240.png and /dev/null differ diff --git a/marketing/product-hunt-assets/thumbnail/thumbnail-variant-b-240x240.png b/marketing/product-hunt-assets/thumbnail/thumbnail-variant-b-240x240.png deleted file mode 100644 index 768bf0e3c..000000000 Binary files a/marketing/product-hunt-assets/thumbnail/thumbnail-variant-b-240x240.png and /dev/null differ diff --git a/marketing/product-hunt-assets/thumbnails/thumbnail-primary.png b/marketing/product-hunt-assets/thumbnails/thumbnail-primary.png deleted file mode 100644 index 6b3a0216b..000000000 Binary files a/marketing/product-hunt-assets/thumbnails/thumbnail-primary.png and /dev/null differ diff --git a/marketing/product-hunt-assets/thumbnails/thumbnail-primary.svg b/marketing/product-hunt-assets/thumbnails/thumbnail-primary.svg deleted file mode 100644 index 82997b736..000000000 --- a/marketing/product-hunt-assets/thumbnails/thumbnail-primary.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - Write Faster - diff --git a/marketing/product-hunt-assets/thumbnails/thumbnail-variant-a.png b/marketing/product-hunt-assets/thumbnails/thumbnail-variant-a.png deleted file mode 100644 index e71226e61..000000000 Binary files a/marketing/product-hunt-assets/thumbnails/thumbnail-variant-a.png and /dev/null differ diff --git a/marketing/product-hunt-assets/thumbnails/thumbnail-variant-a.svg b/marketing/product-hunt-assets/thumbnails/thumbnail-variant-a.svg deleted file mode 100644 index db0d55068..000000000 --- a/marketing/product-hunt-assets/thumbnails/thumbnail-variant-a.svg +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - PH - diff --git a/marketing/product-hunt-assets/thumbnails/thumbnail-variant-b.png b/marketing/product-hunt-assets/thumbnails/thumbnail-variant-b.png deleted file mode 100644 index 30a001d6f..000000000 Binary files a/marketing/product-hunt-assets/thumbnails/thumbnail-variant-b.png and /dev/null differ diff --git a/marketing/product-hunt-assets/thumbnails/thumbnail-variant-b.svg b/marketing/product-hunt-assets/thumbnails/thumbnail-variant-b.svg deleted file mode 100644 index 8844c5bc6..000000000 --- a/marketing/product-hunt-assets/thumbnails/thumbnail-variant-b.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Scripter - Free to Start - diff --git a/marketing/product-hunt-comment-templates.md b/marketing/product-hunt-comment-templates.md deleted file mode 100644 index 6912392cc..000000000 --- a/marketing/product-hunt-comment-templates.md +++ /dev/null @@ -1,540 +0,0 @@ -# Product Hunt Comment Response Templates - -**Created:** 2026-04-26 -**Owner:** CMO -**Status:** ✅ Complete - Ready for launch day -**Total templates:** 12 - ---- - -## Usage Guidelines - -1. **Respond within 5 minutes** during first 4 hours (critical window) -2. **Personalize each response** - add user's name, reference their specific question -3. **Stay authentic** - sound like a human, not a bot -4. **Use emojis sparingly** - 1-2 per response max -5. **Always include a CTA** when relevant (try free, upvote, share) - ---- - -## 1. Pricing Questions - -### Template: Pricing Overview -``` -@username Great question! Scripter is free to start with unlimited scripts, -real-time collaboration, and PDF export. No credit card required. - -Pro is $9.99/mo and includes: -✨ AI writing tools -✨ Advanced analytics -✨ Unlimited collaborators -✨ Priority support - -Student discounts available (50% off with .edu email)! - -Try free: scripter.app -``` - -### Template: Free Tier Details -``` -@username Yep! The free tier includes: -✅ Unlimited scripts -✅ Real-time collaboration -✅ Industry-standard formatting -✅ PDF export -✅ Cross-platform sync - -Pro adds AI tools and advanced analytics, but free is powerful on its own! -``` - -### Template: Comparison to Competitors -``` -@username Compared to others: - -Final Draft: $250 one-time (no collab, desktop only) -WriterDuet: Free for 3 scripts, then $11.99/mo -Scripter: Free unlimited, Pro $9.99/mo - -Plus we're 33% faster with better real-time collaboration. Give us a try! 🚀 -``` - ---- - -## 2. Platform Availability - -### Template: Current Platforms -``` -@username We're available on: -💻 Web (all modern browsers) -🖥️ macOS (native app) -🪟 Windows (native app) - -All sync in real-time, so you can write anywhere! -``` - -### Template: Mobile Apps -``` -@username iOS and Android apps are currently in beta! - -You can use the web app on mobile browsers today (fully responsive), -and native apps are launching Q3 2026. - -Want early access? DM us! 📱 -``` - -### Template: Linux Support -``` -@username Linux! We hear you. Currently exploring options: -- Electron-based desktop app -- Web app works great in Linux browsers - -Drop your email at scripter.app and we'll notify you when Linux support lands! -``` - ---- - -## 3. Export Compatibility - -### Template: Export Formats -``` -@username Absolutely! Export to: -📄 PDF (industry standard) -📝 Final Draft (.fdx) -📜 Fountain (plain text) -📄 Plain text (.txt) - -Your scripts stay yours, always. No lock-in! ✅ -``` - -### Template: Final Draft Compatibility -``` -@username Yes! Full .fdx import/export support. - -You can: -✅ Open existing Final Draft files -✅ Export scripts for producers/directors -✅ Collaborate with FD users - -They'll never know you're not using Final Draft 😉 -``` - -### Template: Import from Other Tools -``` -@username We support import from: -✅ Final Draft (.fdx) -✅ Fountain (.fountain) -✅ Celtx (.celtx) -✅ Plain text (.txt) - -Migration is seamless. Your formatting stays intact! -``` - ---- - -## 4. Collaboration Features - -### Template: Real-Time Collab -``` -@username Yes! Real-time collaboration is our specialty: -👥 Multiple writers, same script -🎯 Live cursors (different colors) -💬 Built-in chat and comments -📝 Version history included - -Like Google Docs for screenplays! Free for unlimited collaborators. -``` - -### Template: Team Features -``` -@username Teams get: -✅ Shared workspaces -✅ Admin controls -✅ Bulk licensing -✅ Priority support -✅ Custom onboarding - -DM us for team pricing! Perfect for writers' rooms. 🎬 -``` - -### Template: Version History -``` -@username Version history is included! - -You can: -✅ See all changes with timestamps -✅ Restore previous versions -✅ Track who changed what -✅ Export version notes - -Never lose a draft again! -``` - ---- - -## 5. Security & Privacy - -### Template: Data Security -``` -@username Security is top priority: -🔒 Encrypted at rest and in transit (AES-256) -🔒 Daily automated backups -🔒 SOC 2 compliance in progress -🔒 Never share or sell your data - -You own your scripts. Always. 🔐 -``` - -### Template: Privacy Policy -``` -@username We only collect: -✅ Email (for your account) -✅ Script content (for you to write) -✅ Usage data (to improve the product) - -We NEVER: -❌ Read your scripts without permission -❌ Share data with third parties -❌ Use your content for AI training - -Full policy: scripter.app/privacy -``` - -### Template: Offline Mode -``` -@username Great question! Offline mode is on our roadmap. - -Currently: Web app requires internet for real-time sync. -Desktop apps have limited offline editing (auto-syncs when back online). - -Full offline mode coming Q3 2026! 📡 -``` - ---- - -## 6. AI Features - -### Template: AI Overview -``` -@username Our AI tools (Pro feature): -🤖 Dialogue suggestions -📊 Scene analysis (pacing, sentiment) -✍️ Smart formatting -💡 Character name suggestions - -It's your creative assistant, not a replacement. You're always in control! -``` - -### Template: AI Ethics -``` -@username We're thoughtful about AI: - -✅ AI suggests, you decide (always optional) -✅ Trained on public domain scripts -✅ No user data in training sets -✅ Transparent about what's AI-generated - -AI should enhance creativity, not replace it. 🎨 -``` - -### Template: AI Accuracy -``` -@username AI isn't perfect, but it's pretty good! - -✅ 85%+ accuracy on formatting suggestions -✅ Context-aware dialogue help -✅ Learns your writing style over time - -You can disable AI anytime. It's there to help, not interrupt. -``` - ---- - -## 7. Student & Education - -### Template: Student Discount -``` -@username Yes! Students get 50% off Pro: -🎓 $4.99/mo (instead of $9.99) -🎓 All Pro features included -🎓 Valid .edu email required - -Sign up at scripter.app/students - -Teachers get FREE Pro accounts for their classrooms! 📚 -``` - -### Template: Classroom Licensing -``` -@username For schools and universities: -✅ Free Pro for teachers -✅ Discounted student licenses -✅ Classroom management dashboard -✅ Assignment submission workflow - -DM us for education pricing! We want every student to have pro tools. -``` - ---- - -## 8. Technical Questions - -### Template: Tech Stack -``` -@username Built with modern tech: -⚡ Frontend: SolidJS + Vite -⚡ Backend: tRPC + SQLite (Turso) -⚡ Desktop: Tauri (Rust-based) -⚡ Real-time: CRDT for conflict-free sync - -33% faster than WriterDuet in our benchmarks! 🏎️ -``` - -### Template: Browser Support -``` -@username We support: -✅ Chrome (latest) -✅ Firefox (latest) -✅ Safari (latest) -✅ Edge (latest) - -IE is not supported (it's 2026, time to upgrade! 😄) -``` - -### Template: Performance -``` -@username Performance is a feature! - -⚡ 33% faster than WriterDuet -⚡ Instant load times -⚡ Real-time sync <100ms latency -⚡ Handles 100+ page scripts smoothly - -Try it yourself—feel the difference! -``` - ---- - -## 9. Feature Requests - -### Template: New Feature Request -``` -@username Love this idea! - -We're tracking feature requests in our public roadmap: -roadmap.scripter.app - -Upvote this one and we'll prioritize it! - -What's your use case? Always helpful to know. 🛣️ -``` - -### Template: Already Planned -``` -@username Great timing! This is actually on our roadmap for Q3 2026. - -We're building [feature] with [specific use case] in mind. - -Want to beta test? Drop your email and we'll invite you! 🧪 -``` - -### Template: Not Planned (Politely) -``` -@username Interesting idea! - -For now we're focused on core screenwriting features (we're opinionated about -keeping the interface clean). - -But I'll pass this to the team! If more users request it, we'll reconsider. - -What's your workflow? Maybe there's a simpler solution. 🤔 -``` - ---- - -## 10. Negative Feedback - -### Template: Bug Report -``` -@username Thanks for catching this! - -Can you DM us more details? -- Browser/OS -- Steps to reproduce -- Expected vs actual behavior - -We'll fix this ASAP. Appreciate the feedback! 🐛 - -(And sorry for the frustration—we're on it!) -``` - -### Template: Feature Criticism -``` -@username Fair point! - -We made some opinionated choices to keep things simple, but I hear you on -[specific concern]. - -Mind sharing your workflow? Always looking to learn and improve. - -We're early—your feedback shapes the roadmap! 🗺️ -``` - -### Template: Pricing Criticism -``` -@username I get it—another subscription. - -But consider: Final Draft is $250 one-time (no updates, no collab). -WriterDuet is $11.99/mo. We're $9.99/mo with a powerful free tier. - -Plus: Cancel anytime, no lock-in, constant updates. - -Worth a try? Free to start! 🆓 -``` - ---- - -## 11. Engagement Boosters - -### Template: Ask for Share -``` -@username Thanks for the support! - -If you love Scripter, sharing helps more than you know: -🐦 Tweet about it -💬 Tell a screenwriter friend -📝 Post in your writers' group - -Every share = more writers discovering Scripter! 🙏 -``` - -### Template: Return the Favor -``` -@username Appreciate the upvote! - -Happy to return the favor—working on something cool? -Drop a link, I'll check it out! 🚀 - -(We builders gotta stick together!) -``` - -### Template: Press Inquiry -``` -@username Thanks for the interest! - -For press inquiries, contact press@scripter.app or check our press kit: -scripter.app/press - -Happy to connect you with our founder for an interview! 📰 -``` - ---- - -## 12. General Responses - -### Template: Thank You (Generic) -``` -@username Thank you so much for the support! 🙏 - -Means the world to us. Try Scripter free at scripter.app! -``` - -### Template: Welcome Aboard -``` -@username Welcome to the Scripter community! 🎉 - -Glad to have you. Start writing free at scripter.app—no credit card needed. - -Questions? I'm here! -``` - -### Template: Founder Here -``` -@username Founder here! 👋 - -Thanks for trying Scripter. Built this for screenwriters like us. - -Anything you'd change? Always looking for feedback. - -Write something great! ✍️ -``` - ---- - -## Response Timing Strategy - -### First Hour (CRITICAL - 12:01-1:00 AM PT) -- **Goal:** Respond to EVERY comment within 5 minutes -- **Why:** PH algorithm favors active engagement -- **Who:** CMO + Founder both monitoring - -### First 4 Hours (HIGH PRIORITY - 1:00-4:00 AM PT) -- **Goal:** Respond within 10 minutes -- **Why:** Sets momentum for the day -- **Who:** CMO monitoring, Founder as backup - -### Morning (8:00 AM-12:00 PM PT) -- **Goal:** Respond within 15 minutes -- **Why:** East Coast + Europe waking up -- **Who:** CMO monitoring - -### Afternoon (12:00-5:00 PM PT) -- **Goal:** Respond within 30 minutes -- **Why:** West Coast active, international traffic -- **Who:** CMO or delegated team member - -### Evening (5:00-8:00 PM PT) -- **Goal:** Respond to remaining comments -- **Why:** Final push before launch day ends -- **Who:** CMO wraps up - ---- - -## Comment Monitoring Setup - -### Tools: -1. **Product Hunt app** (iOS/Android) - push notifications -2. **Browser tab** - keep PH post open -3. **Slack/Discord** - team alerts for new comments - -### Team Roles: -- **Primary:** CMO (responds to all comments) -- **Backup:** Founder (steps in if CMO unavailable) -- **Support:** CTO (for technical questions) - -### Alert Triggers: -- New comment → Slack notification -- Negative comment → Immediate team alert -- Press inquiry → Forward to CEO/Founder - ---- - -## Success Metrics - -**Track daily:** -- Total comments responded to -- Average response time -- Sentiment (positive/neutral/negative) -- Questions converted to signups - -**Goals:** -- 100% response rate -- <10 minute average response time -- >90% positive sentiment -- 20%+ of commenters try the product - ---- - -## Pro Tips - -1. **Personalize:** Use the commenter's name, reference their specific question -2. **Be human:** It's okay to say "I don't know" or "Great question!" -3. **Add value:** Don't just answer—provide resources, examples, or next steps -4. **Stay positive:** Even with negative comments, respond professionally -5. **Know when to take it offline:** For complex issues, offer to DM or email -6. **Celebrate milestones:** Thank people when you hit 100, 250, 500 upvotes -7. **Founder authenticity:** Have the founder chime in on key comments - ---- - -**Status:** ✅ Complete - 12 categories, ready for launch day -**Next:** Review with founder, customize any responses, load into response tracker diff --git a/marketing/product-hunt-launch-plan.md b/marketing/product-hunt-launch-plan.md deleted file mode 100644 index bb74dc0eb..000000000 --- a/marketing/product-hunt-launch-plan.md +++ /dev/null @@ -1,494 +0,0 @@ -# Product Hunt Launch Execution Plan - -**Issue:** FRE-629 -**Owner:** CMO -**Status:** In Progress -**Launch Date:** TBD (coordinate with CTO on product stability) -**Target:** Top 5 Product Hunt of the Day - ---- - -## Executive Summary - -This document outlines the complete Product Hunt launch strategy for Scripter, the modern screenwriting platform. Product Hunt is a critical launch channel that can drive 1,000+ day-one users and significant press attention. - -**Goal:** Achieve Top 5 ranking on launch day with 500+ upvotes and 200+ signups. - ---- - -## Timeline Overview - -| Phase | Timing | Key Activities | -|-------|--------|---------------| -| **Preparation** | T-14 days | Create PH page, submit for review | -| **Teaser** | T-7 days | Announce launch date, build anticipation | -| **MIH Campaign** | T-3 days | "Make It Happen" supporter outreach | -| **Launch Day** | Thursday 12:01 AM PT | Post, monitor, engage, share | -| **Follow-up** | +1 to +7 days | Thank supporters, share results | - ---- - -## Pre-Launch Preparation (T-14 to T-1) - -### 1. Product Hunt Page Creation - -**Submit 2 weeks before launch** at [producthunt.com/posts/new](https://www.producthunt.com/posts/new) - -**Required Assets:** -- **Tagline:** "Write screenplays faster, collaborate better, ship anywhere" -- **Thumbnail:** 240x240px PNG (Scripter logo on brand blue background) -- **Gallery:** 5-7 screenshots showcasing: - 1. Real-time collaboration - 2. Industry-standard formatting - 3. Character/scene/word count analytics - 4. Export to PDF/Final Draft - 5. Mobile app preview - 6. AI-powered features (if ready) - 7. Pricing page (free tier highlighted) - -**Maker Comment Draft:** -``` -Hey Product Hunt! I'm [Founder Name], creator of Scripter. - -After years of struggling with Final Draft's clunky interface and WriterDuet's limitations, I built the screenwriting platform I wished existed. - -Scripter features: -✨ Real-time collaboration (like Google Docs for scripts) -✨ Industry-standard formatting (WGA-approved) -✨ 33% faster than WriterDuet -✨ Free tier for new writers -✨ Desktop + Web + Mobile apps - -We're on a mission to help screenwriters write faster and collaborate better. Would love your feedback! - -Ask me anything about screenwriting, building in public, or taking on legacy players like Final Draft. 🚀 -``` - -**First Comment Strategy:** -- Post immediately after launch -- Include feature list with emojis -- Add demo video link -- Invite questions - -### 2. Supporter Recruitment - -**Goal:** 50+ committed supporters for first-hour upvotes - -**Target Lists:** -1. **VIP Hunters (10 people)** - Super supporters who upvote within first hour - - Beta testers who gave positive feedback - - Screenwriting influencers - - Founder friends from other companies - -2. **Active Supporters (25 people)** - Upvote and share on launch day - - Waitlist subscribers (top 25% engagement) - - Social media followers - - Industry contacts - -3. **General Network (15+ people)** - Backup support - - LinkedIn connections - - Twitter/X followers - - Reddit community members - -**Outreach Email Template:** -``` -Subject: Quick favor? Launching on Product Hunt Thursday 🚀 - -Hey [Name], - -I'm launching Scripter on Product Hunt this Thursday and could use your support! - -It takes 10 seconds: -1. Go to [PH link] at 12:01 AM PT Thursday -2. Click the upvote button -3. Optionally leave a comment or share - -Product Hunt is huge for early visibility. Your upvote in the first hour especially matters. - -Can I count on you? - -Thanks! -[Founder Name] - -P.S. Happy to return the favor on your next launch! -``` - -**Tracking Spreadsheet:** -| Name | Email | Category | Commitment | Upvoted? | Notes | -|------|-------|----------|------------|----------|-------| -| John Doe | john@example.com | VIP | Yes | ✅ | Beta tester | - -### 3. MIH (Make It Happen) Campaign - -**Timing:** 3 days before launch (Monday if Thursday launch) - -**Strategy:** Personal outreach to maximize day-one momentum - -**Channels:** -- Email (primary) -- Twitter/X DMs -- LinkedIn messages -- Discord/Slack communities - -**Message Variants:** - -**For Beta Testers:** -``` -Subject: Scripter launches on Product Hunt Thursday! - -You were one of our amazing beta testers, so you're getting first dibs! - -Scripter officially launches on Product Hunt this Thursday. As someone who's used the product, your voice matters. - -Can you: -1. Upvote at [link] (12:01 AM PT Thursday) -2. Leave a quick comment about your experience? -3. Share with 2 screenwriter friends? - -This launch determines our visibility for months. Thank you! 🙏 -``` - -**For Industry Contacts:** -``` -Subject: New screenwriting platform launching Thursday - -Hey [Name], - -Quick note - I'm launching Scripter, a new screenwriting platform built to compete with Final Draft and WriterDuet. - -We're live on Product Hunt Thursday. If you have 10 seconds to upvote, it would mean the world: - -[Link] - -Would also love your feedback on the product itself. Happy to comp a Pro account. - -Thanks! -[Founder Name] -``` - -### 4. Launch Asset Checklist - -**Creative Assets:** -- [ ] 90-second maker video (screen recording + voiceover) - - Hook: Problem with current tools (0-15s) - - Solution: Scripter features (15-60s) - - CTA: Try free + upvote on PH (60-90s) - -- [ ] Product screenshots (5-7, 1920x1080px) - - Editor interface - - Collaboration view - - Analytics dashboard - - Export options - - Mobile app - -- [ ] Thumbnail variants (3, 240x240px) - - Logo on blue - - Logo with tagline - - Feature highlight - -- [ ] GIF demos (3-4, <5MB each) - - Real-time collaboration - - Format automation - - Export flow - - AI feature (if ready) - -- [ ] Social share graphics - - Twitter/X (1200x675px) - - LinkedIn (1200x627px) - - Instagram story (1080x1920px) - - Launch announcement template - - Milestone templates (100 upvotes, #1 of the day, etc.) - -**Written Assets:** -- [ ] Maker comment (see draft above) -- [ ] First comment with feature list -- [ ] 10+ comment response templates - - Pricing questions - - Feature comparisons - - Platform availability - - Export compatibility - - Security/privacy - - Team collaboration - - Student discounts - - Integration requests - - Mobile app questions - - AI features - -**Response Template Examples:** -``` -@user Thanks for the question! Scripter is free to start with unlimited pages. Pro is $9.99/mo with advanced features like AI tools and priority support. Happy to answer any other questions! - -@user Great catch! Yes, we export to Final Draft (.fdx), PDF, Fountain, and more. Your scripts stay yours, always. - -@user Absolutely! We're on web, macOS, Windows, and iOS/Android apps launching soon. All sync in real-time. -``` - ---- - -## Launch Day Execution (Thursday) - -### Pre-Launch Checklist (Wednesday night) - -- [ ] PH page approved and scheduled -- [ ] All supporters reminded (email + social) -- [ ] Graphics uploaded to PH gallery -- [ ] Maker comment drafted and ready -- [ ] Social posts scheduled in Buffer/Hootsuite -- [ ] Analytics tracking live (UTM parameters) -- [ ] Team briefed on roles - -### Launch Day Timeline (All times PT) - -**11:55 PM (Wednesday)** -- Final team check-in (Discord/Slack) -- Confirm PH page is live at 12:01 AM -- Prepare to share link - -**12:01 AM - LAUNCH** -- Post goes live on Product Hunt -- Immediately post maker comment -- Post first comment with features -- Share to all social channels: - - Twitter/X - - LinkedIn - - Facebook - - Instagram Stories - - Reddit (r/Screenwriting, r/Filmmakers) - - Discord servers - - Email waitlist - -**12:01 AM - 1:00 AM (Critical First Hour)** -- VIP supporters upvote (target: 50+ upvotes) -- Respond to every comment within 5 minutes -- Share milestone: "We're live! 🚀" -- Monitor velocity (aim for 10+ upvotes/15 min) - -**1:00 AM - 8:00 AM** -- Continue responding to comments -- Share progress updates (100 upvotes, etc.) -- Engage with other PH launches (cross-support) -- Monitor ranking hourly - -**8:00 AM - 12:00 PM** -- Morning push: share on LinkedIn -- Email reminder to supporters who haven't upvoted -- Post update: "X hours left!" -- Engage with PH community comments - -**12:00 PM - 5:00 PM** -- Afternoon momentum check -- Share customer stories/testimonials -- Respond to any remaining comments -- Prepare evening push - -**5:00 PM - 8:00 PM (Final Push)** -- "2 hours left!" urgency posts -- Final email to waitlist -- Thank all supporters publicly -- Share final ranking goal - -**8:00 PM - 12:00 AM** -- Launch ends -- Calculate final stats -- Thank everyone again -- Begin follow-up emails - -### Hourly Monitoring Dashboard - -Track these metrics every hour: - -| Time | Upvotes | Comments | Rank (Day) | Rank (Week) | Signups | -|------|---------|----------|------------|-------------|---------| -| 12 AM | | | | | | -| 1 AM | | | | | | -| ... | | | | | | -| 12 PM | | | | | | - -**Alerts:** -- If <100 upvotes by 8 AM PT → escalate outreach -- If ranking drops → mobilize VIP list -- If negative comments → respond professionally within 10 min - -### Social Media Posting Schedule - -**12:01 AM:** "We're LIVE on Product Hunt! 🚀" -- All channels -- Link to PH post -- Hero graphic - -**3:00 AM:** "100 upvotes in 3 hours! Thank you! 🎉" -- Twitter/X, LinkedIn -- Milestone graphic - -**8:00 AM:** "Write your best script yet with Scripter" -- LinkedIn article share -- Feature highlight - -**12:00 PM:** "Halfway through launch day!" -- All channels -- Demo GIF - -**4:00 PM:** "4 hours left to support!" -- Twitter/X, LinkedIn -- Urgency graphic - -**7:00 PM:** "Final stretch! Thank you for an amazing launch 🙏" -- All channels -- Thank you graphic - -**9:00 PM:** "Launch day complete! Here's what happened..." -- Twitter/X thread -- Results summary - ---- - -## Post-Launch Follow-Up (+1 to +7 days) - -### Day +1 (Friday) -- **Thank you email** to all supporters -- **Results announcement** on social media -- **Press outreach** with launch stats -- **Blog post:** "What we learned launching on Product Hunt" - -**Thank You Email Template:** -``` -Subject: We did it! Scripter launches on Product Hunt 🎉 - -Hey [Name], - -WOW. Thank you! - -Thanks to supporters like you, Scripter launched on Product Hunt with: -- [X] upvotes -- [Y] comments -- [Z] signups on day one -- Top [N] product of the day - -This is just the beginning. We're committed to building the best screenwriting platform ever. - -Start writing free: [link] - -With gratitude, -[Founder Name] -``` - -### Day +2 to +7 -- **Press releases** go live (embargo lifted) -- **Influencer content** publishes (YouTube, TikTok) -- **Reddit AMA** (if scheduled) -- **Customer stories** shared on social -- **Weekly review** of launch metrics - ---- - -## Success Metrics - -### Primary KPIs -| Metric | Target | Actual | Status | -|--------|--------|--------|--------| -| Upvotes | 500+ | | | -| Comments | 50+ | | | -| Day ranking | Top 5 | | | -| Week ranking | Top 20 | | | -| Day-one signups | 200+ | | | -| Press mentions | 5+ | | | - -### Secondary KPIs -- Social media followers gained -- Email list growth -- Backlinks acquired -- Domain authority increase -- Waitlist conversions - ---- - -## Budget - -| Item | Cost | -|------|------| -| PH advertising (optional) | $0-500 | -| Graphic design (Fiverr/Upwork) | $200 | -| Video production | $300 | -| Email tool (Customer.io) | $279/mo | -| Social scheduling (Buffer) | $100/mo | -| **Total** | **$879 + tools** | - -*Can launch with $0 using organic tactics only* - ---- - -## Risk Mitigation - -| Risk | Likelihood | Impact | Mitigation | -|------|------------|--------|------------| -| Low first-hour momentum | Medium | High | Activate VIP list immediately | -| Technical issues | Low | High | Have rollback plan, monitor closely | -| Negative comments | Medium | Medium | Respond professionally, learn | -| PH page rejected | Low | High | Submit early, follow guidelines | -| Competitor launches same day | Low | Medium | Differentiate, focus on our strengths | -| Low conversion to signups | Medium | Medium | Optimize landing page, clear CTA | - ---- - -## Competitive Intelligence - -**Recent Successful Launches in Creator Tools:** -- Notion: 2,500+ upvotes (established brand) -- Descript: 1,200+ upvotes (unique value prop) -- Riverside.fm: 800+ upvotes (clear differentiation) - -**Key Learnings:** -1. Real-time collaboration is a strong hook -2. Free tier generates more upvotes than paid-only -3. Video demos increase engagement 3x -4. Founder authenticity matters more than polish -5. First 4 hours determine final ranking - ---- - -## Appendix: Product Hunt Best Practices - -### DO: -- Launch on Tuesday, Wednesday, or Thursday -- Post at 12:01 AM PT for full 24-hour cycle -- Respond to every comment (even negative ones) -- Share authentic founder story -- Include video demo -- Mobilize network for first hour -- Cross-promote other PH launches - -### DON'T: -- Launch on weekends or holidays -- Buy upvotes (PH will ban you) -- Spam communities -- Ignore comments -- Over-promise features -- Launch without mobile optimization -- Forget to thank supporters - ---- - -## Related Documents - -- [Launch Campaign Plan](/FRE/issues/FRE-581#document-plan) -- [Launch Readiness Checklist](/home/mike/code/FrenoCorp/marketing/LAUNCH_READINESS.md) -- [Brand Identity Guide](/home/mike/code/FrenoCorp/marketing/brand/identity.md) - ---- - -## Subtasks Created - -- [x] FRE-635: Create Product Hunt page and submit for review -- [x] FRE-636: Build Product Hunt supporter list from waitlist -- [x] FRE-637: Create Product Hunt launch assets -- [x] FRE-638: Execute Product Hunt launch day monitoring - ---- - -**Next Actions:** -1. Confirm launch date with CTO (product stability) -2. Create Product Hunt account and submit page (FRE-635) -3. Begin VIP supporter outreach (FRE-636) -4. Commission launch assets design (FRE-637) - -**Status:** Ready to execute pending launch date confirmation diff --git a/marketing/product-hunt-minimum-submission.md b/marketing/product-hunt-minimum-submission.md deleted file mode 100644 index 91265add5..000000000 --- a/marketing/product-hunt-minimum-submission.md +++ /dev/null @@ -1,375 +0,0 @@ -# Minimum Viable Product Hunt Submission - -**Created:** 2026-04-26 -**Status:** 🚨 URGENT - 3 days overdue -**Recommendation:** Submit TODAY with minimum assets - ---- - -## The Situation - -**PH Submission Deadline:** April 23, 2026 -**Today:** April 26, 2026 -**Status:** 3 DAYS OVERDUE - -Every day we delay: -- ❌ Less time for supporter recruitment -- ❌ Less buzz before launch day -- ❌ Lower launch day ranking -- ❌ Less press coverage - -**Risk of further delay:** Launch fails to gain traction - ---- - -## Minimum Viable Submission - -Product Hunt requires: - -### ✅ Required (Must Have) -1. **Thumbnail** - 240x240px PNG ✅ **DONE** (3 variants ready) -2. **Tagline** - One sentence ✅ **READY** ("Write screenplays faster...") -3. **Website** - Must be live ✅ **READY** (scripter.app) -4. **Maker comment** - Introduction ✅ **DRAFTED** (see submission-content.md) -5. **First comment** - Feature list ✅ **DRAFTED** (see submission-content.md) - -### ⚠️ Recommended (Can Add Later) -6. **Screenshots** - 2-5 images ⚠️ **MINIMUM: 2 from dev environment** -7. **GIFs** - Product demos ⚠️ **OPTIONAL** (can add post-submission) -8. **Video** - Maker video ⚠️ **OPTIONAL** (can add post-submission) - -**PH allows updating assets after submission but before launch day!** - ---- - -## Submit TODAY With These Assets - -### What We Have ✅ - -1. **Thumbnail** ✅ - - Location: `/marketing/product-hunt-assets/thumbnail/` - - 3 variants: primary, variant-a, variant-b - - Use: `thumbnail-primary-240x240.png` - -2. **Tagline** ✅ - - "Write screenplays faster, collaborate better, ship anywhere" - -3. **Website** ✅ - - scripter.app (must be live - verify before submitting) - -4. **Maker Comment** ✅ - - Drafted in `/marketing/product-hunt-submission-content.md` - - Customize with founder name before submitting - -5. **First Comment** ✅ - - Drafted in `/marketing/product-hunt-submission-content.md` - - Ready to post immediately after submission - -### What We Can Add This Week - -6. **Screenshots** (2 minimum, 5 ideal) - - Can capture from dev environment - - Don't need perfect, just need to show the product - - See screenshot plan below - -7. **GIFs** (optional) - - Can add anytime before launch day - - Not required for submission - -8. **Video** (optional) - - Can add anytime before launch day - - Many successful launches without video - ---- - -## Quick Screenshot Plan (Dev Environment) - -**Goal:** Capture 2-5 screenshots in 30 minutes from dev build - -### Setup (5 minutes) - -```bash -# Start dev server -cd scripter -pnpm dev - -# Open browser to clean state -# Use Chrome incognito (no extensions) -# Set resolution to 1920x1080 -``` - -### Shots to Capture (20 minutes) - -**Shot 1: Editor Interface (REQUIRED)** -``` -URL: /editor or app home -What to show: -- Clean editor with sample script -- Show formatting (slugline, action, dialogue) -- Sidebar with scene list -Action: Take screenshot (Shift+Cmd+5 on Mac) -``` - -**Shot 2: Pricing Page (REQUIRED)** -``` -URL: /pricing -What to show: -- Free vs Pro comparison -- Clear pricing ($0 and $9.99/mo) -- CTA buttons -Action: Take screenshot -``` - -**Shot 3: Collaboration (IF WORKING)** -``` -Setup: Open same script in 2 browser windows -What to show: -- Two cursors visible -- Different colors -Action: Take screenshot -``` - -**Shot 4: Analytics (IF WORKING)** -``` -URL: /analytics or dashboard -What to show: -- Character count -- Scene count -- Any metrics -Action: Take screenshot -``` - -**Shot 5: Export Dialog (IF WORKING)** -``` -Action: Click Export button -What to show: -- Export modal -- Format options (PDF, FDX, Fountain) -Action: Take screenshot -``` - -### Post-Processing (5 minutes) - -```bash -# Move screenshots to PH assets folder -mkdir -p /marketing/product-hunt-assets/screenshots -mv ~/Downloads/*.png /marketing/product-hunt-assets/screenshots/ - -# Rename for clarity -cd /marketing/product-hunt-assets/screenshots/ -mv "Screenshot 2026-04-26..." "01-editor-interface-1920x1080.png" -mv "Screenshot 2026-04-26..." "02-pricing-page-1920x1080.png" -# etc. -``` - -**Total time:** 30 minutes -**Output:** 2-5 screenshots ready for PH upload - ---- - -## Submission Steps (Do This NOW) - -### Step 1: Verify Website (2 minutes) -``` -✅ scripter.app loads -✅ Signup/login works -✅ Core features functional -``` - -### Step 2: Prepare Assets (5 minutes) -``` -✅ Thumbnail: /marketing/product-hunt-assets/thumbnail/thumbnail-primary-240x240.png -✅ Screenshots: Capture 2-5 from dev (see plan above) -✅ Maker comment: Copy from submission-content.md -✅ First comment: Copy from submission-content.md -``` - -### Step 3: Submit to Product Hunt (10 minutes) -``` -1. Go to: https://www.producthunt.com/posts/new -2. Fill out form: - - Product name: Scripter - - Tagline: Write screenplays faster, collaborate better, ship anywhere - - Website: https://scripter.app - - Category: Apps - - Thumbnail: Upload thumbnail-primary-240x240.png - - Screenshots: Upload 2-5 screenshots - - Launch date: May 7, 2026 -3. Paste maker comment -4. Submit for review -``` - -### Step 4: After Submission (5 minutes) -``` -1. Share PH link with team -2. Prepare supporter outreach list -3. Note: PH review takes 24-48 hours -4. Once approved, can add more assets anytime -``` - -**Total time:** 22 minutes -**Result:** PH submission complete, 3 days overdue but still viable! - ---- - -## Post-Submission Asset Updates - -Product Hunt allows updating assets: - -**Before Launch Day:** -- ✅ Can add more screenshots -- ✅ Can add GIFs -- ✅ Can add video -- ✅ Can edit tagline -- ✅ Can edit description - -**After Launch Day:** -- ❌ Cannot change major assets -- ✅ Can still respond to comments - -**Strategy:** Submit now with minimum, add polished assets as they're ready - ---- - -## Risk Assessment - -### Submit Today (Recommended) ✅ - -**Pros:** -- ✅ Meets PH requirements -- ✅ Time for supporter recruitment -- ✅ Can add assets later -- ✅ Launch day momentum possible - -**Cons:** -- ⚠️ Only 2-5 screenshots initially -- ⚠️ No video (can add later) -- ⚠️ Less polished first impression - -**Verdict:** **DO IT** - pros heavily outweigh cons - -### Wait for Perfect Assets ❌ - -**Pros:** -- ✅ More polished initial submission - -**Cons:** -- ❌ Further delay (already 3 days late) -- ❌ Less time for supporter outreach -- ❌ Lower launch day ranking likely -- ❌ Press may miss launch - -**Verdict:** **DON'T DO IT** - perfectionism kills launches - ---- - -## Decision Framework - -**Question:** Should we submit today or wait? - -**Answer: SUBMIT TODAY** if: -- ✅ Website is live and functional -- ✅ Core features work (editor, formatting, export) -- ✅ Have 2+ screenshots (can be from dev) -- ✅ Have thumbnail ✅ (we do!) -- ✅ Have maker comment drafted ✅ (we do!) - -**Answer: WAIT** if: -- ❌ Website is broken -- ❌ Product crashes on signup -- ❌ Core features don't work -- ❌ Can't capture 2 screenshots - -**Our situation:** ✅ **SUBMIT TODAY** - ---- - -## Timeline Impact - -### If Submit Today (April 26) - -| Date | Activity | Status | -|------|----------|--------| -| April 26 | Submit to PH | ✅ Do today | -| April 27-28 | PH review + approval | ⏳ Normal | -| April 28-30 | Add more screenshots | ⏳ As ready | -| May 1-3 | Add GIFs + video | ⏳ As ready | -| May 4-6 | Supporter outreach | ⏳ On track | -| May 7 | **LAUNCH DAY** | ⏳ Ready | - -**Result:** Viable launch, good chance of Top 5 - -### If Wait Until "Perfect" (May 1+) - -| Date | Activity | Status | -|------|----------|--------| -| May 1 | Submit to PH | ❌ 8 days late | -| May 2-3 | PH review | ⏳ Rushed | -| May 4-6 | Add assets | ⏳ Rushed | -| May 7 | LAUNCH DAY | ⚠️ Underprepared | - -**Result:** Rushed launch, low momentum, likely <100 upvotes - -**Verdict:** Submit today >>> wait for perfect - ---- - -## Action Items - -### DO TODAY (April 26) - -**CMO:** -1. ⏳ Capture 2-5 screenshots from dev (30 min) -2. ⏳ Submit to Product Hunt (22 min) -3. ⏳ Share PH link with team -4. ⏳ Begin VIP supporter list - -**CTO:** -1. ⏳ Confirm scripter.app is live and stable -2. ⏳ Ensure core features work (editor, export, pricing) -3. ⏳ Help with screenshot capture if needed - -**Founder:** -1. ⏳ Review maker comment draft -2. ⏳ Provide name for maker comment -3. ⏳ Approve submission - -### THIS WEEK (April 27 - May 3) - -**CMO:** -1. ⏳ Add more screenshots to PH (as product stabilizes) -2. ⏳ Create and add GIFs -3. ⏳ Edit and upload maker video -4. ⏳ Execute supporter outreach (VIP list, emails) -5. ⏳ Schedule social posts - -**All:** -1. ⏳ Prepare for launch day (May 7) - ---- - -## Success Metrics - -**Minimum Viable Launch:** -- 100+ upvotes -- 10+ comments -- Top 20 Apps category - -**Target Launch:** -- 500+ upvotes -- 50+ comments -- Top 5 Apps category ✅ - -**Stretch Launch:** -- 1000+ upvotes -- 100+ comments -- #1 Apps category - -**Submitting today makes Target Launch possible.** -**Waiting makes Minimum Viable unlikely.** - ---- - -**Status:** 🚨 URGENT - Submit within 2 hours -**Next:** Capture screenshots, submit to PH -**Owner:** CMO (with CTO support for dev access) diff --git a/marketing/product-hunt-screenshot-plan.md b/marketing/product-hunt-screenshot-plan.md deleted file mode 100644 index d0a2fa9ec..000000000 --- a/marketing/product-hunt-screenshot-plan.md +++ /dev/null @@ -1,214 +0,0 @@ -# Product Hunt Screenshot Capture Plan - -**Created:** 2026-04-26 -**Owner:** CMO -**Status:** Ready for execution (needs stable product build) - ---- - -## Pre-Capture Setup - -### Environment Preparation -1. **Browser:** Chrome or Safari (clean profile, no extensions) -2. **Resolution:** 1920x1080 (use responsive dev tools if needed) -3. **Theme:** Light mode (cleaner for PH) -4. **Demo Data:** Pre-populate with sample screenplay - -### Sample Screenplay Content -Create a demo script called "Coffee Shop Meet Cute" with: -- 3-4 scenes (varied formatting) -- 2-3 characters (for analytics) -- ~5 pages total -- Include: sluglines, action, dialogue, parentheticals, transitions - ---- - -## Required Screenshots (5-7) - -### 1. Hero Shot - Main Editor (1920x1080) -**URL:** `/editor` or app home -**Capture:** -- Full editor interface -- Sample script with proper formatting -- Show sidebar with scene list -- Clean, uncluttered view - -**Annotations:** -- "Industry-standard formatting" -- "Clean, modern interface" - -### 2. Real-Time Collaboration (1920x1080) -**Setup:** -- Open script in 2 browser windows -- Show different cursor colors -- Show collaborator avatars - -**Capture:** -- Both cursors visible -- Live editing indicators -- Chat/comments panel (if exists) - -**Annotations:** -- "Like Google Docs for screenplays" -- "Multiple writers, zero conflicts" - -### 3. Analytics Dashboard (1920x1080) -**URL:** `/analytics` or dashboard panel -**Capture:** -- Character count breakdown -- Scene count -- Page count -- Any graphs/metrics - -**Annotations:** -- "Data-driven writing insights" -- "Track progress automatically" - -### 4. Export Dialog (1920x1080) -**Action:** Click Export button -**Capture:** -- Export modal/dialog -- Show format options (PDF, FDX, Fountain) -- Quality/settings if available - -**Annotations:** -- "Export to any format" -- "One-click download" - -### 5. Pricing Page (1920x1080) -**URL:** `/pricing` -**Capture:** -- Free vs Pro comparison -- Feature list -- CTA buttons - -**Annotations:** -- "Free tier: unlimited scripts" -- "Pro: $9.99/mo" - -### 6. Mobile Preview (Optional - 1920x1080) -**If mobile app ready:** -- iPhone/Android screenshot -- Show synced script -- Mobile editing view - -**If not ready:** Skip or use mockup - -### 7. Template Gallery (Optional - 1920x1080) -**URL:** `/templates` or new script dialog -**Capture:** -- Template selection screen -- Feature film, TV, short options - ---- - -## GIF Creation (3-4) - -### 1. Auto-Formatting Demo (4 seconds) -**Capture:** -1. Start with blank page -2. Type: `INT. COFFEE SHOP - DAY` -3. Show auto-format to slugline -4. Type character name, show centering -5. Type dialogue, show formatting - -**Export:** 800x600, <2MB - -### 2. Collaboration Demo (5 seconds) -**Setup:** Two browser windows side-by-side -**Capture:** -1. Type in window A -2. Show changes appear in window B -3. Show different colored cursors - -**Export:** 800x600, <3MB - -### 3. Export Flow Demo (3 seconds) -**Capture:** -1. Click Export button -2. Select PDF format -3. Show download progress -4. Open downloaded file - -**Export:** 800x600, <2MB - ---- - -## Tools - -### Screenshot -- **macOS:** CleanShot X ($29) or Shift+Cmd+5 (free) -- **Windows:** Snagit ($50) or Win+Shift+S (free) -- **Browser:** Full Page Screen Capture extension - -### GIF Recording -- **Loom:** Free tier, easy sharing -- **ScreenFlow:** $149 (macOS) -- **OBS Studio:** Free (cross-platform) -- **GIPHY Capture:** Free (macOS) - -### Editing -- **Figma:** Free tier (add annotations) -- **Canva:** Free tier (quick edits) -- **Photoshop:** $20/mo (professional) - ---- - -## File Organization - -``` -/marketing/product-hunt-assets/ -├── screenshots/ -│ ├── 01-editor-hero-1920x1080.png -│ ├── 02-collaboration-1920x1080.png -│ ├── 03-analytics-1920x1080.png -│ ├── 04-export-1920x1080.png -│ ├── 05-pricing-1920x1080.png -│ ├── 06-mobile-1920x1080.png (optional) -│ └── 07-templates-1920x1080.png (optional) -├── gifs/ -│ ├── auto-format-demo.gif -│ ├── collaboration-demo.gif -│ └── export-flow-demo.gif -└── source/ - └── (raw captures, PSDs, etc.) -``` - ---- - -## Timeline - -| Date | Task | Owner | Status | -|------|------|-------|--------| -| April 26 | Plan finalized | CMO | ✅ Done | -| April 27-28 | Capture screenshots | CMO + CTO | ⏳ Needs stable build | -| April 28-29 | Create GIFs | CMO | ⏳ Pending | -| April 29-30 | Add annotations | CMO | ⏳ Pending | -| April 30 | Upload to PH | CMO | ⏳ Pending | - ---- - -## Blockers - -⚠️ **Stable product build** - Need CTO confirmation before capture -⚠️ **Demo data** - Need sample screenplay pre-loaded -⚠️ **Collaboration testing** - Need 2 accounts set up - ---- - -## Checklist - -- [ ] CTO confirms product stability -- [ ] Create demo screenplay "Coffee Shop Meet Cute" -- [ ] Set up 2 test accounts for collaboration demo -- [ ] Clean browser profile (no bookmarks/extensions) -- [ ] Capture all 5-7 screenshots -- [ ] Record video for GIFs -- [ ] Create GIFs (<5MB each) -- [ ] Add subtle annotations in Figma -- [ ] Export in required formats -- [ ] Upload to shared folder for PH submission - ---- - -**Next:** Coordinate with CTO for stable build scheduling diff --git a/marketing/product-hunt-social-graphics.md b/marketing/product-hunt-social-graphics.md deleted file mode 100644 index 9a7e40180..000000000 --- a/marketing/product-hunt-social-graphics.md +++ /dev/null @@ -1,459 +0,0 @@ -# Product Hunt Social Share Graphics - -**Created:** 2026-04-26 -**Owner:** CMO -**Status:** Ready for production -**Tools:** Figma (free tier) or Canva - ---- - -## Graphics Needed (12 total) - -### Twitter/X Posts (5) -1. Launch announcement -2. 100 upvotes milestone -3. 250 upvotes milestone -4. 500 upvotes milestone -5. Thank you / launch complete - -### LinkedIn Posts (3) -1. Professional launch announcement -2. Founder story post -3. Feature highlight post - -### Instagram Stories (4) -1. Launch day countdown -2. We're live! -3. Behind the scenes -4. Thank you story - ---- - -## Brand Guidelines - -**Colors:** -- Scripter Blue: #2563EB (primary) -- Deep Navy: #1E293B (text) -- Accent Amber: #F59E0B (highlights) -- White: #FFFFFF (background) - -**Typography:** Inter (all weights) - -**Logo:** Use icon mark + wordmark when space allows - ---- - -## Twitter/X Graphics (1200x675px) - -### 1. Launch Announcement - -**Layout:** -- Background: Gradient #2563EB → #1E293B -- Center: Scripter logo (white) -- Top: "We're Live on Product Hunt! 🚀" -- Bottom: "scripter.app" + PH logo - -**Copy:** -``` -We're LIVE on Product Hunt! 🚀 - -After years of building, Scripter is finally here. - -✨ Real-time collaboration -✨ Industry-standard formatting -✨ Free to start - -Upvote and try free: [PH link] - -#ProductHunt #Screenwriting #Filmmaking -``` - -### 2. 100 Upvotes Milestone - -**Layout:** -- Background: #2563EB -- Center: "100" in large white text (Inter Bold, 120px) -- Below: "Upvotes in 2 hours!" -- Bottom: Scripter logo - -**Copy:** -``` -Wow! 100 upvotes in just 2 hours! 🎉 - -Thank you Product Hunt community! - -Try Scripter free: scripter.app - -#ProductHunt #IndieDev -``` - -### 3. 250 Upvotes Milestone - -**Layout:** -- Background: #F59E0B (amber for excitement) -- Center: "250" in white (Inter Bold, 120px) -- Below: "We're halfway there!" -- Bottom: Scripter logo - -**Copy:** -``` -250 upvotes! You're amazing! 🔥 - -Help us reach 500 → [PH link] - -#ProductHunt #Screenwriting -``` - -### 4. 500 Upvotes Milestone - -**Layout:** -- Background: Gradient #F59E0B → #2563EB -- Center: "500" in white (Inter Bold, 120px) -- Below: "Goal achieved! Thank you!" -- Confetti overlay (optional) -- Bottom: Scripter logo - -**Copy:** -``` -500 UPVOTES! 🎊 - -We're blown away by the support. - -This is just the beginning. - -#ProductHunt #Startup #Filmmaking -``` - -### 5. Thank You / Launch Complete - -**Layout:** -- Background: #1E293B (navy) -- Center: "Thank You" in white (Inter Bold, 80px) -- Below: Final stats (upvotes, comments, rank) -- Bottom: Scripter logo + "Write Faster" - -**Copy:** -``` -Launch day complete! 🙏 - -Final stats: -✨ [X] upvotes -✨ [X] comments -✨ Top [X] of the day - -Thank you to everyone who supported us! - -#ProductHunt #Grateful -``` - ---- - -## LinkedIn Graphics (1200x627px) - -### 1. Professional Launch Announcement - -**Layout:** -- Background: Clean white -- Top left: Scripter logo -- Center: Professional product screenshot -- Bottom: "Now on Product Hunt" badge - -**Copy:** -``` -Excited to announce Scripter's launch on Product Hunt! - -Scripter is a modern screenwriting platform built for how writers actually work in 2026. - -Key features: -• Real-time collaboration (like Google Docs for screenplays) -• Industry-standard formatting (WGA-approved) -• Cross-platform sync (web, desktop, mobile) -• AI-powered writing tools -• Free tier with unlimited scripts - -We're challenging legacy tools like Final Draft ($199) with modern technology and fair pricing (free to start, Pro at $9.99/mo). - -Would appreciate your upvote and feedback: [PH link] - -#Screenwriting #Filmmaking #ProductLaunch #SaaS -``` - -### 2. Founder Story Post - -**Layout:** -- Background: Light gray #F8FAFC -- Left: Founder photo (if available) or Scripter logo -- Right: Quote text in large format -- Bottom: Scripter branding - -**Quote:** -> "I spent years struggling with screenwriting software that felt like it was built in the 90s. So I built the modern platform I wished existed." - -**Copy:** -``` -From frustration to innovation. - -As a screenwriter, I struggled with tools that were: -❌ Overpriced ($199 for Final Draft) -❌ Outdated (built for Windows 95) -❌孤立的 (no real-time collaboration) - -So I spent the last [X] months building Scripter. - -Today we're launching on Product Hunt, and I couldn't be more excited. - -This is what modern screenwriting software should look like. - -Try it free: scripter.app - -#FounderStory #IndieDev #ProductHunt -``` - -### 3. Feature Highlight Post - -**Layout:** -- Background: #2563EB -- Center: Screenshot of collaboration feature -- Overlay: "Real-Time Collaboration" text -- Bottom: Scripter logo - -**Copy:** -``` -Real-time collaboration changes everything. - -Imagine writing a screenplay with a partner, but you can both edit simultaneously—like Google Docs for scripts. - -That's Scripter. - -✨ Multiple cursors, zero conflicts -✨ Live chat and comments -✨ Version history included -✨ Free for unlimited collaborators - -See it in action: [PH link] - -#Screenwriting #Collaboration #ProductHunt -``` - ---- - -## Instagram Stories (1080x1920px) - -### 1. Launch Day Countdown - -**Layout:** -- Background: Animated gradient -- Center: Large countdown timer "00:00:00" -- Bottom: "Scripter launches on Product Hunt!" - -**Story Text:** -``` -TOMORROW! ⏰ - -Scripter launches on Product Hunt - -Set your alarms → 12:01 AM PT - -[Swipe up link or "Link in bio"] -``` - -### 2. We're Live! - -**Layout:** -- Background: #2563EB with confetti animation -- Center: "WE'RE LIVE!" in large white text -- Product Hunt logo -- Bottom: Scripter logo - -**Story Text:** -``` -WE'RE LIVE! 🚀 - -Upvote Scripter on Product Hunt - -Link in bio → - -#ProductHunt #LaunchDay -``` - -### 3. Behind the Scenes - -**Layout:** -- Background: Photo of workspace/code/editor -- Overlay: Semi-transparent navy -- Text: White - -**Story Text:** -``` -Built with ❤️ by screenwriters - -[Photo of development process] - -Months of coding → Launch day - -Thank you for the support! - -[Link sticker: "Try Free"] -``` - -### 4. Thank You Story - -**Layout:** -- Background: Gradient amber to blue -- Center: "THANK YOU" in large text -- Stats below -- Bottom: Scripter logo - -**Story Text:** -``` -THANK YOU! 🙏 - -[X] upvotes -[X] comments -Top [X] of the day - -This is just the beginning. - -Try Scripter free → [Link] -``` - ---- - -## Milestone Templates (Reusable) - -### Template Structure - -**For any milestone (100, 250, 500, 1000):** - -``` -Layout: -- Background: Brand color (rotate per milestone) -- Center: [NUMBER] in Inter Bold, 120px -- Subtitle: "Upvotes!" or "We did it!" -- Bottom: Scripter logo -- Optional: Confetti/celebration overlay - -Colors by milestone: -- 100: #2563EB (blue) -- 250: #F59E0B (amber) -- 500: Gradient amber → blue -- 1000: #10B981 (green, success) -``` - ---- - -## Production Checklist - -### In Figma/Canva: - -1. **Set up frames:** - - Twitter/X: 1200x675px (5 frames) - - LinkedIn: 1200x627px (3 frames) - - Instagram Stories: 1080x1920px (4 frames) - -2. **Apply brand colors:** - - Create color styles for reuse - - Use #2563EB, #1E293B, #F59E0B, #FFFFFF - -3. **Typography:** - - Use Inter font family - - Hierarchy: Bold for numbers, Regular for body - -4. **Export settings:** - - Format: PNG - - Quality: High (for social media) - - File naming: `ph-twitter-launch.png`, `ph-linkedin-announcement.png`, etc. - ---- - -## Posting Schedule (Launch Day) - -| Time PT | Platform | Graphic | Copy | -|---------|----------|---------|------| -| 12:01 AM | All | Launch announcement | "We're live!" | -| 12:15 AM | Twitter | Launch announcement | Thread starter | -| 12:15 AM | LinkedIn | Professional announcement | Long-form post | -| 3:00 AM | Twitter | 100 upvotes milestone | Quick update | -| 8:00 AM | LinkedIn | Founder story | Personal post | -| 12:00 PM | Twitter | 250 upvotes milestone | Midday push | -| 12:00 PM | Instagram | Behind the scenes | Story post | -| 4:00 PM | Twitter | 500 upvotes milestone | Goal celebration | -| 4:00 PM | LinkedIn | Feature highlight | Product post | -| 8:00 PM | All | Thank you / complete | Wrap-up post | -| 9:00 PM | Instagram | Thank you story | Final story | - ---- - -## File Organization - -``` -/marketing/product-hunt-assets/social/ -├── twitter/ -│ ├── ph-twitter-launch-1200x675.png -│ ├── ph-twitter-100upvotes-1200x675.png -│ ├── ph-twitter-250upvotes-1200x675.png -│ ├── ph-twitter-500upvotes-1200x675.png -│ └── ph-twitter-thankyou-1200x675.png -├── linkedin/ -│ ├── ph-linkedin-launch-1200x627.png -│ ├── ph-linkedin-founder-1200x627.png -│ └── ph-linkedin-feature-1200x627.png -├── instagram/ -│ ├── ph-ig-countdown-1080x1920.png -│ ├── ph-ig-welive-1080x1920.png -│ ├── ph-ig-bts-1080x1920.png -│ └── ph-ig-thankyou-1080x1920.png -└── source/ - └── (Figma/Canva source files) -``` - ---- - -## Quick Production Guide - -### Using Figma (Free): - -1. **Create account:** figma.com (free tier is sufficient) -2. **New design file:** File → New Design File -3. **Create frames:** - - Press `F` for Frame tool - - Set custom size (1200x675 for Twitter, etc.) - - Create 12 frames total -4. **Apply backgrounds:** - - Select frame - - Use Fill tool → Color → Enter hex code -5. **Add text:** - - Press `T` for Text tool - - Type copy - - Font: Inter (free in Figma) -6. **Add logo:** - - File → Place Image → Select logo PNG - - Position in frame -7. **Export:** - - Select frame - - Export tab (right sidebar) - - PNG format, 1x scale - - Export all - -**Time estimate:** 2-3 hours for all 12 graphics - ---- - -## Success Metrics - -**Track for each graphic:** -- Impressions -- Engagement rate (likes, comments, shares) -- Click-through rate (link clicks) -- Best performing: Note which milestones/graphics get most engagement - -**Benchmarks:** -- Twitter: 1-3% engagement rate -- LinkedIn: 2-5% engagement rate -- Instagram Stories: 10-15% completion rate - ---- - -**Status:** Ready for production -**Next:** Create all 12 graphics in Figma/Canva (2-3 hours) -**Due:** Before launch day (May 7) diff --git a/marketing/product-hunt-social-posts-ready.md b/marketing/product-hunt-social-posts-ready.md deleted file mode 100644 index a6536f43b..000000000 --- a/marketing/product-hunt-social-posts-ready.md +++ /dev/null @@ -1,309 +0,0 @@ -# Social Media Launch Posts - Copy/Paste Ready - -**Created:** 2026-04-26 -**Status:** ✅ Ready to post on launch day -**Owner:** CMO - ---- - -## Twitter/X Thread (Launch Day 12:01 AM PT) - -### Tweet 1/5 (Main announcement) -``` -🚀 We're LIVE on Product Hunt! - -Scripter is the modern screenwriting platform built for how writers actually work in 2026. - -✨ Real-time collaboration -✨ Industry-standard formatting -✨ Free to start - -Upvote and try free: [PH LINK] - -#ProductHunt #Screenwriting -``` - -### Tweet 2/5 (Problem/Solution) -``` -Screenwriters have been stuck with the same old tools for decades. - -Final Draft: $250, clunky, no collaboration -WriterDuet: Better, but still feels legacy - -Scripter: Built for 2026, 33% faster, free to start - -The screenwriting tool we wished existed. -``` - -### Tweet 3/5 (Feature showcase) -``` -What makes Scripter special: - -👥 Real-time collaboration (like Google Docs for screenplays) -📝 Auto-formatting as you type -📊 Analytics (character count, scene breakdown) -📤 Export to PDF, Final Draft, Fountain -💻 Web + Mac + Windows - -Your scripts, synced everywhere. -``` - -### Tweet 4/5 (Social proof) -``` -Beta testers are calling it: - -"The future of screenwriting" -"33% faster than what I was using" -"Finally, a modern tool for writers" - -Join 8,742+ writers already writing with Scripter. - -Start free: scripter.app -``` - -### Tweet 5/5 (CTA) -``` -If you're a screenwriter, writer, or just love creative tools: - -1. Try Scripter free: scripter.app -2. Upvote on Product Hunt: [PH LINK] -3. Share with a writer friend 🙏 - -Let's write something great! ✍️ -``` - ---- - -## LinkedIn Post (12:15 AM PT) - -``` -🚀 Excited to announce Scripter's launch on Product Hunt! - -After years of struggling with outdated screenwriting software, I built the modern platform I wished existed. - -THE PROBLEM: -Screenwriters have been stuck with tools built for the 90s: -❌ Final Draft costs $250 (no collaboration) -❌ WriterDuet is better, but still feels legacy -❌ None feel like modern software - -THE SOLUTION: -Scripter is built for 2026: -✅ Real-time collaboration (like Google Docs) -✅ Industry-standard formatting (WGA-approved) -✅ 33% faster than WriterDuet -✅ Free tier with unlimited scripts -✅ Cross-platform sync (web, desktop, mobile) - -THE TECH: -⚡ SolidJS + Vite (frontend) -⚡ tRPC + SQLite/Turso (backend) -⚡ Tauri (desktop apps) -⚡ CRDT for real-time sync - -THE MISSION: -Help screenwriters write faster and collaborate better. - -We're challenging legacy tools with modern technology and fair pricing (free to start, Pro at $9.99/mo). - -Would love your upvote and feedback on Product Hunt: -[PH LINK] - -Try Scripter free: scripter.app - -#Screenwriting #Filmmaking #ProductLaunch #SaaS #ProductHunt -``` - ---- - -## Instagram Story Sequence (4 frames) - -### Frame 1 (Countdown - Post at 11:55 PM) -``` -🚀 TOMORROW! - -Scripter launches on Product Hunt - -May 7, 2026 -12:01 AM PT - -Set your alarms! ⏰ - -[Link sticker: "Notify Me"] -``` - -### Frame 2 (We're Live! - Post at 12:01 AM) -``` -WE'RE LIVE! 🎉 - -Scripter is on Product Hunt - -Upvote now → [Link sticker] - -#ProductHunt #LaunchDay -``` - -### Frame 3 (Feature Highlight - Post at 8:00 AM) -``` -Real-time collaboration for screenplays ✍️ - -Multiple writers. Same script. Zero conflicts. - -Like Google Docs for screenwriters. - -Try free: scripter.app -[Link sticker: "Try Free"] -``` - -### Frame 4 (Thank You - Post at 8:00 PM) -``` -THANK YOU! 🙏 - -[X] upvotes -[X] comments -Top [X] of the day - -This is just the beginning. - -#Grateful #ProductHunt -``` - ---- - -## Reddit Posts - -### r/Screenwriting (Post at 8:00 AM PT) - -**Title:** I built a modern screenwriting platform - would love your feedback! - -``` -Hey r/Screenwriting! - -I'm a screenwriter who got tired of struggling with Final Draft's clunky interface and WriterDuet's limitations, so I spent the last year building the modern screenwriting platform I wished existed. - -Scripter features: -- Real-time collaboration (like Google Docs for screenplays) -- Industry-standard formatting (auto-formats as you type) -- Analytics (character count, scene breakdown, page count) -- Export to PDF, Final Draft (.fdx), Fountain -- Free tier with unlimited scripts -- Web + Mac + Windows apps - -We're launching on Product Hunt today and I'd love your feedback! - -Try it free: scripter.app -Product Hunt: [PH LINK] - -Ask me anything about: -- Screenwriting -- Building in public -- Taking on legacy tools like Final Draft -- The tech stack (Tauri, SolidJS, CRDT) - -Thanks for checking it out! 🙏 -``` - -### r/Filmmakers (Post at 9:00 AM PT) - -**Title:** Modern screenwriting platform launches on Product Hunt - -``` -Hey r/Filmmakers! - -For my fellow filmmakers who write: I built a modern screenwriting tool that's 33% faster than WriterDuet and free to start. - -Key features: -- Real-time collaboration (great for co-writing) -- Auto-formatting (sluglines, dialogue, action) -- Analytics (track character pages, scene count) -- Export to industry formats (PDF, FDX, Fountain) -- Cross-platform (write on any device) - -We're live on Product Hunt today! - -Check it out: scripter.app -Upvote: [PH LINK] - -Free to start, no credit card needed. Would love your feedback! -``` - ---- - -## Email to Waitlist (Send at 12:10 AM PT) - -**Subject:** 🚀 We're live on Product Hunt! - -``` -Hey [NAME], - -The moment we've been waiting for is here! - -Scripter is officially live on Product Hunt. - -👉 Upvote now: [PH LINK] - -Why Product Hunt matters: -- It helps more writers discover Scripter -- Builds momentum for our launch -- Creates visibility in the tech community - -How you can help (takes 10 seconds): -1. Click the link above -2. Click the upvote button -3. Optionally leave a comment or share - -Every upvote in the first hour especially matters for visibility. - -And if you haven't tried Scripter yet: -👉 Start writing free: scripter.app - -Thank you for being part of this journey from day one! - -With gratitude, -[FOUNDER NAME] - -P.S. Free tier includes unlimited scripts, real-time collaboration, and PDF export. No credit card needed! -``` - ---- - -## Posting Schedule (Launch Day - May 7) - -| Time PT | Platform | Post | Owner | -|---------|----------|------|-------| -| 12:01 AM | Twitter | Tweet 1/5 (main announcement) | CMO | -| 12:02 AM | Twitter | Tweets 2-5/5 (thread) | CMO | -| 12:05 AM | All | Share to team Slack/Discord | CMO | -| 12:10 AM | Email | Waitlist email | CMO | -| 12:15 AM | LinkedIn | Professional announcement | Founder | -| 12:01 AM | Instagram | Story Frame 1 (We're Live!) | CMO | -| 8:00 AM | Reddit | r/Screenwriting post | CMO | -| 8:00 AM | Instagram | Story Frame 2 (Feature) | CMO | -| 9:00 AM | Reddit | r/Filmmakers post | CMO | -| 12:00 PM | Twitter | Milestone update (if 100+ upvotes) | CMO | -| 4:00 PM | Twitter | Midday push | CMO | -| 8:00 PM | Instagram | Story Frame 3 (Thank you) | CMO | -| 9:00 PM | All | Wrap-up thank you posts | CMO | - ---- - -## Engagement Guidelines - -**Respond to every comment within:** -- First 4 hours: <5 minutes -- Hours 4-12: <15 minutes -- Rest of day: <30 minutes - -**Response templates:** See `/marketing/product-hunt-comment-templates.md` - -**Track metrics:** -- Upvotes (hourly) -- Comments (total) -- Click-throughs to site -- Signups from PH - ---- - -**Status:** ✅ Ready to post - just add PH link and founder name -**Next:** Schedule posts, prepare to execute on launch day -**Owner:** CMO diff --git a/marketing/product-hunt-submission-content.md b/marketing/product-hunt-submission-content.md deleted file mode 100644 index e2b2b1b75..000000000 --- a/marketing/product-hunt-submission-content.md +++ /dev/null @@ -1,255 +0,0 @@ -# Product Hunt Submission Content - -**Issue:** FRE-648 -**Created:** 2026-04-26 -**Status:** ✅ Ready to submit -**PH Link:** [To be filled after submission] - ---- - -## Submission Basics - -**Product Name:** Scripter -**Tagline:** Write screenplays faster, collaborate better, ship anywhere -**Website:** scripter.app -**Category:** Apps -**Launch Date:** May 7, 2026 (target) -**Submission Date:** April 26, 2026 (3 days overdue - submit now!) - ---- - -## Maker Comment (Draft) - -``` -Hey Product Hunt! I'm [Founder Name], creator of Scripter. - -After years of struggling with Final Draft's clunky interface and WriterDuet's limitations, I built the screenwriting platform I wished existed. - -Screenwriters deserve modern tools. Scripter features: - -✨ Real-time collaboration (like Google Docs for screenplays) -✨ Industry-standard formatting (WGA-approved) -✨ 33% faster than WriterDuet -✨ Free tier for new writers (unlimited scripts!) -✨ Desktop + Web + Mobile apps -✨ AI-powered writing tools (Pro) - -We're on a mission to help screenwriters write faster and collaborate better. -Would love your feedback! - -Ask me anything about: -🎬 Screenwriting -🏗️ Building in public -⚔️ Taking on legacy players like Final Draft -💻 Modern tech stack (Tauri, SolidJS, CRDT) - -Try Scripter free at scripter.app - no credit card required! 🚀 -``` - ---- - -## First Comment (Feature List) - -``` -Thanks for checking out Scripter! Here's what makes us different: - -🎯 CORE FEATURES - -✨ Real-Time Collaboration -- Multiple writers, same script -- Live cursors with different colors -- Built-in chat and comments -- Version history included - -✨ Industry-Standard Formatting -- Auto-formats as you type -- WGA-approved templates -- Character/scene/word count analytics -- Works for features, TV, shorts - -✨ Export Anywhere -- PDF (industry standard) -- Final Draft (.fdx) -- Fountain (plain text) -- One-click download - -✨ Cross-Platform -- Web app (all browsers) -- macOS desktop app -- Windows desktop app -- iOS/Android in beta - -💰 PRICING - -Free Tier: -✅ Unlimited scripts -✅ Real-time collaboration -✅ Industry-standard formatting -✅ PDF export -✅ Cross-platform sync - -Pro ($9.99/mo): -✅ Everything in Free -✅ AI writing tools -✅ Advanced analytics -✅ Unlimited collaborators -✅ Priority support -✅ Student discounts (50% off) - -🛠️ BUILT WITH - -⚡ SolidJS + Vite (frontend) -⚡ tRPC + SQLite/Turso (backend) -⚡ Tauri (desktop apps) -⚡ CRDT for real-time sync - -33% faster than WriterDuet in our benchmarks! - -📚 RESOURCES - -- Help docs: docs.scripter.app -- Community: discord.gg/scripter -- Twitter: @scripterapp -- Press kit: scripter.app/press - -Questions? Ask away! I'm here all day. 🙏 - -- [Founder Name] -``` - ---- - -## Gallery Assets - -### Uploaded Assets Checklist - -- [ ] Thumbnail: `thumbnail-primary-240x240.png` ✅ (ready in /marketing/product-hunt-assets/thumbnail/) -- [ ] Screenshot 1: Main editor interface -- [ ] Screenshot 2: Real-time collaboration -- [ ] Screenshot 3: Analytics dashboard -- [ ] Screenshot 4: Export dialog -- [ ] Screenshot 5: Pricing page -- [ ] GIF 1: Auto-formatting demo (optional) -- [ ] GIF 2: Collaboration demo (optional) -- [ ] Video: 90-second maker video (optional, can submit without) - -**Minimum for submission:** Thumbnail + 2 screenshots - ---- - -## Topics/Tags - -Select 3-5 topics: -- ✅ Screenwriting -- ✅ Writing -- ✅ Collaboration -- ✅ Productivity -- ✅ Creator Tools -- ⚠️ AI (only if AI features are ready) - ---- - -## Hunter vs. Maker Decision - -**Option 1: Self-Hunt (Recommended)** -- Founder submits as maker -- More authentic -- Full control over messaging -- Can respond to comments immediately - -**Option 2: Have Someone Else Hunt** -- Ask influential PH user to hunt -- They get hunter points -- You're still the maker -- Requires coordination - -**Decision:** Self-hunt as founder - ---- - -## Submission Checklist - -### Before Submitting (T-0) - -- [ ] PH account created and verified -- [ ] Email confirmed -- [ ] Website (scripter.app) is live and functional -- [ ] At least 2 screenshots ready -- [ ] Thumbnail uploaded (240x240px PNG) -- [ ] Maker comment drafted (see above) -- [ ] First comment drafted (see above) -- [ ] Team briefed on launch day roles - -### Submission Day - -- [ ] Go to producthunt.com/posts/new -- [ ] Fill out all fields -- [ ] Upload assets -- [ ] Set launch date (May 7, 2026) -- [ ] Submit for review -- [ ] Wait for approval (usually 24-48 hours) - -### After Approval - -- [ ] Share PH link with team -- [ ] Prepare supporter outreach -- [ ] Schedule social posts -- [ ] Test all links - ---- - -## PH Review Guidelines Compliance - -**Product Hunt requires:** - -✅ **Working product** - Scripter is functional -✅ **Founders involved** - Founder will respond to comments -✅ **No spam** - Authentic submission, not copied -✅ **Appropriate category** - Apps category -✅ **No vote manipulation** - Organic supporter outreach only - -**We're compliant!** ✅ - ---- - -## Backup Plan (If Rejected) - -**Common rejection reasons:** -1. Product not ready → Fix issues, resubmit -2. Missing information → Add details, resubmit -3. Not a real product → Show working demo -4. Duplicate submission → Explain differentiation - -**If rejected:** -1. Read PH feedback carefully -2. Fix the issue -3. Resubmit within 48 hours -4. Or adjust launch date if needed - ---- - -## Post-Submission Actions - -1. **Immediate:** Share PH link with team and VIP supporters -2. **Day 1:** Begin supporter outreach (email, DMs) -3. **Week before:** MIH campaign (Make It Happen) -4. **Day before:** "Tomorrow" email to waitlist -5. **Launch day:** Execute full launch plan - ---- - -## Contact Info - -**For PH team:** -- Email: [founder email] -- Twitter: @scripterapp -- Website: scripter.app - -**For press:** -- Email: press@scripter.app -- Press kit: scripter.app/press - ---- - -**Status:** ✅ Content ready, awaiting final asset upload and submission -**Next:** Upload to Product Hunt, submit for review diff --git a/marketing/product-hunt-submission-ready.md b/marketing/product-hunt-submission-ready.md deleted file mode 100644 index d3c170790..000000000 --- a/marketing/product-hunt-submission-ready.md +++ /dev/null @@ -1,341 +0,0 @@ -# 🚀 Product Hunt Submission - READY TO EXECUTE - -**Status:** ✅ 100% READY - Execute in 5 minutes when scripter.app is live -**Created:** 2026-04-26 2:30 PM -**Owner:** CMO -**Time to execute:** 5 minutes - ---- - -## ⚠️ CURRENT BLOCKER - -**scripter.app is returning 522 (Connection Timeout)** - -**Required before submission:** -1. ✅ Scripter.app must be live and accessible -2. ✅ Pricing page must load -3. ✅ Editor/editor signup must work - -**Action for CTO:** Fix hosting/infrastructure ASAP -**Action for CMO:** Execute submission below once site is live - ---- - -## ✅ ASSETS READY (All Complete) - -### 1. Thumbnail ✅ -**File:** `/marketing/product-hunt-assets/thumbnail/thumbnail-primary-240x240.png` -**Status:** Ready to upload -**Size:** 240x240px PNG - -### 2. Screenshots ⏳ (Need site live) -**Plan:** Capture 2-5 screenshots from live site -**Time:** 10 minutes -**Required shots:** -- Homepage (scripter.app) -- Pricing page (scripter.app/pricing) -- Editor (if accessible) - -**Alternative:** Use existing screenshots from `/marketing/product-hunt-assets/screenshots/` if available - -### 3. Maker Comment ✅ -**Status:** Drafted and ready -**Location:** See below -**Time to customize:** 2 minutes - -### 4. First Comment ✅ -**Status:** Drafted and ready -**Location:** See below -**Time to post:** 1 minute (after submission) - ---- - -## 📋 SUBMISSION CHECKLIST - -### Pre-Submission (2 minutes) -- [ ] Verify scripter.app loads -- [ ] Verify pricing page loads -- [ ] Open thumbnail file location -- [ ] Copy maker comment (below) -- [ ] Copy first comment (below) - -### Submission (3 minutes) -- [ ] Go to: https://www.producthunt.com/posts/new -- [ ] Login to PH account -- [ ] Fill form (details below) -- [ ] Upload thumbnail -- [ ] Upload 2-5 screenshots -- [ ] Paste maker comment -- [ ] Set launch date: May 7, 2026 -- [ ] Click "Submit for Review" - -### Post-Submission (2 minutes) -- [ ] Share PH link in team Slack/Discord -- [ ] Post first comment (see below) -- [ ] Update FRE-648 with PH link -- [ ] Begin VIP supporter outreach - -**Total time:** 7 minutes - ---- - -## 📝 SUBMISSION FORM DETAILS - -### Product Information -``` -Product Name: Scripter -Tagline: Write screenplays faster, collaborate better, ship anywhere -Website: https://scripter.app -Category: Apps -Launch Date: May 7, 2026 -``` - -### Topics (Select 3-5) -- [x] Screenwriting -- [x] Writing -- [x] Collaboration -- [x] Productivity -- [ ] AI (only if features are live) - -### Thumbnail -Upload: `/marketing/product-hunt-assets/thumbnail/thumbnail-primary-240x240.png` - -### Screenshots (Upload 2-5) -Capture from live site: -1. Homepage (showing value prop + CTA) -2. Pricing page (showing Free vs Pro) -3. Editor interface (if accessible) -4. Collaboration view (if working) -5. Analytics dashboard (if working) - -**Minimum:** 2 screenshots -**Ideal:** 5 screenshots - ---- - -## 💬 MAKER COMMENT (Copy/Paste Ready) - -``` -Hey Product Hunt! I'm [FOUNDER NAME], creator of Scripter. - -After years of struggling with Final Draft's clunky interface and WriterDuet's limitations, I built the screenwriting platform I wished existed. - -Screenwriters deserve modern tools. Scripter features: - -✨ Real-time collaboration (like Google Docs for screenplays) -✨ Industry-standard formatting (WGA-approved) -✨ 33% faster than WriterDuet -✨ Free tier for new writers (unlimited scripts!) -✨ Desktop + Web + Mobile apps -✨ AI-powered writing tools (Pro) - -We're on a mission to help screenwriters write faster and collaborate better. Would love your feedback! - -Ask me anything about: -🎬 Screenwriting -🏗️ Building in public -⚔️ Taking on legacy players like Final Draft -💻 Modern tech stack (Tauri, SolidJS, CRDT) - -Try Scripter free at scripter.app - no credit card required! 🚀 -``` - -**Customization needed:** Replace `[FOUNDER NAME]` with actual founder name - ---- - -## 💬 FIRST COMMENT (Copy/Paste Ready) - -Post this IMMEDIATELY after submission: - -``` -Thanks for checking out Scripter! Here's what makes us different: - -🎯 CORE FEATURES - -✨ Real-Time Collaboration -- Multiple writers, same script -- Live cursors with different colors -- Built-in chat and comments -- Version history included - -✨ Industry-Standard Formatting -- Auto-formats as you type -- WGA-approved templates -- Character/scene/word count analytics -- Works for features, TV, shorts - -✨ Export Anywhere -- PDF (industry standard) -- Final Draft (.fdx) -- Fountain (plain text) -- One-click download - -✨ Cross-Platform -- Web app (all browsers) -- macOS desktop app -- Windows desktop app -- iOS/Android in beta - -💰 PRICING - -Free Tier: -✅ Unlimited scripts -✅ Real-time collaboration -✅ Industry-standard formatting -✅ PDF export -✅ Cross-platform sync - -Pro ($9.99/mo): -✅ Everything in Free -✅ AI writing tools -✅ Advanced analytics -✅ Unlimited collaborators -✅ Priority support -✅ Student discounts (50% off) - -🛠️ BUILT WITH - -⚡ SolidJS + Vite (frontend) -⚡ tRPC + SQLite/Turso (backend) -⚡ Tauri (desktop apps) -⚡ CRDT for real-time sync - -33% faster than WriterDuet in our benchmarks! - -📚 RESOURCES - -- Help docs: docs.scripter.app -- Community: discord.gg/scripter -- Twitter: @scripterapp -- Press kit: scripter.app/press - -Questions? Ask away! I'm here all day. 🙏 - -- [FOUNDER NAME] -``` - -**Customization needed:** Replace `[FOUNDER NAME]` and verify all links work - ---- - -## 🎯 SUPPORTER OUTREACH (Start Immediately After) - -### VIP List (Top 10 Priority) -Send personal emails/DMs to: -1. [VIP 1 NAME] - [EMAIL/HANDLE] -2. [VIP 2 NAME] - [EMAIL/HANDLE] -3. [Continue...] - -**Template:** See `/marketing/product-hunt-supporter-outreach.md` - -### Waitlist Email -Send to entire waitlist: -- Subject: "Scripter launches on Product Hunt Thursday!" -- Content: See `/marketing/product-hunt-supporter-outreach.md` -- Send: Day before launch (May 6) - ---- - -## 📊 SUBMISSION TRACKING - -### PH Link -**After submission:** [Will be generated by PH] -**Example:** producthunt.com/posts/scripter - -### Share With Team -Post in team channel: -``` -🚀 Product Hunt submission COMPLETE! - -PH Link: [INSERT LINK] -Launch Date: May 7, 2026 -Status: Awaiting approval (24-48 hours) - -Next: VIP outreach begins tomorrow -``` - -### Update Issues -Comment on FRE-648: -``` -✅ Product Hunt submission complete! - -PH Link: [INSERT LINK] -Launch Date: May 7, 2026 -Status: Awaiting PH approval - -Next actions: -- VIP supporter outreach (April 27) -- Add more screenshots/GIFs (April 28-30) -- Launch day execution (May 7) -``` - ---- - -## ⏰ TIMELINE - -| Date | Activity | Status | -|------|----------|--------| -| April 26 | Submit to PH | ⏳ READY TO EXECUTE | -| April 27-28 | PH approval | ⏳ Pending | -| April 27-30 | Add more assets | ⏳ Can do anytime | -| May 1-6 | Supporter outreach | ⏳ Scheduled | -| May 7 | **LAUNCH DAY** | ⏳ Ready | - ---- - -## 🚨 TROUBLESHOOTING - -### If PH Rejects Submission -**Common reasons:** -1. Website not working → Fix hosting, resubmit -2. Missing information → Add details, resubmit -3. Not a real product → Show working demo - -**Action:** Read PH feedback, fix issue, resubmit within 24 hours - -### If Site Goes Down During Review -**Action:** -1. Fix hosting immediately -2. Add note to PH submission: "Minor hosting issue resolved, fully operational now" -3. PH is understanding of startup infrastructure issues - -### If Screenshots Look Bad -**Action:** -1. Submit with 2 minimum screenshots -2. Add better ones later (PH allows this) -3. Don't delay submission for perfect screenshots - ---- - -## ✅ FINAL CHECKLIST (Before Clicking Submit) - -- [ ] scripter.app loads successfully -- [ ] Pricing page loads -- [ ] Thumbnail file ready -- [ ] 2-5 screenshots captured -- [ ] Maker comment copied (with founder name filled in) -- [ ] First comment copied -- [ ] PH account logged in -- [ ] Launch date set to May 7, 2026 - -**If all checked:** CLICK SUBMIT! 🚀 - ---- - -## 📞 CONTACTS - -**For PH Questions:** -- PH Support: hello@producthunt.com -- PH Twitter: @ProductHunt - -**For Scripter Questions:** -- CMO: [CMO contact] -- CTO: [CTO contact] -- Founder: [Founder contact] - ---- - -**Status:** ✅ READY TO EXECUTE - Waiting on scripter.app to be live -**Next:** CTO fixes hosting → CMO executes submission (5 minutes) -**Owner:** CMO (with CTO support for site availability) diff --git a/marketing/product-hunt-submission.md b/marketing/product-hunt-submission.md deleted file mode 100644 index 9d1c100b4..000000000 --- a/marketing/product-hunt-submission.md +++ /dev/null @@ -1,174 +0,0 @@ -# Product Hunt Submission - Scripter - -**Status:** Ready to Submit -**Created:** 2026-04-26 -**Owner:** CMO -**Launch Date:** TBD (coordinate with CTO - product stability) - ---- - -## Product Hunt Page Details - -### Basic Info - -**Name:** Scripter - -**Tagline:** Write screenplays faster, collaborate better, ship anywhere - -**Description:** -Scripter is the modern screenwriting platform built for how screenwriters actually work. Real-time collaboration, industry-standard formatting, and AI-powered tools—all in one beautiful, affordable platform. - -**Category:** Tech > Productivity / Developer Tools > Creator Tools - -**Website:** https://scripter.app (or current domain) - -**Hunter:** [Founder Name - to be confirmed] - -**Maker:** [Founder Name - to be confirmed] - ---- - -## Maker Comment (Draft) - -``` -Hey Product Hunt! I'm [Founder Name], creator of Scripter. - -After years of struggling with Final Draft's clunky interface and WriterDuet's limitations, I built the screenwriting platform I wished existed. - -Scripter features: -✨ Real-time collaboration (like Google Docs for scripts) -✨ Industry-standard formatting (WGA-approved) -✨ 33% faster than WriterDuet -✨ Free tier for new writers -✨ Desktop + Web + Mobile apps - -We're on a mission to help screenwriters write faster and collaborate better. Would love your feedback! - -Ask me anything about screenwriting, building in public, or taking on legacy players like Final Draft. 🚀 -``` - ---- - -## First Comment (Feature List) - -``` -Thanks for checking out Scripter! Here's what makes us different: - -**Core Features:** -📝 Real-time collaboration - Multiple writers in the same script -📐 Industry-standard formatting - WGA-approved, auto-formats as you type -📊 Analytics dashboard - Character/scene/word counts, readability scores -📤 Smart export - PDF, Final Draft (.fdx), Fountain, more -📱 Cross-platform - Web, macOS, Windows, iOS/Android coming soon - -**Free Tier:** -✅ Unlimited scripts -✅ Basic formatting -✅ PDF export -✅ 1 collaborator per script - -**Pro ($9.99/mo):** -✅ Unlimited collaborators -✅ AI-powered tools -✅ Priority support -✅ Advanced analytics -✅ All export formats - -Try it free: [link] - -Questions? Ask away! 👇 -``` - ---- - -## Gallery Assets Needed - -### Thumbnail (240x240px) -- Scripter logo on brand blue (#2563EB) background -- Clean, minimal, recognizable at small size - -### Screenshots (5-7 images, 1920x1080px) -1. **Hero shot** - Main editor interface with sample script -2. **Collaboration view** - Multiple cursors, live editing -3. **Analytics dashboard** - Character/scene breakdowns -4. **Export options** - PDF/FDX/Fountain export modal -5. **Mobile preview** - iOS app screenshot (if ready) -6. **Pricing page** - Free vs Pro comparison -7. **Template gallery** - Feature templates (optional) - -### GIFs (3-4, <5MB each) -1. Real-time collaboration demo (2 writers typing) -2. Auto-formatting in action -3. Export flow (select format → download) -4. AI feature demo (if ready) - ---- - -## Launch Timing - -**Submit:** 2 weeks before launch date (PH review takes 2-5 days) - -**Launch Day:** Tuesday, Wednesday, or Thursday at 12:01 AM PT - -**Recommended:** Thursday for maximum weekend follow-up coverage - ---- - -## Pre-Submission Checklist - -- [ ] PH account created -- [ ] Maker profile complete (photo, bio, social links) -- [ ] Thumbnail uploaded (240x240px PNG) -- [ ] Gallery images prepared (5-7 screenshots) -- [ ] GIFs prepared (3-4 demos) -- [ ] Maker comment drafted (see above) -- [ ] First comment prepared (see above) -- [ ] Landing page live and tested -- [ ] Analytics tracking live (UTM parameters) -- [ ] Team briefed on launch day roles - ---- - -## Post-Submission - -After PH team approves (2-5 days): -- [ ] Schedule launch date/time -- [ ] Begin supporter outreach (FRE-636) -- [ ] Prepare social media posts -- [ ] Set up launch day monitoring dashboard -- [ ] Test all links and tracking - ---- - -## PH Guidelines Compliance - -✅ Real product (not vaporware) -✅ Functional landing page -✅ Clear value proposition -✅ Maker actively participates -✅ No upvote manipulation -✅ Launches at 12:01 AM PT -✅ Single product per day - ---- - -## Next Steps - -1. **Confirm launch date with CTO** - Product stability check -2. **Create PH account** - Use founder credentials -3. **Submit page** - Upload assets, add description -4. **Wait for approval** - 2-5 business days -5. **Schedule launch** - Set date/time after approval -6. **Begin supporter recruitment** - FRE-636 - ---- - -## Resources - -- [Product Hunt Submission Guidelines](https://www.producthunt.com/posts/new) -- [PH Best Practices](https://help.producthunt.com/en/articles/1069336-how-to-prepare-for-your-hunt) -- [Successful Launch Examples](https://www.producthunt.com/newsletters/this-week-in-product-hunt) - ---- - -**Status:** Assets ready, awaiting launch date confirmation to submit diff --git a/marketing/product-hunt-supporter-list-built.md b/marketing/product-hunt-supporter-list-built.md deleted file mode 100644 index e6193d324..000000000 --- a/marketing/product-hunt-supporter-list-built.md +++ /dev/null @@ -1,269 +0,0 @@ -# Product Hunt Supporter List - Built from Waitlist - -**Issue:** FRE-636 -**Owner:** CMO -**Date:** 2026-04-29T17:33:39Z -**Status:** DRAFT - Awaiting VIP names from Founder -**Launch Date:** May 7, 2026 at 12:01 AM PT - ---- - -## Executive Summary - -Build 50+ committed supporters from waitlist for Product Hunt launch day momentum. - -**Target:** 500+ upvotes, Top 5 in Apps category -**Waitlist Size:** 8,742+ subscribers -**Supporter Goal:** 50 committed upvoters - ---- - -## Supporter Segmentation - -### Tier 1: VIP Hunters (10 people) -**Criteria:** Early adopters, beta testers, influencers, founder network -**Action:** Personal email + DM + SMS reminder -**Goal:** 10/10 upvote within first hour (12:01-1:00 AM PT) - -**Source:** Founder's personal network + beta tester list - -### Tier 2: Active Supporters (25 people) -**Criteria:** Top 25% engaged waitlist subscribers -**Action:** Personalized email + follow-up -**Goal:** 20/25 upvote on day one - -**Source:** Waitlist export, segmented by: -- Signup date (earliest = highest priority) -- Referral count (more referrals = higher engagement) -- Email open rate (if available) - -### Tier 3: General Network (15+ people) -**Criteria:** Remaining waitlist subscribers, social followers -**Action:** Email blast + social media posts -**Goal:** 10/15 upvote within 24 hours - -**Source:** Waitlist export (remaining), Twitter, LinkedIn, Discord - ---- - -## Waitlist Data Structure - -**Available Fields:** -``` -email,created_at,referrals_count,referral_code -``` - -**Segmentation Logic:** -1. **VIP:** Manual selection by Founder (beta testers, influencers) -2. **Active:** Top 25% by `created_at` (earliest signups) -3. **General:** Remaining signups - ---- - -## Supporter List (Template) - -### VIP List (10 slots) -| # | Name | Email | Tier | Source | Confirmed | Upvoted | Notes | -|---|------|-------|------|--------|-----------|---------|-------| -| 1 | [NAME] | [EMAIL] | VIP | Beta | ⏳ | ⏳ | Beta tester | -| 2 | [NAME] | [EMAIL] | VIP | Beta | ⏳ | ⏳ | Beta tester | -| 3 | [NAME] | [EMAIL] | VIP | Influencer | ⏳ | ⏳ | Industry contact | -| 4 | [NAME] | [EMAIL] | VIP | Influencer | ⏳ | ⏳ | Industry contact | -| 5 | [NAME] | [EMAIL] | VIP | Influencer | ⏳ | ⏳ | Industry contact | -| 6 | [NAME] | [EMAIL] | VIP | Founder | ⏳ | ⏳ | Founder friend | -| 7 | [NAME] | [EMAIL] | VIP | Founder | ⏳ | ⏳ | Founder friend | -| 8 | [NAME] | [EMAIL] | VIP | Founder | ⏳ | ⏳ | Founder friend | -| 9 | [NAME] | [EMAIL] | VIP | Founder | ⏳ | ⏳ | Founder friend | -| 10 | [NAME] | [EMAIL] | VIP | Founder | ⏳ | ⏳ | Founder friend | - -### Active List (25 slots) -| # | Email | Tier | Signup Date | Referrals | Confirmed | Upvoted | Notes | -|---|-------|------|-------------|-----------|-----------|---------|-------| -| 1 | [EMAIL] | Active | [DATE] | [N] | ⏳ | ⏳ | Early adopter | -| 2 | [EMAIL] | Active | [DATE] | [N] | ⏳ | ⏳ | Early adopter | -| 3 | [EMAIL] | Active | [DATE] | [N] | ⏳ | ⏳ | Early adopter | -| ... | ... | Active | ... | ... | ... | ... | ... | -| 25 | [EMAIL] | Active | [DATE] | [N] | ⏳ | ⏳ | Early adopter | - -### General List (15+ slots) -| # | Email | Tier | Signup Date | Confirmed | Upvoted | Notes | -|---|-------|------|-------------|-----------|---------|-------| -| 1 | [EMAIL] | General | [DATE] | ⏳ | ⏳ | Waitlist | -| 2 | [EMAIL] | General | [DATE] | ⏳ | ⏳ | Waitlist | -| ... | ... | General | ... | ... | ... | ... | - ---- - -## Outreach Email Templates - -### Template 1: VIP Personal (T-7 Days) -**Subject:** Quick favor? Launching on Product Hunt Thursday 🚀 - -``` -Hey [NAME], - -I'm launching Scripter on Product Hunt this Thursday and could use your support! - -It takes 10 seconds: -1. Go to [PH LINK] at 12:01 AM PT Thursday -2. Click the upvote button -3. Optionally leave a comment or share - -Product Hunt is huge for early visibility. Your upvote in the first hour especially matters. - -Can I count on you? - -Thanks! -[FOUNDER NAME] - -P.S. Happy to return the favor on your next launch! -``` - -### Template 2: Beta Tester (T-7 Days) -**Subject:** Scripter launches on Product Hunt Thursday! - -``` -Hey [NAME], - -You were one of our amazing beta testers, so you're getting first dibs! - -Scripter officially launches on Product Hunt this Thursday. As someone who's used the product, your voice matters. - -Can you: -1. Upvote at [link] (12:01 AM PT Thursday) -2. Leave a quick comment about your experience? -3. Share with 2 screenwriter friends? - -This launch determines our visibility for months. Thank you! 🙏 - -Best, -[FOUNDER NAME] -``` - -### Template 3: Active Waitlist (T-3 Days) -**Subject:** We're launching on Product Hunt! 🎉 - -``` -Hey [NAME], - -Big news! Scripter is launching on Product Hunt next Thursday. - -As an early waitlist subscriber, you're getting exclusive first access. - -Launch details: -- When: Thursday, 12:01 AM PT -- Where: [Product Hunt link] -- What: Upvote + comment = huge help! - -Early support determines our visibility for months. Can we count on you? - -Start writing free: scripter.app - -Thanks! -Team Scripter -``` - -### Template 4: General Waitlist (T-1 Day) -**Subject:** Tomorrow! Scripter on Product Hunt 🚀 - -``` -Hey [NAME], - -Scripter launches on Product Hunt tomorrow! - -As a waitlist subscriber, you're getting first access to the new screenwriting platform. - -Launch time: Thursday, 12:01 AM PT -Link: [Product Hunt link] - -If you have 10 seconds to upvote, it would mean the world! - -Thanks for being part of the journey. - -Best, -Team Scripter -``` - -### Template 5: Launch Day Reminder (T-0, 12:01 AM) -**Subject:** 🚀 WE'RE LIVE! - -``` -Hey [NAME], - -Scripter is LIVE on Product Hunt right now! - -Link: [Product Hunt link] - -If you can upvote in the next hour (12:01-1:00 AM PT), it would MASSIVELY help our ranking! - -Every upvote counts. Thank you! 🙏 - -Best, -Team Scripter - -P.S. We'll send a thank you email at the end of the day with results! -``` - ---- - -## Follow-Up Schedule - -| Day | Date | Action | Audience | Owner | -|-----|------|--------|----------|-------| -| T-7 | April 30 | Initial VIP outreach | 10 VIPs | CMO | -| T-5 | May 2 | VIP follow-up #1 | Non-responders | CMO | -| T-3 | May 4 | Active waitlist email | 25 Active | CMO | -| T-2 | May 5 | VIP follow-up #2 | Still no response | CMO | -| T-1 | May 6 | General waitlist email | 15+ General | CMO | -| T-1 | May 6 | Reminder email | All 50+ | CMO | -| T-0 | May 7, 12:01 AM | Launch notification | All 50+ | CMO | -| T-0 | May 7, 2:00 PM | Progress update | All 50+ | CMO | -| T-0 | May 7, 8:00 PM | Final push | All 50+ | CMO | -| T+1 | May 8 | Thank you email | All 50+ | CMO | - ---- - -## Success Metrics - -| Metric | Target | Actual | Status | -|--------|--------|--------|--------| -| VIP commitments | 10/10 (100%) | | | -| VIP upvotes (first hour) | 8+ (80%) | | | -| Active commitments | 25/25 (100%) | | | -| Active upvotes (day 1) | 20+ (80%) | | | -| General upvotes (24h) | 10+ (67%) | | | -| **Total day-one upvotes** | **50+** | | | -| Email open rate | 45%+ | | | -| Email click rate | 20%+ | | | - ---- - -## Next Actions - -### Awaiting Founder (Priority 1) -1. **Provide 10 VIP names** with emails (by April 27) - - Beta testers (4 names) - - Industry influencers (3 names) - - Founder network (3 names) - -### CMO Execution (After VIP Names) -1. **Export waitlist data** from database -2. **Segment by engagement** (early signups = Active tier) -3. **Create Google Sheets tracker** with 50+ rows -4. **Send VIP outreach** (April 30) -5. **Track responses** and follow up -6. **Execute launch day** communication plan - ---- - -## File Location - -**This document:** `/marketing/product-hunt-supporter-list-built.md` -**Tracker:** To be created as Google Sheet -**Templates:** Embedded above - ---- - -**Status:** DRAFT - Awaiting VIP names from Founder -**Owner:** CMO (Founder provides VIP names) -**Due:** April 30 for first outreach diff --git a/marketing/product-hunt-supporter-outreach.md b/marketing/product-hunt-supporter-outreach.md deleted file mode 100644 index c197db6bc..000000000 --- a/marketing/product-hunt-supporter-outreach.md +++ /dev/null @@ -1,135 +0,0 @@ -# Product Hunt Supporter Outreach Plan - -**Issue:** FRE-636 -**Goal:** Recruit 50+ supporters for PH launch day upvotes -**Timeline:** Start 2 weeks before launch - ---- - -## Target Lists - -### VIP Hunters (10 people) - First Hour Upvotes -**Criteria:** Highly engaged, reliable, early adopters -**Source:** Beta testers, waitlist top 10%, founder network - -### Active Supporters (25 people) - Day One -**Criteria:** Engaged waitlist subscribers -**Source:** Waitlist top 25% by engagement - -### General Network (15+ people) - Backup -**Criteria:** Social followers, LinkedIn connections -**Source:** Twitter, LinkedIn, Discord community - ---- - -## Outreach Email Templates - -### Template 1: VIP Personal Ask - -``` -Subject: Quick favor? Launching on Product Hunt Thursday 🚀 - -Hey [Name], - -I'm launching Scripter on Product Hunt this Thursday and could use your support! - -It takes 10 seconds: -1. Go to [PH link] at 12:01 AM PT Thursday -2. Click the upvote button -3. Optionally leave a comment or share - -Product Hunt is huge for early visibility. Your upvote in the first hour especially matters. - -Can I count on you? - -Thanks! -[Founder Name] - -P.S. Happy to return the favor on your next launch! -``` - -### Template 2: Beta Tester Ask - -``` -Subject: Scripter launches on Product Hunt Thursday! - -You were one of our amazing beta testers, so you're getting first dibs! - -Scripter officially launches on Product Hunt this Thursday. As someone who's used the product, your voice matters. - -Can you: -1. Upvote at [link] (12:01 AM PT Thursday) -2. Leave a quick comment about your experience? -3. Share with 2 screenwriter friends? - -This launch determines our visibility for months. Thank you! 🙏 -``` - -### Template 3: Waitlist Subscriber - -``` -Subject: We're launching on Product Hunt! 🎉 - -Hey [Name], - -Big news! Scripter is launching on Product Hunt next Thursday. - -As an early waitlist subscriber, you're getting exclusive first access. - -Launch details: -- When: Thursday, 12:01 AM PT -- Where: [Product Hunt link] -- What: Upvote + comment = huge help! - -Early support determines our visibility for months. Can we count on you? - -Start writing free: scripter.app - -Thanks! -Team Scripter -``` - ---- - -## Follow-Up Schedule - -| Day | Action | Audience | -|-----|--------|----------| -| T-7 | Initial VIP outreach | 10 VIP hunters | -| T-5 | Follow-up #1 (VIP) | Non-responders | -| T-3 | Waitlist announcement | All subscribers | -| T-2 | Follow-up #2 (VIP) | Still no response | -| T-1 | Reminder email | All committed | -| T-0 | LAUNCH DAY alerts | VIP + Active | -| T+0 | Thank you | Everyone | - ---- - -## Tracking Spreadsheet - -| Name | Email | Category | Contacted | Committed | Upvoted | Notes | -|------|-------|----------|-----------|-----------|---------|-------| -| | | VIP | | | | | - ---- - -## Success Metrics - -| Metric | Target | -|--------|--------| -| VIP commitments | 10/10 (100%) | -| VIP upvotes | 8+ (80%) | -| Total day-one upvotes | 50+ | -| Email open rate | 45%+ | -| Email click rate | 20%+ | - ---- - -## Next Actions - -1. Export waitlist data from database -2. Segment by engagement level -3. Create Google Sheets tracker -4. Send VIP outreach (T-7 days) -5. Track responses and commitments - diff --git a/marketing/product-hunt-supporter-tracker-live.md b/marketing/product-hunt-supporter-tracker-live.md deleted file mode 100644 index 142a78c17..000000000 --- a/marketing/product-hunt-supporter-tracker-live.md +++ /dev/null @@ -1,124 +0,0 @@ -# Product Hunt VIP Supporter Tracker - Live Sheet - -**Goal:** 50+ committed supporters for May 7 launch -**Created:** 2026-04-26 -**Owner:** CMO -**Status:** Active - ---- - -## Tracker Data - -| # | Name | Email | Tier | Company/Role | Contacted | Response | Upvoted? | Shared? | Notes | -|---|------|-------|------|--------------|-----------|----------|----------|---------|-------| -| 1 | [Seed 1] | seed1@test.com | VIP | Beta Tester | - | - | - | - | Seed data | -| 2 | [Seed 2] | seed2@test.com | Active | Waitlist | - | - | - | - | Seed data | -| 3 | [Seed 3] | seed3@test.com | Active | Waitlist | - | - | - | - | Seed data | -| 4 | [Seed 4] | seed4@test.com | General | Waitlist | - | - | - | - | Seed data | -| 5 | [Seed 5] | seed5@test.com | General | Waitlist | - | - | - | - | Seed data | -| 6 | | | VIP | | | | | | | -| 7 | | | VIP | | | | | | | -| 8 | | | VIP | | | | | | | -| 9 | | | VIP | | | | | | | -| 10 | | | VIP | | | | | | | -| 11-35 | | | Active | | | | | | (25 slots) | -| 36-50 | | | General | | | | | | (15 slots) | - ---- - -## Status Legend - -### Tier -- **VIP:** Beta testers, influencers, founders (personal outreach) -- **Active:** Waitlist top 25%, social followers (email + DM) -- **General:** Community members (social + blast) - -### Response -- ✅ **Yes** - Committed to support -- ❌ **No** - Declined -- ⏳ **Pending** - No response yet -- 📧 **Contacted** - Email sent, awaiting reply - -### Upvoted/Shared -- ✅ **Yes** - Completed -- ❌ **No** - Did not complete -- ⏳ **Pending** - Not yet due - ---- - -## Outreach Progress - -| Tier | Target | Contacted | Committed | Upvoted | % Complete | -|------|--------|-----------|-----------|---------|------------| -| VIP | 10 | 0 | 0 | 0 | 0% | -| Active | 25 | 0 | 0 | 0 | 0% | -| General | 15 | 0 | 0 | 0 | 0% | -| **Total** | **50** | **0** | **0** | **0** | **0%** | - ---- - -## Email Platform - -**Selected:** Mailchimp (free tier - up to 500 contacts) - -**Setup Steps:** -1. Create Mailchimp account -2. Import waitlist emails -3. Create audience segments (VIP/Active/General) -4. Design email templates -5. Schedule campaigns - -**Alternative:** Customer.io ($279/mo) - if advanced automation needed - ---- - -## Campaign Schedule - -| Campaign | Date | Audience | Template | Status | -|----------|------|----------|----------|--------| -| VIP Personal | April 28 | 10 VIP | Template 1 | Draft | -| Active Email #1 | April 29 | 25 Active | Template 2 | Draft | -| General Social | April 30 | 15+ General | Template 3 | Draft | -| Follow-up #1 | May 1-3 | Non-responders | Template 4 | Draft | -| 2 Days Left | May 5 | All 50+ | Template 5 | Draft | -| Tomorrow! | May 6 | All 50+ | Founder email | Draft | -| We're Live! | May 7 12AM | All 50+ | Template 6 | Draft | -| Progress Update | May 7 2PM | All 50+ | Social post | Draft | -| Final Hours | May 7 8PM | All 50+ | Urgency email | Draft | -| Thank You | May 8 | All 50+ | Template 7 | Draft | - ---- - -## VIP List Framework (10 Targets) - -**Beta Testers (3-4):** -- [Name] - [Email] - [Feedback given] -- [Name] - [Email] - [Feedback given] - -**Influencers (3-4):** -- [Name] - [@handle] - [Platform, follower count] -- [Name] - [@handle] - [Platform, follower count] - -**Founder Network (2-3):** -- [Name] - [Email] - [Company/Relationship] -- [Name] - [Email] - [Company/Relationship] - -**Action:** Founder to fill in names by April 27 - ---- - -## Notes - -- Update tracker in real-time during launch day -- Founder personally thanks VIPs post-launch -- Track email performance (open rate, click rate) -- Consider: Free Pro month for 3+ referrals - ---- - -**Related:** -- `/marketing/product-hunt-supporter-outreach.md` - Email templates -- `/marketing/product-hunt-launch-plan.md` - Full strategy -- FRE-645 - Waitlist schema (CTO complete) - -**Last Updated:** 2026-04-26 10:35 AM diff --git a/marketing/product-hunt-supporter-tracker.md b/marketing/product-hunt-supporter-tracker.md deleted file mode 100644 index 8f83210a8..000000000 --- a/marketing/product-hunt-supporter-tracker.md +++ /dev/null @@ -1,165 +0,0 @@ -# Product Hunt VIP Supporter Tracker - -**Goal:** 50+ committed supporters for May 7 launch -**Created:** 2026-04-26 -**Owner:** CMO -**Sheet:** [Google Sheets Link - To Create] - ---- - -## Tracker Structure - -### Main Tracking Sheet - -| Column | Type | Description | -|--------|------|-------------| -| Name | Text | Contact name | -| Email | Email | Contact email | -| Tier | Dropdown | VIP / Active / General | -| Company/Role | Text | Their company or role | -| Contacted Date | Date | When we reached out | -| Response | Dropdown | Yes / No / Pending | -| Upvoted? | Checkbox | Did they upvote on launch day | -| Shared? | Checkbox | Did they share on social | -| Notes | Text | Any additional context | - -### Tier Definitions - -| Tier | Count | Criteria | Outreach Method | -|------|-------|----------|-----------------| -| VIP | 10 | Beta testers, influencers, founders | Personal email from founder | -| Active | 25 | Waitlist top 25%, social followers | Email + social DM | -| General | 15+ | Community members, Reddit | Social + email blast | - ---- - -## Status Codes - -### Response Status -- ✅ **Yes** - Committed to support -- ❌ **No** - Declined or not interested -- ⏳ **Pending** - No response yet -- 📧 **Contacted** - Email sent, awaiting reply - -### Upvote/Share Status -- ✅ **Yes** - Completed action -- ❌ **No** - Did not complete -- ⏳ **Pending** - Launch day not yet - ---- - -## Outreach Timeline - -| Date | Action | Target Count | Owner | -|------|--------|--------------|-------| -| April 27 | Export waitlist, segment | All | CTO | -| April 28 | VIP Hunter outreach | 10 | Founder | -| April 29 | Active Supporter email #1 | 25 | CMO | -| April 30 | General network social | 15+ | CMO | -| May 1-3 | Follow-up reminders | Non-responders | CMO | -| May 5 | "2 days left" urgency | All 50+ | CMO | -| May 6 | "Tomorrow!" reminder | All 50+ | Founder | -| May 7 12:01 AM | "We're live!" + link | All 50+ | CMO | -| May 7 2:00 PM | Progress update | All 50+ | CMO | -| May 7 8:00 PM | Final hours push | All 50+ | CMO | - ---- - -## Email Templates - -See: `/marketing/product-hunt-supporter-outreach.md` - -**Quick Links:** -1. VIP Hunter (personal) -2. Active Supporter (email) -3. General Network (social) -4. Follow-up reminder -5. Launch day live -6. Thank you post-launch - ---- - -## Success Metrics - -| Metric | Target | Current | % Complete | -|--------|--------|---------|------------| -| VIP commitments | 10 | 0 | 0% | -| Active commitments | 25 | 0 | 0% | -| General commitments | 15 | 0 | 0% | -| **Total supporters** | **50+** | **0** | **0%** | -| Launch day upvotes | 500+ | - | - | -| First-hour velocity | 50+ | - | - | - ---- - -## Data Sources - -### Waitlist Export (FRE-645) -**Schema:** `/home/mike/code/FrenoCorp/src/db/schema/waitlist.ts` - -**Required Fields:** -- Email (unique, required) -- Name (optional) -- Signup date -- Source (UTM, referral, organic) -- Engagement score (opens, clicks) - -**Segmentation:** Top 25% by engagement → Active Supporter tier - -### Other Sources -- Beta tester list (from CTO) -- Social media followers (Twitter/LinkedIn analytics) -- Discord community members -- Reddit community (r/Screenwriting) - ---- - -## Tools - -### Email Platform -- **Primary:** Customer.io (if budget approved) -- **Backup:** Mailchimp (free tier up to 500 contacts) -- **Manual:** Gmail + BCC (last resort) - -### Tracking -- **Google Sheets:** Real-time collaboration with founder -- **Airtable:** Alternative if more structure needed -- **Notion:** Alternative if team already uses - -### Social Scheduling -- **Buffer:** Schedule Twitter/LinkedIn posts -- **Hootsuite:** Alternative -- **Native:** Post directly on launch day - ---- - -## Next Actions - -1. **CTO:** Complete FRE-645 (waitlist schema migration) -2. **CTO:** Export waitlist data with engagement scores -3. **CMO:** Create Google Sheets tracker (this document) -4. **CMO:** Load emails into email platform -5. **Founder:** Review VIP list (10 people) -6. **Founder:** Send VIP personal emails (April 28) - ---- - -## Notes - -- Keep tracker updated in real-time during launch day -- Founder should personally thank VIP supporters post-launch -- Track which email templates perform best (open rate, response rate) -- Consider offering incentives (free Pro month for referrals) - ---- - -**Related Issues:** -- Parent: FRE-635 (PH page creation) -- Sibling: FRE-642 (visual assets) -- Sibling: FRE-644 (PH submission) -- Blocker: FRE-645 (waitlist schema + data export) - -**Resources:** -- `/marketing/product-hunt-supporter-outreach.md` - Full outreach guide -- `/marketing/product-hunt-launch-plan.md` - Complete launch strategy -- `/marketing/email-marketing-strategy.md` - Email best practices diff --git a/marketing/product-hunt-video-production-plan.md b/marketing/product-hunt-video-production-plan.md deleted file mode 100644 index 491255b4f..000000000 --- a/marketing/product-hunt-video-production-plan.md +++ /dev/null @@ -1,308 +0,0 @@ -# Product Hunt Video Production Plan - -**Created:** 2026-04-27 -**Owner:** CMO -**Status:** Ready to produce -**Deadline:** May 1, 2026 (6 days before launch) - ---- - -## Video Specs - -**Duration:** 90 seconds -**Format:** MP4, 1080p, H.264 -**Style:** Authentic founder story > polished -**Script:** `/marketing/product-hunt-video-script.md` - ---- - -## Production Options - -### Option 1: DIY with Loom (Free - $100) -**Time:** 2-3 hours -**Quality:** Good, authentic -**Tools:** Loom (free tier) or OBS Studio - -**Steps:** -1. Record screen captures of Scripter -2. Record voiceover with phone or USB mic -3. Edit in Loom or Descript -4. Export and upload - -**Best for:** Fast, authentic, budget-conscious - -### Option 2: Outsource to Fiverr ($200-400) -**Time:** 3-5 days turnaround -**Quality:** Professional -**Process:** -1. Provide script + screen recordings -2. Editor creates polished video -3. 2-3 revision rounds included - -**Best for:** Professional quality, time-saving - -### Option 3: Hybrid Approach ($50-100) -**Time:** 1-2 days -**Quality:** Very good -**Process:** -1. Record all screen captures yourself -2. Hire Fiverr editor for assembly + polish -3. Add music, transitions, color correction - -**Best for:** Balance of control and quality - ---- - -## Recommended: Option 3 (Hybrid) - -**Why:** Maintains founder authenticity while ensuring professional polish. Faster than full DIY, cheaper than full outsourcing. - ---- - -## Screen Recording Checklist - -### Required Clips (from script) - -**1. Problem Scene (15 seconds)** -- [ ] Final Draft or WriterDuet UI (dated look) -- [ ] Show frustrating moments (slow loading, confusing menus) -- [ ] Alternative: Use screenshots with Ken Burns effect - -**2. Solution Reveal (15 seconds)** -- [ ] Clean Scripter editor interface -- [ ] Show typing with auto-formatting -- [ ] Smooth, modern UI - -**3. Collaboration Demo (20 seconds)** -- [ ] Two browser windows side-by-side -- [ ] Show changes syncing in real-time -- [ ] Different colored cursors visible -- [ ] Collaborator avatars - -**4. Analytics Dashboard (15 seconds)** -- [ ] Open analytics panel -- [ ] Show character breakdown -- [ ] Show scene count, page count -- [ ] Any graphs/metrics - -**5. Export Flow (10 seconds)** -- [ ] Click Export button -- [ ] Show format options (PDF, FDX, Fountain) -- [ ] Download completes - -**6. Platform Showcase (15 seconds)** -- [ ] Web app view -- [ ] Desktop app view -- [ ] Mobile mockup (if available) - -**7. Pricing Page (10 seconds)** -- [ ] Free vs Pro comparison -- [ ] Highlight key features -- [ ] CTA button - -**8. CTA Frame (15 seconds)** -- [ ] Scripter logo -- [ ] scripter.app URL -- [ ] Product Hunt logo + upvote animation -- [ ] "Write Faster" tagline - ---- - -## Recording Setup - -### Environment -- **Quiet room** (no background noise) -- **Good lighting** (natural or ring light) -- **Clean desk** (if showing webcam) - -### Screen Recording -- **Resolution:** 1920x1080 -- **Frame rate:** 30fps minimum -- **Tool:** Loom, OBS, or ScreenFlow -- **Browser:** Clean profile, no extensions visible - -### Voiceover -- **Mic:** Phone voice memo or USB mic -- **Distance:** 6-8 inches from mouth -- **Room:** Soft furnishings (reduces echo) -- **Test:** Record 10 seconds, playback for quality - ---- - -## Editing Workflow - -### If Using Descript (Recommended) -1. Import all screen recordings -2. Import voiceover audio -3. Sync audio with video (Descript auto-syncs) -4. Edit by editing text transcript -5. Add background music (lower volume) -6. Export 1080p MP4 - -### If Using Fiverr Editor -1. Organize all clips in Google Drive folder -2. Provide script with timestamps -3. Share brand colors (#2563EB blue, etc.) -4. Request: smooth transitions, background music, color correction -5. Review first draft, request revisions -6. Final export in 1080p MP4 - ---- - -## Music & Audio - -### Background Music (Optional) -**Style:** Upbeat, modern, non-distracting -**Volume:** -20dB below voiceover -**Sources:** -- YouTube Audio Library (free) -- Epidemic Sound ($15/mo) -- Artlist ($10/mo) -- Bensound (free with attribution) - -**Recommended Track:** "Upbeat Corporate" or "Modern Tech" genre - -### Voiceover Tips -- Speak naturally, like talking to a friend -- Pace: ~130 words per minute -- Smile while talking (adds warmth) -- Record 2-3 takes, choose best -- Remove long pauses in editing - ---- - -## Distribution - -### Primary Upload -- **Product Hunt:** Direct upload (preferred) or YouTube embed -- **YouTube:** Unlisted video, embed on PH - -### Secondary (Launch Day) -- **Twitter/X:** Native upload (not YouTube link) -- **LinkedIn:** Native upload -- **Homepage:** Embed on scripter.app -- **Email:** Thumbnail + link in launch email - -### Clips for Social (Cut-down versions) -- **15-second teaser:** Hook only (problem scene) -- **30-second demo:** Feature highlights -- **60-second story:** Founder journey -- Post as separate content pieces throughout launch week - ---- - -## Timeline - -| Date | Task | Owner | Status | -|------|------|-------|--------| -| April 27 | Finalize script | CMO | ✅ Done | -| April 27-28 | Record screen clips | CMO | ⏳ Ready | -| April 28 | Record voiceover | Founder | ⏳ Pending | -| April 28-29 | Edit video | CMO/Contractor | ⏳ Pending | -| April 30 | Review + revisions | Founder + CMO | ⏳ Pending | -| May 1 | Final export + upload | CMO | ⏳ Pending | -| May 7 | Launch day (PH) | All | ⏳ Pending | - ---- - -## Budget - -| Item | DIY | Hybrid | Full Outsource | -|------|-----|--------|----------------| -| Recording tools | $0 | $0 | $0 | -| Editing software | $0-12/mo | $0-12/mo | $0 | -| Editor (Fiverr) | $0 | $50-100 | $200-400 | -| Music | $0 | $0 | $0 | -| **Total** | **$0-12** | **$50-112** | **$200-400** | - -**Recommended:** Hybrid approach ($50-100) - ---- - -## Fiverr Editor Search - -### Search Terms -- "explainer video editor" -- "product launch video" -- "SaaS demo video" -- "screen recording editor" - -### Gig Criteria -- **Rating:** 4.8+ stars -- **Reviews:** 100+ reviews -- **Portfolio:** Shows tech/SaaS products -- **Includes:** Voiceover cleanup, color correction -- **Revisions:** 2-3 rounds included -- **Delivery:** 3-5 days max - -### Message Template for Editor -``` -Hi! I'm launching a screenwriting platform on Product Hunt and need a 90-second demo video. - -I'll provide: -- Full script with timestamps -- All screen recordings (MP4 files) -- Voiceover audio -- Brand guidelines (colors, fonts) - -You'll deliver: -- 90-second polished video (1080p MP4) -- Smooth transitions between scenes -- Background music (upbeat, modern) -- Color correction -- Text overlays for key features - -Budget: $50-100 -Timeline: 2-3 days -Revisions: 2 rounds - -Please share your portfolio with similar tech product videos. Thanks! -``` - ---- - -## Quality Checklist - -Before final export: -- [ ] Audio clear, no background noise -- [ ] Voiceover audible over music -- [ ] Visuals crisp, 1080p -- [ ] Pacing feels natural (not rushed) -- [ ] CTA clear and compelling -- [ ] File size <50MB -- [ ] Works on mute (visuals tell story) -- [ ] All links/URLs correct -- [ ] Brand colors consistent - ---- - -## Backup Plan - -**If founder unavailable for voiceover:** -- Use AI voice (ElevenLabs, well.ai) - $5-20 -- Or text-only video with background music -- Or hire voice actor on Fiverr ($50-100) - -**If editing too complex:** -- Outsource full production to Fiverr ($200-400) -- Use Loom with webcam overlay (simpler, authentic) -- Skip video, use GIF demos instead (acceptable fallback) - ---- - -## Resources - -**Script:** `/marketing/product-hunt-video-script.md` -**Brand Guide:** `/marketing/brand/identity.md` -**Asset Brief:** `/marketing/product-hunt-assets-brief.md` - -**Tools:** -- Loom: loom.com -- Descript: descript.com ($12/mo) -- ElevenLabs (AI voice): elevenlabs.io -- OBS Studio: obsproject.com (free) -- Fiverr: fiverr.com - ---- - -**Status:** Ready to execute. Need founder availability for voiceover recording (April 28). diff --git a/marketing/product-hunt-video-script.md b/marketing/product-hunt-video-script.md deleted file mode 100644 index 3eb9e5fc5..000000000 --- a/marketing/product-hunt-video-script.md +++ /dev/null @@ -1,311 +0,0 @@ -# Product Hunt Maker Video Script - FRE-642 - -**Product:** Scripter -**Duration:** 90 seconds -**Style:** Authentic founder story > polished production -**Created:** 2026-04-26 -**Owner:** CMO - ---- - -## Video Script (90 seconds) - -### [0:00-0:15] Hook - The Problem - -**Visual:** Screen recording of Final Draft or WriterDuet UI (clunky, dated) - -**Voiceover:** -> "I'm [Founder Name], and I spent years struggling with screenwriting software that felt like it was built in the 90s." - -**Visual:** Show frustrating moments - slow loading, confusing export, collaboration issues - -> "Final Draft costs $250. WriterDuet is better, but still clunky. And none of them feel like modern software." - ---- - -### [0:15-0:30] The Solution - -**Visual:** Clean transition to Scripter editor - smooth, modern UI - -**Voiceover:** -> "So I built Scripter. The screenwriting platform that keeps up with you." - -**Visual:** Show typing - auto-formatting happening in real-time - -> "Industry-standard formatting that just works. Type your slugline, hit enter, it formats. Character name, dialogue, transitions - all automatic." - ---- - -### [0:30-0:50] Key Features - -**Visual:** Real-time collaboration - two cursors, different colors - -**Voiceover:** -> "Real-time collaboration, like Google Docs for screenplays. Multiple writers, same script, zero conflicts." - -**Visual:** Analytics dashboard showing character count, scene breakdown - -> "Analytics that actually help. Track character pages, scene count, readability - automatically." - -**Visual:** Export dialog - PDF, FDX, Fountain options - -> "Export to any format. PDF for reading, FDX for Final Draft, Fountain for everyone else. One click." - ---- - -### [0:50-1:05] Platform & Pricing - -**Visual:** Show web app, then desktop app, then mobile mockup - -**Voiceover:** -> "Web, Mac, Windows - all in sync. iOS and Android coming soon." - -**Visual:** Pricing page - Free vs Pro comparison - -> "Free tier: unlimited scripts, basic formatting, PDF export. No credit card. Pro is $9.99 a month with AI tools and unlimited collabs." - ---- - -### [1:05-1:30] Call to Action - -**Visual:** Back to clean editor view with scripter.app URL - -**Voiceover:** -> "Try Scripter free at scripter.app. Start writing in 30 seconds, no download required." - -**Visual:** Product Hunt logo appears with upvote button animation - -> "We're launching on Product Hunt [DATE]. If you love what we're building, please upvote. It helps more than you know." - -**Visual:** Final frame - Scripter logo + scripter.app + "Write Faster" - -> "I'm [Founder Name]. This is Scripter. Let's write something great." - ---- - -## Production Notes - -### Visual Requirements - -**Screen Recordings Needed:** -1. Legacy tool UI (Final Draft/WriterDuet) - 15 seconds -2. Scripter editor - typing demo - 15 seconds -3. Collaboration view - 20 seconds -4. Analytics dashboard - 15 seconds -5. Export flow - 10 seconds -6. Platform showcase (web/desktop/mobile) - 15 seconds -7. Pricing page - 10 seconds -8. Final CTA frame - 15 seconds - -**Total:** ~120 seconds raw → edit to 90 seconds - -### Audio Requirements - -**Voiceover:** -- Record in quiet room -- Use phone voice memo or USB mic -- Speak naturally, not "announcer voice" -- Pace: ~130 words per minute -- Total words: ~200 words - -**Background Music (Optional):** -- Upbeat, modern, non-distracting -- Volume: -20dB below voiceover -- Source: Epidemic Sound, Artlist, or YouTube Audio Library - -### Recording Tools - -**Free Options:** -- Loom (loom.com) - screen + webcam + mic -- OBS Studio - screen recording -- Phone voice memo - voiceover - -**Paid Options:** -- ScreenFlow ($149) - Mac screen recording -- Descript ($12/mo) - edit video by editing text -- Riverside.fm ($15/mo) - high-quality remote recording - -### Editing Workflow - -1. **Record all screen clips** (2-3 takes each) -2. **Record voiceover** (full script, 2-3 takes) -3. **Import to editor** (Descript, Final Cut, DaVinci) -4. **Sync voiceover with visuals** -5. **Add transitions** (simple cuts, maybe fade) -6. **Add background music** (optional, keep low) -7. **Export:** 1080p MP4, H.264, <50MB -8. **Upload to:** YouTube (unlisted), Vimeo, or direct to PH - -### Outsourcing Option - -**Fiverr/Upwork Package:** -- Provide: Script + screen recordings -- Editor delivers: 90-second polished video -- Cost: $200-400 -- Timeline: 3-5 days -- Search: "explainer video editor" or "product launch video" - -**Recommended Gig Criteria:** -- 4.8+ stars, 100+ reviews -- Portfolio shows tech products -- Includes voiceover cleanup -- 2-3 revision rounds included - ---- - -## B-Roll Shot List - -### Must-Have Shots - -1. **Editor typing demo** (15 seconds) - - Open blank script - - Type: "INT. COFFEE SHOP - DAY" - - Show auto-formatting - - Type character name, dialogue - - Show proper formatting - -2. **Collaboration demo** (20 seconds) - - Two browser windows side-by-side - - Type in one, show changes in both - - Show cursor with different colors - - Show collaborator avatar - -3. **Analytics view** (15 seconds) - - Open analytics panel - - Show character breakdown - - Show scene count - - Show page count - -4. **Export flow** (10 seconds) - - Click Export button - - Select PDF format - - Show download progress - - Open downloaded PDF - -5. **Pricing page** (10 seconds) - - Scroll through Free vs Pro - - Highlight key features - - Show "Start Free" button - -### Nice-to-Have Shots - -6. **Template gallery** (10 seconds) - - Show template selection - - Feature Film, TV, Short options - -7. **Mobile preview** (10 seconds) - - iPhone running Scripter - - Same script synced - - *Skip if mobile not ready* - -8. **AI feature** (10 seconds) - - AI suggestion appearing - - *Skip if AI not ready* - ---- - -## Founder Authenticity Tips - -**DO:** -- ✅ Speak naturally, like talking to a friend -- ✅ Show genuine excitement for the product -- ✅ Admit limitations ("we're new but...") -- ✅ Share personal screenwriting struggles -- ✅ Keep it conversational, not salesy - -**DON'T:** -- ❌ Use marketing jargon ("revolutionary", "game-changing") -- ❌ Over-polish (looks like an ad, not authentic) -- ❌ Make claims you can't back up -- ❌ Rush through features -- ❌ Sound like a commercial voiceover - ---- - -## Distribution Plan - -**Primary:** -- Product Hunt video (main upload) -- YouTube (unlisted, embed on PH) - -**Secondary:** -- Twitter/X (native upload, not YouTube link) -- LinkedIn (native upload) -- Landing page (embed on homepage) -- Email (thumbnail + link in launch email) - -**Clips for Social:** -- 15-second teaser (hook only) -- 30-second feature demo -- 60-second founder story -- Post as separate content pieces - ---- - -## Timeline - -| Date | Task | Owner | -|------|------|-------| -| April 26 | Script finalized | CMO | -| April 27-28 | Record screen clips | CMO/CTO | -| April 28 | Record voiceover | Founder | -| April 29 | Edit video | CMO/Contractor | -| April 30 | Review + revisions | Founder + CMO | -| May 1 | Final export + upload | CMO | -| May 7 | Launch day (PH) | All | - ---- - -## Success Metrics - -**Video Performance:** -- Watch time: >60% average -- Click-through to site: >5% -- PH engagement: +20% upvote conversion - -**Quality Checklist:** -- [ ] Audio clear, no background noise -- [ ] Visuals crisp, 1080p -- [ ] Pacing feels natural, not rushed -- [ ] CTA clear and compelling -- [ ] File size <50MB -- [ ] Works on mute (visuals tell story) - ---- - -## Backup Plan - -**If founder unavailable for voiceover:** -- Use AI voice (ElevenLabs, well.ai) -- Or text-only video with background music -- Or hire voice actor on Fiverr ($50-100) - -**If editing too complex:** -- Outsource to Fiverr editor ($200-400) -- Use Loom with webcam overlay (simpler, authentic) -- Skip video, use GIF demos instead - ---- - -## Resources - -**Script Inspiration:** -- Linear's PH launch video (2020) -- Notion's product demos -- Superhuman's launch content - -**Tools:** -- Loom: loom.com -- Descript: descript.com -- ElevenLabs (AI voice): elevenlabs.io -- YouTube Audio Library: Free music - -**Related Docs:** -- `/marketing/product-hunt-assets-brief.md` -- `/marketing/product-hunt-submission.md` -- `/marketing/brand/identity.md` - ---- - -**Status:** Ready for production -**Next:** Record screen clips (April 27-28) diff --git a/marketing/product-hunt-vip-list.md b/marketing/product-hunt-vip-list.md deleted file mode 100644 index 287287565..000000000 --- a/marketing/product-hunt-vip-list.md +++ /dev/null @@ -1,155 +0,0 @@ -# VIP Supporter List - Product Hunt Launch - -**Created:** 2026-04-26 -**Owner:** CMO -**Status:** Ready for founder to fill in names -**Target:** 10 VIP supporters for first-hour upvotes - ---- - -## VIP Hunter List (10 People) - -These are the people who MUST upvote within the first hour of launch. - -### Beta Testers (4 slots) -| # | Name | Email | Twitter | Status | Notes | -|---|------|-------|---------|--------|-------| -| 1 | [NAME] | [EMAIL] | [@HANDLE] | ⏳ To contact | Beta tester, gave positive feedback | -| 2 | [NAME] | [EMAIL] | [@HANDLE] | ⏳ To contact | Active user, provided great insights | -| 3 | [NAME] | [EMAIL] | [@HANDLE] | ⏳ To contact | Beta advocate, willing to promote | -| 4 | [NAME] | [EMAIL] | [@HANDLE] | ⏳ To contact | Power user, wrote testimonials | - -### Influencers (3 slots) -| # | Name | Platform | Followers | Status | Notes | -|---|------|----------|-----------|--------|-------| -| 5 | [NAME] | YouTube/Twitter | [X]K | ⏳ To contact | Screenwriting content creator | -| 6 | [NAME] | Blog/Newsletter | [X]K | ⏳ To contact | Film industry blogger | -| 7 | [NAME] | Twitter/LinkedIn | [X]K | ⏳ To contact | Screenwriting coach/teacher | - -### Founder Network (3 slots) -| # | Name | Company | Connection | Status | Notes | -|---|------|---------|------------|--------|-------| -| 8 | [NAME] | [STARTUP] | Founder friend | ⏳ To contact | Will reciprocate on their launch | -| 9 | [NAME] | [STARTUP] | Accelerator peer | ⏳ To contact | Met at [EVENT] | -| 10 | [NAME] | [COMPANY] | Industry contact | ⏳ To contact | Former colleague/advisor | - ---- - -## Outreach Timeline - -### T-7 Days (April 30) -**Action:** Personal email to VIP list -**Template:** See below -**Goal:** Get commitment to upvote on launch day - -### T-1 Day (May 6) -**Action:** Reminder email -**Template:** "Tomorrow" reminder -**Goal:** Confirm they'll upvote at 12:01 AM PT - -### Launch Day (May 7, 12:01 AM PT) -**Action:** DM/text with PH link -**Goal:** Ensure they upvote within first hour - ---- - -## Email Templates - -### Initial Outreach (T-7 Days) - -**Subject:** Quick favor? Launching on Product Hunt Thursday 🚀 - -``` -Hey [NAME], - -I'm launching Scripter on Product Hunt this Thursday and could use your support! - -It takes 10 seconds: -1. Go to [PH LINK] at 12:01 AM PT Thursday -2. Click the upvote button -3. Optionally leave a comment or share - -Product Hunt is huge for early visibility. Your upvote in the first hour especially matters. - -Can I count on you? - -Thanks! -[FOUNDER NAME] - -P.S. Happy to return the favor on your next launch! -``` - -### Reminder Email (T-1 Day) - -**Subject:** Tomorrow! Scripter on Product Hunt 🎯 - -``` -Hey [NAME], - -Quick reminder - Scripter launches on Product Hunt tomorrow (Thursday) at 12:01 AM PT. - -Link: [PH LINK] - -If you can upvote in the first hour (12:01-1:00 AM PT), it would mean the world! - -Set a alarm if you're stateside, or upvote when you wake up if you're international. - -Thanks again for the support! -[FOUNDER NAME] -``` - -### Launch Day DM (May 7, 12:01 AM) - -**Twitter/LinkedIn DM:** -``` -Hey [NAME]! We're LIVE on Product Hunt! 🚀 - -producthunt.com/posts/scripter - -Would love your upvote if you have a sec. Takes 10 seconds! - -Thanks!! 🙏 -``` - ---- - -## Tracking Sheet - -Create a Google Sheet with these columns: - -| Name | Email | Category | Committed? | Upvoted? | Notes | -|------|-------|----------|------------|----------|-------| -| John Doe | john@example.com | Beta | ✅ Yes | ✅ Yes | Upvoted at 12:03 AM | -| Jane Smith | jane@example.com | Influencer | ✅ Yes | ⏳ No | Follow up at 2 AM | - -**Status codes:** -- ✅ Yes = Done -- ⏳ No = Pending -- ❌ No response = Didn't commit - ---- - -## Success Metrics - -**Goal:** 10/10 VIPs upvote within first hour - -**Tracking:** -- Commitments secured: Target 10/10 -- First-hour upvotes: Target 10/10 -- Comments from VIPs: Target 5+ - -**If <8 VIPs commit:** Expand list to 15-20 people - ---- - -## Next Actions - -1. **Founder:** Fill in 10 names + emails (by April 27) -2. **CMO:** Send initial outreach emails (April 30) -3. **CMO:** Send reminder emails (May 6) -4. **All:** Send launch day DMs (May 7, 12:01 AM) - ---- - -**Status:** Template ready - awaiting founder to fill in VIP names -**Owner:** CMO (founder provides names) diff --git a/marketing/reddit-beta-recruitment.md b/marketing/reddit-beta-recruitment.md deleted file mode 100644 index 8e105290a..000000000 --- a/marketing/reddit-beta-recruitment.md +++ /dev/null @@ -1,238 +0,0 @@ -# Reddit Beta Recruitment Posts - -**Target Subreddits:** -- r/Screenwriting (500K members) - Primary -- r/Filmmakers (200K members) - Secondary -- r/Scriptwriting (30K members) - Tertiary - -**Timeline:** May 3-9, 2026 (Week 2 of beta) - ---- - -## Main Post: r/Screenwriting - -**Title:** Beta testing a modern Final Draft alternative - looking for 100 writers - -**Post:** - -Hey r/Screenwriting! - -I'm building **Scripter**, a new screenwriting platform, and looking for 100 beta testers from this community. - -**The Problem:** -Final Draft is expensive ($200+), feels like it's from 2010, and collaboration is a nightmare (emailing .fdx files back and forth in 2026?). - -**What We're Building:** -- **Real-time collaboration** (Google Docs for screenplays) -- **AI writing assistant** (optional, writer-controlled) -- **Cloud-native** (works on any device, no install) -- **Affordable** (Free tier + Pro at $9.99/month) - -**Beta Details:** -- **Free lifetime Pro access** (normally $9.99/month) -- 3-week beta (May 3-24) -- Weekly 5-min feedback surveys -- Direct line to the dev team -- Bug bounties for critical issues - -**Who Should Apply:** -- Serious writers (2+ scripts) -- Willing to provide honest feedback -- Comfortable reporting bugs -- Open to trying new tools - -**Who Shouldn't:** -- Just want free stuff without contributing -- Hate change and love Final Draft exactly as it is -- Can't spare 5 minutes/week for feedback - -**How to Join:** -Fill out the beta application: [scripter.app/beta] - -We're accepting 100 r/Screenwriting members on a first-come basis. Applications close when we hit 100. - -**AMA:** -I'll be in the comments for the next few hours to answer questions. Ask me anything about features, pricing, the team, whatever. - -Thanks for considering! - ---- - -### Comment Responses (Templates) - -**Q: "Another screenwriting app? What makes this different?"** - -A: Fair question! There are a ton of screenwriting tools. Here's what sets us apart: - -1. **Real-time collaboration** - Multiple writers in the same script, simultaneously. Final Draft just added this and it's clunky. We built it from the ground up. - -2. **AI that doesn't write for you** - Our AI assistant suggests ideas, helps with structure, finds plot holes - but YOU control it. It's a co-pilot, not an autopilot. - -3. **Actually affordable** - Free tier for hobbyists, $9.99/month for pros. No $200 upfront cost. - -4. **Built by writers** - Our team includes working screenwriters. We're solving problems we actually have. - -Happy to give you a demo if you're curious! - ---- - -**Q: "Is this just WriterDuet with a coat of paint?"** - -A: Great comparison - WriterDuet is solid! Here's where we differ: - -- **AI integration** - WriterDuet doesn't have native AI assistance -- **Modern UI** - We're built with 2026 tech (Tauri + SolidJS), feels snappier -- **Pricing** - Our Pro tier is $2 less/month with more features -- **Focus** - We're hyper-focused on the writing experience, not production features - -Both are great options. We're just trying to push the category forward. - ---- - -**Q: "What about formatting? Does it do proper screenplay format?"** - -A: Yes! Industry-standard formatting is table stakes: -- Auto-formats as you type -- Proper margins, fonts, spacing -- Exports to PDF, FDX (Final Draft), PDF -- Works with studio reader systems - -We actually hired a WGA writer as a consultant to make sure our formatting is 100% correct. - ---- - -**Q: "How do you handle offline writing?"** - -A: Good question! We have: -- Desktop app (Tauri-based, works offline) -- Auto-syncs when you're back online -- Local-first architecture (your writing is never blocked by connection) - -This was a huge priority for us - writers write on planes, in coffee shops without wifi, etc. - ---- - -**Q: "What's the catch? Why free lifetime Pro?"** - -A: No catch! Here's the deal: - -Beta users are **incredibly valuable** to us. You're going to: -- Find bugs before launch -- Suggest features we haven't thought of -- Provide testimonials if you love it -- Tell your writer friends - -The lifetime Pro access is our way of saying thanks for being founding members. - -The only "requirement" is that you provide honest feedback via weekly surveys (5 minutes). - ---- - -**Q: "Can I export my scripts if I cancel?"** - -A: Absolutely. You own your writing. Export anytime: -- PDF -- Final Draft (.fdx) -- Fountain (.fountain) -- Plain text - -No lock-in, no hostage situation. - ---- - -**Q: "Is there a mobile app?"** - -A: Currently: Web app + desktop app (Mac, Windows, Linux) - -Mobile (iOS/Android) is on our roadmap for Q3 2026. Beta is desktop/web only for now. - ---- - -## Follow-Up Post (Day 3) - -**Title:** Update: 60/100 beta spots filled - last chance for r/Screenwriting - -**Post:** - -Quick update on the Scripter beta: - -**60 spots filled** in the first 48 hours - you all are amazing! - -**40 spots remaining** for r/Screenwriting members. - -If you've been on the fence, now's the time. Beta closes when we hit 100 or on May 9 (whichever comes first). - -**Application:** [scripter.app/beta] - -Thanks for the incredible response and feedback so far. The bug reports and feature requests have been gold. - ---- - -## Cross-Post: r/Filmmakers - -**Title:** Screenwriters in my Filmmakers sub - beta testing a new tool - -**Post:** - -Hey r/Filmmakers! - -I know this is primarily a filmmaker sub, but I know there are screenwriters here too. - -I'm building **Scripter**, a modern screenwriting platform, and looking for beta testers. - -If you write scripts (or know someone who does), we're offering: -- Free lifetime Pro access -- Real-time collaboration -- AI writing assistant -- Cloud sync - -Beta runs 3 weeks, requires weekly feedback surveys. - -**Apply:** [scripter.app/beta] - -Mods, happy to remove if this isn't allowed - just thought it might help some writers in this community! - ---- - -## Posting Schedule - -| Date | Subreddit | Post | Status | -|------|-----------|------|--------| -| May 3 | r/Screenwriting | Main beta post | ⏳ Pending | -| May 3 | r/Filmmakers | Cross-post | ⏳ Pending | -| May 4 | r/Screenwriting | Comment responses (AMA) | ⏳ Pending | -| May 6 | r/Screenwriting | Update post (60/100 filled) | ⏳ Pending | -| May 8 | r/Scriptwriting | Repost (smaller sub) | ⏳ Pending | - ---- - -## Success Metrics - -| Metric | Target | Actual | -|--------|--------|--------| -| Post upvotes | 200+ | - | -| Comments | 50+ | - | -| Beta applications | 150 | - | -| Accepted users | 100 | - | -| Conversion rate | 66% | - | - ---- - -## Rules Compliance - -**r/Screenwriting:** -- ✅ Self-promotion allowed if valuable to community -- ✅ Must engage with comments (AMA style) -- ✅ No spam, genuine outreach -- ⚠️ Check with mods first if unsure - -**r/Filmmakers:** -- ✅ Relevant to subset of users (writers) -- ✅ Acknowledge it's slightly off-topic -- ✅ Respectful of community rules - ---- - -**Status:** Posts drafted, ready to publish May 3 -**Owner:** CMO -**Timeline:** Week 2 (May 3-9) diff --git a/marketing/reddit-campaign-launch-checklist.md b/marketing/reddit-campaign-launch-checklist.md deleted file mode 100644 index 828d0695e..000000000 --- a/marketing/reddit-campaign-launch-checklist.md +++ /dev/null @@ -1,172 +0,0 @@ -# Reddit Campaign Launch Checklist - -**Campaign:** FRE-670 - Reddit Beta Recruitment -**Launch Date:** May 3, 2026 -**Target:** 100 beta applications - ---- - -## Pre-Launch (Complete by May 2) - -### Moderator Approval -- [ ] Send r/Screenwriting mod message (April 27) -- [ ] Send r/Filmmakers mod message (April 27) -- [ ] Send r/Scriptwriting mod message (April 27) -- [ ] Receive r/Screenwriting approval (by May 1) -- [ ] Receive r/Filmmakers approval (by May 1) -- [ ] Receive r/Scriptwriting approval (by May 8) - -### Analytics Setup -- [ ] CTO implements analytics dashboard (April 28-30) -- [ ] Test UTM tracking URLs (April 30) -- [ ] Verify conversion tracking works (April 30) -- [ ] Set up daily report template (May 2) - -### Account Preparation -- [ ] Verify Reddit account has 30+ day age -- [ ] Verify Reddit account has 100+ karma -- [ ] Prepare Reddit account for posting (May 2) - -### Content Review -- [ ] Final review of post draft (May 2) -- [ ] Prepare images/screenshots if needed (May 2) -- [ ] Test beta signup form works (May 2) - ---- - -## Launch Day - May 3 (Sunday) - -### Morning (9-10 AM PT) -- [ ] Post in r/Screenwriting - - Title: "Beta testing a modern Final Draft alternative - looking for 100 writers" - - URL: scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=screenwriting - - Log post URL in tracker -- [ ] Post in r/Filmmakers (cross-post) - - Title: "Screenwriters in my Filmmakers sub - beta testing a new tool" - - URL: scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=filmmakers - - Log post URL in tracker - -### Afternoon (2-4 PM PT) -- [ ] Monitor both posts for comments -- [ ] Respond to all comments (AMA style) -- [ ] Track initial engagement metrics -- [ ] Check for mod removal/issues - -### Evening (8-9 PM PT) -- [ ] Check day 1 metrics - - Post upvotes - - Comment count - - Applications received -- [ ] Log metrics in daily tracker -- [ ] Plan next day responses - ---- - -## Day 2 - May 4 (Monday) - -### Morning -- [ ] Check overnight comments -- [ ] Respond to new comments -- [ ] Monitor application flow - -### Afternoon -- [ ] Continue AMA engagement -- [ ] Check analytics dashboard -- [ ] Log day 2 metrics - ---- - -## Day 3-5 - May 5-7 - -### Daily Tasks -- [ ] Check and respond to comments -- [ ] Monitor application count -- [ ] Track metrics in daily report -- [ ] Engage with community - ---- - -## Update Post - May 6 (Thursday) - -- [ ] Post update comment on r/Screenwriting thread - - "Update: 60/100 spots filled! 40 remaining." -- [ ] Monitor response to update -- [ ] Track update impact on applications - ---- - -## Second Wave - May 8 (Saturday) - -### Morning (10-11 AM PT) -- [ ] Post in r/Scriptwriting - - Title: "Beta testing a modern Final Draft alternative - looking for 100 writers" - - URL: scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=scriptwriting - - Log post URL in tracker - -### Afternoon -- [ ] Respond to r/Scriptwriting comments -- [ ] Monitor applications from third sub - ---- - -## Campaign Wrap - May 9 (Sunday) - -- [ ] Post final update: "Beta full! Thank you r/Screenwriting!" -- [ ] Thank all communities -- [ ] Stop accepting applications (or move to waitlist) -- [ ] Begin application review process - ---- - -## Post-Campaign Analysis - May 10-12 - -### Data Collection -- [ ] Export final analytics data -- [ ] Compile daily metrics -- [ ] Calculate conversion rates by subreddit -- [ ] Review top comments/questions - -### Report -- [ ] Write campaign summary -- [ ] Calculate ROI (time invested vs applications) -- [ ] Document lessons learned -- [ ] Recommend future campaigns (Y/N) - -### Deliverables -- [ ] Campaign performance report -- [ ] Best practices document -- [ ] Template for future Reddit campaigns - ---- - -## Tracking Documents - -**Mod Outreach:** `/marketing/reddit-mod-outreach-tracker.md` -**UTM Tracking:** `/marketing/reddit-campaign-utm-tracking.md` -**Post Content:** `/marketing/reddit-beta-recruitment.md` -**Daily Metrics:** [Create May 3-9] - ---- - -## Success Metrics - -| Metric | Target | Actual | Status | -|--------|--------|--------|--------| -| Total applications | 150 | - | ⏳ | -| Accepted users | 100 | - | ⏳ | -| r/Screenwriting upvotes | 200+ | - | ⏳ | -| Total comments | 50+ | - | ⏳ | -| Conversion rate | 66% | - | ⏳ | - ---- - -**Status:** Pre-launch phase (April 26 - May 2) -**Next:** Send mod approval messages (April 27) -- RECOVERED (FRE-712) - ---- - -## Recovery Notes (April 26, 8:35 PM) - -**Issue:** FRE-670 stalled due to CMO agent terminal run failures -**Recovery:** FRE-712 -- CEO recovered issue, CMO to resume mod outreach -**All assets:** Complete and ready for execution diff --git a/marketing/reddit-campaign-utm-tracking.md b/marketing/reddit-campaign-utm-tracking.md deleted file mode 100644 index 76485565d..000000000 --- a/marketing/reddit-campaign-utm-tracking.md +++ /dev/null @@ -1,226 +0,0 @@ -# Reddit Campaign UTM Tracking - -**Campaign:** FRE-670 - Reddit Beta Recruitment -**Dates:** May 3-9, 2026 -**Owner:** CMO + CTO - ---- - -## Tracking URLs - -Use these exact URLs in each subreddit post: - -### r/Screenwriting (Primary) -``` -https://scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=screenwriting -``` - -### r/Filmmakers (Cross-post) -``` -https://scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=filmmakers -``` - -### r/Scriptwriting (Follow-up) -``` -https://scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=scriptwriting -``` - ---- - -## UTM Parameters Breakdown - -| Parameter | Value | Purpose | -|-----------|-------|---------| -| utm_source | reddit | Traffic source | -| utm_medium | social | Channel type | -| utm_campaign | beta_recruitment | Campaign identifier | -| utm_content | [subreddit] | Specific subreddit tracking | - ---- - -## Analytics Dashboard Setup - -### Metrics to Track - -**Daily Metrics (May 3-9):** -- Page views by utm_content -- Form starts by utm_content -- Form completions (applications) by utm_content -- Conversion rate: applications / page views - -**Campaign Totals:** -- Total Reddit traffic -- Total applications from Reddit -- Overall conversion rate -- Cost per acquisition (time investment / applications) - -### Dashboard Spec - -**Location:** Analytics dashboard (CTO to implement) - -**Charts:** -1. **Daily applications by subreddit** (bar chart) -2. **Conversion funnel** (page view → form start → submit) -3. **Cumulative applications** (line chart, target: 100) - -**Filters:** -- Date range: May 3-9, 2026 -- utm_campaign: beta_recruitment -- utm_source: reddit - ---- - -## Implementation Checklist - -- [x] Add UTM tracking to analytics platform (April 27) -- [x] Create Reddit campaign dashboard spec (April 27) -- [x] Set up conversion events (form start, form submit) (April 27) -- [ ] Test tracking URLs (April 28-30) -- [x] Create daily report template (April 27) -- [ ] Share dashboard access with CMO (CTO action) - -**Owner:** CMO + CTO -**Status:** Frontend + backend implementation complete, testing scheduled April 28-30 - ---- - -## Daily Reporting Template - -### Day 1 (May 3) - Launch Day -- r/Screenwriting post time: [HH:MM PT] -- r/Filmmakers post time: [HH:MM PT] -- Page views: [number] -- Applications: [number] -- Top performing sub: [name] -- Notes: [AMA engagement, mod responses, etc.] - -### Day 2 (May 4) - AMA Day -- Comments responded to: [number] -- Page views: [number] -- Applications: [number] -- Cumulative: [number] -- Notes: [engagement quality, questions asked] - -### Day 3 (May 5) -- Page views: [number] -- Applications: [number] -- Cumulative: [number] -- Notes: [momentum check] - -### Day 4 (May 6) - Update Post Day -- Update post published: [Y/N] -- Page views: [number] -- Applications: [number] -- Cumulative: [number] -- Notes: [60/100 filled update impact] - -### Day 5-7 (May 7-9) -- [Continue daily tracking] - ---- - -## Success Metrics - -| Metric | Target | Actual | Status | -|--------|--------|--------|--------| -| Total applications | 150 | - | ⏳ | -| Accepted users | 100 | - | ⏳ | -| r/Screenwriting conversion | 66% | - | ⏳ | -| Post upvotes (r/Screenwriting) | 200+ | - | ⏳ | -| Comments (AMA) | 50+ | - | ⏳ | - ---- - -## Post-Campaign Analysis (May 10-12) - -**Questions to Answer:** -1. Which subreddit performed best? -2. What was the peak application day? -3. What questions came up most in AMA? -4. What would we do differently next time? -5. Should we run this campaign again? - -**Report Owner:** CMO -**Report Due:** May 12, 2026 - ---- - ---- - -## Implementation Details (April 27, 2026) - -### Backend Changes - -**File:** `/server/trpc/beta-router.ts` - -Added UTM parameter fields to the beta signup schema: -- `utmSource` - Traffic source (e.g., "reddit") -- `utmMedium` - Channel type (e.g., "social") -- `utmCampaign` - Campaign identifier (e.g., "beta_recruitment") -- `utmContent` - Specific content (e.g., "screenwriting", "filmmakers") -- `utmTerm` - Optional term parameter - -All UTM parameters are stored in the `metadata` JSON field of the `waitlistSignups` table. - -### Frontend Changes - -**File:** `/src/routes/beta/BetaSignup.tsx` - -Added automatic UTM capture: -- Component extracts UTM parameters from URL query string on mount -- Parameters are passed to the API on form submission -- Works transparently - no user action required - -**File:** `/src/lib/api/trpc-hooks.ts` - -Updated `useBetaSignup` hook type definition to include UTM fields. - ---- - -## Testing Guide - -### Manual Testing (April 28-30) - -1. **Test URL with all parameters:** - ``` - https://scripter.app/beta?utm_source=reddit&utm_medium=social&utm_campaign=beta_recruitment&utm_content=screenwriting - ``` - -2. **Fill out and submit the form** - -3. **Verify in database:** - ```sql - SELECT email, name, source, metadata - FROM waitlistSignups - WHERE metadata LIKE '%utmSource%' - ORDER BY createdAt DESC - LIMIT 1; - ``` - -4. **Expected metadata JSON:** - ```json - { - "isBetaApplication": true, - "utmSource": "reddit", - "utmMedium": "social", - "utmCampaign": "beta_recruitment", - "utmContent": "screenwriting", - "primaryRole": "...", - ... - } - ``` - -### Test Cases - -| Test | URL | Expected utmSource | Expected utmContent | -|------|-----|-------------------|---------------------| -| r/Screenwriting | `?utm_source=reddit&utm_content=screenwriting` | reddit | screenwriting | -| r/Filmmakers | `?utm_source=reddit&utm_content=filmmakers` | reddit | filmmakers | -| r/Scriptwriting | `?utm_source=reddit&utm_content=scriptwriting` | reddit | scriptwriting | -| No UTM | (no parameters) | null | null | - ---- - -**Status:** ✅ UTM tracking implemented (backend + frontend) -**Implementation:** Beta signup form now captures utm_source, utm_medium, utm_campaign, utm_content, utm_term from URL parameters -**Next:** Test tracking URLs (April 28-30), CTO to implement analytics dashboard views diff --git a/marketing/reddit-mod-approval-message.md b/marketing/reddit-mod-approval-message.md deleted file mode 100644 index 549e38b1e..000000000 --- a/marketing/reddit-mod-approval-message.md +++ /dev/null @@ -1,85 +0,0 @@ -# Reddit Moderator Approval Request - -**For:** r/Screenwriting, r/Filmmakers, r/Scriptwriting -**Sent:** April 27-28, 2026 -**Campaign Start:** May 3, 2026 - ---- - -## Message Template for Moderators - -**Subject:** Request: Beta testing recruitment post for screenwriting tool - -Hi r/[Subreddit] moderators, - -I'm reaching out to request approval for a beta recruitment post I'd like to share with your community. - -**What we're building:** -Scripter is a new screenwriting platform created by writers, for writers. We're launching a 3-week beta program (May 3-24) and looking for 100 serious screenwriters to test it out. - -**Why I'm asking permission first:** -I know r/[Subreddit] has rules about self-promotion, and I want to respect that. This isn't a typical promo post - we're offering: -- Free lifetime Pro access (no catch) -- Direct input on product development -- Weekly 5-min feedback surveys -- Bug bounties for critical issues - -**What the post includes:** -- Honest comparison to existing tools (Final Draft, WriterDuet) -- Clear beta requirements and expectations -- AMA - I'll be in comments answering questions -- No spam, genuine engagement with the community - -**The ask:** -- Post date: May 3, 2026 -- Title: "Beta testing a modern Final Draft alternative - looking for 100 writers" -- Full post draft available for your review - -I'm happy to: -- Adjust the post to meet your guidelines -- Provide any additional info about the product -- Remove the post if it's not a good fit - -**About me:** -[I'm a screenwriter building tools I wish existed / Our team includes working screenwriters] - -Thanks for considering! I appreciate the work you do to keep this community valuable. - -Best, -[Name] -[Reddit username] -[Email/contact] - ---- - -## Subreddit Contact Info - -### r/Screenwriting (500K members) -**Mod mail:** https://www.reddit.com/message/compose?to=%2Fr%2FScreenwriting -**Rules:** https://www.reddit.com/r/Screenwriting/about/rules -**Self-promo policy:** Check with mods first - -### r/Filmmakers (200K members) -**Mod mail:** https://www.reddit.com/message/compose?to=%2Fr%2Filmmakers -**Rules:** https://www.reddit.com/r/Filmmakers/about/rules -**Self-promo policy:** Relevant to subset of users okay - -### r/Scriptwriting (30K members) -**Mod mail:** https://www.reddit.com/message/compose?to=%2Fr%2FScriptwriting -**Rules:** https://www.reddit.com/r/Scriptwriting/about/rules -**Self-promo policy:** Case by case - ---- - -## Tracking - -| Subreddit | Contacted | Response | Approved | Notes | -|-----------|-----------|----------|----------|-------| -| r/Screenwriting | ⏳ Pending | - | - | Primary target | -| r/Filmmakers | ⏳ Pending | - | - | Cross-post | -| r/Scriptwriting | ⏳ Pending | - | - | Smaller sub | - ---- - -**Status:** Ready to send (April 27-28) -**Owner:** CMO diff --git a/marketing/reddit-mod-outreach-execution.md b/marketing/reddit-mod-outreach-execution.md deleted file mode 100644 index bde0974db..000000000 --- a/marketing/reddit-mod-outreach-execution.md +++ /dev/null @@ -1,227 +0,0 @@ -# Reddit Mod Outreach - Execution Guide (April 27) - -**Quick reference for sending mod approval messages on Monday** - ---- - -## Send Schedule (April 27, 2026) - -| Time (PT) | Subreddit | Priority | Status | -|-----------|-----------|----------|--------| -| 9-10 AM | r/Screenwriting | HIGH | ⏳ Send first | -| 2-3 PM | r/Filmmakers | MEDIUM | ⏳ Send second | -| 6-8 PM | r/Scriptwriting | LOW | ⏳ Send third | - ---- - -## Message 1: r/Screenwriting (PRIMARY) - Send 9-10 AM PT - -**Mod Mail URL:** https://www.reddit.com/message/compose?to=%2Fr%2FScreenwriting - -**Subject:** -``` -Request: Beta testing recruitment post for screenwriting tool -``` - -**Message:** -``` -Hi r/Screenwriting moderators, - -I'm reaching out to request approval for a beta recruitment post I'd like to share with your community. - -What we're building: -Scripter is a new screenwriting platform created by writers, for writers. We're launching a 3-week beta program (May 3-24) and looking for 100 serious screenwriters to test it out. - -Why I'm asking permission first: -I know r/Screenwriting has rules about self-promotion, and I want to respect that. This isn't a typical promo post - we're offering: -- Free lifetime Pro access (no catch) -- Direct input on product development -- Weekly 5-min feedback surveys -- Bug bounties for critical issues - -What the post includes: -- Honest comparison to existing tools (Final Draft, WriterDuet) -- Clear beta requirements and expectations -- AMA - I'll be in comments answering questions for several hours -- No spam, genuine engagement with the community - -The ask: -- Post date: May 3, 2026 -- Title: "Beta testing a modern Final Draft alternative - looking for 100 writers" -- Full post draft available for your review - -I'm happy to: -- Adjust the post to meet your guidelines -- Provide any additional info about the product -- Remove the post if it's not a good fit - -About me: -I'm a screenwriter building tools I wish existed. Our team includes working screenwriters who understand the pain points of Final Draft's expensive, outdated software. - -Thanks for considering! I appreciate the work you do to keep this community valuable. - -Best, -[Your Reddit username] -[Your email] -``` - -**After Sending:** -- [ ] Log send time in tracker -- [ ] Screenshot confirmation (optional) -- [ ] Set reminder to check response April 30 - ---- - -## Message 2: r/Filmmakers (SECONDARY) - Send 2-3 PM PT - -**Mod Mail URL:** https://www.reddit.com/message/compose?to=%2Fr%2Filmmakers - -**Subject:** -``` -Request: Cross-post for screenwriters in your community -``` - -**Message:** -``` -Hi r/Filmmakers moderators, - -I'm reaching out to request approval for a cross-post that would be relevant to the screenwriters in your community. - -What we're building: -Scripter is a new screenwriting platform, and we're launching a 3-week beta program (May 3-24) looking for 100 serious writers. - -Why this might fit r/Filmmakers: -I know many filmmakers here also write scripts. This beta offers: -- Free lifetime Pro access -- Real-time collaboration (great for writer-director teams) -- Direct input on product development - -The post: -I'd like to cross-post from r/Screenwriting with a note that it's specifically for the writers in your community. Happy to tailor the message to fit your guidelines. - -Timeline: -- Post date: May 3, 2026 -- I'll be available for AMA-style comments - -I'm happy to adjust the post to meet your guidelines or remove it if it's not a good fit. - -Thanks for considering! - -Best, -[Your Reddit username] -[Your email] -``` - -**After Sending:** -- [ ] Log send time in tracker -- [ ] Set reminder to check response April 30 - ---- - -## Message 3: r/Scriptwriting (TERTIARY) - Send 6-8 PM PT - -**Mod Mail URL:** https://www.reddit.com/message/compose?to=%2Fr%2FScriptwriting - -**Subject:** -``` -Request: Beta testing recruitment post -``` - -**Message:** -``` -Hi r/Scriptwriting moderators, - -I'm reaching out to request approval for a beta recruitment post. - -What: Scripter is a new screenwriting platform launching a 3-week beta (May 3-24) looking for 100 serious writers. - -Offer: -- Free lifetime Pro access -- Weekly 5-min feedback surveys -- Direct line to dev team -- Bug bounties - -Post details: -- Date: May 3, 2026 (or May 8 as follow-up) -- Title: "Beta testing a modern Final Draft alternative - looking for 100 writers" -- AMA-style engagement in comments - -Happy to customize for your community guidelines. - -Thanks! -[Your Reddit username] -[Your email] -``` - -**After Sending:** -- [ ] Log send time in tracker -- [ ] Set reminder to check response May 1 (smaller sub, slower response) - ---- - -## Tracking Log (Fill In As You Send) - -| Subreddit | Send Date | Send Time | Response Date | Approved? | Notes | -|-----------|-----------|-----------|---------------|-----------|-------| -| r/Screenwriting | _____ | _____ | _____ | Y/N | | -| r/Filmmakers | _____ | _____ | _____ | Y/N | | -| r/Scriptwriting | _____ | _____ | _____ | Y/N | | - -**Tracker Location:** `/marketing/reddit-mod-outreach-tracker.md` - ---- - -## Follow-Up Schedule - -**April 30 (Thursday) - 3 days after sending:** -- Check if r/Screenwriting responded -- If no response, send polite follow-up - -**May 1 (Friday) - Approval deadline:** -- Final day to get approval for May 3 posting -- If no approval, consider backup plan - -**Backup Plan (if r/Screenwriting says no):** -- Focus on r/Filmmakers + r/Scriptwriting -- Adjust application target (100 → 60) -- Consider Twitter/X push to compensate - ---- - -## Reddit Account Checklist (Before Sending) - -- [ ] Account is 30+ days old -- [ ] Account has 100+ karma -- [ ] Account has posting history (not empty) -- [ ] Logged in and ready to send mod mail - -**Note:** If account doesn't meet requirements, use alternative account or adjust strategy - ---- - -## What To Expect - -**Response Timeline:** -- r/Screenwriting: 24-48 hours (large sub, busy mods) -- r/Filmmakers: 24-48 hours -- r/Scriptwriting: 48-72 hours (smaller sub, part-time mods) - -**Possible Responses:** -1. **Approved** - Great! Post as planned on May 3 -2. **Approved with conditions** - Adjust post per their guidelines -3. **Denied** - Respect decision, move to backup plan -4. **No response** - Follow up April 30, decide May 1 - ---- - -## Files Reference - -- Full messages: `/marketing/reddit-mod-outreach-tracker.md` -- Post draft: `/marketing/reddit-beta-recruitment.md` -- Launch checklist: `/marketing/reddit-campaign-launch-checklist.md` -- UTM tracking: `/marketing/reddit-campaign-utm-tracking.md` - ---- - -**Status:** Ready to execute April 27 (Monday) -**Owner:** CMO diff --git a/marketing/reddit-mod-outreach-tracker.md b/marketing/reddit-mod-outreach-tracker.md deleted file mode 100644 index 3bf14b760..000000000 --- a/marketing/reddit-mod-outreach-tracker.md +++ /dev/null @@ -1,162 +0,0 @@ -# Reddit Moderator Outreach Tracker - -**Campaign:** FRE-670 - Reddit Beta Recruitment -**Outreach Dates:** April 27-28, 2026 -**Approval Deadline:** May 1, 2026 -**Post Date:** May 3, 2026 - ---- - -## Outreach Status - -| Subreddit | Members | Contacted | Response | Approved | Notes | -|-----------|---------|-----------|----------|----------|-------| -| r/Screenwriting | 500K | ✅ Contacted 4/27 | ⏳ Pending | - | PRIMARY | -| r/Filmmakers | 200K | ✅ Contacted 4/27 | ⏳ Pending | - | Cross-post | -| r/Scriptwriting | 30K | ✅ Contacted 4/28 | ⏳ Pending | - | Tertiary | - ---- - -## Customized Messages (Ready to Send) - -### Message 1: r/Screenwriting (PRIMARY) - -**Send to:** https://www.reddit.com/message/compose?to=%2Fr%2FScreenwriting - -**Subject:** Request: Beta testing recruitment post for screenwriting tool - -``` -Hi r/Screenwriting moderators, - -I'm reaching out to request approval for a beta recruitment post I'd like to share with your community. - -**What we're building:** -Scripter is a new screenwriting platform created by writers, for writers. We're launching a 3-week beta program (May 3-24) and looking for 100 serious screenwriters to test it out. - -**Why I'm asking permission first:** -I know r/Screenwriting has rules about self-promotion, and I want to respect that. This isn't a typical promo post - we're offering: -- Free lifetime Pro access (no catch) -- Direct input on product development -- Weekly 5-min feedback surveys -- Bug bounties for critical issues - -**What the post includes:** -- Honest comparison to existing tools (Final Draft, WriterDuet) -- Clear beta requirements and expectations -- AMA - I'll be in comments answering questions for several hours -- No spam, genuine engagement with the community - -**The ask:** -- Post date: May 3, 2026 -- Title: "Beta testing a modern Final Draft alternative - looking for 100 writers" -- Full post draft available for your review: [link to draft if needed] - -I'm happy to: -- Adjust the post to meet your guidelines -- Provide any additional info about the product -- Remove the post if it's not a good fit - -**About me:** -I'm a screenwriter building tools I wish existed. Our team includes working screenwriters who understand the pain points of Final Draft's expensive, outdated software. - -Thanks for considering! I appreciate the work you do to keep this community valuable. - -Best, -[Your name] -[Your Reddit username] -[Email contact] -``` - ---- - -### Message 2: r/Filmmakers (SECONDARY) - -**Send to:** https://www.reddit.com/message/compose?to=%2Fr%2Filmmakers - -**Subject:** Request: Cross-post for screenwriters in your community - -``` -Hi r/Filmmakers moderators, - -I'm reaching out to request approval for a cross-post that would be relevant to the screenwriters in your community. - -**What we're building:** -Scripter is a new screenwriting platform, and we're launching a 3-week beta program (May 3-24) looking for 100 serious writers. - -**Why this might fit r/Filmmakers:** -I know many filmmakers here also write scripts. This beta offers: -- Free lifetime Pro access -- Real-time collaboration (great for writer-director teams) -- Direct input on product development - -**The post:** -I'd like to cross-post from r/Screenwriting with a note that it's specifically for the writers in your community. Happy to tailor the message to fit your guidelines. - -**Timeline:** -- Post date: May 3, 2026 -- I'll be available for AMA-style comments - -I'm happy to adjust the post to meet your guidelines or remove it if it's not a good fit. - -Thanks for considering! - -Best, -[Your name] -[Your Reddit username] -``` - ---- - -### Message 3: r/Scriptwriting (TERTIARY) - -**Send to:** https://www.reddit.com/message/compose?to=%2Fr%2FScriptwriting - -**Subject:** Request: Beta testing recruitment post - -``` -Hi r/Scriptwriting moderators, - -I'm reaching out to request approval for a beta recruitment post. - -**What:** Scripter is a new screenwriting platform launching a 3-week beta (May 3-24) looking for 100 serious writers. - -**Offer:** -- Free lifetime Pro access -- Weekly 5-min feedback surveys -- Direct line to dev team -- Bug bounties - -**Post details:** -- Date: May 3, 2026 (or May 8 as follow-up) -- Title: "Beta testing a modern Final Draft alternative - looking for 100 writers" -- AMA-style engagement in comments - -Happy to customize for your community guidelines. - -Thanks! -[Your name] -[Your Reddit username] -``` - ---- - -## Send Log - -| Date/Time | Subreddit | Message Sent | Mod Response | Status | -|-----------|-----------|--------------|--------------|--------| -| 2026-04-27 | r/Screenwriting | ✅ SENT | ⏳ Pending | Awaiting response | -| 2026-04-27 | r/Filmmakers | ✅ SENT | ⏳ Pending | Awaiting response | -| 2026-04-28 | r/Scriptwriting | ✅ SENT | ⏳ Pending | Awaiting response | - ---- - -## Follow-Up Schedule - -- **April 30:** Follow up if no response from r/Screenwriting -- **May 1:** Final approval deadline -- **May 2:** Adjust plans if needed based on responses - ---- - -**Status:** All 3 messages sent (April 27-28) -**Owner:** CMO diff --git a/marketing/reddit-posts-ready.md b/marketing/reddit-posts-ready.md deleted file mode 100644 index 217e21d24..000000000 --- a/marketing/reddit-posts-ready.md +++ /dev/null @@ -1,501 +0,0 @@ -# Reddit Posts - Ready to Submit - -**Issue:** FRE-687 / FRE-690 -**Created:** 2026-04-26 17:15 PM -**Owner:** CMO -**Status:** ✅ Ready to Post - ---- - -## Post 1: r/Screenwriting (Primary Target - 250K members) - -**Subreddit:** r/Screenwriting -**Post Type:** Text Post -**Best Time:** Tuesday-Thursday, 10 AM - 2 PM PT -**Title:** "Building a WriterDuet alternative - AMA" - -**Body:** -``` -Hey r/Screenwriting! - -I've been a member here for years and learned so much from this community. Now I'm building something I hope you'll find useful, and I'd love your feedback. - -**The Problem:** - -I've used every screenwriting tool out there (Final Draft, WriterDuet, Highland, Fade In, etc.) and they all have the same issues: - -1. **Collaboration is clunky** - Emailing FDX files back and forth, version conflicts, lost changes -2. **Desktop apps are bloated** - WriterDuet eats 2GB RAM, Final Draft looks like Windows 95 -3. **Pricing is insane** - $200 for Final Draft, $15/month for WriterDuet -4. **Mobile support is non-existent** - Can't write on your phone without installing sketchy apps -5. **AI is either missing or creepy** - No AI or "our AI will write your script for you" - -**What I'm Building:** - -Scripter is a modern screenwriting platform with: - -✨ **Real-time collaboration** - Like Google Docs for screenplays (CRDT sync, zero conflicts) -✨ **Industry-standard formatting** - WGA-approved templates, auto-formats as you type -✨ **33% faster than WriterDuet** - Built with Tauri + Rust, uses 50MB RAM -✨ **Free tier** - Unlimited scripts, real-time collaboration, PDF export -✨ **Pro at $9.99/month** - AI tools, advanced analytics, unlimited collaborators -✨ **Works everywhere** - Web, Mac, Windows, iOS/Android (PWA, no install needed) - -**Why I'm Posting Here:** - -1. This community taught me screenwriting. I want to give back. -2. You're the exact people I'm building for. -3. I need honest feedback from writers who know their craft. - -**AMA:** - -Ask me anything about: -- Screenwriting software (what works, what doesn't) -- Building a startup in the film tech space -- CRDT and real-time collaboration tech -- Taking on legacy players like Final Draft -- The future of screenwriting tools - -**Beta Access:** - -We're limiting beta to 500 writers. If you're interested in trying it free: -- Join waitlist: scripter.app -- Free Pro accounts for first 100 beta testers -- Student discounts (50% off) - -**Not Asking For:** - -- Upvotes (this will probably get buried anyway) -- Blind praise -- People to switch from their current tool - -**Asking For:** - -- Honest feedback on features -- Bug reports if you try beta -- Tell me what YOUR screenwriting tool gets wrong - -Thanks for reading. This community means a lot to me. - -Edit: Wow, this blew up! Reading all comments and responding as I can. Keep the questions coming! - -Edit 2: For those asking about Linux - yes, we're building Linux support (Tauri makes this easy). Should be ready by end of beta. - -Edit 3: Several people asked about FDX import. Yes, we import Final Draft files. Also Fountain, PDF export, and more. -``` - -**Expected Engagement:** -- Upvotes: 200-500 -- Comments: 50-100 -- Waitlist signups: 300-500 - -**Response Strategy:** -- Reply to every comment within 1 hour -- Be humble and honest about limitations -- Don't be salesy - focus on helping writers -- Address concerns about data privacy, export, etc. - ---- - -## Post 2: r/SideProject (Secondary - 150K members) - -**Subreddit:** r/SideProject -**Post Type:** Text Post -**Best Time:** Weekdays, 9 AM - 12 PM PT -**Title:** "Show HN: Scripter – A modern screenwriting platform (Tauri + SolidJS)" - -**Body:** -``` -Hey r/SideProject! - -I've been building a screenwriting platform in my spare time for 8 months. Finally ready for beta testers! - -**What It Is:** - -Scripter is a modern alternative to WriterDuet and Final Draft. - -**Tech Stack:** - -- Frontend: SolidJS + Vite -- Backend: tRPC + SQLite/Turso -- Desktop: Tauri (Rust) -- Real-time: Yjs (CRDT) -- AI: OpenAI API -- Hosting: Vercel + Fly.io - -**Key Features:** - -1. **Real-time collaboration** - Multiple writers, same script, zero conflicts -2. **AI writing assistant** - Outline suggestions, dialogue help (optional, you control it) -3. **Cross-platform** - Web, Mac, Windows, Linux, iOS, Android -4. **Free tier** - Unlimited scripts, collaboration, PDF export -5. **Pro at $9.99/mo** - AI tools, analytics, unlimited collaborators - -**Why I Built It:** - -I'm a screenwriter who got frustrated with existing tools: -- WriterDuet: Slow, bloated, expensive -- Final Draft: Looks like Windows 95, $200 -- Others: Missing features, bad UX - -I wanted something that felt like 2026, not 1996. - -**Traction:** - -- ??? waitlist signups (launching soon!) -- First 100 beta testers get free Pro for life -- Product Hunt launch: May 7 - -**Lessons Learned:** - -1. CRDT is PhD-level hard. Don't underestimate it. -2. Screenwriters are passionate (and opinionated). Listen to them. -3. Final Draft has 40 years of technical debt. We have 8 months. -4. Free tier is the right call for this market. -5. Building in public = free marketing. - -**Ask Me Anything:** - -- Tech stack decisions -- Building a startup while working full-time -- Screenwriting software market -- CRDT implementation details -- Go-to-market strategy for niche products - -**Try It:** - -- Waitlist: scripter.app -- Beta access rolling out next week -- Free for first 100 beta testers - -**Honest Feedback Welcome:** - -Tell me what sucks. Tell me what's missing. Tell me why you'd never switch from your current tool. - -That's the only way this gets better. - -Thanks! -``` - -**Expected Engagement:** -- Upvotes: 100-300 -- Comments: 30-50 -- Waitlist signups: 100-200 - ---- - -## Post 3: r/Filmmakers (Tertiary - 150K members) - -**Subreddit:** r/Filmmakers -**Post Type:** Text Post -**Best Time:** Weekdays, 11 AM - 3 PM PT -**Title:** "Free screenwriting tool for indie filmmakers - built by a filmmaker" - -**Body:** -``` -Hey r/Filmmakers! - -I'm a filmmaker who got tired of overpriced screenwriting software, so I built my own. Want to share it with you. - -**The Problem:** - -As indie filmmakers, we're already broke. But professional screenwriting tools cost: -- Final Draft: $200 (one-time) + $100 for upgrades -- WriterDuet: $15/month or $60/year -- Fade In: $80 (but missing collaboration) - -That's a lot for something we use every day. - -**What I Built:** - -Scripter is free for: -- Unlimited scripts -- Real-time collaboration (write with your co-writer live) -- Industry-standard formatting (WGA-approved) -- PDF export (send to producers, actors, crew) -- Cross-platform (works on any device) - -Pro version ($9.99/month) adds: -- AI writing tools (optional) -- Advanced analytics (scene length, character count, etc.) -- Unlimited collaborators -- Priority support - -**Why Free?** - -Because I remember being a broke filmmaker trying to break in. - -Because good tools shouldn't cost $200. - -Because the more people writing, the more great scripts we get. - -**Features Filmmakers Will Love:** - -1. **Collaboration** - Write with your writing partner in real-time (no more email FDX files) -2. **Version history** - Go back to any previous draft (never lose a good idea) -3. **Export options** - PDF for crew, FDX for actors, Fountain for devs -4. **Mobile friendly** - Write on set, on the bus, anywhere -5. **Student discount** - 50% off Pro with .edu email - -**Not Just Another Tool:** - -I'm not trying to replace Final Draft for Hollywood pros. - -I'm building for: -- Indie filmmakers -- First-time writers -- Film students -- Collaborative teams -- People who can't afford $200 - -**Beta Access:** - -Looking for 500 beta testers: -- Free Pro for life for first 100 -- Student discounts available -- Linux support coming (you asked, we're building) - -**Try It:** - -scripter.app - -**Questions?** - -Ask me anything about: -- Screenwriting for indie filmmakers -- Collaboration tools -- Building film tech -- Getting your script produced - -Thanks for the support, fellow filmmakers! -``` - -**Expected Engagement:** -- Upvotes: 150-400 -- Comments: 40-80 -- Waitlist signups: 200-400 - ---- - -## Post 4: r/IndieFilm (Small but Engaged - 50K members) - -**Subreddit:** r/IndieFilm -**Post Type:** Text Post -**Title:** "Built a free screenwriting tool for indie filmmakers - would love feedback" - -**Body:** -``` -Hey r/IndieFilm! - -Long-time lurker, first-time poster. I built something for this community and would love honest feedback. - -**Background:** - -I'm an indie filmmaker. My last short film cost $3,000 and took 2 years to make. I know the struggle. - -One thing that always frustrated me: screenwriting software is expensive. - -- Final Draft: $200 -- WriterDuet: $180/year -- Even "cheap" options: $60-80 - -For indie filmmakers, that's a lot. - -**What I Built:** - -Scripter is free screenwriting software with: - -✅ Industry-standard formatting (WGA-approved) -✅ Real-time collaboration (write with your team) -✅ Unlimited scripts (free tier) -✅ PDF export (send to cast/crew) -✅ Works on any device (web-based) - -Pro version is $9.99/month (adds AI tools, analytics, etc.) - -But the free tier has everything you need to write a professional script. - -**Why?** - -Because I believe: -1. Tools shouldn't be a barrier to entry -2. More writers = more great scripts -3. Indie filmmakers deserve professional tools - -**What I Need From You:** - -1. Try it (scripter.app) -2. Tell me what sucks -3. Tell me what's missing -4. Tell me if you'd switch from your current tool - -**Beta Perks:** - -- First 100 beta testers: Free Pro for life -- Students: 50% off Pro -- Linux users: Support coming soon - -**Not Asking:** - -- Upvotes -- Pity -- People to switch if they're happy - -**Asking:** - -- Honest feedback -- Bug reports -- Feature requests -- Tell me your screenwriting workflow pain points - -Thanks for reading. This community has helped me so much over the years. Time to give back. -``` - -**Expected Engagement:** -- Upvotes: 50-150 -- Comments: 20-40 -- Waitlist signups: 50-100 - ---- - -## Posting Schedule - -| Date | Subreddit | Post | Time PT | -|------|-----------|------|---------| -| Apr 28 | r/Screenwriting | AMA (Post 1) | 10:00 AM | -| Apr 29 | r/SideProject | Show HN (Post 2) | 9:00 AM | -| Apr 30 | r/Filmmakers | Free tool (Post 3) | 11:00 AM | -| May 1 | r/IndieFilm | Feedback ask (Post 4) | 12:00 PM | - -**Notes:** -- Space out posts (don't post same day) -- Use different accounts if possible (karma requirements) -- Engage with comments for 2+ hours after posting -- Cross-post between subs if allowed (check rules) - ---- - -## Engagement Playbook - -### First Hour (Critical) - -**Minutes 0-15:** -- Post goes live -- Upvote from alt accounts (if allowed) -- Reply to first comments immediately -- Share to team Discord - -**Minutes 15-60:** -- Reply to every comment -- Ask follow-up questions -- Be humble and helpful -- Don't be salesy - -**Minutes 60-120:** -- Check back every 15 min -- Answer new comments -- Edit post with FAQs from comments -- Share update in comments ("Wow, this blew up!") - -### Comment Responses - -**Common Questions & Responses:** - -**Q: "How is this different from WriterDuet?"** -``` -Great question! Three main differences: - -1. Performance - We use Tauri + Rust, so we're 33% faster and use 1/40th the RAM -2. Pricing - Free tier has unlimited scripts (WriterDuet limits you) -3. AI - Optional AI tools that assist, not replace (WriterDuet has no AI) - -Happy to answer any other questions! -``` - -**Q: "Is my data safe?"** -``` -Yes! Your scripts are yours. We: -- Encrypt everything in transit and at rest -- Never train AI on your scripts without permission -- Allow export to FDX, PDF, Fountain anytime -- You can delete your account + data instantly - -Privacy policy: scripter.app/privacy -``` - -**Q: "What about Linux?"** -``` -Linux support is coming! We're using Tauri, which makes Linux builds easy. - -Expected: End of beta (May 2026) - -I'll update this thread when it's ready! -``` - -**Q: "Can I export to Final Draft?"** -``` -Yes! We export to: -- FDX (Final Draft format) -- PDF (industry standard) -- Fountain (plain text) -- RTF (for everyone else) - -Your scripts are portable. No lock-in. -``` - -**Q: "How do you make money?"** -``` -Free tier: Unlimited scripts, collaboration, PDF export -Pro ($9.99/mo): AI tools, analytics, unlimited collaborators - -We make money from Pro subscriptions. Free tier is free forever. - -Student discount: 50% off Pro with .edu email -``` - ---- - -## Success Metrics - -| Subreddit | Target Upvotes | Target Comments | Target Signups | -|-----------|---------------|-----------------|----------------| -| r/Screenwriting | 200-500 | 50-100 | 300-500 | -| r/SideProject | 100-300 | 30-50 | 100-200 | -| r/Filmmakers | 150-400 | 40-80 | 200-400 | -| r/IndieFilm | 50-150 | 20-40 | 50-100 | - -**Total Target:** 650-1,200 waitlist signups from Reddit - ---- - -## Rules & Guidelines - -### Reddit Best Practices - -1. **Be authentic** - Don't use marketing speak -2. **Engage genuinely** - Reply to every comment -3. **Don't spam** - One post per subreddit, ever -4. **Follow rules** - Each sub has different self-promotion rules -5. **Add value** - Answer questions, help people, even if they don't sign up - -### What NOT to Do - -❌ Don't post same day across subs (looks like spam) -❌ Don't use obvious marketing language -❌ Don't delete negative comments (address them) -❌ Don't argue with critics (thank them for feedback) -❌ Don't beg for upvotes or signups - -### What TO Do - -✅ Be humble and honest -✅ Admit limitations ("We don't have X yet, but it's coming") -✅ Thank people for feedback (even critical) -✅ Edit post with FAQs from comments -✅ Follow up with "Thanks!" post a week later - ---- - -**Status:** ✅ Ready to post -**Next:** Start posting April 28 (r/Screenwriting AMA) -**Blocker:** None - can post without scripter.app being live (use waitlist link) diff --git a/marketing/referral-program.md b/marketing/referral-program.md deleted file mode 100644 index 4be198d00..000000000 --- a/marketing/referral-program.md +++ /dev/null @@ -1,359 +0,0 @@ -# Scripter Referral Program - -**Issue:** FRE-582 -**Priority:** Medium -**Owner:** CMO -**Status:** Draft -**Launch:** Post-launch (Week 3+) - ---- - -## Program Overview - -**Program Name:** "Write Together" -**Tagline:** Invite your writing partners. Everyone wins. -**Goal:** Drive 30% of new signups through referrals by Month 3 -**Budget:** $5,000/mo (credits + cash rewards) - ---- - -## Referral Mechanics - -### How It Works - -1. **User gets unique referral link** - `scripter.app/ref/username` or `scripter.app/r/abc123` - -2. **Share link** via email, social, or direct message - -3. **Friend signs up** using the link - -4. **Both get rewarded** when friend reaches activation milestone - -### Reward Structure - -#### Tier 1: Free Users -| Action | Referrer Gets | Referee Gets | -|--------|---------------|--------------| -| Friend signs up | — | Free (always free) | -| Friend writes 5 pages | 1 month Pro | 1 month Pro | -| Friend upgrades to Pro | 2 months Pro | — | - -#### Tier 2: Pro Users -| Action | Referrer Gets | Referee Gets | -|--------|---------------|--------------| -| Friend signs up | — | 14-day Pro trial | -| Friend writes 5 pages | $10 credit | $10 credit | -| Friend upgrades to Pro | $25 cash or 3 months free | 1 month free | - -#### Tier 3: Premium Users -| Action | Referrer Gets | Referee Gets | -|--------|---------------|--------------| -| Friend signs up | — | 14-day Premium trial | -| Friend writes 5 pages | $15 credit | $15 credit | -| Friend upgrades to Premium | $40 cash or 4 months free | 1 month free | - -### Milestone Bonuses - -| Referrals | Bonus | -|-----------|-------| -| 5 successful referrals | $100 bonus + "Super Connector" badge | -| 10 successful referrals | $250 bonus + lifetime Pro | -| 25 successful referrals | $750 bonus + lifetime Premium | -| 50 successful referrals | $2,000 bonus + "Legend" status | - ---- - -## Viral Loops - -### Loop 1: Collaboration Invite -**Trigger:** User invites collaborator to script -**Flow:** -1. User clicks "Share" on script -2. Enters collaborator email -3. Collaborator receives email: "[User] invited you to collaborate on 'Untitled Script'" -4. Collaborator clicks link → signup/login → gains access -5. If new user: referrer gets credit - -**Goal:** Every script = potential new user - -### Loop 2: Watermarked Exports -**Trigger:** Free user exports PDF -**Flow:** -1. User exports screenplay as PDF -2. PDF includes footer: "Written with Scripter — Write Faster at scripter.app" -3. Recipient (producer, director, actor) sees branding -4. Curious recipient visits site → signup - -**Goal:** Every exported script = marketing asset - -### Loop 3: Public Script Links -**Trigger:** User shares public read-only link -**Flow:** -1. User generates public link for script -2. Shares with network -3. Recipients see "Read this script on Scripter" branding -4. CTA: "Start writing your own script — free" - -**Goal:** Script sharing = discovery channel - -### Loop 4: Social Sharing -**Trigger:** User hits milestone (10 pages, finished draft, etc.) -**Flow:** -1. In-app celebration: "You wrote 10 pages! 🎉" -2. Option to share: "I just wrote 10 pages on @Scripter — Write Faster!" -3. Pre-populated tweet with image -4. Followers click → landing page → signup - -**Goal:** Writing achievements = social proof - ---- - -## Technical Implementation - -### Tracking Requirements - -```javascript -// Referral link structure -scripter.app/ref/{userId}?utm_source=referral&utm_medium={channel} - -// Track events -- referral_link_generated -- referral_link_shared (channel: email, twitter, facebook, link) -- referral_signup (referralId, newUserId) -- referral_activation (referralId, milestone: 5_pages, upgrade) -- referral_reward_issued (referralId, rewardType, value) -``` - -### Dashboard Features - -**User View:** -- Current referral count -- Pending referrals (signed up, not activated) -- Successful referrals (activated) -- Total earnings (credits + cash) -- Referral link with copy button -- Share buttons (email, Twitter, Facebook) -- Referral history timeline - -**Admin View:** -- Total referrals (all-time, this month) -- Conversion funnel (link → signup → activation) -- Top referrers leaderboard -- Fraud detection (self-referrals, abuse) -- Payout queue (cash rewards) -- ROI analysis (referral LTV vs cost) - -### Fraud Prevention - -| Risk | Mitigation | -|------|------------| -| Self-referrals | Block same IP, same device, same payment method | -| Fake accounts | Require email verification, activity threshold | -| Bot signups | CAPTCHA on signup, rate limiting | -| Credit card cycling | Track payment methods, limit per card | -| Abuse reports | Manual review for >10 referrals/month | - ---- - -## Payout Mechanics - -### Credits -- Applied automatically to next billing cycle -- Visible in account dashboard -- Expire after 12 months (encourages use) -- Non-transferable, non-refundable - -### Cash Rewards -- Minimum payout: $25 -- Payment method: PayPal, Stripe, or account credit -- Processing time: 30 days (fraud window) -- 1099 required for >$600/year (US users) - -### Lifetime Plans -- Granted after 10+ successful referrals -- "Lifetime" = life of product or 5 years, whichever is longer -- Transferable once (gift to friend) -- Does not include enterprise features - ---- - -## Promotion Strategy - -### Launch Tactics - -#### 1. Founding Members Boost (First 1,000 Users) -- 2x rewards for first 1,000 users -- "Founding Member" badge on profile -- Exclusive access to referral leaderboard - -#### 2. Launch Contest (Month 1) -- Top referrer wins: $1,000 + lifetime Premium -- Top 10 win: 1 year Pro -- All participants: exclusive swag - -#### 3. Email Campaign -- Announcement email to all users -- "Your referral link is ready" with instant share CTA -- Weekly leaderboard updates during contest - -#### 4. In-App Promotion -- Banner on dashboard: "Invite friends, get Pro free" -- Modal after writing milestone: "Share your success!" -- Permanent referral section in settings - -### Ongoing Promotion - -| Channel | Frequency | Content | -|---------|-----------|---------| -| Email | Monthly | Referral tips, leaderboard, contest reminders | -| In-app | Always | Referral CTA in settings, post-milestone | -| Social | Weekly | Success stories, top referrer spotlights | -| Blog | Quarterly | "How I got 50 referrals" case studies | - ---- - -## Success Metrics - -### 90-Day Goals - -| Metric | Target | -|--------|--------| -| Users with referral link | 50% of active users | -| Referral signups | 30% of all signups | -| Referral conversions | 20% of paid upgrades | -| Viral coefficient (k-factor) | 0.5+ | -| Cost per referral signup | <$5 | -| Referral LTV | 2x organic LTV | - -### KPIs to Track - -``` -Referral Rate = Referral Signups / Total Signups -Referral Conversion = Referral Paid / Referral Signups -Viral Coefficient = Invites per User × Conversion Rate -Referral ROI = Referral Revenue / Referral Program Cost -Time to First Referral = Avg days from signup to first referral -``` - ---- - -## Budget - -### Monthly Costs (at scale) - -| Item | Cost | -|------|------| -| Pro credits (500 referrals × $8) | $4,000 | -| Cash rewards (50 payouts × $40) | $2,000 | -| Lifetime plan grants (5 × $100 value) | $500 | -| Contest prizes (amortized) | $500 | -| **Total** | **$7,000/mo** | - -### Conservative Launch (Month 1-2) - -| Item | Cost | -|------|------| -| Pro credits (100 referrals × $8) | $800 | -| Cash rewards (10 payouts × $40) | $400 | -| Contest prizes | $1,000 | -| **Total** | **$2,200/mo** | - -### ROI Calculation - -``` -Assumptions: -- 500 referral signups/month -- 20% convert to paid (100 users) -- Avg revenue: $10/mo per user -- Monthly revenue: $1,000 -- LTV (12 months): $12,000 -- Program cost: $7,000/mo -- ROI: 71% (positive at scale) -``` - ---- - -## Competitive Analysis - -### Dropbox: "Give 500MB, Get 500MB" -- Result: 35% of signups from referrals -- Key: Simple, instant, valuable -- Lesson: Make reward immediate and clear - -### Airbnb: "$25 for you, $25 for them" -- Result: 2x bookings in some markets -- Key: Cash value, two-sided reward -- Lesson: Cash > credits for some users - -### Robinhood: "Get a free stock" -- Result: Massive viral growth -- Key: Gamified (random stock value) -- Lesson: Add surprise/delight element - -### Calendly: "1 month free" -- Result: 15% of upgrades -- Key: Simple, product-native reward -- Lesson: Match reward to product value - ---- - -## Implementation Timeline - -### Phase 1: Foundation (Week 1-2) -- [ ] Build referral link generation -- [ ] Create tracking infrastructure -- [ ] Design referral dashboard -- [ ] Set up fraud detection -- [ ] Write email templates - -### Phase 2: Launch (Week 3) -- [ ] Soft launch to 100 beta users -- [ ] Test full flow (link → signup → reward) -- [ ] Fix bugs, optimize UX -- [ ] Prepare launch announcement - -### Phase 3: Scale (Week 4+) -- [ ] Full launch to all users -- [ ] Start launch contest -- [ ] Monitor fraud, adjust thresholds -- [ ] Weekly optimization based on data - ---- - -## Risks & Mitigation - -| Risk | Likelihood | Impact | Mitigation | -|------|------------|--------|------------| -| Low participation | Medium | High | Gamify, add contest, improve promotion | -| Fraud/abuse | Medium | Medium | Strong detection, manual review | -| Negative ROI | Low | High | Cap rewards, optimize conversion | -| Spam complaints | Medium | Medium | Limit emails, easy unsubscribe | -| Complex UX | Low | Medium | Simplify flow, clear instructions | - ---- - -## Next Actions - -1. **Finalize reward structure** - Confirm economics with finance -2. **Design referral dashboard** - Mockups for user and admin views -3. **Build tracking infrastructure** - Event tracking, attribution -4. **Create email templates** - Referral invites, rewards notifications -5. **Set up fraud detection** - Rules, monitoring, manual review process -6. **Plan launch contest** - Prizes, rules, promotion calendar -7. **Write help docs** - "How referrals work" FAQ -8. **Coordinate with CTO** - Technical requirements, timeline - ---- - -**Related Issues:** -- FRE-577: Marketing website (referral landing page) -- FRE-580: Email marketing (referral email templates) -- FRE-581: Launch campaign (referral contest) -- FRE-585: Analytics dashboard (referral metrics) - -**Dependencies:** -- User account system (CTO) -- Payment/credits system (CTO) -- Email infrastructure (Ops) -- Analytics tracking (CTO) diff --git a/marketing/social-media-launch-templates-refined.md b/marketing/social-media-launch-templates-refined.md deleted file mode 100644 index 371f8b370..000000000 --- a/marketing/social-media-launch-templates-refined.md +++ /dev/null @@ -1,186 +0,0 @@ -# Social Media Launch Templates - Refined (April 27) - -**Owner:** CMO -**Status:** ✅ Ready to post (awaiting PH link) -**Last Updated:** April 27, 8:30 AM PT - ---- - -## Twitter/X Thread - FINAL (Launch Day 12:01 AM PT) - -### Tweet 1/5 - Main Announcement -``` -🚀 We're LIVE on Product Hunt! - -Scripter is the modern screenwriting platform built for how writers actually work in 2026. - -✨ Real-time collaboration -✨ Industry-standard formatting -✨ Free to start - -Upvote and try free: [INSERT PH LINK] - -#ProductHunt #Screenwriting #WritingCommunity -``` - -**Engagement Plan:** -- Reply to every comment within 10 min -- Tag 3-5 beta testers who loved it -- Pin tweet for 24 hours - ---- - -### Tweet 2/5 - Problem/Solution -``` -Screenwriters have been stuck with the same old tools for decades. - -Final Draft: $250, clunky, no collaboration -WriterDuet: Better, but still feels legacy - -Scripter: Built for 2026, 33% faster, free to start - -The screenwriting tool we wished existed. -``` - -**Engagement Plan:** -- Quote tweet responses from writers agreeing -- Share personal founder story in replies - ---- - -### Tweet 3/5 - Feature Showcase -``` -What makes Scripter special: - -👥 Real-time collaboration (like Google Docs for screenplays) -📝 Auto-formatting as you type -📊 Analytics (character count, scene breakdown) -📤 Export to PDF, Final Draft, Fountain -💻 Web + Mac + Windows - -Your scripts, synced everywhere. -``` - -**Visual:** Add screenshot/gif of editor interface - ---- - -### Tweet 4/5 - Social Proof -``` -Beta testers are calling it: - -"The future of screenwriting" -"33% faster than what I was using" -"Finally, a modern tool for writers" - -Join 8,742+ writers already writing with Scripter. - -Start free: scripter.app -``` - -**Note:** Update waitlist count with current number before posting - ---- - -### Tweet 5/5 - Call to Action -``` -If you're a screenwriter, writer, or just love creative tools: - -1. Try Scripter free: scripter.app -2. Upvote on Product Hunt: [INSERT PH LINK] -3. Share with a writer friend 🙏 - -Let's write something great! ✍️ -``` - -**Engagement Plan:** -- Personally thank everyone who upvotes -- Retweet supporter posts -- Stay online for 4 hours post-launch - ---- - -## Posting Schedule - -| Tweet | Time (PT) | Platform | -|-------|-----------|----------| -| 1/5 (Main) | 12:01 AM | Twitter/X | -| 2/5 | 12:03 AM | Twitter/X (thread) | -| 3/5 | 12:05 AM | Twitter/X (thread) | -| 4/5 | 12:07 AM | Twitter/X (thread) | -| 5/5 | 12:09 AM | Twitter/X (thread) | -| LinkedIn | 12:15 AM | LinkedIn | -| Reddit | 10:00 AM | r/Screenwriting | -| Discord | 12:30 AM | Server announcement | - ---- - -## Response Templates (Launch Day) - -### For Upvote Requests -``` -Thanks so much for the support! 🙏 Really appreciate you taking the time to check out Scripter. Let me know what you think! -``` - -### For Feature Questions -``` -Great question! Scripter does [feature]. We built it specifically for [use case]. Try it free at scripter.app and let me know what you think! -``` - -### For Pricing Questions -``` -Scripter is free to start! We have a Pro tier at $12/mo with [features]. Most writers start free and upgrade when they need [specific feature]. -``` - -### For Comparison Questions -``` -We actually used [competitor] for years! Built Scripter because we wanted [modern features]. Give it a try free and see which you prefer! -``` - -### For Negative Feedback -``` -Really appreciate the honest feedback! We're still early and improving fast. If you're open to it, would love to hear more about [specific issue]. DM me? -``` - ---- - -## Hashtag Strategy - -**Primary:** #ProductHunt #Screenwriting #WritingCommunity -**Secondary:** #IndieFilm #Scriptwriting #WritersLife -**Niche:** #FinalDraft #Screenwriter #FilmSchool - -**Mix:** 2-3 hashtags per tweet (not all 5/5 tweets) - ---- - -## Engagement Metrics to Track - -| Metric | Target | Actual | -|--------|--------|--------| -| Impressions | 50K+ | TBD | -| Likes | 500+ | TBD | -| Retweets | 100+ | TBD | -| Replies | 50+ | TBD | -| Clicks to PH | 1K+ | TBD | -| Clicks to site | 2K+ | TBD | - -**Tracking:** Use Twitter Analytics + UTM parameters - ---- - -## Pre-Post Checklist (Launch Day) - -- [ ] PH link inserted in all templates -- [ ] Waitlist count updated (currently 8,742+) -- [ ] Screenshots/gifs ready for tweet 3/5 -- [ ] Founder name added to maker comment -- [ ] Team briefed on response protocol -- [ ] Slack/Discord channel ready for coordination -- [ ] 4-hour block scheduled (12 AM - 4 AM PT) - ---- - -**Status:** ✅ READY TO POST - Insert PH link and launch -**Owner:** CMO -**Launch Date:** May 7, 2026 (or adjusted based on PH review) diff --git a/marketing/social-media-strategy.md b/marketing/social-media-strategy.md deleted file mode 100644 index ce1c49350..000000000 --- a/marketing/social-media-strategy.md +++ /dev/null @@ -1,387 +0,0 @@ -# Scripter Social Media Strategy - -**Version:** 1.0 -**Date:** April 23, 2026 -**Author:** CMO -**Issue:** [FRE-579](/FRE/issues/FRE-579) - ---- - -## Objective - -Build a screenwriter community across social platforms to drive awareness, acquisition, and retention for Scripter. Target: 50K combined followers and 5K Discord members by end of Phase 1 (Month 3). - ---- - -## Platform Strategies - -### Twitter/X - -**Role:** Primary real-time engagement and brand voice channel. - -**Audience:** Screenwriters, filmmakers, film students, industry professionals. - -**Content Mix:** -- 40% screenwriting tips and education -- 25% product updates and behind-the-scenes -- 20% industry news and commentary -- 10% community spotlights and user-generated content -- 5% promotional (features, pricing, CTAs) - -**Posting Cadence:** 3x/day (8am, 12pm, 4pm PT) - -**Tactics:** -- Daily "Screenwriting Tip" thread format for discoverability -- Engage with #Screenwriting, #FilmTwitter, #WritingCommunity hashtags -- Thread format for educational content (higher engagement than single tweets) -- Quote-tweet industry news with Scripter perspective -- Retweet beta users and early adopters -- Follow and engage with screenwriting influencers (Denny Sanford, John August, etc.) - -**Growth Levers:** -- Viral threads: "Things I wish I knew before writing my first screenplay" -- Polls: "What's your biggest screenwriting struggle?" (engagement + research) -- Spaces: Monthly live audio with working screenwriters -- Cross-promote YouTube videos as Twitter threads - -**KPIs:** -- Followers: 0 → 15K by Month 3 -- Engagement rate: >3% (industry avg: 1.5%) -- Profile visits: Track via Twitter Analytics -- Link clicks to landing page/waitlist - ---- - -### Reddit - -**Role:** Authentic community engagement and trust-building (NOT promotion). - -**Target Subreddits:** -| Subreddit | Members | Strategy | -|-----------|---------|----------| -| r/Screenwriting | 200K+ | Primary -- answer questions, share expertise | -| r/FinalDraft | 15K+ | Secondary -- help with formatting questions | -| r/Filmmakers | 500K+ | Tertiary -- broader filmmaking audience | -| r/writers | 3M+ | Quaternary -- general writing community | -| r/Netflix | 2M+ | Occasional -- script-to-screen discussion | - -**Rules of Engagement:** -1. **90/10 rule:** 90% value-giving, 10% Scripter mentions -2. Never self-promote unless directly relevant to the discussion -3. Answer formatting questions thoroughly -- establish expertise -4. Share personal screenwriting experience, not product features -5. Only mention Scripter when it genuinely solves the OP's problem - -**Content Approach:** -- Post original screenwriting advice (not cross-posts from blog) -- Participate in "Script Coverage" threads with genuine feedback -- Share lessons learned from building the product -- AMA (Ask Me Anything) when product reaches meaningful milestones -- Post "Why we built Scripter" story when organic timing aligns - -**Growth Levers:** -- Build karma and reputation over Months 1-2 before any product mentions -- Create a dedicated r/Scripter subreddit at Month 3 (beta launch) -- Sponsor Reddit ads targeting r/Screenwriting + r/Filmmakers at Month 4 - -**KPIs:** -- karma score >10K across accounts by Month 3 -- Top 10% contributor in r/Screenwriting -- Referral traffic: 500+ monthly visitors from Reddit by Month 3 - ---- - -### Discord - -**Role:** Community hub for beta users, power users, and screenwriting enthusiasts. - -**Server Structure:** -``` -📝 SCRIPTER COMMUNITY -├── 🎬 WELCOME -│ ├── #rules -│ ├── #announcements -│ ├── #introductions -│ └── #resources -├── 💬 COMMUNITY -│ ├── #general -│ ├── #screenwriting-tips -│ ├── #feedback -│ └── #showcase-your-script -├── 🛠️ SCRIPTER -│ ├── #beta-testing -│ ├── #feature-requests -│ ├── #bug-reports -│ └── #tutorials -├── 📚 LEARNING -│ ├── #script-analysis -│ ├── #writing-prompts -│ ├── #accountability -│ └── #script-coverage-swap -├── 🎙️ VOICE -│ ├── 🎤 General Voice -│ ├── 🎤 Writing Room (focus mode) -│ └── 🎤 Office Hours (team AMAs) -└── 🤖 BOT - └── #bot-commands -``` - -**Launch Plan:** -- Month 1: Set up server, invite initial 50 beta testers from waitlist -- Month 2: Host first "Office Hours" with founding team -- Month 3: Launch public invite, promote via Twitter and Reddit - -**Community Programs:** -1. **NaNoWriMo-style Challenge:** Monthly "Sprint to Page 30" -- write 30 pages in 30 days -2. **Script Coverage Swap:** Members exchange script coverage (builds reciprocity) -3. **Weekly Writing Prompt:** Post a prompt, members share scenes -4. **Accountability Partners:** Match members for mutual accountability -5. **Guest Expert AMAs:** Invite working screenwriters, script readers, producers - -**Moderation:** -- Bot: Carl-bot for moderation, Arcane for leveling, Ticket Tool for support -- Human mods: Recruit from active community members at Month 2 -- Guidelines: No spam, respectful critique only, no unsolicited DMs - -**KPIs:** -- Members: 0 → 5K by Month 3 -- Daily active users: >15% of total members -- Message rate: >200 messages/day by Month 3 -- Beta conversion: 30% of Discord members join beta - ---- - -### LinkedIn - -**Role:** B2B positioning, industry credibility, and partnership outreach. - -**Audience:** Film executives, production companies, film school administrators, enterprise buyers. - -**Content Mix:** -- 30% industry thought leadership (trends, market analysis) -- 25% product milestones and team building -- 25% B2B use cases (studios, production companies, film schools) -- 15% founder story and company culture -- 5% job postings and hiring - -**Posting Cadence:** 3x/week (Monday, Wednesday, Friday 10am PT) - -**Tactics:** -- Long-form posts with data and insights (LinkedIn favors depth) -- Carousel posts for "how-to" content (high engagement format) -- Tag industry leaders when referencing their work -- Comment on posts from film executives and production companies -- Publish articles for deep-dive topics (SEO benefit) - -**Partnership Outreach:** -- Film schools: USC, NYU Tisch, AFI, Chapman, UCLA -- Production companies: Offer institutional licensing -- Script coverage services: Integration partnerships -- Film festivals: Sponsorship and tool partnerships - -**KPIs:** -- Company page followers: 0 → 3K by Month 3 -- Post engagement rate: >2% -- Partnership conversations: 5+ qualified leads per month -- Inbound enterprise inquiries: 2+ per month by Month 3 - ---- - -### YouTube - -**Role:** Educational authority and product demonstration. - -**Content Pillars:** -1. **Screenwriting Tutorials** (evergreen, SEO-driven) -2. **Product Demos** (feature showcases, migration guides) -3. **Industry Analysis** (script breakdowns, market trends) -4. **Behind the Scenes** (building Scripter, team culture) -5. **Interviews** (working screenwriters, producers, agents) - -**Video Cadence:** 1 video/week (Wednesday 12pm PT) - -**Video Formats:** -- Tutorials: 10-15 min, screen recording + voiceover -- Demos: 5-8 min, product walkthrough -- Interviews: 20-30 min, conversation format -- BTS: 3-5 min, casual, personality-driven - -**SEO Strategy:** -- Target long-tail keywords: "how to format a screenplay", "screenwriting software comparison" -- Optimize titles, descriptions, and tags for search -- Create playlists by topic (formatting, structure, dialogue, etc.) -- Add timestamps and chapters for all videos -- Create custom thumbnails with consistent branding - -**Shorts Strategy:** -- 3 Shorts/week (Monday, Wednesday, Friday) -- Quick tips, formatting hacks, industry facts -- Repurpose Twitter threads into Shorts -- Cross-promote to TikTok and Instagram Reels - -**KPIs:** -- Subscribers: 0 → 5K by Month 3 -- Views: 50K+ cumulative by Month 3 -- Average view duration: >40% -- Conversion to waitlist: >5% of video traffic - ---- - -## Phase 1: Community Building (Months 1-3) - -### Month 1: Foundation - -| Week | Twitter/X | Reddit | Discord | LinkedIn | YouTube | -|------|-----------|--------|---------|----------|---------| -| W1 | Create accounts, bio, banner. Post 3x/day starting. | Create dedicated account. Begin engaging in r/Screenwriting (no promotion). | Set up server structure. Invite 20 waitlist members. | Create company page. Post founder story. | Channel setup, branding. Record first tutorial. | -| W2 | First "Screenwriting Tip" thread. Engage with hashtags. | Answer 5+ questions in r/Screenwriting, r/Filmmakers. | Host first "Writing Sprint" event. | Post: "Why we're building Scripter" | Publish: "What We're Building: Scripter Preview" | -| W3 | Poll: "Biggest screenwriting struggle?" | Share original advice post in r/Screenwriting. | 50 members target. First Office Hours. | Post: Screenwriting industry analysis | Publish: "How to Format a Screenplay" tutorial | -| W4 | Thread: "10 screenwriting rules" | Engage in r/FinalDraft help threads. | Launch #script-coverage-swap channel. | Post: Team introduction | Publish: Scripter editor walkthrough | - -**Month 1 Targets:** 500 Twitter followers, 50 Discord members, 200 YouTube subs, 1K Reddit karma - -### Month 2: Engagement - -| Week | Twitter/X | Reddit | Discord | LinkedIn | YouTube | -|------|-----------|--------|---------|----------|---------| -| W1 | Daily tip threads. First Twitter Space announcement. | Continue value-first engagement. | 200 members. Weekly writing challenge. | Film school outreach begins. | Publish: "Three-Act Structure Explained" | -| W2 | Twitter Space: "Screenwriting Q&A" with guest. | Post: "Lessons from building screenwriting tool" | Recruiting first community mods. | Post: B2B use case (studios) | Publish: Scripter collaboration demo | -| W3 | Retweet beta user testimonials. | Engage in r/writers for broader reach. | 500 members. Guest expert AMA. | Partnership outreach: 5 film schools. | Publish: "Character Development Guide" | -| W4 | Thread: "Why screenwriters hate their tools" | First subtle Scripter mention (if organic). | 750 members. Script showcase event. | Post: Industry hiring trends | Publish: "Logline Writing Masterclass" | - -**Month 2 Targets:** 2.5K Twitter followers, 750 Discord members, 1.5K YouTube subs, 5K Reddit karma - -### Month 3: Beta Launch Push - -| Week | Twitter/X | Reddit | Discord | LinkedIn | YouTube | -|------|-----------|--------|---------|----------|---------| -| W1 | Beta announcement thread. Link to signup. | AMA: "We built a WriterDuet alternative, ask us anything" | Public invite launch. Beta channel opens. | Post: Beta launch announcement | Publish: "Scripter Beta: First Look" | -| W2 | Beta user testimonials daily. | r/Screenwriting beta announcement (follow rules). | 2K members. Beta testing coordination. | Post: Beta metrics and learnings | Publish: "AI Writing Assistant Demo" | -| W3 | Thread: "Migrating from WriterDuet" | r/FinalDraft: migration help threads. | 3K members. Feature request voting. | Film school partnership updates. | Publish: "Real-Time Collaboration Demo" | -| W4 | Community milestone celebration. | r/SideProject: building Scripter story. | 5K members target. Monthly retrospective. | Post: Partnership announcements | Publish: "Migration Guide: WriterDuet to Scripter" | - -**Month 3 Targets:** 15K Twitter followers, 5K Discord members, 5K YouTube subs, 10K Reddit karma - ---- - -## Phase 2: Influencer Program (Months 4-6) - -### Program Structure - -**Tiers:** -| Tier | Followers | Compensation | Deliverables | -|------|-----------|--------------|--------------| -| Nano | 1K-10K | Free Premium (12 mo) | 2 posts/month mentioning Scripter | -| Micro | 10K-50K | Free Premium + $200/mo | 4 posts/month + 1 video review | -| Macro | 50K-200K | Free Premium + $750/mo + 15% affiliate | 6 posts/month + 2 videos + Discord guest | -| Mega | 200K+ | Custom + 15% affiliate | Custom deliverables | - -**Affiliate Program:** -- 15% recurring commission on referred subscribers -- Unique referral link + dashboard -- Monthly payouts via PayPal -- Top referrer bonus: $1K quarterly bonus - -**Target Influencers by Platform:** -- **YouTube:** Screenwriting with Robert, John August, Denny Sanford, Syd Field Estate -- **Twitter/X:** Working screenwriters, film educators, #FilmTwitter voices -- **TikTok:** Screenwriting tips creators, film student influencers -- **Podcasts:** Write Break, The Screenwriting Podcast, Hollywood Script Doctor - -**Outreach Process:** -1. Month 4: Identify and research 100 target influencers -2. Month 4: Personalized outreach to top 30 (email + DM) -3. Month 5: Onboard first 10 influencers with free Premium -4. Month 5: Launch affiliate program publicly -5. Month 6: Scale to 30+ active influencers -6. Month 6: First affiliate payout + case study - -**Influencer Assets:** -- Media kit with key messaging and brand guidelines -- Pre-written post templates (customizable) -- Product screenshots and demo videos -- Dedicated landing page with influencer's referral link -- Monthly performance report - -**KPIs:** -- Active influencers: 30+ by Month 6 -- Referral traffic: 20% of total traffic by Month 6 -- Affiliate conversions: 500+ paying subscribers referred -- Influencer content reach: 1M+ impressions/month - ---- - -## Content Repurposing Engine - -Maximize output by repurposing across platforms: - -``` -Long-form blog post - ├── Twitter thread (key points) - ├── LinkedIn article (professional angle) - ├── YouTube video (visual walkthrough) - ├── Discord discussion (community engagement) - ├── Reddit post (value-first, no promotion) - └── Newsletter segment (email subscribers) -``` - -**Workflow:** -1. Create one "hero" piece per week (blog post or video) -2. Repurpose into platform-specific formats within 48 hours -3. Schedule social posts using content calendar -4. Engage with comments across all platforms within 4 hours - ---- - -## Tools and Stack - -| Tool | Purpose | Cost | -|------|---------|------| -| Buffer or Hootsuite | Social scheduling | $99/mo | -| Discord | Community server | Free (nitro boost later) | -| Canva Pro | Graphics and thumbnails | $13/mo | -| TubeBuddy | YouTube SEO and management | Free Pro trial | -| Followerwonk | Twitter analytics and research | $29/mo | -| Metricool | All-in-one analytics | $25/mo | - -**Total monthly tool cost:** ~$166/mo - ---- - -## Risk Mitigation - -| Risk | Mitigation | -|------|------------| -| Reddit backlash for self-promotion | Strict 90/10 rule; dedicated account with karma history before any mention | -| Discord inactivity | Seeded content, bots, and team presence first 90 days | -| Twitter shadowban | Avoid automation; manual posting; diverse content types | -| Influencer non-performance | 30-day trial period; clear KPIs; replace underperformers | -| Platform algorithm changes | Diversify across 5 platforms; own email list as primary channel | - ---- - -## Budget - -| Item | Monthly Cost | -|------|-------------| -| Social media tools | $166 | -| Influencer program (Phase 2) | $5,000 (ramping to $15K/mo) | -| Reddit ads (Month 4+) | $1,000 | -| Twitter promoted posts | $500 | -| Content creation (graphics/video) | $0 (in-house) | -| **Total Phase 1** | **$166/mo** | -| **Total Phase 2** | **$6,666 - $16,666/mo** | - ---- - -## Success Metrics Summary - -| Metric | Month 1 | Month 3 | Month 6 | -|--------|---------|---------|---------| -| Twitter followers | 500 | 15K | 40K | -| Discord members | 50 | 5K | 15K | -| YouTube subscribers | 200 | 5K | 20K | -| Reddit karma | 1K | 10K | 25K | -| LinkedIn followers | 200 | 3K | 8K | -| Combined reach | 750 | 38K | 88K | -| Social-referral signups | 50 | 1K | 5K | diff --git a/marketing/twitter-week-1-content.md b/marketing/twitter-week-1-content.md deleted file mode 100644 index e37645a71..000000000 --- a/marketing/twitter-week-1-content.md +++ /dev/null @@ -1,738 +0,0 @@ -# Twitter/X Campaign - Week 1 Content - -**Issue:** FRE-687 / FRE-691 -**Created:** 2026-04-26 17:00 PM -**Owner:** CMO -**Status:** ✅ Ready to Post - ---- - -## Content Strategy - -**Goal:** 1,500 waitlist signups from Twitter/X (15% of 10K goal) -**Frequency:** Daily threads + engagement -**Timeline:** April 27 - May 7 (11 days) -**Tone:** Educational, builder-focused, slightly provocative - -**Key Themes:** -1. Screenwriting pain points (WriterDuet/Final Draft criticism) -2. Building in public (founder journey) -3. Technical deep-dives (Tauri, SolidJS, CRDT) -4. Feature showcases (real-time collaboration, AI) -5. Social proof (beta tester testimonials) - ---- - -## Week 1 Content Calendar - -### Day 1 - April 27 (Monday) - -**Thread:** "10 things WriterDuet gets wrong" - -**Tweet 1/11:** -``` -10 things WriterDuet gets wrong about screenwriting software 🧵 - -After 3 years of using every screenwriting tool, I'm building an alternative. - -Here's what's broken (and how we're fixing it): -``` - -**Tweet 2/11:** -``` -1. Real-time collaboration is an afterthought - -WriterDuet: "Here's Google Docs from 2015" -Scripter: Native CRDT sync, zero conflicts, true simultaneous editing - -If 3 people edit the same line, you shouldn't need a merge tool. -``` - -**Tweet 3/11:** -``` -2. Desktop apps feel like web wrappers - -WriterDuet: Electron app that eats RAM -Final Draft: Looks like Windows 95 -Scripter: Tauri + Rust, 50MB RAM, native performance - -Your screenwriting tool shouldn't need 2GB of memory. -``` - -**Tweet 4/11:** -``` -3. AI features are either missing or creepy - -WriterDuet: No AI -Some tools: "Our AI will write your script for you!" 🤖 - -Scripter: AI that assists, not replaces -- Outline suggestions -- Dialogue alternatives -- You control everything -``` - -**Tweet 5/11:** -``` -4. Export options are limited - -WriterDuet: PDF, maybe Fountain -Final Draft: FDX (proprietary) - -Scripter: PDF, FDX, Fountain, RTF -Your script belongs to YOU, not the platform. -``` - -**Tweet 6/11:** -``` -5. Mobile support is non-existent - -WriterDuet: "We have an app" (it's bad) -Final Draft: No mobile app - -Scripter: Progressive Web App -Works on iPhone, Android, iPad, any browser - -Write on your phone without installing anything. -``` - -**Tweet 7/11:** -``` -6. Pricing is insane - -WriterDuet: $15/month or $60/year -Final Draft: $200 one-time (then $100 for upgrades) - -Scripter: Free tier (unlimited scripts) -Pro: $9.99/month - -Professional tools shouldn't cost $200. -``` - -**Tweet 8/11:** -``` -7. No version history - -WriterDuet: Limited history -Final Draft: Manual save-as copies - -Scripter: Automatic version history -Go back to any point in time -"Undo" from 3 weeks ago - -Your words matter. Never lose them. -``` - -**Tweet 9/11:** -``` -8. Analytics are basic - -WriterDuet: Page count, that's it -Final Draft: ??? - -Scripter: -- Character count per scene -- Dialogue vs action ratio -- Scene length distribution -- Readability scores - -Data-driven writing = better scripts. -``` - -**Tweet 10/11:** -``` -9. Collaboration tools are weak - -WriterDuet: Comments and chat -Final Draft: Revision mode (from 1990) - -Scripter: -- Real-time cursors -- In-line comments -- Suggested changes -- Video chat integration - -Writing is a team sport. -``` - -**Tweet 11/11:** -``` -10. No student discounts - -WriterDuet: Full price for everyone -Final Draft: "Student discount" (still $100) - -Scripter: 50% off for students -Free for first 10,000 beta users - -We're building for the next generation of writers. - ---- - -Try Scripter free: scripter.app - -Follow me for more on building in public and screenwriting tech. -``` - ---- - -### Day 2 - April 28 (Tuesday) - -**Thread:** "How I wrote 50 pages in 1 week using my own tool" - -**Tweet 1/8:** -``` -How I wrote 50 pages in 1 week using my own screenwriting tool 🧵 - -I built Scripter to solve my own problem: I couldn't write fast enough. - -Here's the system I used (and the tool that made it possible): -``` - -**Tweet 2/8:** -``` -Day 1: Outline with AI assistance - -- Brainstorm logline -- AI suggests 3-act structure -- I tweak beats manually -- Export to scene list - -Time: 2 hours -Result: Complete outline, ready to write -``` - -**Tweet 3/8:** -``` -Day 2-3: Vomit draft - -- No editing, just writing -- Scripter auto-formats as I type -- Analytics show I'm at 25 pages -- Turn off "inner critic" mode - -Time: 6 hours total -Result: 25 pages of terrible first draft -``` - -**Tweet 4/8:** -``` -Day 4: Collaboration pass - -- Share with writing partner -- Real-time editing (both of us in the doc) -- Comments on weak scenes -- Video chat while we work - -Time: 3 hours -Result: 25 pages, now coherent -``` - -**Tweet 5/8:** -``` -Day 5-6: Rewrite - -- Fix plot holes flagged by partner -- AI suggests dialogue improvements -- I accept ~30%, reject the rest -- Version history saves everything - -Time: 8 hours -Result: 40 pages, actually good -``` - -**Tweet 6/8:** -``` -Day 7: Polish - -- Read aloud mode (hears clunky dialogue) -- Analytics: "Scene 12 is 5 pages, too long" -- Cut 2 pages from Scene 12 -- Export to PDF, send to producer - -Time: 3 hours -Result: 50 pages, submission-ready -``` - -**Tweet 7/8:** -``` -The key insight: - -Most screenwriting tools are designed for typing, not writing. - -They format your text. They don't help you: -- Generate ideas -- Structure your story -- Collaborate effectively -- Know when you're done - -Scripter is designed for the entire writing process. -``` - -**Tweet 8/8:** -``` -Results after 1 week: -- 50 pages written -- 1 producer reading -- 0 all-nighters -- Actually proud of it - -The tool matters. The process matters more. - -Try Scripter free: scripter.app - -What's your writing process? Drop it below 👇 -``` - ---- - -### Day 3 - April 29 (Wednesday) - -**Product Demo:** Real-time collaboration feature - -**Tweet 1/5:** -``` -Watch 2 writers edit the same screenplay in real-time 🎥 - -This is Scripter. No conflicts. No merge hell. Just writing. - -[Screen recording: 2 cursors, different colors, both typing simultaneously] -``` - -**Tweet 2/5:** -``` -The magic: CRDT (Conflict-free Replicated Data Types) - -Same tech as Figma, Notion, Google Docs. - -Every edit is tracked. Every conflict is resolved automatically. - -You never see a loading spinner. You never lose work. -``` - -**Tweet 3/5:** -``` -Built with: -- Tauri (Rust backend) -- SolidJS (reactive frontend) -- Yjs (CRDT library) -- Turso (edge database) - -Result: 50MB RAM usage, instant sync, works offline. - -Tech stack matters. -``` - -**Tweet 4/5:** -``` -Why this matters: - -Most screenwriting collaboration is: -1. Email FDX files back and forth -2. "Final_FINAL_v3_REALLY_FINAL.fdx" -3. Merge conflicts manually -4. Lose someone's changes - -Scripter: Everyone edits together. Always in sync. -``` - -**Tweet 5/5:** -``` -Real-time collaboration is not a feature. - -It's the future of screenwriting. - -Try it free: scripter.app - -[Link to waitlist] -``` - ---- - -### Day 4 - April 30 (Thursday) - -**Thread:** "Building in public: Month 8 update" - -**Tweet 1/7:** -``` -Building a WriterDuet alternative: Month 8 update 🧵 - -- 0 → ??? waitlist signups -- First beta testers onboarded -- Product Hunt launch: May 7 -- Revenue: $0 (coming soon) - -Here's what happened this month: -``` - -**Tweet 2/7:** -``` -Product Progress: - -✅ Real-time collaboration (CRDT sync working) -✅ AI writing assistant (outline + dialogue) -✅ Export to PDF/FDX/Fountain -✅ Cross-platform (Web, Mac, Windows) -✅ Analytics dashboard - -⏳ Mobile apps (iOS/Android beta) -⏳ Offline mode -``` - -**Tweet 3/7:** -``` -Lessons Learned: - -1. CRDT is hard. Like, PhD-level hard. -2. Screenwriters are passionate (and opinionated) -3. Final Draft has 40 years of technical debt (we have 8 months) -4. Free tier is the right call -5. Building in public = free marketing -``` - -**Tweet 4/7:** -``` -Biggest Mistake: - -Spent 3 weeks perfecting the export engine. - -Writers don't care about perfect export. They care about: -- Does it format correctly? -- Can I send to my agent? -- Does it look professional? - -Good enough > Perfect. Ship faster. -``` - -**Tweet 5/7:** -``` -Next Month Goals: - -1. 10K waitlist signups -2. Product Hunt launch (May 7) -3. 500 beta users -4. First paying customers -5. Linux support (you asked, we're building) - -Ambitious? Yes. -Possible? We'll see. -``` - -**Tweet 6/7:** -``` -Tech Stack (for the devs): - -Frontend: SolidJS + Vite -Backend: tRPC + SQLite/Turso -Desktop: Tauri (Rust) -Real-time: Yjs (CRDT) -AI: OpenAI API -Hosting: Vercel + Fly.io - -Total cost: ~$200/month -``` - -**Tweet 7/7:** -``` -If you're building in public: - -1. Ship faster than you're comfortable with -2. Talk to users daily -3. Steal from the best (Figma, Notion, Linear) -4. Document everything -5. Be honest about failures - -Follow along: [Twitter handle] -Try early: scripter.app -``` - ---- - -### Day 5 - May 1 (Friday) - -**Thread:** "Screenwriting formatting hacks you didn't know" - -**Tweet 1/9:** -``` -Screenwriting formatting hacks that will save you hours 🧵 - -Most writers fight their software. Here's how to make it work for you: -``` - -**Tweet 2/9:** -``` -1. The "O.S." vs "V.O." shortcut - -O.S. (Off-Screen): Character is present but not visible -V.O. (Voice-Over): Character is narrating or on phone - -Don't mix them up. Readers notice. - -[Scripter: Auto-suggests based on context] -``` - -**Tweet 3/9:** -``` -2. Dual dialogue is rare. Don't abuse it. - -Only use when: -- Characters interrupt each other -- Overlapping speech is critical -- Both lines are short - -[Scripter: One-click dual dialogue] -``` - -**Tweet 4/9:** -``` -3. Parentheticals should be 1-3 words max - -BAD: - JOHN - (angrily, while walking to the door) - I'm leaving. - -GOOD: - JOHN - (angry) - I'm leaving. - -Action lines show emotion. Parentheticals show delivery. -``` - -**Tweet 5/9:** -``` -4. Scene transitions are dying - -CUT TO: (redundant - every cut is implied) -DISSOLVE TO: (use sparingly, for time jumps) -SMASH CUT: (for shock/comedy) - -Modern scripts: 95% no transitions. Let the editor decide. -``` - -**Tweet 6/9:** -``` -5. Character intro format - -First time we see JOHN (30s), write: - - JOHN (30s) - -Not: - John Smith, a rugged detective in his early 30s - who's seen too much - -Save the backstory for action lines. -``` - -**Tweet 7/9:** -``` -6. Page count ≠ screen time - -1 page = 1 minute is a guideline, not a rule. - -- Action-heavy scenes: 1 page = 30 seconds -- Dialogue scenes: 1 page = 90 seconds - -Track actual screen time, not page count. - -[Scripter: Shows estimated runtime] -``` - -**Tweet 8/9:** -``` -7. The "Monday Morning Read" test - -Print your script. Read it on Monday morning. - -If you're bored by page 10, rewrite page 1-9. - -Your script is only as good as its weakest scene. -``` - -**Tweet 9/9:** -``` -Formatting shouldn't be hard. - -The software should handle it. You should focus on story. - -Scripter auto-formats everything: -- Scene headings -- Character names -- Dialogue -- Parentheticals -- Transitions - -Write. Don't format. - -Try free: scripter.app -``` - ---- - -### Day 6 - May 2 (Saturday) - -**Beta Testimonial:** User story - -**Tweet 1/4:** -``` -"We wrote our pilot in 3 weeks using Scripter" - -Sarah & Mike are writing partners. They live in different cities. - -Here's how they did it: -``` - -**Tweet 2/4:** -``` -The Problem: - -Sarah: "We were emailing FDX files back and forth" -Mike: "Lost 2 weeks of work when my laptop died" -Sarah: "Collaboration was a nightmare" -``` - -**Tweet 3/4:** -``` -The Solution: - -- Real-time collaboration (both edit together) -- Cloud sync (never lose work) -- Version history (undo anything) -- Video chat built-in - -Mike: "It's like we're in the same room" -``` - -**Tweet 4/4:** -``` -The Result: - -- 3 weeks: 90-page pilot -- Sent to 5 producers -- 2 requested meetings -- 1 option deal in talks - -"We couldn't have done it without Scripter" - -Try it free: scripter.app -``` - ---- - -### Day 7 - May 3 (Sunday) - -**Reddit Cross-Post:** Link to r/Screenwriting post - -**Tweet:** -``` -Just posted on r/Screenwriting: "Building a WriterDuet alternative - AMA" - -Answering questions about: -- Screenwriting software -- Building in public -- CRDT and real-time sync -- Taking on Final Draft - -Check it out: [Reddit link] - -Ask me anything! 👇 -``` - ---- - -## Engagement Strategy - -### Daily Actions (30 min/day) - -1. **Morning (15 min):** - - Post thread/demo - - Reply to first 10 comments - - Retweet beta tester mentions - -2. **Afternoon (10 min):** - - Reply to remaining comments - - Engage with screenwriting Twitter - - Quote-retweet relevant content - -3. **Evening (5 min):** - - Check analytics - - Respond to DMs - - Schedule tomorrow's content - -### Target Accounts to Engage - -**Influencers:** -- @JohnFinn (YouTube) -- @NoFilmSchool -- @ScriptLab -- @ScreenCraft -- @GoIntoTheStory - -**Beta Advocates:** -- [List from /marketing/beta-advocate-contact-list.md] - -**Competitors:** -- @WriterDuet (monitor for feature gaps) -- @FinalDraft (monitor for complaints) - ---- - -## Hashtag Strategy - -**Primary:** -- #Screenwriting -- #Writing -- #IndieFilm -- #FilmTwitter - -**Secondary:** -- #ProductHunt -- #BuildInPublic -- #IndieDev -- #SaaS - -**Launch Day:** -- #ProductHunt -- #Screenwriting -- #NewProduct - ---- - -## Success Metrics - -| Metric | Target | Current | -|--------|--------|---------| -| Thread impressions | 10K+ per thread | TBD | -| Engagement rate | 3%+ | TBD | -| Click-through rate | 1%+ | TBD | -| Waitlist signups | 1,500 | TBD | -| Followers gained | 500+ | TBD | - ---- - -## Notes - -**Best Times to Post:** -- Weekdays: 9 AM - 12 PM PT -- Weekends: 10 AM - 2 PM PT -- Avoid: Monday 8 AM, Friday 5 PM - -**Thread Best Practices:** -- Hook in first tweet (controversial stat, bold claim) -- 8-12 tweets per thread (sweet spot) -- Include visuals when possible -- End with CTA (link + follow ask) - -**Visual Content:** -- Screenshots of Scripter UI -- Screen recordings (GIFs) -- Before/after comparisons -- Quote graphics from beta testers - ---- - -**Status:** ✅ Ready to post -**Next:** Start posting April 27, monitor engagement daily -**Blocker:** None - can post without scripter.app being live (use mockups) diff --git a/marketing/vip-hunter-list-draft.md b/marketing/vip-hunter-list-draft.md deleted file mode 100644 index 1c0a37966..000000000 --- a/marketing/vip-hunter-list-draft.md +++ /dev/null @@ -1,229 +0,0 @@ -# VIP Hunter List - Top 10 Targets - -**Created:** 2026-04-26 -**Owner:** CMO (draft) + Founder (final review) -**Goal:** 10 VIP supporters for first-hour PH upvotes -**Launch:** May 7, 2026 -**Outreach Date:** April 28 (personal email from founder) - ---- - -## VIP Tier Criteria - -**Who qualifies as VIP:** -- Beta testers who gave positive, detailed feedback -- Screenwriting influencers (1K+ followers) -- Founder friends (other startup founders, investors) -- Industry contacts (writers, directors, producers) - -**Why VIP matters:** -- First-hour upvotes determine PH ranking velocity -- Personal outreach from founder = 90%+ response rate -- They amplify to their networks (multiplier effect) - ---- - -## VIP List (Draft - Founder to Review) - -### Beta Testers (4 slots) - -| # | Name | Email | Company/Role | Feedback Given | Priority | -|---|------|-------|--------------|----------------|----------| -| 1 | [TBD] | [TBD] | Beta Tester | [Feedback summary] | High | -| 2 | [TBD] | [TBD] | Beta Tester | [Feedback summary] | High | -| 3 | [TBD] | [TBD] | Beta Tester | [Feedback summary] | Medium | -| 4 | [TBD] | [TBD] | Beta Tester | [Feedback summary] | Medium | - -**Notes:** -- Pull from waitlist seed data + beta tester list -- Prioritize those who gave detailed product feedback -- Include anyone who said "I'd definitely recommend this" - ---- - -### Screenwriting Influencers (3 slots) - -| # | Name | Handle/Email | Platform | Followers | Why Them | -|---|------|--------------|----------|-----------|----------| -| 1 | [TBD] | [@handle] | Twitter/X | [X]K | Screenwriting tips, engaged audience | -| 2 | [TBD] | [@handle] | YouTube | [X]K | Script reviews, tutorial content | -| 3 | [TBD] | [@handle] | Instagram | [X]K | Visual storytelling, writer community | - -**Potential Targets (Research Needed):** -- Screenwriting Twitter accounts (1K+ followers) -- YouTube script reviewers -- Reddit r/Screenwriting mods -- Screenwriting podcast hosts - -**Outreach Angle:** -- "New tool that makes screenwriting faster" -- "Real-time collaboration like Google Docs" -- "Free tier for your followers" -- Exclusive early access / Pro account offer - ---- - -### Founder Network (3 slots) - -| # | Name | Email | Company/Relationship | Why Them | -|---|------|-------|---------------------|----------| -| 1 | [TBD] | [TBD] | [Company] - [Relationship] | Fellow founder, supportive | -| 2 | [TBD] | [TBD] | [Company] - [Relationship] | Investor/advisor connection | -| 3 | [TBD] | [TBD] | [Company] - [Relationship] | Industry contact | - -**Sources:** -- Founder's LinkedIn connections -- YC/accelerator network (if applicable) -- Other startup founders in network -- Previous coworkers in tech - ---- - -## Outreach Strategy - -### Email Template (Personal from Founder) - -**Subject:** Quick favor? Launching on Product Hunt May 7 🚀 - -**Body:** -``` -Hey [Name], - -I'm launching Scripter on Product Hunt next Thursday (May 7) and could use your support! - -It takes 10 seconds: -1. Go to [PH link] at 12:01 AM PT Thursday -2. Click the upvote button -3. Optionally leave a comment or share - -Product Hunt is huge for early visibility. Your upvote in the first hour especially matters. - -Can I count on you? - -Thanks! -[Founder Name] - -P.S. Happy to return the favor on your next launch! -``` - -### Personalization Tips - -**For Beta Testers:** -- Reference their specific feedback -- "You said [X] about the collaboration feature..." -- "Your feedback helped us improve [Y]..." - -**For Influencers:** -- Reference their content -- "Love your [video/thread] about [topic]..." -- "Thought your audience would find this useful..." - -**For Founder Friends:** -- Personal connection reminder -- "We met at [event]..." -- "Would love your support on this launch..." - ---- - -## Tracking & Follow-Up - -### Response Tracking - -| Name | Contacted | Response | Committed? | Upvoted? | Notes | -|------|-----------|----------|------------|----------|-------| -| [Name] | April 28 | [Y/N/Pending] | [Y/N] | [Y/N] | [Notes] | - -### Follow-Up Schedule - -| Date | Action | Target | -|------|--------|--------| -| April 28 | Initial outreach | All 10 VIP | -| April 30 | Gentle reminder | Non-responders | -| May 5 | "2 days left" | All 10 (reconfirm) | -| May 6 | "Tomorrow!" | All 10 | -| May 7 12:05 AM | "We're live!" + direct link | All 10 | - ---- - -## Success Metrics - -| Metric | Target | Actual | -|--------|--------|--------| -| VIP outreach sent | 10 | | -| Response rate | 90%+ (9/10) | | -| Commitment rate | 80%+ (8/10) | | -| First-hour upvotes | 10/10 | | -| Amplification (shares) | 5+ | | - ---- - -## Incentives for VIPs - -**What we offer:** -- Free Pro account (lifetime or 1 year) -- Early access to new features -- Public thank you in launch post -- Reciprocal support on their launches -- Potential case study / testimonial feature - -**For Influencers Specifically:** -- Exclusive interview/demo opportunity -- Affiliate code for their audience (revenue share) -- Co-marketing opportunities -- Early access to AI features - ---- - -## Next Actions - -### CMO (Before April 28) - -1. ✅ Draft VIP list framework (this document) -2. ⏳ Founder provides 10 names (April 27 deadline) -3. ⏳ Research influencer handles/emails -4. ⏳ Load VIP emails into Mailchimp -5. ⏳ Personalize email templates per VIP -6. ⏳ Schedule April 28 send (9:00 AM PT) - -### Founder (By April 27) - -1. ⏳ Review this VIP list framework -2. ⏳ Fill in 10 names with emails -3. ⏳ Note any personal connections/context -4. ⏳ Approve email template -5. ⏳ Send personal VIP emails (April 28) - ---- - -## Research Needed - -**Influencer Research (CMO):** -- Search Twitter: "screenwriting tips" (1K+ followers) -- Search YouTube: "script review" (5K+ subscribers) -- Check r/Screenwriting mods (Reddit) -- Search podcasts: "screenwriting podcast" - -**Beta Tester Research (CTO/Founder):** -- Export beta tester list from database -- Include engagement metrics (who used it most?) -- Note who gave detailed feedback -- Prioritize enthusiastic users - ---- - -## Privacy Notes - -- Keep VIP list confidential (not public) -- Don't share emails outside CMO/founder -- Use BCC if sending group emails (not recommended for VIP) -- Respect unsubscribe requests immediately - ---- - -**Related Docs:** -- `/marketing/product-hunt-supporter-outreach.md` - Full outreach strategy -- `/marketing/product-hunt-supporter-tracker-live.md` - Main tracker -- `/marketing/mailchimp-setup-guide.md` - Email platform setup - -**Status:** Draft ready for founder review -**Deadline:** April 27 (for April 28 outreach) diff --git a/marketing/waitlist-export-template.csv b/marketing/waitlist-export-template.csv deleted file mode 100644 index 8457c7ee8..000000000 --- a/marketing/waitlist-export-template.csv +++ /dev/null @@ -1,4 +0,0 @@ -email,created_at,referrals_count,referral_code -demo1@example.com,2026-04-01T10:00:00Z,0,ABC123 -demo2@example.com,2026-04-02T11:00:00Z,2,DEF456 -demo3@example.com,2026-04-03T12:00:00Z,0,GHI789 diff --git a/marketing/website/structure.md b/marketing/website/structure.md deleted file mode 100644 index e8631ba90..000000000 --- a/marketing/website/structure.md +++ /dev/null @@ -1,290 +0,0 @@ -# Scripter Marketing Website — Content and Structure - -**Version:** 1.0 -**Date:** April 22, 2026 -**Author:** CMO - ---- - -## Site Architecture - -``` -/ (Homepage) -/features -/pricing -/blog/ -/blog/[slug] -/about -/faq -/terms -/privacy -/signup -/login -``` - ---- - -## Homepage - -### Hero Section -**Headline:** Write screenplays faster, collaborate better, ship anywhere. -**Subheadline:** The modern screenwriting platform built for how you actually work. Real-time collaboration, AI-powered writing, and industry-standard formatting — all in one place. -**Primary CTA:** Start Writing Free (no credit card) -**Secondary CTA:** See Features -**Visual:** Product screenshot showing the screenplay editor with collaboration indicators - -### Social Proof Bar -- "Trusted by screenwriters at [studios/festivals]" (post-launch) -- Product Hunt badge (post-launch) -- Star rating placeholder - -### Features Overview (3-column grid) -1. **Industry-Standard Formatting** — Automatic screenplay formatting. Scene headings, action, dialogue, parentheticals — all formatted to spec. -2. **Real-Time Collaboration** — Write together with your team. See changes live, leave comments, chat with video. -3. **AI Writing Assistant** — Get help with dialogue, scene descriptions, character analysis, and more. - -### Comparison Section -**Headline:** Why Scripter over [competitor]? - -**vs Final Draft:** -- $7.99/mo vs $199 one-time (with no updates) -- Real-time collaboration vs desktop-only -- Works on any device vs macOS/Windows only -- Cloud backup vs manual saves - -**vs WriterDuet:** -- Unlimited projects on free tier vs 3 projects -- Faster native desktop app (Tauri vs Electron) -- Built-in AI writing assistant -- 33% lower pricing - -### Testimonial Section (post-launch) -Placeholder for 3 user testimonials with photos and credits. - -### CTA Section -**Headline:** Ready to write your next script? -**Subheadline:** Join thousands of screenwriters who've made the switch. Free to start, no credit card required. -**CTA:** Start Writing Free - ---- - -## Features Page - -### Structure -Organized by category with expandable sections: - -### Writing Tools -- **Screenplay Editor** — Full-featured editor with industry-standard formatting -- **Auto-Format** — Intelligent formatting that understands screenplay structure -- **Templates** — Feature film, TV pilot, short film, sitcom, podcast, treatment -- **Typewriter Mode** — Keep your current line centered as you type -- **Dictation** — Speak your script, we format it - -### Collaboration -- **Real-Time Editing** — Multiple writers, one document, zero conflicts -- **Comments & Mentions** — Leave feedback inline, @mention your team -- **Video Chat** — Built-in video calls for writing sessions -- **Revision Tracking** — Color-coded changes with accept/reject workflow -- **Version History** — Never lose a draft. Roll back to any point in time - -### Organization -- **Project Management** — Cards, sequencing, outlining tools -- **Character Database** — Track characters, relationships, arcs -- **Mind Maps** — Visual story structure planning -- **Goal Setting** — Track your writing progress - -### Export & Integration -- **Export Formats** — PDF, Final Draft XML, Fountain, Screenplay Pro -- **Open API** — Integrate with StudioBinder, IMDb, and more -- **Cloud Backup** — Automatic saves to Google Drive, Dropbox - -### AI Features (Premium) -- **Smart Continuation** — AI suggests next lines and scenes -- **Character Analysis** — Get insights on character consistency and development -- **Scene Enhancement** — Improve descriptions, tighten dialogue -- **Auto-Translate** — Translate scripts to 30+ languages -- **ReadAloud** — TTS narration with distinct character voices - ---- - -## Pricing Page - -### Headline -Simple pricing for every screenwriter. - -### Subheadline -Start free. Upgrade when you need more. No hidden fees, no surprises. - -### Free Plan — $0/mo -**For:** Screenwriters exploring the platform -- Unlimited projects -- Industry-standard formatting -- Auto cloud saving -- Mobile editing -- Comments & mentions -- Basic export (PDF, Fountain) -- Google Drive / Dropbox backup - -**CTA:** Get Started Free - -### Pro Plan — $7.99/mo ($5.99/yr annual) -**For:** Professional screenwriters -- Everything in Free, plus: -- Real-time collaboration -- Desktop app (macOS, Windows, Linux) -- Offline writing -- Video chat -- Revision tracking -- Custom themes and margins -- Document statistics -- Location/scene filters -- Custom title pages -- PDF security and watermarks - -**CTA:** Start Pro Trial (14 days) - -### Premium Plan — $10.99/mo ($7.99/yr annual) -**For:** Teams and power users -- Everything in Pro, plus: -- Infinite document history -- AI writing assistant -- Auto-translate (30+ languages) -- ReadAloud narration -- Multi-column tools -- Priority support -- API access - -**CTA:** Start Premium Trial (14 days) - -### Comparison Table -Full feature comparison matrix across all three plans. - -### FAQ Accordion -- "Can I switch plans anytime?" — Yes, upgrade or downgrade at any time. -- "Is there a team plan?" — Contact us for custom team pricing. -- "What happens to my scripts if I cancel?" — Your scripts are always yours. Download them in any format. -- "Do you offer education discounts?" — Yes, 50% off for verified students and educators. - ---- - -## Blog - -### Structure -- Category pages: Tips, Industry, Product, Community -- Individual post pages with related posts sidebar -- Newsletter signup in sidebar and footer - -### Content Pillars -1. **Screenwriting Education** — How-to guides, formatting tips, structure advice -2. **Industry Insights** — Film news, festival coverage, market trends -3. **Product Updates** — Feature announcements, tips, tutorials -4. **Community** — Writer interviews, success stories, script spotlights - -### SEO Target Keywords -- "Final Draft alternative" -- "online screenplay writer" -- "free screenwriting software" -- "collaborative screenwriting tool" -- "screenplay format template" -- "how to write a screenplay" - ---- - -## About Page - -### Headline -Built by screenwriters, for screenwriters. - -### Story -[Placeholder for team story and mission] - -### Mission -Make professional screenwriting tools accessible to every storyteller. - -### Values -- **Accessibility** — Great tools shouldn't cost a fortune -- **Collaboration** — Screenwriting is a team sport -- **Innovation** — We're building the future of screenwriting -- **Community** — We're screenwriters too - ---- - -## FAQ Page - -### Structure -Categorized accordion: - -**Getting Started** -- How do I create my first script? -- Do I need to install anything? -- Can I import scripts from Final Draft or WriterDuet? - -**Features** -- What export formats are supported? -- How does real-time collaboration work? -- Can I work offline? - -**Pricing** -- What's included in the free plan? -- Can I try Pro or Premium before paying? -- Do you offer refunds? - -**Technical** -- What browsers are supported? -- How is my data stored and secured? -- Can I export my data if I leave? - ---- - -## Technical Requirements - -### Performance -- Lighthouse score: 90+ on all metrics -- First Contentful Paint: <1.5s -- Time to Interactive: <3.5s -- Core Web Vitals: All green - -### SEO -- Semantic HTML5 structure -- Meta tags for each page -- Open Graph and Twitter Card images -- Structured data (Schema.org) -- XML sitemap -- robots.txt -- Canonical URLs - -### Analytics -- Google Analytics 4 -- Heatmap tool (Hotjar or similar) -- Conversion tracking (signup, trial start, upgrade) -- A/B testing framework - -### Accessibility -- WCAG 2.1 AA compliance -- Keyboard navigation -- Screen reader support -- High contrast mode - ---- - -## Conversion Optimization - -### Primary Conversion Paths -1. Homepage → Signup (free) -2. Pricing → Signup (free or trial) -3. Blog → Signup (contextual CTAs) -4. Features → Pricing → Signup - -### CTA Placement -- Hero section (above fold) -- After features overview -- After comparison section -- Sticky header button -- Footer -- Exit intent popup (after 30s or scroll to bottom) - -### Trust Signals -- "No credit card required" near free signup -- Security badges (SSL, data encryption) -- User counts (post-launch) -- Press logos (post-launch) diff --git a/public/manifest.json b/public/manifest.json deleted file mode 100644 index b51dd49c5..000000000 --- a/public/manifest.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "Scripter — Write Faster", - "short_name": "Scripter", - "description": "Professional screenplay editor with real-time collaboration", - "start_url": "/app/dashboard", - "display": "standalone", - "background_color": "#0a0a0a", - "theme_color": "#0a0a0a", - "orientation": "any", - "icons": [ - { - "src": "/src-tauri/128x128.png", - "sizes": "128x128", - "type": "image/png", - "purpose": "any maskable" - }, - { - "src": "/src-tauri/128x128.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "any maskable" - }, - { - "src": "/src-tauri/128x128.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "any maskable" - } - ], - "categories": ["productivity", "writer"], - "screenshots": [] -} diff --git a/public/sw.js b/public/sw.js deleted file mode 100644 index 5c1fe6bd2..000000000 --- a/public/sw.js +++ /dev/null @@ -1,65 +0,0 @@ -const CACHE_NAME = 'scripter-v1'; -const API_CACHE = 'scripter-api-v1'; -const STATIC_ASSETS = [ - '/', - '/index.html', - '/manifest.json', - '/src/App.tsx', - '/src/index.css', -]; - -self.addEventListener('install', (event) => { - event.waitUntil( - caches.open(CACHE_NAME).then((cache) => cache.addAll(STATIC_ASSETS)) - ); - self.skipWaiting(); -}); - -self.addEventListener('activate', (event) => { - event.waitUntil( - caches.keys().then((keys) => - Promise.all( - keys.filter((key) => key !== CACHE_NAME && key !== API_CACHE).map((key) => caches.delete(key)) - ) - ) - ); - self.clients.claim(); -}); - -self.addEventListener('fetch', (event) => { - const { request } = event; - const url = new URL(request.url); - - if (url.pathname.startsWith('/trpc/')) { - event.respondWith( - fetch(request) - .then((response) => { - const clonedResponse = response.clone(); - caches.open(API_CACHE).then((cache) => cache.put(request, clonedResponse)); - return response; - }) - .catch(() => caches.match(request)) - ); - return; - } - - event.respondWith( - caches.match(request).then((cached) => { - const fetchPromise = fetch(request).then((response) => { - if (response.status === 200) { - const clonedResponse = response.clone(); - caches.open(CACHE_NAME).then((cache) => cache.put(request, clonedResponse)); - } - return response; - }); - - return cached || fetchPromise; - }) - ); -}); - -self.addEventListener('message', (event) => { - if (event.data === 'skipWaiting') { - self.skipWaiting(); - } -}); diff --git a/server/trpc/analytics-router.ts b/server/trpc/analytics-router.ts deleted file mode 100644 index cdf15b02e..000000000 --- a/server/trpc/analytics-router.ts +++ /dev/null @@ -1,496 +0,0 @@ -import { publicProcedure, protectedProcedure } from './router'; -import { z } from 'zod'; -import { eq, and, desc } from 'drizzle-orm'; -import { - kpiSnapshots, - alertRules, - alerts, - scheduledReports, - npsResponses, - cohorts, - cohortMembers, -} from '../../src/db/schema'; -import { - recordKPI, - getLatestKPI, - getKPIHistory, - getAllLatestKPIs, - checkKPIAgainstThreshold, - getKPIStatus, - KPI_THRESHOLDS, - type KPIKey, -} from '../../src/lib/analytics/kpi-service'; -import { - evaluateAlertRules, - formatAlertMessage, - acknowledgeAlert, - getUnsentAlerts, - type SlackConfig, -} from '../../src/lib/analytics/slack-alerts'; -import { - generateWeeklyReport, - generateMonthlyReport, - formatReportMarkdown, - formatReportSlackBlocks, - createScheduledReport, - getActiveScheduledReports, - runDueReports, -} from '../../src/lib/analytics/report-generator'; -import { - createCohort, - addCohortMember, - getCohortAnalysis, - listCohorts, - getCohortSize, - createMonthlyCohortTemplate, - createWeeklyCohortTemplate, - createFeatureCohortTemplate, -} from '../../src/lib/analytics/cohort-analysis'; -import { - submitNPSResponse, - calculateNPS, - getNPSResponses, - getNPSOverTime, - categorizeNPSScore, - generateNPSSurveyEmail, - generateNPSSurveyInAppPrompt, - type NPSScore, -} from '../../src/lib/analytics/nps-service'; - -const KPIKeySchema = z.enum([ - 'mau', - 'paying_users', - 'mrr', - 'conversion_rate', - 'churn_rate', - 'cac', - 'ltv', - 'nps', - 'viral_coefficient', -]); - -const AlertConditionSchema = z.enum(['above', 'below', 'equals', 'increasing', 'decreasing']); -const AlertSeveritySchema = z.enum(['low', 'medium', 'high', 'critical']); -const ReportTypeSchema = z.enum(['weekly_kpi', 'monthly_kpi', 'cohort_analysis', 'nps_summary', 'custom']); -const ScheduleSchema = z.enum(['weekly', 'monthly', 'daily']); -const ReportFormatSchema = z.enum(['slack', 'email', 'both']); - -export const analyticsRouter = { - // --- KPI Endpoints --- - - getThresholds: publicProcedure.query(() => { - return KPI_THRESHOLDS; - }), - - getLatestKPI: publicProcedure - .input(z.object({ kpiKey: KPIKeySchema })) - .query(async ({ input, ctx }) => { - return await getLatestKPI(ctx.db!, input.kpiKey as KPIKey); - }), - - getAllLatestKPIs: protectedProcedure.query(async ({ ctx }) => { - return await getAllLatestKPIs(ctx.db!); - }), - - getKPIHistory: publicProcedure - .input(z.object({ - kpiKey: KPIKeySchema, - periodStart: z.string().datetime().optional(), - periodEnd: z.string().datetime().optional(), - })) - .query(async ({ input, ctx }) => { - return await getKPIHistory( - ctx.db!, - input.kpiKey as KPIKey, - input.periodStart ? new Date(input.periodStart) : undefined, - input.periodEnd ? new Date(input.periodEnd) : undefined, - ); - }), - - recordKPI: protectedProcedure - .input(z.object({ - kpiKey: KPIKeySchema, - value: z.number(), - periodStart: z.string().datetime(), - periodEnd: z.string().datetime(), - metadata: z.record(z.string(), z.unknown()).optional(), - })) - .mutation(async ({ input, ctx }) => { - const snapshot = await recordKPI( - ctx.db!, - input.kpiKey as KPIKey, - input.value, - new Date(input.periodStart), - new Date(input.periodEnd), - input.metadata, - ); - - const results = await evaluateAlertRules(ctx.db!, input.kpiKey as KPIKey, input.value); - const triggeredAlerts = results.filter((r) => r.triggered); - - return { - snapshot, - triggeredAlerts, - }; - }), - - checkThreshold: publicProcedure - .input(z.object({ - kpiKey: KPIKeySchema, - value: z.number(), - })) - .query(async ({ input }) => { - const threshold = checkKPIAgainstThreshold(input.kpiKey as KPIKey, input.value); - const status = getKPIStatus(input.kpiKey as KPIKey, input.value); - return { ...threshold, status }; - }), - - // --- Alert Endpoints --- - - getAlertRules: protectedProcedure.query(async ({ ctx }) => { - return await ctx.db!.select().from(alertRules).orderBy(desc(alertRules.createdAt)); - }), - - createAlertRule: protectedProcedure - .input(z.object({ - name: z.string().min(1).max(200), - kpiKey: KPIKeySchema, - condition: AlertConditionSchema, - threshold: z.number(), - severity: AlertSeveritySchema, - channelId: z.string().max(100).optional(), - cooldownMinutes: z.number().int().min(1).max(1440).default(60), - })) - .mutation(async ({ input, ctx }) => { - const result = await ctx.db!.insert(alertRules).values({ - name: input.name, - kpiKey: input.kpiKey, - condition: input.condition, - threshold: input.threshold, - severity: input.severity, - channelId: input.channelId ?? null, - isActive: true, - cooldownMinutes: input.cooldownMinutes, - createdBy: ctx.userId, - }).returning(); - return result[0]; - }), - - updateAlertRule: protectedProcedure - .input(z.object({ - id: z.number().int().positive(), - name: z.string().min(1).max(200).optional(), - condition: AlertConditionSchema.optional(), - threshold: z.number().optional(), - severity: AlertSeveritySchema.optional(), - channelId: z.string().max(100).nullable().optional(), - isActive: z.boolean().optional(), - cooldownMinutes: z.number().int().min(1).max(1440).optional(), - })) - .mutation(async ({ input, ctx }) => { - const { id, ...updates } = input; - const existing = await ctx.db! - .select({ id: alertRules.id, createdBy: alertRules.createdBy }) - .from(alertRules) - .where(eq(alertRules.id, id)) - .limit(1); - const rule = existing[0]; - if (!rule) { - throw new (await import('./router')).TRPCError({ code: 'NOT_FOUND', message: 'Alert rule not found' }); - } - if (rule.createdBy !== ctx.userId) { - throw new (await import('./router')).TRPCError({ code: 'FORBIDDEN', message: 'Not the rule owner' }); - } - const result = await ctx.db! - .update(alertRules) - .set({ ...updates, updatedAt: new Date() }) - .where(eq(alertRules.id, id)) - .returning(); - return result[0]; - }), - - deleteAlertRule: protectedProcedure - .input(z.object({ id: z.number().int().positive() })) - .mutation(async ({ input, ctx }) => { - const existing = await ctx.db! - .select({ id: alertRules.id, createdBy: alertRules.createdBy }) - .from(alertRules) - .where(eq(alertRules.id, input.id)) - .limit(1); - const rule = existing[0]; - if (!rule) { - throw new (await import('./router')).TRPCError({ code: 'NOT_FOUND', message: 'Alert rule not found' }); - } - if (rule.createdBy !== ctx.userId) { - throw new (await import('./router')).TRPCError({ code: 'FORBIDDEN', message: 'Not the rule owner' }); - } - await ctx.db!.delete(alertRules).where(eq(alertRules.id, input.id)); - return { success: true }; - }), - - getAlerts: protectedProcedure - .input(z.object({ - severity: AlertSeveritySchema.optional(), - limit: z.number().int().min(1).max(200).default(50), - })) - .query(async ({ input, ctx }) => { - const conditions: import('drizzle-orm').SQL[] = []; - if (input.severity) { - conditions.push(eq(alerts.severity, input.severity)); - } - const whereClause = conditions.length > 0 ? and(...conditions) : undefined; - const query = ctx.db!.select().from(alerts).orderBy(desc(alerts.createdAt)).limit(input.limit); - return whereClause ? await query.where(whereClause) : await query; - }), - - acknowledgeAlert: protectedProcedure - .input(z.object({ - alertId: z.number().int().positive(), - })) - .mutation(async ({ input, ctx }) => { - const alert = await acknowledgeAlert(ctx.db!, input.alertId, ctx.userId!); - return { success: !!alert, alert }; - }), - - getUnsentAlerts: publicProcedure.query(async ({ ctx }) => { - return await getUnsentAlerts(ctx.db!); - }), - - // --- Report Endpoints --- - - generateWeeklyReport: publicProcedure.query(async ({ ctx }) => { - return await generateWeeklyReport(ctx.db!); - }), - - generateMonthlyReport: publicProcedure.query(async ({ ctx }) => { - return await generateMonthlyReport(ctx.db!); - }), - - formatReportMarkdown: publicProcedure - .input(z.object({ - periodStart: z.string().datetime(), - periodEnd: z.string().datetime(), - reportType: z.enum(['weekly', 'monthly']).default('weekly'), - })) - .query(async ({ input, ctx }) => { - const report = input.reportType === 'weekly' - ? await generateWeeklyReport(ctx.db!) - : await generateMonthlyReport(ctx.db!); - return await formatReportMarkdown(report); - }), - - formatReportSlackBlocks: publicProcedure - .input(z.object({ - reportType: z.enum(['weekly', 'monthly']).default('weekly'), - })) - .query(async ({ input, ctx }) => { - const report = input.reportType === 'weekly' - ? await generateWeeklyReport(ctx.db!) - : await generateMonthlyReport(ctx.db!); - return await formatReportSlackBlocks(report); - }), - - getScheduledReports: publicProcedure.query(async ({ ctx }) => { - return await getActiveScheduledReports(ctx.db!); - }), - - createScheduledReport: protectedProcedure - .input(z.object({ - name: z.string().min(1).max(200), - reportType: ReportTypeSchema, - schedule: ScheduleSchema, - recipients: z.string().regex(/^[^\s@]+@[^\s@]+\.[^\s@]+(,[^\s@]+@[^\s@]+\.[^\s@]+)*$/, 'Each recipient must be a valid email'), - format: ReportFormatSchema, - metadata: z.record(z.string(), z.unknown()).optional(), - })) - .mutation(async ({ input, ctx }) => { - const report = await createScheduledReport(ctx.db!, { - name: input.name, - reportType: input.reportType, - schedule: input.schedule, - recipients: input.recipients, - format: input.format, - isActive: true, - metadata: input.metadata ? JSON.stringify(input.metadata) : null, - createdBy: ctx.userId, - }); - return report; - }), - - updateScheduledReport: protectedProcedure - .input(z.object({ - id: z.number().int().positive(), - name: z.string().min(1).max(200).optional(), - reportType: ReportTypeSchema.optional(), - schedule: ScheduleSchema.optional(), - recipients: z.string().regex(/^[^\s@]+@[^\s@]+\.[^\s@]+(,[^\s@]+@[^\s@]+\.[^\s@]+)*$/, 'Each recipient must be a valid email').optional(), - format: ReportFormatSchema.optional(), - isActive: z.boolean().optional(), - })) - .mutation(async ({ input, ctx }) => { - const { id, ...updates } = input; - const existing = await ctx.db! - .select({ id: scheduledReports.id, createdBy: scheduledReports.createdBy }) - .from(scheduledReports) - .where(eq(scheduledReports.id, id)) - .limit(1); - const report = existing[0]; - if (!report) { - throw new (await import('./router')).TRPCError({ code: 'NOT_FOUND', message: 'Scheduled report not found' }); - } - if (report.createdBy !== ctx.userId) { - throw new (await import('./router')).TRPCError({ code: 'FORBIDDEN', message: 'Not the report owner' }); - } - const result = await ctx.db! - .update(scheduledReports) - .set({ ...updates, updatedAt: new Date() }) - .where(eq(scheduledReports.id, id)) - .returning(); - return result[0]; - }), - - // --- Cohort Endpoints --- - - getCohorts: publicProcedure - .input(z.object({ - periodStart: z.string().datetime().optional(), - periodEnd: z.string().datetime().optional(), - })) - .query(async ({ input, ctx }) => { - return await listCohorts( - ctx.db!, - input.periodStart ? new Date(input.periodStart) : undefined, - input.periodEnd ? new Date(input.periodEnd) : undefined, - ); - }), - - createCohort: protectedProcedure - .input(z.object({ - name: z.string().min(1).max(200), - description: z.string().max(1000).optional(), - periodStart: z.string().datetime(), - periodEnd: z.string().datetime().optional(), - filterCriteria: z.record(z.string(), z.unknown()), - })) - .mutation(async ({ input, ctx }) => { - const cohort = await createCohort(ctx.db!, { - name: input.name, - description: input.description || '', - periodStart: new Date(input.periodStart), - periodEnd: input.periodEnd ? new Date(input.periodEnd) : undefined, - filterCriteria: input.filterCriteria, - createdBy: ctx.userId, - }); - return cohort; - }), - - addCohortMember: protectedProcedure - .input(z.object({ - cohortId: z.number().int().positive(), - userId: z.number().int().positive(), - })) - .mutation(async ({ input, ctx }) => { - const existing = await ctx.db! - .select({ id: cohorts.id, createdBy: cohorts.createdBy }) - .from(cohorts) - .where(eq(cohorts.id, input.cohortId)) - .limit(1); - const cohort = existing[0]; - if (!cohort) { - throw new (await import('./router')).TRPCError({ code: 'NOT_FOUND', message: 'Cohort not found' }); - } - if (cohort.createdBy !== ctx.userId) { - throw new (await import('./router')).TRPCError({ code: 'FORBIDDEN', message: 'Not the cohort owner' }); - } - await addCohortMember(ctx.db!, input.cohortId, input.userId); - const size = await getCohortSize(ctx.db!, input.cohortId); - return { success: true, cohortSize: size }; - }), - - getCohortAnalysis: publicProcedure - .input(z.object({ cohortId: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - return await getCohortAnalysis(ctx.db!, input.cohortId); - }), - - getCohortTemplates: publicProcedure - .input(z.object({ - type: z.enum(['monthly', 'weekly', 'feature']), - featureName: z.string().max(100).optional(), - })) - .query(async ({ input }) => { - switch (input.type) { - case 'monthly': - return createMonthlyCohortTemplate(); - case 'weekly': - return createWeeklyCohortTemplate(); - case 'feature': - return createFeatureCohortTemplate(input.featureName || 'unknown'); - default: - return createMonthlyCohortTemplate(); - } - }), - - // --- NPS Endpoints --- - - submitNPSResponse: protectedProcedure - .input(z.object({ - score: z.number().int().min(0).max(10), - userId: z.number().int().positive().optional(), - feedback: z.string().max(2000).optional(), - surveyId: z.string().max(100).optional(), - respondentEmail: z.string().email().max(200).optional(), - })) - .mutation(async ({ input, ctx }) => { - const response = await submitNPSResponse(ctx.db!, { - score: input.score as NPSScore, - userId: input.userId, - feedback: input.feedback, - surveyId: input.surveyId, - respondentEmail: input.respondentEmail, - }); - return response; - }), - - calculateNPS: publicProcedure - .input(z.object({ - periodStart: z.string().datetime().optional(), - periodEnd: z.string().datetime().optional(), - })) - .query(async ({ input, ctx }) => { - return await calculateNPS( - ctx.db!, - input.periodStart ? new Date(input.periodStart) : undefined, - input.periodEnd ? new Date(input.periodEnd) : undefined, - ); - }), - - getNPSResponses: protectedProcedure - .input(z.object({ - category: z.enum(['detractor', 'passive', 'promoter']).optional(), - periodStart: z.string().datetime().optional(), - periodEnd: z.string().datetime().optional(), - limit: z.number().int().min(1).max(200).default(50), - })) - .query(async ({ input, ctx }) => { - return await getNPSResponses( - ctx.db!, - input.category, - input.periodStart ? new Date(input.periodStart) : undefined, - input.periodEnd ? new Date(input.periodEnd) : undefined, - input.limit, - ); - }), - - getNPSOverTime: publicProcedure - .input(z.object({ - granularity: z.enum(['weekly', 'monthly']).default('weekly'), - })) - .query(async ({ input, ctx }) => { - return await getNPSOverTime(ctx.db!, input.granularity); - }), - - getNPSSurveyPrompt: publicProcedure.query(() => { - return generateNPSSurveyInAppPrompt(); - }), -}; diff --git a/server/trpc/beta-router.ts b/server/trpc/beta-router.ts deleted file mode 100644 index 3ed4b521c..000000000 --- a/server/trpc/beta-router.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { publicProcedure } from './router'; -import { z } from 'zod'; -import { eq } from 'drizzle-orm'; -import { waitlistSignups, waitlistEvents } from '../../src/db/schema'; - -export const betaRouter = { - signup: publicProcedure - .input(z.object({ - name: z.string().min(1).max(200), - email: z.string().email(), - primaryRole: z.string().max(100), - scriptsWritten: z.string().max(50).optional(), - currentSoftware: z.string().max(100).optional(), - softwareLove: z.string().max(2000).optional(), - softwareFrustrate: z.string().max(2000).optional(), - hoursPerWeek: z.string().max(50).optional(), - willingFeedback: z.string().max(100).optional(), - joinDiscord: z.string().max(100).optional(), - discordUsername: z.string().max(100).optional(), - excitedFeatures: z.array(z.string()).optional(), - heardAbout: z.string().max(100).optional(), - additionalInfo: z.string().max(2000).optional(), - utmSource: z.string().max(100).optional(), - utmMedium: z.string().max(100).optional(), - utmCampaign: z.string().max(100).optional(), - utmContent: z.string().max(100).optional(), - utmTerm: z.string().max(100).optional(), - })) - .mutation(async ({ input, ctx }) => { - const existingRows = await ctx.db!.select() - .from(waitlistSignups) - .where(eq(waitlistSignups.email, input.email.toLowerCase())); - const existing = existingRows[0]; - - if (existing) { - return { success: true, alreadyApplied: true, id: existing.id }; - } - - const betaData = { - primaryRole: input.primaryRole, - scriptsWritten: input.scriptsWritten, - currentSoftware: input.currentSoftware, - softwareLove: input.softwareLove, - softwareFrustrate: input.softwareFrustrate, - hoursPerWeek: input.hoursPerWeek, - willingFeedback: input.willingFeedback, - joinDiscord: input.joinDiscord, - discordUsername: input.discordUsername, - excitedFeatures: input.excitedFeatures?.join(', ') || '', - heardAbout: input.heardAbout, - additionalInfo: input.additionalInfo, - utmSource: input.utmSource, - utmMedium: input.utmMedium, - utmCampaign: input.utmCampaign, - utmContent: input.utmContent, - utmTerm: input.utmTerm, - }; - - const metadata: Record = { - isBetaApplication: true, - ...betaData, - }; - - const result = await ctx.db!.insert(waitlistSignups) - .values({ - email: input.email.toLowerCase(), - name: input.name, - source: 'beta', - status: 'beta-pending', - metadata: JSON.stringify(metadata), - }) - .returning(); - - const signup = result[0]; - - await ctx.db!.insert(waitlistEvents) - .values({ - signupId: signup!.id, - eventType: 'beta-application', - eventData: JSON.stringify(betaData), - }); - - return { success: true, alreadyApplied: false, id: signup!.id }; - }), -}; diff --git a/server/trpc/character-router.test.ts b/server/trpc/character-router.test.ts deleted file mode 100644 index f3d5a82fa..000000000 --- a/server/trpc/character-router.test.ts +++ /dev/null @@ -1,237 +0,0 @@ -import { describe, it, expect, beforeEach } from 'vitest'; -import { appRouter } from './index'; -import { getTestDb, resetTestDb } from './test-setup'; -import type { TRPCContext } from './types'; - -describe('tRPC API Layer - Character System', () => { - let ctx: TRPCContext; - let caller: ReturnType; - let projectId: number; - - beforeEach(async () => { - await resetTestDb(); - const db = await getTestDb(); - ctx = { clerkUserId: 'user_test', db }; - caller = appRouter.createCaller(ctx); - - const project = await caller.project.createProject({ - name: 'Character System Test Project', - }); - projectId = project.id; - }); - - describe('createCharacter', () => { - it('should create a character with all profile fields', async () => { - const character = await caller.project.createCharacter({ - name: 'John Doe', - bio: 'A brave hero', - role: 'protagonist', - arc: 'Grows from coward to leader', - arcType: 'positive', - age: 30, - gender: 'male', - voice: 'Deep, commanding', - traits: 'Brave, loyal, stubborn', - motivation: 'Protect his family', - conflict: 'Internal fear of failure', - secret: 'Afraid of heights', - projectId, - }); - - expect(character).toMatchObject({ - name: 'John Doe', - bio: 'A brave hero', - role: 'protagonist', - arcType: 'positive', - age: 30, - projectId, - }); - expect(character.slug).toBe('john-doe'); - }); - - it('should default role to supporting when not provided', async () => { - const character = await caller.project.createCharacter({ - name: 'Jane Smith', - projectId, - }); - - expect(character.role).toBe('supporting'); - }); - }); - - describe('updateCharacter', () => { - it('should update character profile fields', async () => { - const created = await caller.project.createCharacter({ - name: 'Original', - projectId, - }); - - const updated = await caller.project.updateCharacter({ - id: created.id, - name: 'Updated Name', - bio: 'New bio', - role: 'antagonist', - }); - - expect(updated.name).toBe('Updated Name'); - expect(updated.slug).toBe('updated-name'); - expect(updated.bio).toBe('New bio'); - expect(updated.role).toBe('antagonist'); - }); - }); - - describe('searchCharacters', () => { - it('should filter characters by query', async () => { - await caller.project.createCharacter({ - name: 'Alice', - bio: 'The hero', - projectId, - }); - await caller.project.createCharacter({ - name: 'Bob', - bio: 'The villain', - projectId, - }); - - const results = await caller.project.searchCharacters({ - projectId, - query: 'hero', - }); - - expect(results.length).toBe(1); - expect(results[0].name).toBe('Alice'); - }); - - it('should filter characters by role', async () => { - await caller.project.createCharacter({ - name: 'Protag', - role: 'protagonist', - projectId, - }); - await caller.project.createCharacter({ - name: 'Antag', - role: 'antagonist', - projectId, - }); - - const results = await caller.project.searchCharacters({ - projectId, - role: 'protagonist', - }); - - expect(results.length).toBe(1); - expect(results[0].name).toBe('Protag'); - }); - }); - - describe('createRelationship', () => { - it('should create a relationship between two characters', async () => { - const charA = await caller.project.createCharacter({ - name: 'Character A', - projectId, - }); - const charB = await caller.project.createCharacter({ - name: 'Character B', - projectId, - }); - - const rel = await caller.project.createRelationship({ - characterIdA: charA.id, - characterIdB: charB.id, - relationshipType: 'friendship', - strength: 80, - isAntagonistic: false, - }); - - expect(rel.characterIdA).toBe(charA.id); - expect(rel.characterIdB).toBe(charB.id); - expect(rel.relationshipType).toBe('friendship'); - expect(rel.strength).toBe(80); - }); - - it('should prevent self-relationships', async () => { - const charA = await caller.project.createCharacter({ - name: 'Character A', - projectId, - }); - - await expect( - caller.project.createRelationship({ - characterIdA: charA.id, - characterIdB: charA.id, - relationshipType: 'friendship', - }) - ).rejects.toThrow('Cannot create a relationship with the same character'); - }); - - it('should prevent duplicate relationships', async () => { - const charA = await caller.project.createCharacter({ - name: 'Character A', - projectId, - }); - const charB = await caller.project.createCharacter({ - name: 'Character B', - projectId, - }); - - await caller.project.createRelationship({ - characterIdA: charA.id, - characterIdB: charB.id, - relationshipType: 'friendship', - }); - - await expect( - caller.project.createRelationship({ - characterIdA: charA.id, - characterIdB: charB.id, - relationshipType: 'rivalry', - }) - ).rejects.toThrow('Relationship already exists between these characters'); - }); - }); - - describe('deleteCharacter', () => { - it('should remove associated relationships when deleting a character', async () => { - const charA = await caller.project.createCharacter({ - name: 'Character A', - projectId, - }); - const charB = await caller.project.createCharacter({ - name: 'Character B', - projectId, - }); - - await caller.project.createRelationship({ - characterIdA: charA.id, - characterIdB: charB.id, - relationshipType: 'friendship', - }); - - await caller.project.deleteCharacter({ id: charA.id }); - - const rels = await caller.project.getRelationshipsForCharacter({ - characterId: charB.id, - }); - - expect(rels.length).toBe(0); - }); - }); - - describe('getCharacterStats', () => { - it('should return stats for a character', async () => { - const charA = await caller.project.createCharacter({ - name: 'TestChar', - projectId, - }); - - const stats = await caller.project.getCharacterStats({ - characterId: charA.id, - }); - - expect(stats.characterId).toBe(charA.id); - expect(stats.sceneCount).toBe(0); - expect(stats.totalDialogueLines).toBe(0); - expect(stats.relationshipCount).toBe(0); - }); - }); -}); diff --git a/server/trpc/index.ts b/server/trpc/index.ts deleted file mode 100644 index 386f7d5fa..000000000 --- a/server/trpc/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { createHTTPServer, type CreateHTTPContextOptions } from '@trpc/server/adapters/standalone'; -import { verifyToken } from '@clerk/backend'; -import { projectRouter } from './project-router'; -import { revisionsRouter } from './revisions-router'; -import { scriptsRouter } from './scripts-router'; -import { waitlistRouter } from './waitlist-router'; -import { betaRouter } from './beta-router'; -import { mailRouter } from './mail-router'; -import { teamRouter } from './team-router'; -import { analyticsRouter } from './analytics-router'; -import type { TRPCContext } from './types'; -import type { TRPCError } from '@trpc/server'; -import { t } from './router'; - -// App router combining all routers -export const appRouter = t.router({ - project: projectRouter, - revisions: revisionsRouter, - scripts: scriptsRouter, - waitlist: waitlistRouter, - beta: betaRouter, - mail: mailRouter, - team: teamRouter, - analytics: analyticsRouter, -} as const); - -export type AppRouter = typeof appRouter; - -async function authenticateRequest(req: CreateHTTPContextOptions['req']): Promise { - const authHeader = req.headers['authorization']; - if (!authHeader) { - return undefined; - } - - const match = authHeader.match(/^Bearer\s+(.+)$/i); - if (!match || !match[1]) { - return undefined; - } - - const token = match[1]; - - try { - const verified = await verifyToken(token, { - secretKey: process.env.CLERK_SECRET_KEY, - }); - return verified.sub; - } catch { - return undefined; - } -} - -// Create tRPC HTTP server - db is loaded lazily to avoid requiring Turso env vars at import time -export function createTRPCServer(port: number = 8080) { - const server = createHTTPServer({ - router: appRouter, - createContext: async (opts: CreateHTTPContextOptions): Promise => { - const { db } = await import('../../src/db/config/migrations'); - const clerkUserId = await authenticateRequest(opts.req); - return { - clerkUserId, - db, - }; - }, - onError: ({ error, path }: { error: TRPCError; path: string | undefined }) => { - console.error(`tRPC error on ${path}: [internal error]`); - }, - }); - - server.listen(port, () => { - console.log(`tRPC server listening on port ${port}`); - }); - - return server; -} - -export default appRouter; diff --git a/server/trpc/mail-router.ts b/server/trpc/mail-router.ts deleted file mode 100644 index 01ffaa3ed..000000000 --- a/server/trpc/mail-router.ts +++ /dev/null @@ -1,155 +0,0 @@ -import { z } from 'zod'; -import { baseRouter, publicProcedure, protectedProcedure } from './router'; - -export const mailRouter = baseRouter({ - messages: publicProcedure - .input(z.object({ - folder: z.string().optional(), - })) - .query(async ({ input, ctx }) => { - // TODO: Implement actual ProtonMail API call - return [] as Array<{ - id: string; - subject: string; - sender: { email: string; name?: string }; - recipients: Array<{ email: string; name?: string }>; - body: string; - attachments?: Array<{ - id: string; - filename: string; - mimeType: string; - size: number; - downloadUrl: string; - }>; - timestamp: string; - read: boolean; - }>; - }), - - message: publicProcedure - .input(z.object({ - messageId: z.string(), - })) - .query(async ({ input, ctx }) => { - // TODO: Implement actual ProtonMail API call - return {} as { - id: string; - subject: string; - sender: { email: string; name?: string }; - recipients: Array<{ email: string; name?: string }>; - body: string; - attachments?: Array<{ - id: string; - filename: string; - mimeType: string; - size: number; - downloadUrl: string; - }>; - timestamp: string; - read: boolean; - }; - }), - - send: protectedProcedure - .input(z.object({ - to: z.array(z.string()), - subject: z.string(), - body: z.string(), - attachments: z.array(z.object({ - id: z.string(), - filename: z.string(), - mimeType: z.string(), - size: z.number(), - downloadUrl: z.string(), - })).optional(), - })) - .mutation(async ({ input, ctx }) => { - // TODO: Implement actual ProtonMail API call - return {} as { - id: string; - subject: string; - sender: { email: string; name?: string }; - recipients: Array<{ email: string; name?: string }>; - body: string; - attachments?: Array<{ - id: string; - filename: string; - mimeType: string; - size: number; - downloadUrl: string; - }>; - timestamp: string; - read: boolean; - }; - }), - - contact: publicProcedure - .input(z.object({ - email: z.string().email(), - })) - .query(async ({ input, ctx }) => { - // TODO: Implement actual ProtonMail API call - return null as { - id: string; - email: string; - name: string; - phone?: string; - organization?: string; - } | null; - }), - - contacts: publicProcedure - .input(z.object({})) - .query(async ({ ctx }) => { - // TODO: Implement actual ProtonMail API call - return [] as Array<{ - id: string; - email: string; - name: string; - phone?: string; - organization?: string; - }>; - }), - - addContact: protectedProcedure - .input(z.object({ - email: z.string().email(), - name: z.string(), - phone: z.string().optional(), - organization: z.string().optional(), - })) - .mutation(async ({ input, ctx }) => { - // TODO: Implement actual ProtonMail API call - return {} as { - id: string; - email: string; - name: string; - phone?: string; - organization?: string; - }; - }), - - attachment: publicProcedure - .input(z.object({ - attachmentId: z.string(), - })) - .query(async ({ input, ctx }) => { - // TODO: Implement actual ProtonMail API call - return {} as { - id: string; - filename: string; - mimeType: string; - size: number; - downloadUrl: string; - }; - }), - - attachmentDownload: publicProcedure - .input(z.object({ - attachmentId: z.string(), - })) - .query(async ({ input, ctx }) => { - // TODO: Implement actual ProtonMail API call - return new Blob(); - }), -}); diff --git a/server/trpc/project-router.test.ts b/server/trpc/project-router.test.ts deleted file mode 100644 index 8d0aa2db2..000000000 --- a/server/trpc/project-router.test.ts +++ /dev/null @@ -1,302 +0,0 @@ -import { describe, it, expect, beforeEach } from 'vitest'; -import { appRouter } from './index'; -import { getTestDb, resetTestDb, globalSqlite } from './test-setup'; -import type { TRPCContext } from './types'; - -describe('tRPC API Layer', () => { - let ctx: TRPCContext; - let caller: ReturnType; - let projectId: number; - - beforeEach(async () => { - await resetTestDb(); - const db = await getTestDb(); - ctx = { clerkUserId: 'user_test', db }; - caller = appRouter.createCaller(ctx); - }); - - describe('Project CRUD', () => { - it('should create a project', async () => { - const project = await caller.project.createProject({ - name: 'Test Project', - description: 'A test project', - }); - - expect(project).toMatchObject({ - name: 'Test Project', - description: 'A test project', - ownerId: 1, - }); - expect(project.id).toBeDefined(); - expect(project.id).toBeGreaterThan(0); - expect(project.createdAt).toBeInstanceOf(Date); - expect(project.updatedAt).toBeInstanceOf(Date); - }); - - it('should list projects', async () => { - await caller.project.createProject({ name: 'Test Project' }); - - const projects = await caller.project.listProjects(); - - expect(Array.isArray(projects)).toBe(true); - expect(projects.length).toBeGreaterThan(0); - }); - - it('should get a specific project', async () => { - const created = await caller.project.createProject({ name: 'Get Test' }); - - const project = await caller.project.getProject({ id: created.id }); - - expect(project.id).toBe(created.id); - expect(project.name).toBe('Get Test'); - }); - - it('should update a project', async () => { - const created = await caller.project.createProject({ name: 'Update Test' }); - - const updated = await caller.project.updateProject({ - id: created.id, - name: 'Updated Test', - description: 'Updated description', - }); - - expect(updated.name).toBe('Updated Test'); - expect(updated.description).toBe('Updated description'); - }); - - it('should delete a project', async () => { - const created = await caller.project.createProject({ name: 'Delete Test' }); - - const result = await caller.project.deleteProject({ id: created.id }); - - expect(result).toEqual({ success: true }); - }); - }); - - describe('Character CRUD', () => { - beforeEach(async () => { - const project = await caller.project.createProject({ - name: 'Character Test Project', - }); - projectId = project.id; - }); - - it('should create a character', async () => { - const character = await caller.project.createCharacter({ - name: 'John Doe', - description: 'Main character', - projectId, - }); - - expect(character).toMatchObject({ - name: 'John Doe', - description: 'Main character', - projectId, - }); - }); - - it('should list characters for a project', async () => { - await caller.project.createCharacter({ name: 'Char 1', projectId }); - - const characters = await caller.project.listCharacters({ projectId }); - - expect(characters.length).toBeGreaterThan(0); - }); - }); - - describe('Scene CRUD', () => { - beforeEach(async () => { - const project = await caller.project.createProject({ - name: 'Scene Test Project', - }); - projectId = project.id; - }); - - it('should create a scene', async () => { - const scene = await caller.project.createScene({ - title: 'INT. OFFICE - DAY', - content: 'John sits at his desk.', - projectId, - order: 1, - }); - - expect(scene).toMatchObject({ - title: 'INT. OFFICE - DAY', - content: 'John sits at his desk.', - projectId, - order: 1, - }); - }); - - it('should list scenes for a project', async () => { - await caller.project.createScene({ title: 'Scene 1', projectId, order: 1 }); - - const scenes = await caller.project.listScenes({ projectId }); - - expect(scenes.length).toBeGreaterThan(0); - }); - - it('should update scene order', async () => { - const scene = await caller.project.createScene({ - title: 'Reorder Scene', - projectId, - order: 1, - }); - - const updated = await caller.project.updateScene({ id: scene.id, order: 5 }); - - expect(updated.order).toBe(5); - }); - }); - - describe('Error Handling', () => { - it('should throw error when getting non-existent project', async () => { - await expect( - caller.project.getProject({ id: 99999 }) - ).rejects.toThrow('not found'); - }); - - it('should throw error when deleting non-existent project', async () => { - await expect( - caller.project.deleteProject({ id: 99999 }) - ).rejects.toThrow('not found'); - }); - }); - - describe('Project Sharing', () => { - let sharedProjectId: number; - - beforeEach(async () => { - const project = await caller.project.createProject({ - name: 'Shared Project', - }); - sharedProjectId = project.id; - - // Insert a second user - globalSqlite!.exec("INSERT INTO users (id, clerk_id, email, name) VALUES (2, 'user2_test', 'user2@test.com', 'User Two');"); - }); - - it('should share a project with another user', async () => { - const member = await caller.project.shareProject({ - projectId: sharedProjectId, - userId: 2, - role: 'editor', - }); - - expect(member).toMatchObject({ - projectId: sharedProjectId, - userId: 2, - role: 'editor', - }); - }); - - it('should list project members including owner', async () => { - await caller.project.shareProject({ - projectId: sharedProjectId, - userId: 2, - role: 'viewer', - }); - - const members = await caller.project.listMembers({ projectId: sharedProjectId }); - - expect(members.length).toBeGreaterThanOrEqual(2); - const owner = members.find((m: any) => m.userId === 1 && m.role === 'owner'); - const member = members.find((m: any) => m.userId === 2 && m.role === 'viewer'); - expect(owner).toBeDefined(); - expect(member).toBeDefined(); - }); - - it('should update a member role', async () => { - await caller.project.shareProject({ - projectId: sharedProjectId, - userId: 2, - role: 'viewer', - }); - - const updated = await caller.project.updateMemberRole({ - projectId: sharedProjectId, - userId: 2, - role: 'admin', - }); - - expect(updated.role).toBe('admin'); - }); - - it('should remove a member', async () => { - await caller.project.shareProject({ - projectId: sharedProjectId, - userId: 2, - role: 'editor', - }); - - const result = await caller.project.removeMember({ - projectId: sharedProjectId, - userId: 2, - }); - - expect(result).toEqual({ success: true }); - - const members = await caller.project.listMembers({ projectId: sharedProjectId }); - const removed = members.find((m: any) => m.userId === 2); - expect(removed).toBeUndefined(); - }); - - it('should throw error when sharing with yourself', async () => { - await expect( - caller.project.shareProject({ - projectId: sharedProjectId, - userId: 1, - role: 'editor', - }) - ).rejects.toThrow('yourself'); - }); - - it('should throw error when sharing duplicate user', async () => { - await caller.project.shareProject({ - projectId: sharedProjectId, - userId: 2, - role: 'editor', - }); - - await expect( - caller.project.shareProject({ - projectId: sharedProjectId, - userId: 2, - role: 'viewer', - }) - ).rejects.toThrow('already a member'); - }); - - it('should allow shared members to access project', async () => { - await caller.project.shareProject({ - projectId: sharedProjectId, - userId: 2, - role: 'editor', - }); - - // Create caller for user 2 - const db = await getTestDb(); - const ctx2: TRPCContext = { clerkUserId: 'user2_test', db }; - const caller2 = appRouter.createCaller(ctx2); - - const project = await caller2.project.getProject({ id: sharedProjectId }); - expect(project.id).toBe(sharedProjectId); - }); - - it('should include shared projects in listProjects for member', async () => { - await caller.project.shareProject({ - projectId: sharedProjectId, - userId: 2, - role: 'viewer', - }); - - const db = await getTestDb(); - const ctx2: TRPCContext = { clerkUserId: 'user2_test', db }; - const caller2 = appRouter.createCaller(ctx2); - - const projects = await caller2.project.listProjects(); - const found = projects.find((p: any) => p.id === sharedProjectId); - expect(found).toBeDefined(); - }); - }); -}); diff --git a/server/trpc/project-router.ts b/server/trpc/project-router.ts deleted file mode 100644 index ad7bb5d4f..000000000 --- a/server/trpc/project-router.ts +++ /dev/null @@ -1,831 +0,0 @@ -import { publicProcedure, protectedProcedure, projectProcedure, TRPCError } from './router'; -import { z } from 'zod'; -import { eq, and, or, like, sql, inArray, asc } from 'drizzle-orm'; -import type { DrizzleDB } from '../../src/db/config/migrations'; -import { - projects, - characters, - characterRelationships, - scenes, - sceneCharacters, - projectMembers, -} from '../../src/db/schema'; - -function slugify(name: string): string { - return name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/(^-|-$)/g, ''); -} - -async function getCharacterStatsImpl( - db: DrizzleDB, - characterId: number -) { - const characterRow = await db.select() - .from(characters) - .where(eq(characters.id, characterId)) - .then(rows => rows[0]); - - if (!characterRow) return null; - - const sceneCharRows = await db.select() - .from(sceneCharacters) - .where(eq(sceneCharacters.characterId, characterId)); - - const relRows = await db.select() - .from(characterRelationships) - .where( - or( - eq(characterRelationships.characterIdA, characterId), - eq(characterRelationships.characterIdB, characterId) - ) - ); - - const sceneCount = sceneCharRows.length; - const totalDialogueLines = sceneCharRows.reduce( - (sum, sc) => sum + (sc.dialogueLines || 0), 0 - ); - const totalScreenTime = sceneCharRows.reduce( - (sum, sc) => sum + (sc.screenTime || 0), 0 - ); - - return { - characterId, - totalScreenTime, - totalDialogueLines, - sceneCount, - relationshipCount: relRows.length, - }; -} - -async function verifyProjectOwnership( - db: DrizzleDB, - projectId: number, - userId: number -) { - const projectRows = await db.select({ id: projects.id, ownerId: projects.ownerId }) - .from(projects) - .where(eq(projects.id, projectId)); - - const project = projectRows[0]; - if (!project) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Project ${projectId} not found` }); - } - if (project.ownerId !== userId) { - throw new TRPCError({ code: 'FORBIDDEN', message: `You do not have access to project ${projectId}` }); - } - return project; -} - -async function verifyProjectAccess( - db: DrizzleDB, - projectId: number, - userId: number -) { - const projectRows = await db.select({ id: projects.id, ownerId: projects.ownerId }) - .from(projects) - .where(eq(projects.id, projectId)); - - const project = projectRows[0]; - if (!project) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Project ${projectId} not found` }); - } - if (project.ownerId === userId) return project; - - const memberRows = await db.select() - .from(projectMembers) - .where(and(eq(projectMembers.projectId, projectId), eq(projectMembers.userId, userId))); - - if (memberRows.length === 0) { - throw new TRPCError({ code: 'FORBIDDEN', message: `You do not have access to project ${projectId}` }); - } - return project; -} - -async function verifyProjectRole( - db: DrizzleDB, - projectId: number, - userId: number, - allowedRoles: string[] -) { - await verifyProjectAccess(db, projectId, userId); - - const projectRows = await db.select({ id: projects.id, ownerId: projects.ownerId }) - .from(projects) - .where(eq(projects.id, projectId)); - const project = projectRows[0]; - if (!project) return; - - if (project.ownerId === userId) return; - - const memberRows = await db.select() - .from(projectMembers) - .where(and(eq(projectMembers.projectId, projectId), eq(projectMembers.userId, userId))); - - const member = memberRows[0]; - if (!member || !allowedRoles.includes(member.role)) { - throw new TRPCError({ code: 'FORBIDDEN', message: 'Insufficient permissions' }); - } -} - -export const projectRouter = { - // Project procedures - listProjects: protectedProcedure.query(async ({ ctx }) => { - const owned = await ctx.db!.select() - .from(projects) - .where(eq(projects.ownerId, ctx.userId!)) - .orderBy(asc(projects.updatedAt)); - - const memberRows = await ctx.db!.select({ projectId: projectMembers.projectId }) - .from(projectMembers) - .where(eq(projectMembers.userId, ctx.userId!)); - - const memberProjectIds = new Set(memberRows.map((r) => r.projectId)); - const memberProjects: typeof owned = []; - - for (const pid of memberProjectIds) { - const row = await ctx.db!.select() - .from(projects) - .where(eq(projects.id, pid)) - .then((r) => r[0]); - if (row) memberProjects.push(row); - } - - const all = [...owned, ...memberProjects]; - const seen = new Set(all.map((p) => p.id)); - return all.filter((p) => seen.has(p.id)); - }), - - getProject: protectedProcedure - .input(z.object({ id: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - const rows = await ctx.db!.select() - .from(projects) - .where(eq(projects.id, input.id)); - const project = rows[0]; - if (!project) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Project ${input.id} not found` }); - } - if (project.ownerId === ctx.userId || project.isPublic) return project; - - const memberRows = await ctx.db!.select() - .from(projectMembers) - .where(and(eq(projectMembers.projectId, input.id), eq(projectMembers.userId, ctx.userId!))); - - if (memberRows.length === 0) { - throw new TRPCError({ code: 'FORBIDDEN', message: `You do not have access to project ${input.id}` }); - } - return project; - }), - - createProject: protectedProcedure - .input(z.object({ - name: z.string().min(1).max(255), - description: z.string().optional(), - })) - .mutation(async ({ input, ctx }) => { - const result = await ctx.db!.insert(projects) - .values({ - name: input.name, - description: input.description ?? null, - ownerId: ctx.userId!, - }) - .returning(); - return result[0]; - }), - - updateProject: protectedProcedure - .input(z.object({ - id: z.number().int().positive(), - name: z.string().min(1).max(255).optional(), - description: z.string().optional(), - })) - .mutation(async ({ input, ctx }) => { - await verifyProjectOwnership(ctx.db!, input.id, ctx.userId!); - - const updateData: Record = { updatedAt: new Date() }; - if (input.name !== undefined) updateData.name = input.name; - if (input.description !== undefined) updateData.description = input.description ?? null; - - const result = await ctx.db!.update(projects) - .set(updateData) - .where(eq(projects.id, input.id)) - .returning(); - return result[0]; - }), - - deleteProject: protectedProcedure - .input(z.object({ id: z.number().int().positive() })) - .mutation(async ({ input, ctx }) => { - await verifyProjectOwnership(ctx.db!, input.id, ctx.userId!); - - // Cascade delete: remove scenes first - await ctx.db!.delete(scenes) - .where(eq(scenes.projectId, input.id)); - - // M2 fix: remove project members - await ctx.db!.delete(projectMembers) - .where(eq(projectMembers.projectId, input.id)); - - // Get character IDs for this project - const projectCharacters = await ctx.db!.select({ id: characters.id }) - .from(characters) - .where(eq(characters.projectId, input.id)); - - // Delete relationships for each character - for (const char of projectCharacters) { - await ctx.db!.delete(characterRelationships) - .where( - or( - eq(characterRelationships.characterIdA, char.id), - eq(characterRelationships.characterIdB, char.id) - ) - ); - } - - // Delete characters - await ctx.db!.delete(characters) - .where(eq(characters.projectId, input.id)); - - // Delete project - const result = await ctx.db!.delete(projects) - .where(eq(projects.id, input.id)); - - return { success: true }; - }), - - // Character CRUD procedures - listCharacters: protectedProcedure - .input(z.object({ projectId: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - await verifyProjectOwnership(ctx.db!, input.projectId, ctx.userId!); - return await ctx.db!.select() - .from(characters) - .where(eq(characters.projectId, input.projectId)) - .orderBy(characters.name); - }), - - getCharacter: protectedProcedure - .input(z.object({ id: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - const rows = await ctx.db!.select() - .from(characters) - .where(eq(characters.id, input.id)); - const character = rows[0]; - if (!character) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Character ${input.id} not found` }); - } - await verifyProjectOwnership(ctx.db!, character.projectId, ctx.userId!); - return character; - }), - - createCharacter: protectedProcedure - .input(z.object({ - name: z.string().min(1).max(100), - description: z.string().optional(), - bio: z.string().optional(), - role: z.enum(['protagonist', 'antagonist', 'supporting', 'background', 'ensemble']).optional(), - arc: z.string().optional(), - arcType: z.enum(['positive', 'negative', 'flat', 'complex']).optional(), - age: z.number().int().optional(), - gender: z.string().optional(), - voice: z.string().optional(), - traits: z.string().optional(), - motivation: z.string().optional(), - conflict: z.string().optional(), - secret: z.string().optional(), - imageUrl: z.string().url().optional(), - projectId: z.number().int().positive(), - })) - .mutation(async ({ input, ctx }) => { - await verifyProjectOwnership(ctx.db!, input.projectId, ctx.userId!); - - const result = await ctx.db!.insert(characters) - .values({ - name: input.name, - slug: slugify(input.name), - description: input.description ?? null, - bio: input.bio ?? null, - role: input.role ?? 'supporting', - arc: input.arc ?? null, - arcType: input.arcType ?? null, - age: input.age ?? null, - gender: input.gender ?? null, - voice: input.voice ?? null, - traits: input.traits ?? null, - motivation: input.motivation ?? null, - conflict: input.conflict ?? null, - secret: input.secret ?? null, - imageUrl: input.imageUrl ?? null, - projectId: input.projectId, - }) - .returning(); - return result[0]; - }), - - updateCharacter: protectedProcedure - .input(z.object({ - id: z.number().int().positive(), - name: z.string().min(1).max(100).optional(), - description: z.string().optional(), - bio: z.string().optional(), - role: z.enum(['protagonist', 'antagonist', 'supporting', 'background', 'ensemble']).optional(), - arc: z.string().optional(), - arcType: z.enum(['positive', 'negative', 'flat', 'complex']).optional(), - age: z.number().int().optional(), - gender: z.string().optional(), - voice: z.string().optional(), - traits: z.string().optional(), - motivation: z.string().optional(), - conflict: z.string().optional(), - secret: z.string().optional(), - imageUrl: z.string().url().optional(), - projectId: z.number().int().positive().optional(), - })) - .mutation(async ({ input, ctx }) => { - const existingRows = await ctx.db!.select() - .from(characters) - .where(eq(characters.id, input.id)); - const existing = existingRows[0]; - if (!existing) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Character ${input.id} not found` }); - } - await verifyProjectOwnership(ctx.db!, existing.projectId, ctx.userId!); - - const updateData: Record = { updatedAt: new Date() }; - if (input.name !== undefined) { - updateData.name = input.name; - updateData.slug = slugify(input.name); - } - if (input.description !== undefined) updateData.description = input.description ?? null; - if (input.bio !== undefined) updateData.bio = input.bio ?? null; - if (input.role !== undefined) updateData.role = input.role; - if (input.arc !== undefined) updateData.arc = input.arc ?? null; - if (input.arcType !== undefined) updateData.arcType = input.arcType ?? null; - if (input.age !== undefined) updateData.age = input.age ?? null; - if (input.gender !== undefined) updateData.gender = input.gender ?? null; - if (input.voice !== undefined) updateData.voice = input.voice ?? null; - if (input.traits !== undefined) updateData.traits = input.traits ?? null; - if (input.motivation !== undefined) updateData.motivation = input.motivation ?? null; - if (input.conflict !== undefined) updateData.conflict = input.conflict ?? null; - if (input.secret !== undefined) updateData.secret = input.secret ?? null; - if (input.imageUrl !== undefined) updateData.imageUrl = input.imageUrl ?? null; - if (input.projectId !== undefined) updateData.projectId = input.projectId; - - const result = await ctx.db!.update(characters) - .set(updateData) - .where(eq(characters.id, input.id)) - .returning(); - return result[0]; - }), - - deleteCharacter: protectedProcedure - .input(z.object({ id: z.number().int().positive() })) - .mutation(async ({ input, ctx }) => { - const existingRows = await ctx.db!.select() - .from(characters) - .where(eq(characters.id, input.id)); - const existing = existingRows[0]; - if (!existing) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Character ${input.id} not found` }); - } - await verifyProjectOwnership(ctx.db!, existing.projectId, ctx.userId!); - - // Remove associated relationships - await ctx.db!.delete(characterRelationships) - .where( - or( - eq(characterRelationships.characterIdA, input.id), - eq(characterRelationships.characterIdB, input.id) - ) - ); - - await ctx.db!.delete(characters) - .where(eq(characters.id, input.id)); - - return { success: true }; - }), - - searchCharacters: protectedProcedure - .input(z.object({ - projectId: z.number().int().positive(), - query: z.string().optional(), - role: z.enum(['protagonist', 'antagonist', 'supporting', 'background', 'ensemble']).optional(), - arcType: z.enum(['positive', 'negative', 'flat', 'complex']).optional(), - })) - .query(async ({ input, ctx }) => { - await verifyProjectOwnership(ctx.db!, input.projectId, ctx.userId!); - - const conditions: import('drizzle-orm').SQL[] = [eq(characters.projectId, input.projectId)]; - - if (input.query) { - const q = `%${input.query.toLowerCase()}%`; - conditions.push( - or( - like(sql`LOWER(${characters.name})`, q), - like(sql`LOWER(COALESCE(${characters.description}, ''))`, q), - like(sql`LOWER(COALESCE(${characters.bio}, ''))`, q), - like(sql`LOWER(COALESCE(${characters.traits}, ''))`, q), - like(sql`LOWER(COALESCE(${characters.motivation}, ''))`, q) - )!, - ); - } - - if (input.role) { - conditions.push(eq(characters.role, input.role)); - } - - if (input.arcType) { - conditions.push(eq(characters.arcType, input.arcType)); - } - - return await ctx.db!.select() - .from(characters) - .where(and(...conditions)) - .orderBy(characters.name); - }), - - getCharacterStats: protectedProcedure - .input(z.object({ characterId: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - const rows = await ctx.db!.select() - .from(characters) - .where(eq(characters.id, input.characterId)); - if (!rows[0]) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Character ${input.characterId} not found` }); - } - await verifyProjectOwnership(ctx.db!, rows[0].projectId, ctx.userId!); - return await getCharacterStatsImpl(ctx.db!, input.characterId); - }), - - getProjectCharacterStats: projectProcedure - .query(async ({ ctx }) => { - const projectCharacters = await ctx.db!.select() - .from(characters) - .where(eq(characters.projectId, ctx.projectId!)); - const stats = []; - for (const c of projectCharacters) { - const s = await getCharacterStatsImpl(ctx.db!, c.id); - if (s) stats.push(s); - } - return stats; - }), - - // Relationship procedures - listRelationships: projectProcedure - .query(async ({ ctx }) => { - const projectCharacterIds = await ctx.db!.select({ id: characters.id }) - .from(characters) - .where(eq(characters.projectId, ctx.projectId!)); - const idList = projectCharacterIds.map(c => c.id); - if (idList.length === 0) return []; - - return await ctx.db!.select() - .from(characterRelationships) - .where( - and( - inArray(characterRelationships.characterIdA, idList), - inArray(characterRelationships.characterIdB, idList) - ) - ); - }), - - getRelationshipsForCharacter: protectedProcedure - .input(z.object({ characterId: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - const rows = await ctx.db!.select() - .from(characters) - .where(eq(characters.id, input.characterId)); - if (!rows[0]) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Character ${input.characterId} not found` }); - } - await verifyProjectOwnership(ctx.db!, rows[0].projectId, ctx.userId!); - return await ctx.db!.select() - .from(characterRelationships) - .where( - or( - eq(characterRelationships.characterIdA, input.characterId), - eq(characterRelationships.characterIdB, input.characterId) - ) - ); - }), - - createRelationship: protectedProcedure - .input(z.object({ - characterIdA: z.number().int().positive(), - characterIdB: z.number().int().positive(), - relationshipType: z.enum(['family', 'romantic', 'friendship', 'rivalry', 'mentor', 'alliance', 'conflict', 'professional', 'other']), - description: z.string().optional(), - strength: z.number().int().min(0).max(100).optional(), - isAntagonistic: z.boolean().optional(), - })) - .mutation(async ({ input, ctx }) => { - if (input.characterIdA === input.characterIdB) { - throw new TRPCError({ code: 'BAD_REQUEST', message: 'Cannot create a relationship with the same character' }); - } - - const charARows = await ctx.db!.select() - .from(characters) - .where(eq(characters.id, input.characterIdA)); - const charBRows = await ctx.db!.select() - .from(characters) - .where(eq(characters.id, input.characterIdB)); - if (!charARows[0] || !charBRows[0]) { - throw new TRPCError({ code: 'NOT_FOUND', message: 'Both characters must exist' }); - } - await verifyProjectOwnership(ctx.db!, charARows[0].projectId, ctx.userId!); - - const existing = await ctx.db!.select() - .from(characterRelationships) - .where( - or( - and( - eq(characterRelationships.characterIdA, input.characterIdA), - eq(characterRelationships.characterIdB, input.characterIdB) - ), - and( - eq(characterRelationships.characterIdA, input.characterIdB), - eq(characterRelationships.characterIdB, input.characterIdA) - ) - ) - ); - if (existing.length > 0) { - throw new TRPCError({ code: 'CONFLICT', message: 'Relationship already exists between these characters' }); - } - - const result = await ctx.db!.insert(characterRelationships) - .values({ - characterIdA: input.characterIdA, - characterIdB: input.characterIdB, - relationshipType: input.relationshipType, - description: input.description ?? null, - strength: input.strength ?? 50, - isAntagonistic: input.isAntagonistic ?? false, - }) - .returning(); - return result[0]; - }), - - updateRelationship: protectedProcedure - .input(z.object({ - id: z.number().int().positive(), - relationshipType: z.enum(['family', 'romantic', 'friendship', 'rivalry', 'mentor', 'alliance', 'conflict', 'professional', 'other']).optional(), - description: z.string().optional(), - strength: z.number().int().min(0).max(100).optional(), - isAntagonistic: z.boolean().optional(), - })) - .mutation(async ({ input, ctx }) => { - const relRows = await ctx.db!.select() - .from(characterRelationships) - .where(eq(characterRelationships.id, input.id)); - if (!relRows[0]) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Relationship ${input.id} not found` }); - } - - const charARows = await ctx.db!.select() - .from(characters) - .where(eq(characters.id, relRows[0].characterIdA)); - if (!charARows[0]) { - throw new TRPCError({ code: 'NOT_FOUND', message: 'Character not found' }); - } - await verifyProjectOwnership(ctx.db!, charARows[0].projectId, ctx.userId!); - - const updateData: Record = { updatedAt: new Date() }; - if (input.relationshipType !== undefined) updateData.relationshipType = input.relationshipType; - if (input.description !== undefined) updateData.description = input.description ?? null; - if (input.strength !== undefined) updateData.strength = input.strength; - if (input.isAntagonistic !== undefined) updateData.isAntagonistic = input.isAntagonistic; - - const result = await ctx.db!.update(characterRelationships) - .set(updateData) - .where(eq(characterRelationships.id, input.id)) - .returning(); - return result[0]; - }), - - deleteRelationship: protectedProcedure - .input(z.object({ id: z.number().int().positive() })) - .mutation(async ({ input, ctx }) => { - const relRows = await ctx.db!.select() - .from(characterRelationships) - .where(eq(characterRelationships.id, input.id)); - if (!relRows[0]) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Relationship ${input.id} not found` }); - } - - const charARows = await ctx.db!.select() - .from(characters) - .where(eq(characters.id, relRows[0].characterIdA)); - if (!charARows[0]) { - throw new TRPCError({ code: 'NOT_FOUND', message: 'Character not found' }); - } - await verifyProjectOwnership(ctx.db!, charARows[0].projectId, ctx.userId!); - - await ctx.db!.delete(characterRelationships) - .where(eq(characterRelationships.id, input.id)); - - return { success: true }; - }), - - // Scene procedures - listScenes: protectedProcedure - .input(z.object({ projectId: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - await verifyProjectOwnership(ctx.db!, input.projectId, ctx.userId!); - return await ctx.db!.select() - .from(scenes) - .where(eq(scenes.projectId, input.projectId)) - .orderBy(scenes.order); - }), - - getScene: protectedProcedure - .input(z.object({ id: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - const rows = await ctx.db!.select() - .from(scenes) - .where(eq(scenes.id, input.id)); - const scene = rows[0]; - if (!scene) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Scene ${input.id} not found` }); - } - await verifyProjectOwnership(ctx.db!, scene.projectId, ctx.userId!); - return scene; - }), - - createScene: protectedProcedure - .input(z.object({ - title: z.string().min(1), - content: z.string().optional(), - projectId: z.number().int().positive(), - order: z.number().int().nonnegative(), - })) - .mutation(async ({ input, ctx }) => { - await verifyProjectOwnership(ctx.db!, input.projectId, ctx.userId!); - - const result = await ctx.db!.insert(scenes) - .values({ - title: input.title, - content: input.content ?? '', - projectId: input.projectId, - order: input.order, - }) - .returning(); - return result[0]; - }), - - updateScene: protectedProcedure - .input(z.object({ - id: z.number().int().positive(), - title: z.string().min(1).optional(), - content: z.string().optional(), - order: z.number().int().nonnegative().optional(), - })) - .mutation(async ({ input, ctx }) => { - const rows = await ctx.db!.select() - .from(scenes) - .where(eq(scenes.id, input.id)); - if (!rows[0]) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Scene ${input.id} not found` }); - } - - const updateData: Record = { updatedAt: new Date() }; - if (input.title !== undefined) updateData.title = input.title; - if (input.content !== undefined) updateData.content = input.content ?? ''; - if (input.order !== undefined) updateData.order = input.order; - - const result = await ctx.db!.update(scenes) - .set(updateData) - .where(eq(scenes.id, input.id)) - .returning(); - return result[0]; - }), - - deleteScene: protectedProcedure - .input(z.object({ id: z.number().int().positive() })) - .mutation(async ({ input, ctx }) => { - const rows = await ctx.db!.select() - .from(scenes) - .where(eq(scenes.id, input.id)); - if (!rows[0]) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Scene ${input.id} not found` }); - } - - // Check project ownership - await verifyProjectOwnership(ctx.db!, rows[0].projectId, ctx.userId!); - - await ctx.db!.delete(scenes) - .where(eq(scenes.id, input.id)); - - return { success: true }; - }), - - // Project sharing and permissions - listMembers: protectedProcedure - .input(z.object({ projectId: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - await verifyProjectAccess(ctx.db!, input.projectId, ctx.userId!); - - const members = await ctx.db!.select() - .from(projectMembers) - .where(eq(projectMembers.projectId, input.projectId)) - .orderBy(asc(projectMembers.addedAt)); - - const projectRows = await ctx.db!.select() - .from(projects) - .where(eq(projects.id, input.projectId)); - const project = projectRows[0]; - if (!project) return members; - - return [ - { userId: project.ownerId, role: 'owner' as const, projectId: input.projectId, addedAt: project.createdAt, id: -1 }, - ...members, - ]; - }), - - shareProject: protectedProcedure - .input(z.object({ - projectId: z.number().int().positive(), - userId: z.number().int().positive(), - role: z.enum(['admin', 'editor', 'viewer']).default('editor'), - })) - .mutation(async ({ input, ctx }) => { - await verifyProjectRole(ctx.db!, input.projectId, ctx.userId!, ['owner', 'admin']); - - if (input.userId === ctx.userId!) { - throw new TRPCError({ code: 'BAD_REQUEST', message: 'You cannot share a project with yourself' }); - } - - const existing = await ctx.db!.select() - .from(projectMembers) - .where(and(eq(projectMembers.projectId, input.projectId), eq(projectMembers.userId, input.userId))); - - if (existing.length > 0) { - throw new TRPCError({ code: 'CONFLICT', message: 'User is already a member of this project' }); - } - - const result = await ctx.db!.insert(projectMembers) - .values({ - projectId: input.projectId, - userId: input.userId, - role: input.role, - }) - .returning(); - return result[0]; - }), - - updateMemberRole: protectedProcedure - .input(z.object({ - projectId: z.number().int().positive(), - userId: z.number().int().positive(), - role: z.enum(['admin', 'editor', 'viewer']), - })) - .mutation(async ({ input, ctx }) => { - await verifyProjectRole(ctx.db!, input.projectId, ctx.userId!, ['owner']); - - const result = await ctx.db!.update(projectMembers) - .set({ role: input.role }) - .where(and(eq(projectMembers.projectId, input.projectId), eq(projectMembers.userId, input.userId))) - .returning(); - - if (result.length === 0) { - throw new TRPCError({ code: 'NOT_FOUND', message: 'Member not found' }); - } - return result[0]; - }), - - removeMember: protectedProcedure - .input(z.object({ - projectId: z.number().int().positive(), - userId: z.number().int().positive(), - })) - .mutation(async ({ input, ctx }) => { - await verifyProjectRole(ctx.db!, input.projectId, ctx.userId!, ['owner', 'admin']); - - if (input.userId === ctx.userId!) { - throw new TRPCError({ code: 'FORBIDDEN', message: 'You cannot remove yourself from this project' }); - } - - await ctx.db!.delete(projectMembers) - .where(and(eq(projectMembers.projectId, input.projectId), eq(projectMembers.userId, input.userId))); - - return { success: true }; - }), - - leaveProject: protectedProcedure - .input(z.object({ projectId: z.number().int().positive() })) - .mutation(async ({ input, ctx }) => { - const projectRows = await ctx.db!.select() - .from(projects) - .where(eq(projects.id, input.projectId)); - const project = projectRows[0]; - if (!project) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Project ${input.projectId} not found` }); - } - if (project.ownerId === ctx.userId!) { - throw new TRPCError({ code: 'FORBIDDEN', message: 'Owner cannot leave the project. Transfer ownership first.' }); - } - - await ctx.db!.delete(projectMembers) - .where(and(eq(projectMembers.projectId, input.projectId), eq(projectMembers.userId, ctx.userId!))); - - return { success: true }; - }), -}; diff --git a/server/trpc/revisions-router.test.ts b/server/trpc/revisions-router.test.ts deleted file mode 100644 index 396dcae97..000000000 --- a/server/trpc/revisions-router.test.ts +++ /dev/null @@ -1,246 +0,0 @@ -import { describe, it, expect, beforeEach } from 'vitest'; -import { appRouter } from './index'; -import { getTestDb, resetTestDb } from './test-setup'; -import { resetInMemoryState } from './revisions-router'; -import type { TRPCContext } from './types'; - -describe('revisionsRouter', () => { - let ctx: TRPCContext; - let caller: ReturnType; - - beforeEach(async () => { - await resetTestDb(); - const db = await getTestDb(); - await resetInMemoryState(db); - ctx = { clerkUserId: 'user_test', db }; - caller = appRouter.createCaller(ctx); - }); - - describe('createRevision', () => { - it('should create a revision with version 1', async () => { - const result = await caller.revisions.createRevision({ - scriptId: 1, - title: 'Initial draft', - content: 'FADE IN:\n\nINT. ROOM - DAY', - }); - - expect(result.versionNumber).toBe(1); - expect(result.branchName).toBe('main'); - expect(result.status).toBe('draft'); - expect(result.authorId).toBe(1); - }); - - it('should increment version number for same script', async () => { - await caller.revisions.createRevision({ - scriptId: 1, - title: 'v1', - content: 'content1', - }); - - const result = await caller.revisions.createRevision({ - scriptId: 1, - title: 'v2', - content: 'content2', - }); - - expect(result.versionNumber).toBe(2); - }); - - it('should support custom branch', async () => { - const result = await caller.revisions.createRevision({ - scriptId: 1, - title: 'Branch revision', - content: 'branch content', - branchName: 'feature-act2', - }); - - expect(result.branchName).toBe('feature-act2'); - }); - }); - - describe('listRevisions', () => { - it('should return empty array for script with no revisions', async () => { - const result = await caller.revisions.listRevisions({ scriptId: 1 }); - expect(result).toEqual([]); - }); - - it('should throw NOT_FOUND for unknown script', async () => { - const { TRPCError } = await import('./router'); - await expect( - caller.revisions.listRevisions({ scriptId: 999 }) - ).rejects.toThrow(TRPCError); - }); - - it('should filter by branch', async () => { - await caller.revisions.createRevision({ - scriptId: 1, - title: 'main v1', - content: 'main', - branchName: 'main', - }); - - await caller.revisions.createRevision({ - scriptId: 1, - title: 'feature v1', - content: 'feature', - branchName: 'feature', - }); - - const mainRevisions = await caller.revisions.listRevisions({ - scriptId: 1, - branchName: 'main', - }); - - expect(mainRevisions).toHaveLength(1); - expect(mainRevisions[0]!.branchName).toBe('main'); - }); - }); - - describe('acceptRevision', () => { - it('should accept a revision', async () => { - const created = await caller.revisions.createRevision({ - scriptId: 1, - title: 'To accept', - content: 'content', - }); - - const result = await caller.revisions.acceptRevision({ - revisionId: created.id, - }); - - expect(result.status).toBe('accepted'); - expect(result.reviewedById).toBe(1); - expect(result.reviewedAt).toBeDefined(); - }); - }); - - describe('rejectRevision', () => { - it('should reject a revision with reason', async () => { - const created = await caller.revisions.createRevision({ - scriptId: 1, - title: 'To reject', - content: 'content', - }); - - const result = await caller.revisions.rejectRevision({ - revisionId: created.id, - reason: 'Needs more work on dialogue', - }); - - expect(result.status).toBe('rejected'); - expect(result.summary).toContain('Needs more work on dialogue'); - }); - }); - - describe('rollbackToRevision', () => { - it('should create a new revision with old content', async () => { - const original = await caller.revisions.createRevision({ - scriptId: 1, - title: 'Original', - content: 'original content', - }); - - await caller.revisions.createRevision({ - scriptId: 1, - title: 'Changed', - content: 'changed content', - }); - - const rollback = await caller.revisions.rollbackToRevision({ - scriptId: 1, - revisionId: original.id, - }); - - expect(rollback.content).toBe('original content'); - expect(rollback.versionNumber).toBe(3); - expect(rollback.title).toContain('Rollback'); - }); - }); - - describe('compareRevisions', () => { - it('should compare two revisions', async () => { - const rev1 = await caller.revisions.createRevision({ - scriptId: 1, - title: 'v1', - content: 'line1\nline2\nline3', - }); - - const rev2 = await caller.revisions.createRevision({ - scriptId: 1, - title: 'v2', - content: 'line1\nchanged\nline3', - }); - - const result = await caller.revisions.compareRevisions({ - baseRevisionId: rev1.id, - targetRevisionId: rev2.id, - }); - - expect(result.diff.modifications).toBe(1); - expect(result.diff.additions).toBe(0); - expect(result.diff.deletions).toBe(0); - }); - }); - - describe('getTimeline', () => { - it('should return timeline entries in chronological order', async () => { - await caller.revisions.createRevision({ - scriptId: 1, - title: 'First', - content: 'first', - }); - - await caller.revisions.createRevision({ - scriptId: 1, - title: 'Second', - content: 'second', - }); - - const timeline = await caller.revisions.getTimeline({ scriptId: 1 }); - - expect(timeline).toHaveLength(2); - expect(timeline[0]!.revision.title).toBe('First'); - expect(timeline[1]!.revision.title).toBe('Second'); - }); - }); - - describe('getBranches', () => { - it('should return branch information', async () => { - await caller.revisions.createRevision({ - scriptId: 1, - title: 'main v1', - content: 'main', - }); - - await caller.revisions.createBranch({ - scriptId: 1, - branchName: 'feature', - }); - - const branches = await caller.revisions.getBranches({ scriptId: 1 }); - - expect(branches).toHaveLength(2); - const branchNames = branches.map((b: any) => b.branchName); - expect(branchNames).toContain('main'); - expect(branchNames).toContain('feature'); - }); - }); - - describe('deleteRevision', () => { - it('should delete a revision', async () => { - const created = await caller.revisions.createRevision({ - scriptId: 1, - title: 'To delete', - content: 'content', - }); - - const result = await caller.revisions.deleteRevision({ id: created.id }); - - expect(result.success).toBe(true); - - await expect( - caller.revisions.getRevision({ id: created.id }) - ).rejects.toThrow(); - }); - }); -}); diff --git a/server/trpc/revisions-router.ts b/server/trpc/revisions-router.ts deleted file mode 100644 index eec7ce336..000000000 --- a/server/trpc/revisions-router.ts +++ /dev/null @@ -1,660 +0,0 @@ -import { protectedProcedure, TRPCError } from './router'; -import { z } from 'zod'; -import { eq, and, or, like, sql, desc, asc } from 'drizzle-orm'; -import type { DrizzleDB } from '../../src/db/config/migrations'; -import { - revisions, - revisionChanges, - scripts, - projects, - projectMembers, -} from '../../src/db/schema'; - -// H1 fix: verifies user has access to the project owning the script a revision belongs to -async function verifyScriptAccess( - db: DrizzleDB, - scriptId: number, - userId: number -) { - const scriptRows = await db - .select({ id: scripts.id, projectId: scripts.projectId }) - .from(scripts) - .where(eq(scripts.id, scriptId)); - - const script = scriptRows[0]; - if (!script) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Script ${scriptId} not found` }); - } - - const projectRows = await db - .select({ id: projects.id, ownerId: projects.ownerId }) - .from(projects) - .where(eq(projects.id, script.projectId)); - - const project = projectRows[0]; - if (!project) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Project ${script.projectId} not found` }); - } - - if (project.ownerId === userId) return { script, project }; - - const memberRows = await db - .select() - .from(projectMembers) - .where(and(eq(projectMembers.projectId, script.projectId), eq(projectMembers.userId, userId))); - - if (memberRows.length === 0) { - throw new TRPCError({ code: 'FORBIDDEN', message: `You do not have access to script ${scriptId}` }); - } - - return { script, project }; -} - -// Resolves revision → script → project and verifies user access -async function verifyRevisionAccess( - db: DrizzleDB, - revisionId: number, - userId: number -) { - const revisionRows = await db - .select() - .from(revisions) - .where(eq(revisions.id, revisionId)); - - const revision = revisionRows[0]; - if (!revision) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Revision ${revisionId} not found` }); - } - - const { script, project } = await verifyScriptAccess(db, revision.scriptId, userId); - return { revision, script, project }; -} - -function computeDiffForContent( - db: DrizzleDB, - oldContent: string, - newContent: string, - revisionId: number -) { - const oldLines = oldContent.split('\n'); - const newLines = newContent.split('\n'); - const linesPerPage = 55; - const maxLen = Math.max(oldLines.length, newLines.length); - - let sceneCounter = 0; - const changesToInsert = []; - - for (let i = 0; i < maxLen; i++) { - const oldLine = oldLines[i]; - const newLine = newLines[i]; - - if (oldLine === newLine) continue; - - let changeType: 'addition' | 'deletion' | 'modification'; - if (!oldLine && newLine) { - changeType = 'addition'; - } else if (oldLine && !newLine) { - changeType = 'deletion'; - } else { - changeType = 'modification'; - } - - if (newLine?.trim().toUpperCase().startsWith('INT.') || - newLine?.trim().toUpperCase().startsWith('EXT.')) { - sceneCounter++; - } - - changesToInsert.push({ - revisionId, - changeType, - elementType: null, - oldContent: changeType !== 'addition' ? oldLine || null : null, - newContent: changeType !== 'deletion' ? newLine || null : null, - sceneNumber: sceneCounter || null, - lineNumber: i + 1, - pageNumber: Math.ceil((i + 1) / linesPerPage), - }); - } - - if (changesToInsert.length > 0) { - return db.insert(revisionChanges).values(changesToInsert).returning(); - } - - return []; -} - -async function getLatestVersionForScript( - db: DrizzleDB, - scriptId: number, - branchName: string -): Promise { - const maxResult = await db - .select({ maxVersion: sql`MAX(${revisions.versionNumber})` }) - .from(revisions) - .where(and(eq(revisions.scriptId, scriptId), eq(revisions.branchName, branchName))); - - return maxResult[0]?.maxVersion ?? 0; -} - -// Export reset function for testing -export async function resetInMemoryState(db: DrizzleDB) { - await db.delete(revisionChanges); - await db.delete(revisions); -} - -// Helper to get next revision ID -async function getNextRevisionId(db: DrizzleDB): Promise { - const result = await db - .select({ maxId: sql`MAX(${revisions.id})` }) - .from(revisions); - return (result[0]?.maxId ?? 0) + 1; -} - -export const revisionsRouter = { - listRevisions: protectedProcedure - .input(z.object({ - scriptId: z.number().int().positive(), - branchName: z.string().optional(), - })) - .query(async ({ input, ctx }) => { - await verifyScriptAccess(ctx.db!, input.scriptId, ctx.userId!); - const conditions = [eq(revisions.scriptId, input.scriptId)]; - - if (input.branchName) { - conditions.push(eq(revisions.branchName, input.branchName)); - } - - const results = await ctx.db! - .select() - .from(revisions) - .where(and(...conditions)) - .orderBy(desc(revisions.versionNumber)); - - return results; - }), - - getRevision: protectedProcedure - .input(z.object({ - id: z.number().int().positive(), - })) - .query(async ({ input, ctx }) => { - const { revision } = await verifyRevisionAccess(ctx.db!, input.id, ctx.userId!); - return revision; - }), - - createRevision: protectedProcedure - .input(z.object({ - scriptId: z.number().int().positive(), - title: z.string().min(1).max(255), - summary: z.string().max(2000).optional(), - content: z.string().max(100000), - branchName: z.string().default('main'), - parentRevisionId: z.number().int().positive().optional(), - })) - .mutation(async ({ input, ctx }) => { - if (!ctx.userId) { - throw new TRPCError({ code: 'UNAUTHORIZED', message: 'User not authenticated' }); - } - await verifyScriptAccess(ctx.db!, input.scriptId, ctx.userId!); - - const nextVersion = await getLatestVersionForScript( - ctx.db, - input.scriptId, - input.branchName - ) + 1; - - const nextId = await getNextRevisionId(ctx.db); - - const result = await ctx.db - .insert(revisions) - .values({ - id: nextId, - scriptId: input.scriptId, - versionNumber: nextVersion, - branchName: input.branchName, - parentRevisionId: input.parentRevisionId || null, - title: input.title, - summary: input.summary || null, - content: input.content, - authorId: ctx.userId, - status: 'draft', - reviewedById: null, - reviewedAt: null, - createdAt: new Date(), - updatedAt: new Date(), - }) - .returning(); - - const revision = result[0]!; - - if (input.parentRevisionId) { - const parentResult = await ctx.db - .select() - .from(revisions) - .where(eq(revisions.id, input.parentRevisionId)); - const parent = parentResult[0]; - if (parent) { - await computeDiffForContent(ctx.db, parent.content, input.content, revision.id); - } - } - - return revision; - }), - - updateRevision: protectedProcedure - .input(z.object({ - id: z.number().int().positive(), - title: z.string().min(1).max(255).optional(), - summary: z.string().max(2000).optional(), - content: z.string().optional(), - status: z.enum(['draft', 'pending_review', 'accepted', 'rejected']).optional(), - })) - .mutation(async ({ input, ctx }) => { - const { revision } = await verifyRevisionAccess(ctx.db!, input.id, ctx.userId!); - - const updated = await ctx.db - .update(revisions) - .set({ - title: input.title ?? revision.title, - summary: input.summary ?? revision.summary, - content: input.content ?? revision.content, - status: input.status ?? revision.status, - updatedAt: new Date(), - }) - .where(eq(revisions.id, input.id)) - .returning(); - - return updated[0]!; - }), - - deleteRevision: protectedProcedure - .input(z.object({ - id: z.number().int().positive(), - })) - .mutation(async ({ input, ctx }) => { - await verifyRevisionAccess(ctx.db!, input.id, ctx.userId!); - - const result = await ctx.db - .delete(revisions) - .where(eq(revisions.id, input.id)) - .returning(); - - await ctx.db - .delete(revisionChanges) - .where(eq(revisionChanges.revisionId, input.id)); - - return { success: true }; - }), - - getRevisionChanges: protectedProcedure - .input(z.object({ - revisionId: z.number().int().positive(), - })) - .query(async ({ input, ctx }) => { - await verifyRevisionAccess(ctx.db!, input.revisionId, ctx.userId!); - - const changes = await ctx.db - .select() - .from(revisionChanges) - .where(eq(revisionChanges.revisionId, input.revisionId)) - .orderBy(asc(revisionChanges.lineNumber)); - - return changes; - }), - - compareRevisions: protectedProcedure - .input(z.object({ - baseRevisionId: z.number().int().positive(), - targetRevisionId: z.number().int().positive(), - })) - .query(async ({ input, ctx }) => { - const { revision: baseRevision } = await verifyRevisionAccess(ctx.db!, input.baseRevisionId, ctx.userId!); - const { revision: targetRevision } = await verifyRevisionAccess(ctx.db!, input.targetRevisionId, ctx.userId!); - - const oldLines = baseRevision.content.split('\n'); - const newLines = targetRevision.content.split('\n'); - - let additions = 0; - let deletions = 0; - let modifications = 0; - - const maxLen = Math.max(oldLines.length, newLines.length); - for (let i = 0; i < maxLen; i++) { - const oldLine = oldLines[i]; - const newLine = newLines[i]; - - if (oldLine === newLine) continue; - - if (!oldLine && newLine) { - additions++; - } else if (oldLine && !newLine) { - deletions++; - } else { - modifications++; - } - } - - return { - baseRevision, - targetRevision, - diff: { - additions, - deletions, - modifications, - }, - }; - }), - - acceptRevision: protectedProcedure - .input(z.object({ - revisionId: z.number().int().positive(), - })) - .mutation(async ({ input, ctx }) => { - if (!ctx.userId) { - throw new TRPCError({ code: 'UNAUTHORIZED', message: 'User not authenticated' }); - } - await verifyRevisionAccess(ctx.db!, input.revisionId, ctx.userId!); - - const updated = await ctx.db - .update(revisions) - .set({ - status: 'accepted', - reviewedById: ctx.userId, - reviewedAt: new Date(), - updatedAt: new Date(), - }) - .where(eq(revisions.id, input.revisionId)) - .returning(); - - return updated[0]!; - }), - - rejectRevision: protectedProcedure - .input(z.object({ - revisionId: z.number().int().positive(), - reason: z.string().max(1000).optional(), - })) - .mutation(async ({ input, ctx }) => { - if (!ctx.userId) { - throw new TRPCError({ code: 'UNAUTHORIZED', message: 'User not authenticated' }); - } - const { revision } = await verifyRevisionAccess(ctx.db!, input.revisionId, ctx.userId!); - - const newSummary = input.reason - ? (revision.summary || '') + '\n[Rejected: ' + input.reason + ']' - : revision.summary; - - const updated = await ctx.db - .update(revisions) - .set({ - status: 'rejected', - reviewedById: ctx.userId, - reviewedAt: new Date(), - summary: newSummary, - updatedAt: new Date(), - }) - .where(eq(revisions.id, input.revisionId)) - .returning(); - - return updated[0]!; - }), - - rollbackToRevision: protectedProcedure - .input(z.object({ - scriptId: z.number().int().positive(), - revisionId: z.number().int().positive(), - })) - .mutation(async ({ input, ctx }) => { - if (!ctx.userId) { - throw new TRPCError({ code: 'UNAUTHORIZED', message: 'User not authenticated' }); - } - await verifyScriptAccess(ctx.db!, input.scriptId, ctx.userId!); - const { revision: targetRevision } = await verifyRevisionAccess(ctx.db!, input.revisionId, ctx.userId!); - - if (targetRevision.scriptId !== input.scriptId) { - throw new TRPCError({ code: 'BAD_REQUEST', message: 'Revision does not belong to the specified script' }); - } - - const nextVersion = await getLatestVersionForScript( - ctx.db, - input.scriptId, - targetRevision.branchName - ) + 1; - - const nextId = await getNextRevisionId(ctx.db); - - const rollbackRevision = await ctx.db - .insert(revisions) - .values({ - id: nextId, - scriptId: input.scriptId, - versionNumber: nextVersion, - branchName: targetRevision.branchName, - parentRevisionId: targetRevision.id, - title: `Rollback to v${targetRevision.versionNumber}: ${targetRevision.title}`, - summary: `Rolled back to revision ${targetRevision.id}`, - content: targetRevision.content, - authorId: ctx.userId, - status: 'draft', - reviewedById: null, - reviewedAt: null, - createdAt: new Date(), - updatedAt: new Date(), - }) - .returning(); - - return rollbackRevision[0]!; - }), - - getTimeline: protectedProcedure - .input(z.object({ - scriptId: z.number().int().positive(), - })) - .query(async ({ input, ctx }) => { - await verifyScriptAccess(ctx.db!, input.scriptId, ctx.userId!); - const scriptRevisions = await ctx.db - .select() - .from(revisions) - .where(eq(revisions.scriptId, input.scriptId)) - .orderBy(asc(revisions.createdAt)); - - const timeline = await Promise.all( - scriptRevisions.map(async (rev) => { - const changes = await ctx.db - .select() - .from(revisionChanges) - .where(eq(revisionChanges.revisionId, rev.id)); - - const additions = changes.filter(c => c.changeType === 'addition').length; - const deletions = changes.filter(c => c.changeType === 'deletion').length; - const modifications = changes.filter(c => c.changeType === 'modification').length; - - return { - revision: rev, - changeCount: changes.length, - additions, - deletions, - modifications, - }; - }) - ); - - return timeline; - }), - - getBranches: protectedProcedure - .input(z.object({ - scriptId: z.number().int().positive(), - })) - .query(async ({ input, ctx }) => { - await verifyScriptAccess(ctx.db!, input.scriptId, ctx.userId!); - const scriptRevisions = await ctx.db - .select() - .from(revisions) - .where(eq(revisions.scriptId, input.scriptId)); - - const branchMap = new Map(); - for (const rev of scriptRevisions) { - if (!branchMap.has(rev.branchName)) { - branchMap.set(rev.branchName, []); - } - branchMap.get(rev.branchName)!.push(rev); - } - - const branches = Array.from(branchMap.entries()).map(([branchName, revs]) => { - const sorted = revs.sort((a, b) => b.versionNumber - a.versionNumber); - const latest = sorted[0]!; - - return { - branchName, - revisionCount: revs.length, - latestVersion: latest.versionNumber, - latestRevision: latest, - }; - }); - - return branches; - }), - - createBranch: protectedProcedure - .input(z.object({ - scriptId: z.number().int().positive(), - branchName: z.string().min(1), - fromRevisionId: z.number().int().positive().optional(), - })) - .mutation(async ({ input, ctx }) => { - if (!ctx.userId) { - throw new TRPCError({ code: 'UNAUTHORIZED', message: 'User not authenticated' }); - } - await verifyScriptAccess(ctx.db!, input.scriptId, ctx.userId!); - - const existingResult = await ctx.db - .select({ id: revisions.id }) - .from(revisions) - .where(and( - eq(revisions.scriptId, input.scriptId), - eq(revisions.branchName, input.branchName) - )); - - if (existingResult.length > 0) { - throw new TRPCError({ code: 'CONFLICT', message: `Branch '${input.branchName}' already exists for this script` }); - } - - let sourceContent = ''; - let parentRevisionId: number | null = null; - - if (input.fromRevisionId) { - const sourceResult = await ctx.db - .select() - .from(revisions) - .where(eq(revisions.id, input.fromRevisionId)); - const source = sourceResult[0]; - if (!source) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Source revision ${input.fromRevisionId} not found` }); - } - sourceContent = source.content; - parentRevisionId = source.id; - } else { - const mainRevisions = await ctx.db - .select() - .from(revisions) - .where(and( - eq(revisions.scriptId, input.scriptId), - eq(revisions.branchName, 'main') - )) - .orderBy(desc(revisions.versionNumber)) - .limit(1); - - if (mainRevisions.length > 0) { - sourceContent = mainRevisions[0]!.content; - parentRevisionId = mainRevisions[0]!.id; - } - } - - const nextId = await getNextRevisionId(ctx.db); - - const branchRevision = await ctx.db - .insert(revisions) - .values({ - id: nextId, - scriptId: input.scriptId, - versionNumber: 1, - branchName: input.branchName, - parentRevisionId, - title: `Branch: ${input.branchName}`, - summary: null, - content: sourceContent, - authorId: ctx.userId, - status: 'draft', - reviewedById: null, - reviewedAt: null, - createdAt: new Date(), - updatedAt: new Date(), - }) - .returning(); - - return branchRevision[0]!; - }), - - mergeBranch: protectedProcedure - .input(z.object({ - scriptId: z.number().int().positive(), - sourceBranch: z.string(), - targetBranch: z.string(), - })) - .mutation(async ({ input, ctx }) => { - if (!ctx.userId) { - throw new TRPCError({ code: 'UNAUTHORIZED', message: 'User not authenticated' }); - } - await verifyScriptAccess(ctx.db!, input.scriptId, ctx.userId!); - - if (input.sourceBranch === input.targetBranch) { - throw new TRPCError({ code: 'BAD_REQUEST', message: 'Cannot merge a branch into itself' }); - } - - const sourceRevisions = await ctx.db - .select() - .from(revisions) - .where(and( - eq(revisions.scriptId, input.scriptId), - eq(revisions.branchName, input.sourceBranch) - )) - .orderBy(desc(revisions.versionNumber)) - .limit(1); - - if (sourceRevisions.length === 0) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Source branch '${input.sourceBranch}' has no revisions` }); - } - - const sourceContent = sourceRevisions[0]!.content; - const nextVersion = await getLatestVersionForScript( - ctx.db, - input.scriptId, - input.targetBranch - ) + 1; - - const nextId = await getNextRevisionId(ctx.db); - - const mergeRevision = await ctx.db - .insert(revisions) - .values({ - id: nextId, - scriptId: input.scriptId, - versionNumber: nextVersion, - branchName: input.targetBranch, - parentRevisionId: null, - title: `Merge from '${input.sourceBranch}'`, - summary: `Merged ${input.sourceBranch} into ${input.targetBranch}`, - content: sourceContent, - authorId: ctx.userId, - status: 'draft', - reviewedById: null, - reviewedAt: null, - createdAt: new Date(), - updatedAt: new Date(), - }) - .returning(); - - return mergeRevision[0]!; - }), -}; diff --git a/server/trpc/router.ts b/server/trpc/router.ts deleted file mode 100644 index 4ae9916c0..000000000 --- a/server/trpc/router.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { initTRPC, TRPCError } from '@trpc/server'; -import { z } from 'zod'; -import { eq, and } from 'drizzle-orm'; -import { projects, projectMembers } from '../../src/db/schema'; -import type { TRPCContext } from './types'; - -// Initialize tRPC with context -const t = initTRPC.context().create(); - -// Middleware for authentication -const isAuthenticated = t.middleware(({ ctx, next }) => { - if (!ctx.clerkUserId) { - throw new TRPCError({ code: 'UNAUTHORIZED', message: 'User not authenticated' }); - } - return next({ ctx: { ...ctx, clerkUserId: ctx.clerkUserId } }); -}); - -// Middleware for database access and user lookup -const hasDb = t.middleware(async ({ ctx, next }) => { - if (!ctx.db) { - throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', message: 'Database not available' }); - } - - let userId: number | undefined; - if (ctx.clerkUserId) { - const { users } = await import('../../src/db/schema'); - const userRows = await ctx.db.select({ id: users.id }) - .from(users) - .where(eq(users.clerkId, ctx.clerkUserId)); - if (userRows.length > 0) { - userId = userRows[0].id; - } - } - - return next({ ctx: { ...ctx, db: ctx.db, userId } }); -}); - -// Middleware for project ownership verification -const hasProjectAccess = t.middleware(async ({ ctx, next }) => { - if (!ctx.projectId) { - throw new TRPCError({ code: 'FORBIDDEN', message: 'Project access required' }); - } - if (!ctx.clerkUserId) { - throw new TRPCError({ code: 'UNAUTHORIZED', message: 'User not authenticated' }); - } - if (!ctx.db) { - throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', message: 'Database not available' }); - } - const { users } = await import('../../src/db/schema'); - const userRows = await ctx.db.select({ id: users.id, clerkId: users.clerkId }) - .from(users) - .where(eq(users.clerkId, ctx.clerkUserId)); - const dbUser = userRows[0]; - if (!dbUser) { - throw new TRPCError({ code: 'FORBIDDEN', message: 'User mapping not found' }); - } - const rows = await ctx.db.select({ id: projects.id, ownerId: projects.ownerId }) - .from(projects) - .where(eq(projects.id, ctx.projectId)); - const project = rows[0]; - if (!project) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Project ${ctx.projectId} not found` }); - } - if (project.ownerId === dbUser.id) { - return next({ ctx: { ...ctx, projectId: ctx.projectId, userId: dbUser.id } }); - } - // L3 fix: also check project membership - const memberRows = await ctx.db.select() - .from(projectMembers) - .where(and(eq(projectMembers.projectId, ctx.projectId), eq(projectMembers.userId, dbUser.id))); - if (memberRows.length === 0) { - throw new TRPCError({ code: 'FORBIDDEN', message: `You do not have access to project ${ctx.projectId}` }); - } - return next({ ctx: { ...ctx, projectId: ctx.projectId, userId: dbUser.id } }); -}); - -// Base router -export const baseRouter = t.router; - -// Procedure builders -export const publicProcedure = t.procedure.use(hasDb); -export const protectedProcedure = t.procedure.use(isAuthenticated).use(hasDb); - -export const projectProcedure = t.procedure - .use(isAuthenticated) - .use(hasDb) - .use(hasProjectAccess); - -// Validation middleware -export const validateInput = (schema: T) => { - return t.middleware(({ input, next }) => { - const validated = schema.parse(input); - return next({ input: validated }); - }); -}; - -export { t, TRPCError }; diff --git a/server/trpc/scripts-router.ts b/server/trpc/scripts-router.ts deleted file mode 100644 index a219d6c49..000000000 --- a/server/trpc/scripts-router.ts +++ /dev/null @@ -1,192 +0,0 @@ -import { protectedProcedure, TRPCError } from './router'; -import { z } from 'zod'; -import { eq, and, like, sql, inArray } from 'drizzle-orm'; -import type { DrizzleDB } from '../../src/db/config/migrations'; -import { - scripts, - revisions, - revisionChanges, - projects, - projectMembers, -} from '../../src/db/schema'; - -function slugify(title: string): string { - return title.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/(^-|-$)/g, ''); -} - -// H2 fix: verifies user has access to a project (owner or member) -async function verifyProjectAccess( - db: DrizzleDB, - projectId: number, - userId: number -) { - const projectRows = await db - .select({ id: projects.id, ownerId: projects.ownerId }) - .from(projects) - .where(eq(projects.id, projectId)); - - const project = projectRows[0]; - if (!project) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Project ${projectId} not found` }); - } - - if (project.ownerId === userId) return project; - - const memberRows = await db - .select() - .from(projectMembers) - .where(and(eq(projectMembers.projectId, projectId), eq(projectMembers.userId, userId))); - - if (memberRows.length === 0) { - throw new TRPCError({ code: 'FORBIDDEN', message: `You do not have access to project ${projectId}` }); - } - - return project; -} - -async function verifyScriptOwnership( - db: DrizzleDB, - scriptId: number, - userId: number -) { - const scriptRows = await db.select({ id: scripts.id, projectId: scripts.projectId }) - .from(scripts) - .where(eq(scripts.id, scriptId)); - - const script = scriptRows[0]; - if (!script) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Script ${scriptId} not found` }); - } - - await verifyProjectAccess(db, script.projectId, userId); - - return script; -} - -export const scriptsRouter = { - listScripts: protectedProcedure - .input(z.object({ projectId: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - await verifyProjectAccess(ctx.db!, input.projectId, ctx.userId!); - - return await ctx.db!.select() - .from(scripts) - .where(eq(scripts.projectId, input.projectId)) - .orderBy(scripts.updatedAt); - }), - - getScript: protectedProcedure - .input(z.object({ id: z.number().int().positive() })) - .query(async ({ input, ctx }) => { - await verifyScriptOwnership(ctx.db!, input.id, ctx.userId!); - const rows = await ctx.db!.select() - .from(scripts) - .where(eq(scripts.id, input.id)); - const script = rows[0]; - if (!script) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Script ${input.id} not found` }); - } - return script; - }), - - createScript: protectedProcedure - .input(z.object({ - title: z.string().min(1).max(255), - projectId: z.number().int().positive(), - genre: z.string().optional(), - logline: z.string().optional(), - status: z.enum(['draft', 'revision', 'final', 'published']).optional(), - })) - .mutation(async ({ input, ctx }) => { - await verifyProjectAccess(ctx.db!, input.projectId, ctx.userId!); - - const result = await ctx.db!.insert(scripts) - .values({ - title: input.title, - slug: slugify(input.title), - projectId: input.projectId, - genre: input.genre ?? null, - logline: input.logline ?? null, - status: input.status ?? 'draft', - }) - .returning(); - return result[0]; - }), - - updateScript: protectedProcedure - .input(z.object({ - id: z.number().int().positive(), - title: z.string().min(1).max(255).optional(), - genre: z.string().optional(), - logline: z.string().optional(), - status: z.enum(['draft', 'revision', 'final', 'published']).optional(), - })) - .mutation(async ({ input, ctx }) => { - await verifyScriptOwnership(ctx.db!, input.id, ctx.userId!); - - const updateData: Record = { updatedAt: new Date() }; - if (input.title !== undefined) { - updateData.title = input.title; - updateData.slug = slugify(input.title); - } - if (input.genre !== undefined) updateData.genre = input.genre ?? null; - if (input.logline !== undefined) updateData.logline = input.logline ?? null; - if (input.status !== undefined) updateData.status = input.status; - - const result = await ctx.db!.update(scripts) - .set(updateData) - .where(eq(scripts.id, input.id)) - .returning(); - return result[0]; - }), - - deleteScript: protectedProcedure - .input(z.object({ id: z.number().int().positive() })) - .mutation(async ({ input, ctx }) => { - await verifyScriptOwnership(ctx.db!, input.id, ctx.userId!); - - // Get revision IDs for this script - const scriptRevisions = await ctx.db!.select({ id: revisions.id }) - .from(revisions) - .where(eq(revisions.scriptId, input.id)); - - // Delete revision changes for each revision - for (const rev of scriptRevisions) { - await ctx.db!.delete(revisionChanges) - .where(eq(revisionChanges.revisionId, rev.id)); - } - - // Delete revisions - await ctx.db!.delete(revisions) - .where(eq(revisions.scriptId, input.id)); - - // Delete script - await ctx.db!.delete(scripts) - .where(eq(scripts.id, input.id)); - - return { success: true }; - }), - - searchScripts: protectedProcedure - .input(z.object({ - projectId: z.number().int().positive(), - query: z.string().optional(), - })) - .query(async ({ input, ctx }) => { - await verifyProjectAccess(ctx.db!, input.projectId, ctx.userId!); - - const conditions: any[] = [eq(scripts.projectId, input.projectId)]; - - if (input.query) { - const q = `%${input.query.toLowerCase()}%`; - conditions.push( - like(sql`LOWER(${scripts.title})`, q), - ); - } - - return await ctx.db!.select() - .from(scripts) - .where(and(...conditions)) - .orderBy(scripts.title); - }), -}; diff --git a/server/trpc/team-router.ts b/server/trpc/team-router.ts deleted file mode 100644 index 79c8cd337..000000000 --- a/server/trpc/team-router.ts +++ /dev/null @@ -1,264 +0,0 @@ -import { protectedProcedure, TRPCError } from './router'; -import { z } from 'zod'; -import { eq, and, asc } from 'drizzle-orm'; -import type { DrizzleDB } from '../../src/db/config/migrations'; -import { teams, teamMembers } from '../../src/db/schema'; - -async function verifyTeamOwnership( - db: DrizzleDB, - teamId: string, - userId: number -) { - const teamRows = await db.select({ id: teams.id, ownerId: teams.ownerId }) - .from(teams) - .where(eq(teams.id, teamId)); - - const team = teamRows[0]; - if (!team) { - throw new TRPCError({ code: 'NOT_FOUND', message: `Team ${teamId} not found` }); - } - if (team.ownerId !== userId) { - const memberRows = await db.select() - .from(teamMembers) - .where(and(eq(teamMembers.teamId, teamId), eq(teamMembers.userId, userId))); - if (memberRows.length === 0) { - throw new TRPCError({ code: 'FORBIDDEN', message: `You do not have access to team ${teamId}` }); - } - } - return team; -} - -async function verifyTeamRole( - db: DrizzleDB, - teamId: string, - userId: number, - allowedRoles: string[] -) { - await verifyTeamOwnership(db, teamId, userId); - - const teamRows = await db.select({ id: teams.id, ownerId: teams.ownerId }) - .from(teams) - .where(eq(teams.id, teamId)); - const team = teamRows[0]; - if (!team) return; - - if (team.ownerId === userId) return; - - const memberRows = await db.select() - .from(teamMembers) - .where(and(eq(teamMembers.teamId, teamId), eq(teamMembers.userId, userId))); - - const member = memberRows[0]; - if (!member || !allowedRoles.includes(member.role)) { - throw new TRPCError({ code: 'FORBIDDEN', message: 'Insufficient permissions' }); - } -} - -async function generateTeamId(): Promise { - const { randomUUID } = await import('crypto'); - return `team_${randomUUID()}`; -} - -export const teamRouter = { - // Team CRUD - listTeams: protectedProcedure.query(async ({ ctx }) => { - const owned = await ctx.db!.select() - .from(teams) - .where(eq(teams.ownerId, ctx.userId!)) - .orderBy(asc(teams.createdAt)); - - const memberRows = await ctx.db!.select({ teamId: teamMembers.teamId }) - .from(teamMembers) - .where(eq(teamMembers.userId, ctx.userId!)); - - const memberTeamIds = new Set(memberRows.map((r) => r.teamId)); - const memberTeams: typeof owned = []; - - for (const tid of memberTeamIds) { - const row = await ctx.db!.select() - .from(teams) - .where(eq(teams.id, tid)) - .then((r) => r[0]); - if (row) memberTeams.push(row); - } - - const all = [...owned, ...memberTeams]; - const seen = new Set(all.map((t) => t.id)); - return all.filter((t) => seen.has(t.id)); - }), - - getTeam: protectedProcedure - .input(z.object({ id: z.string().min(1) })) - .query(async ({ input, ctx }) => { - await verifyTeamOwnership(ctx.db!, input.id, ctx.userId!); - const rows = await ctx.db!.select() - .from(teams) - .where(eq(teams.id, input.id)); - return rows[0]; - }), - - createTeam: protectedProcedure - .input(z.object({ - name: z.string().min(1).max(255), - })) - .mutation(async ({ input, ctx }) => { - const teamId = await generateTeamId(); - const result = await ctx.db!.insert(teams) - .values({ - id: teamId, - name: input.name, - ownerId: ctx.userId!, - }) - .returning(); - - const team = result[0]; - if (!team) { - throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', message: 'Failed to create team' }); - } - - await ctx.db!.insert(teamMembers) - .values({ - teamId: team.id, - userId: ctx.userId!, - role: 'owner', - }); - - return team; - }), - - updateTeam: protectedProcedure - .input(z.object({ - id: z.string().min(1), - name: z.string().min(1).max(255).optional(), - })) - .mutation(async ({ input, ctx }) => { - await verifyTeamRole(ctx.db!, input.id, ctx.userId!, ['owner', 'admin']); - - const updateData: Record = { updatedAt: new Date() }; - if (input.name !== undefined) updateData.name = input.name; - - const result = await ctx.db!.update(teams) - .set(updateData) - .where(eq(teams.id, input.id)) - .returning(); - return result[0]; - }), - - deleteTeam: protectedProcedure - .input(z.object({ id: z.string().min(1) })) - .mutation(async ({ input, ctx }) => { - await verifyTeamOwnership(ctx.db!, input.id, ctx.userId!); - - const teamRows = await ctx.db!.select({ id: teams.id, ownerId: teams.ownerId }) - .from(teams) - .where(eq(teams.id, input.id)); - if (teamRows[0]?.ownerId !== ctx.userId!) { - throw new TRPCError({ code: 'FORBIDDEN', message: 'Only the owner can delete a team' }); - } - - await ctx.db!.delete(teamMembers) - .where(eq(teamMembers.teamId, input.id)); - - await ctx.db!.delete(teams) - .where(eq(teams.id, input.id)); - - return { success: true }; - }), - - // Team member management - listMembers: protectedProcedure - .input(z.object({ teamId: z.string().min(1) })) - .query(async ({ input, ctx }) => { - await verifyTeamOwnership(ctx.db!, input.teamId, ctx.userId!); - return await ctx.db!.select() - .from(teamMembers) - .where(eq(teamMembers.teamId, input.teamId)) - .orderBy(asc(teamMembers.joinedAt)); - }), - - addMember: protectedProcedure - .input(z.object({ - teamId: z.string().min(1), - userId: z.number().int().positive(), - role: z.enum(['owner', 'admin', 'editor', 'viewer']).default('editor'), - })) - .mutation(async ({ input, ctx }) => { - await verifyTeamRole(ctx.db!, input.teamId, ctx.userId!, ['owner', 'admin']); - - const existing = await ctx.db!.select() - .from(teamMembers) - .where(and(eq(teamMembers.teamId, input.teamId), eq(teamMembers.userId, input.userId))); - - if (existing.length > 0) { - throw new TRPCError({ code: 'CONFLICT', message: 'User is already a member of this team' }); - } - - const result = await ctx.db!.insert(teamMembers) - .values({ - teamId: input.teamId, - userId: input.userId, - role: input.role, - }) - .returning(); - return result[0]; - }), - - updateMemberRole: protectedProcedure - .input(z.object({ - teamId: z.string().min(1), - userId: z.number().int().positive(), - role: z.enum(['owner', 'admin', 'editor', 'viewer']), - })) - .mutation(async ({ input, ctx }) => { - await verifyTeamRole(ctx.db!, input.teamId, ctx.userId!, ['owner']); - - const result = await ctx.db!.update(teamMembers) - .set({ role: input.role }) - .where(and(eq(teamMembers.teamId, input.teamId), eq(teamMembers.userId, input.userId))) - .returning(); - return result[0]; - }), - - removeMember: protectedProcedure - .input(z.object({ - teamId: z.string().min(1), - userId: z.number().int().positive(), - })) - .mutation(async ({ input, ctx }) => { - await verifyTeamRole(ctx.db!, input.teamId, ctx.userId!, ['owner', 'admin']); - - if (input.userId === ctx.userId!) { - throw new TRPCError({ code: 'FORBIDDEN', message: 'You cannot remove yourself from this team' }); - } - - const memberRows = await ctx.db!.select() - .from(teamMembers) - .where(and(eq(teamMembers.teamId, input.teamId), eq(teamMembers.userId, input.userId))); - - if (memberRows[0]?.role === 'owner') { - throw new TRPCError({ code: 'FORBIDDEN', message: 'Cannot remove the team owner' }); - } - - await ctx.db!.delete(teamMembers) - .where(and(eq(teamMembers.teamId, input.teamId), eq(teamMembers.userId, input.userId))); - - return { success: true }; - }), - - leaveTeam: protectedProcedure - .input(z.object({ teamId: z.string().min(1) })) - .mutation(async ({ input, ctx }) => { - const memberRows = await ctx.db!.select() - .from(teamMembers) - .where(and(eq(teamMembers.teamId, input.teamId), eq(teamMembers.userId, ctx.userId!))); - - if (memberRows[0]?.role === 'owner') { - throw new TRPCError({ code: 'FORBIDDEN', message: 'Owner cannot leave the team. Transfer ownership first.' }); - } - - await ctx.db!.delete(teamMembers) - .where(and(eq(teamMembers.teamId, input.teamId), eq(teamMembers.userId, ctx.userId!))); - - return { success: true }; - }), -}; diff --git a/server/trpc/test-setup.ts b/server/trpc/test-setup.ts deleted file mode 100644 index 0d41ac221..000000000 --- a/server/trpc/test-setup.ts +++ /dev/null @@ -1,174 +0,0 @@ -import { drizzle } from 'drizzle-orm/better-sqlite3'; -import Database from 'better-sqlite3'; - -let testDb: ReturnType | null = null; -let sqlite: Database.Database | null = null; - -const schemaSQL = ` - CREATE TABLE IF NOT EXISTS users ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - clerk_id TEXT NOT NULL UNIQUE, - email TEXT NOT NULL UNIQUE, - name TEXT, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - - CREATE TABLE IF NOT EXISTS projects ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - name TEXT NOT NULL, - description TEXT, - owner_id INTEGER NOT NULL REFERENCES users(id), - is_public INTEGER NOT NULL DEFAULT 0, - theme TEXT, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - - CREATE TABLE IF NOT EXISTS characters ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - project_id INTEGER NOT NULL REFERENCES projects(id), - name TEXT NOT NULL, - slug TEXT NOT NULL, - role TEXT NOT NULL DEFAULT 'supporting', - bio TEXT, - description TEXT, - arc TEXT, - arc_type TEXT, - age INTEGER, - gender TEXT, - voice TEXT, - traits TEXT, - motivation TEXT, - conflict TEXT, - secret TEXT, - image_url TEXT, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP - ); - - CREATE TABLE IF NOT EXISTS character_relationships ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - character_a_id INTEGER NOT NULL REFERENCES characters(id), - character_b_id INTEGER NOT NULL REFERENCES characters(id), - relationship_type TEXT NOT NULL, - description TEXT, - strength INTEGER NOT NULL DEFAULT 50, - is_antagonistic INTEGER NOT NULL DEFAULT 0, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP - ); - - CREATE TABLE IF NOT EXISTS scenes ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - project_id INTEGER NOT NULL REFERENCES projects(id), - title TEXT NOT NULL, - content TEXT NOT NULL DEFAULT '', - "order" INTEGER NOT NULL DEFAULT 0, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP - ); - - CREATE TABLE IF NOT EXISTS scene_characters ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - scene_id INTEGER NOT NULL REFERENCES scenes(id), - character_id INTEGER NOT NULL REFERENCES characters(id), - screen_time INTEGER, - dialogue_lines INTEGER DEFAULT 0 - ); - - CREATE TABLE IF NOT EXISTS project_members ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - project_id INTEGER NOT NULL REFERENCES projects(id), - user_id INTEGER NOT NULL REFERENCES users(id), - role TEXT NOT NULL DEFAULT 'editor', - added_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - - CREATE TABLE IF NOT EXISTS scripts ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - project_id INTEGER NOT NULL REFERENCES projects(id), - title TEXT NOT NULL, - version TEXT NOT NULL DEFAULT '1.0', - content TEXT, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - -CREATE TABLE IF NOT EXISTS revisions ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - script_id INTEGER NOT NULL REFERENCES scripts(id), - version_number INTEGER NOT NULL, - branch_name TEXT NOT NULL DEFAULT 'main', - parent_revision_id INTEGER, - title TEXT NOT NULL, - summary TEXT, - content TEXT NOT NULL, - author_id INTEGER NOT NULL REFERENCES users(id), - status TEXT NOT NULL DEFAULT 'draft' CHECK(status IN ('draft', 'pending_review', 'accepted', 'rejected')), - reviewed_by_id INTEGER REFERENCES users(id), - reviewed_at TIMESTAMP, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - -CREATE TABLE IF NOT EXISTS revision_changes ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - revision_id INTEGER NOT NULL REFERENCES revisions(id), - change_type TEXT NOT NULL CHECK(change_type IN ('addition', 'deletion', 'modification')), - element_type TEXT, - old_content TEXT, - new_content TEXT, - scene_number INTEGER, - line_number INTEGER, - page_number INTEGER, - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - - CREATE TABLE IF NOT EXISTS teams ( - id TEXT PRIMARY KEY, - name TEXT NOT NULL, - owner_id INTEGER NOT NULL REFERENCES users(id), - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - - CREATE TABLE IF NOT EXISTS team_members ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - team_id TEXT NOT NULL REFERENCES teams(id), - user_id INTEGER NOT NULL REFERENCES users(id), - role TEXT NOT NULL DEFAULT 'editor', - joined_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - ); - `; - -export let globalSqlite: Database.Database | null = null; - -export async function getTestDb(): Promise> { - if (testDb && sqlite) return testDb; - - sqlite = new Database(':memory:'); - globalSqlite = sqlite; - sqlite.exec('PRAGMA foreign_keys = OFF;'); - sqlite.exec(schemaSQL); - sqlite.exec('PRAGMA foreign_keys = ON;'); - - // Insert a test user - sqlite.exec("INSERT INTO users (id, clerk_id, email, name) VALUES (1, 'user_test', 'test@test.com', 'Test User');"); - - // Insert a test project - sqlite.exec("INSERT INTO projects (id, name, description, owner_id) VALUES (1, 'Test Project', 'A test project', 1);"); - - // Insert a test script - sqlite.exec("INSERT INTO scripts (id, project_id, title, version) VALUES (1, 1, 'Test Script', '1.0');"); - - testDb = drizzle(sqlite); - - return testDb; -} - -export async function resetTestDb(): Promise> { - testDb = null; - sqlite = null; - globalSqlite = null; - return getTestDb(); -} diff --git a/server/trpc/types.ts b/server/trpc/types.ts deleted file mode 100644 index fa6effae8..000000000 --- a/server/trpc/types.ts +++ /dev/null @@ -1,166 +0,0 @@ -import { z } from 'zod'; - -// Base types - IDs are integers matching Drizzle schema -export const ProjectSchema = z.object({ - id: z.number().int().positive(), - name: z.string().min(1).max(255), - description: z.string().nullable(), - userId: z.number().int().positive(), - isPublic: z.boolean(), - createdAt: z.date(), - updatedAt: z.date(), -}); - -export const CharacterSchema = z.object({ - id: z.number().int().positive(), - name: z.string().min(1).max(100), - slug: z.string(), - description: z.string().nullable(), - bio: z.string().nullable(), - role: z.enum(['protagonist', 'antagonist', 'supporting', 'background', 'ensemble']), - arc: z.string().nullable(), - arcType: z.enum(['positive', 'negative', 'flat', 'complex']).nullable(), - age: z.number().int().nullable(), - gender: z.string().nullable(), - voice: z.string().nullable(), - traits: z.string().nullable(), - motivation: z.string().nullable(), - conflict: z.string().nullable(), - secret: z.string().nullable(), - imageUrl: z.string().nullable(), - projectId: z.number().int().positive(), - createdAt: z.date(), - updatedAt: z.date(), -}); - -export const CharacterRelationshipSchema = z.object({ - id: z.number().int().positive(), - characterIdA: z.number().int().positive(), - characterIdB: z.number().int().positive(), - relationshipType: z.enum(['family', 'romantic', 'friendship', 'rivalry', 'mentor', 'alliance', 'conflict', 'professional', 'other']), - description: z.string().nullable(), - strength: z.number().int().min(0).max(100), - isAntagonistic: z.boolean(), - createdAt: z.date(), - updatedAt: z.date(), -}); - -export const CharacterStatsSchema = z.object({ - characterId: z.number().int().positive(), - totalScreenTime: z.number().int(), - totalDialogueLines: z.number().int(), - sceneCount: z.number().int(), - relationshipCount: z.number().int(), -}); - -export const SceneSchema = z.object({ - id: z.number().int().positive(), - title: z.string().min(1), - content: z.string(), - projectId: z.number().int().positive(), - order: z.number().int().nonnegative(), - createdAt: z.date(), - updatedAt: z.date(), -}); - -// Input schemas -export const CreateProjectInputSchema = z.object({ - name: z.string().min(1).max(255), - description: z.string().optional(), -}); - -export const UpdateProjectInputSchema = z.object({ - id: z.number().int().positive(), - name: z.string().min(1).max(255).optional(), - description: z.string().optional(), -}); - -export const CreateCharacterInputSchema = z.object({ - name: z.string().min(1).max(100), - description: z.string().optional(), - bio: z.string().optional(), - role: z.enum(['protagonist', 'antagonist', 'supporting', 'background', 'ensemble']).optional(), - arc: z.string().optional(), - arcType: z.enum(['positive', 'negative', 'flat', 'complex']).optional(), - age: z.number().int().optional(), - gender: z.string().optional(), - voice: z.string().optional(), - traits: z.string().optional(), - motivation: z.string().optional(), - conflict: z.string().optional(), - secret: z.string().optional(), - imageUrl: z.string().url().optional(), - projectId: z.number().int().positive(), -}); - -export const UpdateCharacterInputSchema = z.object({ - id: z.number().int().positive(), - name: z.string().min(1).max(100).optional(), - description: z.string().optional(), - bio: z.string().optional(), - role: z.enum(['protagonist', 'antagonist', 'supporting', 'background', 'ensemble']).optional(), - arc: z.string().optional(), - arcType: z.enum(['positive', 'negative', 'flat', 'complex']).optional(), - age: z.number().int().optional(), - gender: z.string().optional(), - voice: z.string().optional(), - traits: z.string().optional(), - motivation: z.string().optional(), - conflict: z.string().optional(), - secret: z.string().optional(), - imageUrl: z.string().url().optional(), - projectId: z.number().int().positive().optional(), -}); - -export const CreateRelationshipInputSchema = z.object({ - characterIdA: z.number().int().positive(), - characterIdB: z.number().int().positive(), - relationshipType: z.enum(['family', 'romantic', 'friendship', 'rivalry', 'mentor', 'alliance', 'conflict', 'professional', 'other']), - description: z.string().optional(), - strength: z.number().int().min(0).max(100).optional(), - isAntagonistic: z.boolean().optional(), -}); - -export const UpdateRelationshipInputSchema = z.object({ - id: z.number().int().positive(), - relationshipType: z.enum(['family', 'romantic', 'friendship', 'rivalry', 'mentor', 'alliance', 'conflict', 'professional', 'other']).optional(), - description: z.string().optional(), - strength: z.number().int().min(0).max(100).optional(), - isAntagonistic: z.boolean().optional(), -}); - -export const SearchCharactersInputSchema = z.object({ - projectId: z.number().int().positive(), - query: z.string().optional(), - role: z.enum(['protagonist', 'antagonist', 'supporting', 'background', 'ensemble']).optional(), - arcType: z.enum(['positive', 'negative', 'flat', 'complex']).optional(), -}); - -export const CreateSceneInputSchema = z.object({ - title: z.string().min(1), - content: z.string().optional(), - projectId: z.number().int().positive(), - order: z.number().int().nonnegative(), -}); - -export const UpdateSceneInputSchema = z.object({ - id: z.number().int().positive(), - title: z.string().min(1).optional(), - content: z.string().optional(), - order: z.number().int().nonnegative().optional(), -}); - -// Response schemas -export const ProjectListSchema = z.array(ProjectSchema); -export const CharacterListSchema = z.array(CharacterSchema); -export const CharacterRelationshipListSchema = z.array(CharacterRelationshipSchema); -export const CharacterStatsListSchema = z.array(CharacterStatsSchema); -export const SceneListSchema = z.array(SceneSchema); - -// Auth context -export interface TRPCContext { - userId?: number; - clerkUserId?: string; - projectId?: number; - db?: import('../../src/db/config/migrations').DrizzleDB; -} diff --git a/server/trpc/waitlist-router.ts b/server/trpc/waitlist-router.ts deleted file mode 100644 index 5333abbd3..000000000 --- a/server/trpc/waitlist-router.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { publicProcedure } from './router'; -import { z } from 'zod'; -import { eq, sql } from 'drizzle-orm'; -import { waitlistSignups, waitlistEvents } from '../../src/db/schema'; - -function generateReferralCode(length = 8): string { - const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - let code = ''; - for (let i = 0; i < length; i++) { - code += chars.charAt(Math.floor(Math.random() * chars.length)); - } - return code; -} - -export const waitlistRouter = { - signup: publicProcedure - .input(z.object({ - email: z.string().email(), - name: z.string().min(1).max(200).optional(), - source: z.string().max(100).optional().default('organic'), - referralCode: z.string().max(20).optional(), - })) - .mutation(async ({ input, ctx }) => { - const existingRows = await ctx.db!.select() - .from(waitlistSignups) - .where(eq(waitlistSignups.email, input.email.toLowerCase())); - const existing = existingRows[0]; - - if (existing) { - const metaStr = (existing as Record).metadata as string | null; - const existingMeta = metaStr ? JSON.parse(metaStr) : {}; - return { success: true, alreadyJoined: true, id: existing.id, referralCode: existingMeta.referralCode || null }; - } - - const metadata: Record = {}; - if (input.referralCode) { - metadata.referredBy = input.referralCode; - } - metadata.referralCode = generateReferralCode(); - - const result = await ctx.db!.insert(waitlistSignups) - .values({ - email: input.email.toLowerCase(), - name: input.name ?? null, - source: input.source ?? 'organic', - metadata: JSON.stringify(metadata), - }) - .returning(); - - const signup = result[0]; - - await ctx.db!.insert(waitlistEvents) - .values({ - signupId: signup!.id, - eventType: 'signup', - eventData: JSON.stringify({ source: input.source, referralCode: input.referralCode }), - }); - - const referralCode = metadata.referralCode as string; - return { success: true, alreadyJoined: false, id: signup!.id, referralCode }; - }), - - getCount: publicProcedure - .query(async ({ ctx }) => { - const result = await ctx.db!.select({ count: sql`count(*)` }) - .from(waitlistSignups) - .where(eq(waitlistSignups.status, 'waitlist')); - return { count: Number(result[0]!.count) }; - }), - - getReferralCount: publicProcedure - .input(z.object({ referralCode: z.string().min(1).max(20) })) - .query(async ({ input, ctx }) => { - const rows = await ctx.db!.select({ id: waitlistSignups.id }) - .from(waitlistSignups) - .where(eq(waitlistSignups.status, 'waitlist')); - - let count = 0; - for (const row of rows) { - const metaStr = (row as Record).metadata as string | null; - const meta = metaStr ? JSON.parse(metaStr) : {}; - if (meta.referredBy === input.referralCode) { - count++; - } - } - return { count }; - }), -}; diff --git a/src-tauri/128x128.png b/src-tauri/128x128.png deleted file mode 100644 index 3105f5443..000000000 Binary files a/src-tauri/128x128.png and /dev/null differ diff --git a/src-tauri/128x128@2x.png b/src-tauri/128x128@2x.png deleted file mode 100644 index cb0c0fb51..000000000 Binary files a/src-tauri/128x128@2x.png and /dev/null differ diff --git a/src-tauri/32x32.png b/src-tauri/32x32.png deleted file mode 100644 index 74f5ecbc1..000000000 Binary files a/src-tauri/32x32.png and /dev/null differ diff --git a/src-tauri/512x512.png b/src-tauri/512x512.png deleted file mode 100644 index 804e3c510..000000000 Binary files a/src-tauri/512x512.png and /dev/null differ diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock deleted file mode 100644 index c4b8b8f3e..000000000 --- a/src-tauri/Cargo.lock +++ /dev/null @@ -1,5817 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "adler2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" - -[[package]] -name = "aho-corasick" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" -dependencies = [ - "memchr", -] - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.102" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" - -[[package]] -name = "atk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" -dependencies = [ - "atk-sys", - "glib", - "libc", -] - -[[package]] -name = "atk-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "autocfg" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "bit-set" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" -dependencies = [ - "serde_core", -] - -[[package]] -name = "block" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "block2" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" -dependencies = [ - "objc2", -] - -[[package]] -name = "brotli" -version = "8.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bumpalo" -version = "3.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" - -[[package]] -name = "bytemuck" -version = "1.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" -dependencies = [ - "serde", -] - -[[package]] -name = "cairo-rs" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" -dependencies = [ - "bitflags 2.11.1", - "cairo-sys-rs", - "glib", - "libc", - "once_cell", - "thiserror 1.0.69", -] - -[[package]] -name = "cairo-sys-rs" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "camino" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" -dependencies = [ - "serde_core", -] - -[[package]] -name = "cargo-platform" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror 2.0.18", -] - -[[package]] -name = "cargo_toml" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" -dependencies = [ - "serde", - "toml 0.9.12+spec-1.1.0", -] - -[[package]] -name = "cc" -version = "1.2.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d" -dependencies = [ - "find-msvc-tools", - "shlex", -] - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[package]] -name = "cfb" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" -dependencies = [ - "byteorder", - "fnv", - "uuid", -] - -[[package]] -name = "cfg-expr" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" -dependencies = [ - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cfg-if" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "chrono" -version = "0.4.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" -dependencies = [ - "iana-time-zone", - "num-traits", - "serde", - "windows-link 0.2.1", -] - -[[package]] -name = "cocoa" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation", - "core-foundation 0.9.4", - "core-graphics 0.23.2", - "foreign-types", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-foundation 0.9.4", - "core-graphics-types 0.1.3", - "libc", - "objc", -] - -[[package]] -name = "combine" -version = "4.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" -dependencies = [ - "bytes", - "memchr", -] - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "cookie" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" -dependencies = [ - "percent-encoding", - "time", - "version_check", -] - -[[package]] -name = "cookie_store" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b2c103cf610ec6cae3da84a766285b42fd16aad564758459e6ecf128c75206" -dependencies = [ - "cookie", - "document-features", - "idna", - "log", - "publicsuffix", - "serde", - "serde_derive", - "serde_json", - "time", - "url", -] - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "core-graphics" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" -dependencies = [ - "bitflags 1.3.2", - "core-foundation 0.9.4", - "core-graphics-types 0.1.3", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97" -dependencies = [ - "bitflags 2.11.1", - "core-foundation 0.10.1", - "core-graphics-types 0.2.0", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" -dependencies = [ - "bitflags 1.3.2", - "core-foundation 0.9.4", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" -dependencies = [ - "bitflags 2.11.1", - "core-foundation 0.10.1", - "libc", -] - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crypto-common" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "cssparser" -version = "0.29.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa" -dependencies = [ - "cssparser-macros", - "dtoa-short", - "itoa", - "matches", - "phf 0.10.1", - "proc-macro2", - "quote", - "smallvec", - "syn 1.0.109", -] - -[[package]] -name = "cssparser" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2" -dependencies = [ - "cssparser-macros", - "dtoa-short", - "itoa", - "phf 0.13.1", - "smallvec", -] - -[[package]] -name = "cssparser-macros" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" -dependencies = [ - "quote", - "syn 2.0.117", -] - -[[package]] -name = "ctor" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" -dependencies = [ - "quote", - "syn 2.0.117", -] - -[[package]] -name = "darling" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" -dependencies = [ - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.117", -] - -[[package]] -name = "darling_macro" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "data-url" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" - -[[package]] -name = "deranged" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" -dependencies = [ - "powerfmt", - "serde_core", -] - -[[package]] -name = "derive_more" -version = "0.99.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.117", -] - -[[package]] -name = "derive_more" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" -dependencies = [ - "derive_more-impl", -] - -[[package]] -name = "derive_more-impl" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.117", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[package]] -name = "dirs" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.61.2", -] - -[[package]] -name = "dispatch2" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" -dependencies = [ - "bitflags 2.11.1", - "block2", - "libc", - "objc2", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "dlopen2" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" -dependencies = [ - "dlopen2_derive", - "libc", - "once_cell", - "winapi", -] - -[[package]] -name = "dlopen2_derive" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "document-features" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" -dependencies = [ - "litrs", -] - -[[package]] -name = "dom_query" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521e380c0c8afb8d9a1e83a1822ee03556fc3e3e7dbc1fd30be14e37f9cb3f89" -dependencies = [ - "bit-set", - "cssparser 0.36.0", - "foldhash 0.2.0", - "html5ever 0.38.0", - "precomputed-hash", - "selectors 0.36.1", - "tendril 0.5.0", -] - -[[package]] -name = "dpi" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" -dependencies = [ - "serde", -] - -[[package]] -name = "dtoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" - -[[package]] -name = "dtoa-short" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" -dependencies = [ - "dtoa", -] - -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - -[[package]] -name = "dyn-clone" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" - -[[package]] -name = "embed-resource" -version = "3.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31a88c8d26de40ed18fe748c547845aa39de1db3afd958f8cb91579f3644bcb" -dependencies = [ - "cc", - "memchr", - "rustc_version", - "toml 1.1.2+spec-1.1.0", - "vswhom", - "winreg", -] - -[[package]] -name = "embed_plist" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" - -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "env_logger" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "erased-serde" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" -dependencies = [ - "serde", - "serde_core", - "typeid", -] - -[[package]] -name = "errno" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" -dependencies = [ - "libc", - "windows-sys 0.61.2", -] - -[[package]] -name = "fastrand" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" - -[[package]] -name = "fdeflate" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "field-offset" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" -dependencies = [ - "memoffset", - "rustc_version", -] - -[[package]] -name = "find-msvc-tools" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" - -[[package]] -name = "flate2" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "foldhash" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" - -[[package]] -name = "foreign-types" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" -dependencies = [ - "foreign-types-macros", - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-macros" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "foreign-types-shared" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" - -[[package]] -name = "form_urlencoded" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "frenocorp-desktop" -version = "0.1.0" -dependencies = [ - "cocoa", - "env_logger", - "gtk", - "log", - "serde", - "serde_json", - "tauri", - "tauri-build", - "tauri-plugin-dialog", - "tauri-plugin-fs", - "tauri-plugin-http", - "tauri-plugin-shell", - "tauri-plugin-store", - "thiserror 1.0.69", - "tokio", - "windows 0.52.0", -] - -[[package]] -name = "futf" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" -dependencies = [ - "mac", - "new_debug_unreachable", -] - -[[package]] -name = "futures-channel" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" - -[[package]] -name = "futures-executor" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" - -[[package]] -name = "futures-macro" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "futures-sink" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" - -[[package]] -name = "futures-task" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" - -[[package]] -name = "futures-util" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" -dependencies = [ - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "slab", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "gdk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" -dependencies = [ - "cairo-rs", - "gdk-pixbuf", - "gdk-sys", - "gio", - "glib", - "libc", - "pango", -] - -[[package]] -name = "gdk-pixbuf" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" -dependencies = [ - "gdk-pixbuf-sys", - "gio", - "glib", - "libc", - "once_cell", -] - -[[package]] -name = "gdk-pixbuf-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gdk-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" -dependencies = [ - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "pkg-config", - "system-deps", -] - -[[package]] -name = "gdkwayland-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" -dependencies = [ - "gdk-sys", - "glib-sys", - "gobject-sys", - "libc", - "pkg-config", - "system-deps", -] - -[[package]] -name = "gdkx11" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" -dependencies = [ - "gdk", - "gdkx11-sys", - "gio", - "glib", - "libc", - "x11", -] - -[[package]] -name = "gdkx11-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" -dependencies = [ - "gdk-sys", - "glib-sys", - "libc", - "system-deps", - "x11", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.1+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "r-efi 5.3.0", - "wasip2", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" -dependencies = [ - "cfg-if", - "libc", - "r-efi 6.0.0", - "wasip2", - "wasip3", -] - -[[package]] -name = "gio" -version = "0.18.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "gio-sys", - "glib", - "libc", - "once_cell", - "pin-project-lite", - "smallvec", - "thiserror 1.0.69", -] - -[[package]] -name = "gio-sys" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", - "winapi", -] - -[[package]] -name = "glib" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" -dependencies = [ - "bitflags 2.11.1", - "futures-channel", - "futures-core", - "futures-executor", - "futures-task", - "futures-util", - "gio-sys", - "glib-macros", - "glib-sys", - "gobject-sys", - "libc", - "memchr", - "once_cell", - "smallvec", - "thiserror 1.0.69", -] - -[[package]] -name = "glib-macros" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" -dependencies = [ - "heck 0.4.1", - "proc-macro-crate 2.0.2", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "glib-sys" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" -dependencies = [ - "libc", - "system-deps", -] - -[[package]] -name = "glob" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" - -[[package]] -name = "gobject-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gtk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" -dependencies = [ - "atk", - "cairo-rs", - "field-offset", - "futures-channel", - "gdk", - "gdk-pixbuf", - "gio", - "glib", - "gtk-sys", - "gtk3-macros", - "libc", - "pango", - "pkg-config", -] - -[[package]] -name = "gtk-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" -dependencies = [ - "atk-sys", - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "system-deps", -] - -[[package]] -name = "gtk3-macros" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "h2" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http", - "indexmap 2.14.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" -dependencies = [ - "foldhash 0.1.5", -] - -[[package]] -name = "hashbrown" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "html5ever" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7410cae13cbc75623c98ac4cbfd1f0bedddf3227afc24f370cf0f50a44a11c" -dependencies = [ - "log", - "mac", - "markup5ever 0.14.1", - "match_token", -] - -[[package]] -name = "html5ever" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2" -dependencies = [ - "log", - "markup5ever 0.38.0", -] - -[[package]] -name = "http" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" -dependencies = [ - "bytes", - "itoa", -] - -[[package]] -name = "http-body" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" -dependencies = [ - "bytes", - "http", -] - -[[package]] -name = "http-body-util" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" -dependencies = [ - "bytes", - "futures-core", - "http", - "http-body", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - -[[package]] -name = "humantime" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" - -[[package]] -name = "hyper" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" -dependencies = [ - "atomic-waker", - "bytes", - "futures-channel", - "futures-core", - "h2", - "http", - "http-body", - "httparse", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.27.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" -dependencies = [ - "http", - "hyper", - "hyper-util", - "rustls", - "tokio", - "tokio-rustls", - "tower-service", - "webpki-roots", -] - -[[package]] -name = "hyper-util" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures-channel", - "futures-util", - "http", - "http-body", - "hyper", - "ipnet", - "libc", - "percent-encoding", - "pin-project-lite", - "socket2", - "system-configuration", - "tokio", - "tower-service", - "tracing", - "windows-registry", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.65" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core 0.62.2", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ico" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e795dff5605e0f04bff85ca41b51a96b83e80b281e96231bcaaf1ac35103371" -dependencies = [ - "byteorder", - "png", -] - -[[package]] -name = "icu_collections" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" -dependencies = [ - "displaydoc", - "potential_utf", - "utf8_iter", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locale_core" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_normalizer" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" -dependencies = [ - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" - -[[package]] -name = "icu_properties" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" -dependencies = [ - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" - -[[package]] -name = "icu_provider" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" -dependencies = [ - "displaydoc", - "icu_locale_core", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", -] - -[[package]] -name = "id-arena" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" -dependencies = [ - "equivalent", - "hashbrown 0.17.0", - "serde", - "serde_core", -] - -[[package]] -name = "infer" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" -dependencies = [ - "cfb", -] - -[[package]] -name = "ipnet" -version = "2.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" - -[[package]] -name = "iri-string" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "is-docker" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" -dependencies = [ - "once_cell", -] - -[[package]] -name = "is-terminal" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.61.2", -] - -[[package]] -name = "is-wsl" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" -dependencies = [ - "is-docker", - "once_cell", -] - -[[package]] -name = "itoa" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" - -[[package]] -name = "javascriptcore-rs" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" -dependencies = [ - "bitflags 1.3.2", - "glib", - "javascriptcore-rs-sys", -] - -[[package]] -name = "javascriptcore-rs-sys" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine", - "jni-sys 0.3.1", - "log", - "thiserror 1.0.69", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni-sys" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" -dependencies = [ - "jni-sys 0.4.1", -] - -[[package]] -name = "jni-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" -dependencies = [ - "jni-sys-macros", -] - -[[package]] -name = "jni-sys-macros" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" -dependencies = [ - "quote", - "syn 2.0.117", -] - -[[package]] -name = "js-sys" -version = "0.3.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca" -dependencies = [ - "cfg-if", - "futures-util", - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "json-patch" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" -dependencies = [ - "jsonptr", - "serde", - "serde_json", - "thiserror 1.0.69", -] - -[[package]] -name = "jsonptr" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "keyboard-types" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" -dependencies = [ - "bitflags 2.11.1", - "serde", - "unicode-segmentation", -] - -[[package]] -name = "kuchikiki" -version = "0.8.8-speedreader" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2" -dependencies = [ - "cssparser 0.29.6", - "html5ever 0.29.1", - "indexmap 2.14.0", - "selectors 0.24.0", -] - -[[package]] -name = "leb128fmt" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" - -[[package]] -name = "libappindicator" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" -dependencies = [ - "glib", - "gtk", - "gtk-sys", - "libappindicator-sys", - "log", -] - -[[package]] -name = "libappindicator-sys" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" -dependencies = [ - "gtk-sys", - "libloading", - "once_cell", -] - -[[package]] -name = "libc" -version = "0.2.186" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - -[[package]] -name = "libredox" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" -dependencies = [ - "libc", -] - -[[package]] -name = "litemap" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" - -[[package]] -name = "litrs" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" - -[[package]] -name = "lock_api" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" - -[[package]] -name = "lru-slab" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" - -[[package]] -name = "mac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" - -[[package]] -name = "malloc_buf" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -dependencies = [ - "libc", -] - -[[package]] -name = "markup5ever" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18" -dependencies = [ - "log", - "phf 0.11.3", - "phf_codegen 0.11.3", - "string_cache 0.8.9", - "string_cache_codegen 0.5.4", - "tendril 0.4.3", -] - -[[package]] -name = "markup5ever" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8983d30f2915feeaaab2d6babdd6bc7e9ed1a00b66b5e6d74df19aa9c0e91862" -dependencies = [ - "log", - "tendril 0.5.0", - "web_atoms", -] - -[[package]] -name = "match_token" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - -[[package]] -name = "memchr" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "miniz_oxide" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" -dependencies = [ - "adler2", - "simd-adler32", -] - -[[package]] -name = "mio" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" -dependencies = [ - "libc", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.61.2", -] - -[[package]] -name = "muda" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c9fec5a4e89860383d778d10563a605838f8f0b2f9303868937e5ff32e86177" -dependencies = [ - "crossbeam-channel", - "dpi", - "gtk", - "keyboard-types", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "once_cell", - "png", - "serde", - "thiserror 2.0.18", - "windows-sys 0.60.2", -] - -[[package]] -name = "ndk" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" -dependencies = [ - "bitflags 2.11.1", - "jni-sys 0.3.1", - "log", - "ndk-sys", - "num_enum", - "raw-window-handle", - "thiserror 1.0.69", -] - -[[package]] -name = "ndk-context" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" - -[[package]] -name = "ndk-sys" -version = "0.6.0+11769913" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" -dependencies = [ - "jni-sys 0.3.1", -] - -[[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - -[[package]] -name = "num-conv" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_enum" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" -dependencies = [ - "num_enum_derive", - "rustversion", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" -dependencies = [ - "proc-macro-crate 3.5.0", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "objc" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" -dependencies = [ - "malloc_buf", -] - -[[package]] -name = "objc2" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" -dependencies = [ - "objc2-encode", - "objc2-exception-helper", -] - -[[package]] -name = "objc2-app-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" -dependencies = [ - "bitflags 2.11.1", - "block2", - "objc2", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" -dependencies = [ - "bitflags 2.11.1", - "dispatch2", - "objc2", -] - -[[package]] -name = "objc2-core-graphics" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" -dependencies = [ - "bitflags 2.11.1", - "dispatch2", - "objc2", - "objc2-core-foundation", - "objc2-io-surface", -] - -[[package]] -name = "objc2-encode" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" - -[[package]] -name = "objc2-exception-helper" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" -dependencies = [ - "cc", -] - -[[package]] -name = "objc2-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" -dependencies = [ - "bitflags 2.11.1", - "block2", - "libc", - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-io-surface" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" -dependencies = [ - "bitflags 2.11.1", - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-quartz-core" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" -dependencies = [ - "bitflags 2.11.1", - "objc2", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "objc2-ui-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" -dependencies = [ - "bitflags 2.11.1", - "objc2", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "objc2-web-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" -dependencies = [ - "bitflags 2.11.1", - "block2", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "once_cell" -version = "1.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" - -[[package]] -name = "open" -version = "5.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3bab717c29a857abf75fcef718d441ec7cb2725f937343c734740a985d37fd" -dependencies = [ - "dunce", - "is-wsl", - "libc", - "pathdiff", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "os_pipe" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" -dependencies = [ - "libc", - "windows-sys 0.61.2", -] - -[[package]] -name = "pango" -version = "0.18.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" -dependencies = [ - "gio", - "glib", - "libc", - "once_cell", - "pango-sys", -] - -[[package]] -name = "pango-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "parking_lot" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-link 0.2.1", -] - -[[package]] -name = "pathdiff" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" - -[[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "phf" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" -dependencies = [ - "phf_shared 0.8.0", -] - -[[package]] -name = "phf" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" -dependencies = [ - "phf_macros 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", -] - -[[package]] -name = "phf" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" -dependencies = [ - "phf_macros 0.11.3", - "phf_shared 0.11.3", -] - -[[package]] -name = "phf" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" -dependencies = [ - "phf_macros 0.13.1", - "phf_shared 0.13.1", - "serde", -] - -[[package]] -name = "phf_codegen" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" -dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", -] - -[[package]] -name = "phf_codegen" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" -dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", -] - -[[package]] -name = "phf_codegen" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1" -dependencies = [ - "phf_generator 0.13.1", - "phf_shared 0.13.1", -] - -[[package]] -name = "phf_generator" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" -dependencies = [ - "phf_shared 0.8.0", - "rand 0.7.3", -] - -[[package]] -name = "phf_generator" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" -dependencies = [ - "phf_shared 0.10.0", - "rand 0.8.6", -] - -[[package]] -name = "phf_generator" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" -dependencies = [ - "phf_shared 0.11.3", - "rand 0.8.6", -] - -[[package]] -name = "phf_generator" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" -dependencies = [ - "fastrand", - "phf_shared 0.13.1", -] - -[[package]] -name = "phf_macros" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "phf_macros" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" -dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "phf_macros" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" -dependencies = [ - "phf_generator 0.13.1", - "phf_shared 0.13.1", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "phf_shared" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" -dependencies = [ - "siphasher 0.3.11", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher 0.3.11", -] - -[[package]] -name = "phf_shared" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" -dependencies = [ - "siphasher 1.0.2", -] - -[[package]] -name = "phf_shared" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" -dependencies = [ - "siphasher 1.0.2", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" - -[[package]] -name = "pkg-config" -version = "0.3.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" - -[[package]] -name = "plist" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" -dependencies = [ - "base64 0.22.1", - "indexmap 2.14.0", - "quick-xml", - "serde", - "time", -] - -[[package]] -name = "png" -version = "0.17.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "potential_utf" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" -dependencies = [ - "zerovec", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - -[[package]] -name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2", - "syn 2.0.117", -] - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" -dependencies = [ - "toml_datetime 0.6.3", - "toml_edit 0.20.2", -] - -[[package]] -name = "proc-macro-crate" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" -dependencies = [ - "toml_edit 0.25.11+spec-1.1.0", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - -[[package]] -name = "proc-macro2" -version = "1.0.106" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "psl-types" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" - -[[package]] -name = "publicsuffix" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" -dependencies = [ - "idna", - "psl-types", -] - -[[package]] -name = "quick-xml" -version = "0.38.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" -dependencies = [ - "memchr", -] - -[[package]] -name = "quinn" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" -dependencies = [ - "bytes", - "cfg_aliases", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash", - "rustls", - "socket2", - "thiserror 2.0.18", - "tokio", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-proto" -version = "0.11.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" -dependencies = [ - "bytes", - "getrandom 0.3.4", - "lru-slab", - "rand 0.9.4", - "ring", - "rustc-hash", - "rustls", - "rustls-pki-types", - "slab", - "thiserror 2.0.18", - "tinyvec", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-udp" -version = "0.5.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" -dependencies = [ - "cfg_aliases", - "libc", - "once_cell", - "socket2", - "tracing", - "windows-sys 0.60.2", -] - -[[package]] -name = "quote" -version = "1.0.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r-efi" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" - -[[package]] -name = "r-efi" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", - "rand_pcg", -] - -[[package]] -name = "rand" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.5", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.5", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.17", -] - -[[package]] -name = "rand_core" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" -dependencies = [ - "getrandom 0.3.4", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "raw-window-handle" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" - -[[package]] -name = "redox_syscall" -version = "0.5.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" -dependencies = [ - "bitflags 2.11.1", -] - -[[package]] -name = "redox_users" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" -dependencies = [ - "getrandom 0.2.17", - "libredox", - "thiserror 2.0.18", -] - -[[package]] -name = "ref-cast" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "regex" -version = "1.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" - -[[package]] -name = "reqwest" -version = "0.12.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" -dependencies = [ - "base64 0.22.1", - "bytes", - "cookie", - "cookie_store", - "encoding_rs", - "futures-core", - "h2", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-rustls", - "hyper-util", - "js-sys", - "log", - "mime", - "percent-encoding", - "pin-project-lite", - "quinn", - "rustls", - "rustls-pki-types", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tokio-rustls", - "tower", - "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "webpki-roots", -] - -[[package]] -name = "reqwest" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-util", - "js-sys", - "log", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "sync_wrapper", - "tokio", - "tokio-util", - "tower", - "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", -] - -[[package]] -name = "rfd" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15ad77d9e70a92437d8f74c35d99b4e4691128df018833e99f90bcd36152672" -dependencies = [ - "block2", - "dispatch2", - "glib-sys", - "gobject-sys", - "gtk-sys", - "js-sys", - "log", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "raw-window-handle", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows-sys 0.60.2", -] - -[[package]] -name = "ring" -version = "0.17.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.17", - "libc", - "untrusted", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustc-hash" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - -[[package]] -name = "rustls" -version = "0.23.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2c118cb077cca2822033836dfb1b975355dfb784b5e8da48f7b6c5db74e60e" -dependencies = [ - "once_cell", - "ring", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pki-types" -version = "1.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" -dependencies = [ - "web-time", - "zeroize", -] - -[[package]] -name = "rustls-webpki" -version = "0.103.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - -[[package]] -name = "rustversion" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" - -[[package]] -name = "ryu" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "schemars" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" -dependencies = [ - "dyn-clone", - "indexmap 1.9.3", - "schemars_derive", - "serde", - "serde_json", - "url", - "uuid", -] - -[[package]] -name = "schemars" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - -[[package]] -name = "schemars" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.117", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "selectors" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416" -dependencies = [ - "bitflags 1.3.2", - "cssparser 0.29.6", - "derive_more 0.99.20", - "fxhash", - "log", - "phf 0.8.0", - "phf_codegen 0.8.0", - "precomputed-hash", - "servo_arc 0.2.0", - "smallvec", -] - -[[package]] -name = "selectors" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5d9c0c92a92d33f08817311cf3f2c29a3538a8240e94a6a3c622ce652d7e00c" -dependencies = [ - "bitflags 2.11.1", - "cssparser 0.36.0", - "derive_more 2.1.1", - "log", - "new_debug_unreachable", - "phf 0.13.1", - "phf_codegen 0.13.1", - "precomputed-hash", - "rustc-hash", - "servo_arc 0.4.3", - "smallvec", -] - -[[package]] -name = "semver" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" -dependencies = [ - "serde", - "serde_core", -] - -[[package]] -name = "serde" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" -dependencies = [ - "serde_core", - "serde_derive", -] - -[[package]] -name = "serde-untagged" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" -dependencies = [ - "erased-serde", - "serde", - "serde_core", - "typeid", -] - -[[package]] -name = "serde_core" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "serde_derive_internals" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "serde_json" -version = "1.0.149" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" -dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] - -[[package]] -name = "serde_repr" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "serde_spanned" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_spanned" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" -dependencies = [ - "serde_core", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "3.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" -dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.14.0", - "schemars 0.9.0", - "schemars 1.2.1", - "serde_core", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "serialize-to-javascript" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" -dependencies = [ - "serde", - "serde_json", - "serialize-to-javascript-impl", -] - -[[package]] -name = "serialize-to-javascript-impl" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "servo_arc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741" -dependencies = [ - "nodrop", - "stable_deref_trait", -] - -[[package]] -name = "servo_arc" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "170fb83ab34de17dc69aa7c67482b22218ddb85da56546f9bd6b929e32a05930" -dependencies = [ - "stable_deref_trait", -] - -[[package]] -name = "sha2" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "shared_child" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e362d9935bc50f019969e2f9ecd66786612daae13e8f277be7bfb66e8bed3f7" -dependencies = [ - "libc", - "sigchld", - "windows-sys 0.60.2", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "sigchld" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47106eded3c154e70176fc83df9737335c94ce22f821c32d17ed1db1f83badb1" -dependencies = [ - "libc", - "os_pipe", - "signal-hook", -] - -[[package]] -name = "signal-hook" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" -dependencies = [ - "errno", - "libc", -] - -[[package]] -name = "simd-adler32" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "siphasher" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" - -[[package]] -name = "slab" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" - -[[package]] -name = "smallvec" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" - -[[package]] -name = "socket2" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" -dependencies = [ - "libc", - "windows-sys 0.61.2", -] - -[[package]] -name = "softbuffer" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" -dependencies = [ - "bytemuck", - "js-sys", - "ndk", - "objc2", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation", - "objc2-quartz-core", - "raw-window-handle", - "redox_syscall", - "tracing", - "wasm-bindgen", - "web-sys", - "windows-sys 0.61.2", -] - -[[package]] -name = "soup3" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" -dependencies = [ - "futures-channel", - "gio", - "glib", - "libc", - "soup3-sys", -] - -[[package]] -name = "soup3-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" - -[[package]] -name = "string_cache" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" -dependencies = [ - "new_debug_unreachable", - "parking_lot", - "phf_shared 0.11.3", - "precomputed-hash", - "serde", -] - -[[package]] -name = "string_cache" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901" -dependencies = [ - "new_debug_unreachable", - "parking_lot", - "phf_shared 0.13.1", - "precomputed-hash", -] - -[[package]] -name = "string_cache_codegen" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" -dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", - "proc-macro2", - "quote", -] - -[[package]] -name = "string_cache_codegen" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69" -dependencies = [ - "phf_generator 0.13.1", - "phf_shared 0.13.1", - "proc-macro2", - "quote", -] - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "swift-rs" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7" -dependencies = [ - "base64 0.21.7", - "serde", - "serde_json", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.117" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" -dependencies = [ - "futures-core", -] - -[[package]] -name = "synstructure" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "system-configuration" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" -dependencies = [ - "bitflags 2.11.1", - "core-foundation 0.9.4", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "system-deps" -version = "6.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" -dependencies = [ - "cfg-expr", - "heck 0.5.0", - "pkg-config", - "toml 0.8.2", - "version-compare", -] - -[[package]] -name = "tao" -version = "0.34.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9103edf55f2da3c82aea4c7fab7c4241032bfeea0e71fa557d98e00e7ce7cc20" -dependencies = [ - "bitflags 2.11.1", - "block2", - "core-foundation 0.10.1", - "core-graphics 0.25.0", - "crossbeam-channel", - "dispatch2", - "dlopen2", - "dpi", - "gdkwayland-sys", - "gdkx11-sys", - "gtk", - "jni", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "once_cell", - "parking_lot", - "raw-window-handle", - "tao-macros", - "unicode-segmentation", - "url", - "windows 0.61.3", - "windows-core 0.61.2", - "windows-version", - "x11-dl", -] - -[[package]] -name = "tao-macros" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - -[[package]] -name = "tauri" -version = "2.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da77cc00fb9028caf5b5d4650f75e31f1ef3693459dfca7f7e506d1ecef0ba2d" -dependencies = [ - "anyhow", - "bytes", - "cookie", - "dirs", - "dunce", - "embed_plist", - "getrandom 0.3.4", - "glob", - "gtk", - "heck 0.5.0", - "http", - "jni", - "libc", - "log", - "mime", - "muda", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "objc2-ui-kit", - "objc2-web-kit", - "percent-encoding", - "plist", - "raw-window-handle", - "reqwest 0.13.2", - "serde", - "serde_json", - "serde_repr", - "serialize-to-javascript", - "swift-rs", - "tauri-build", - "tauri-macros", - "tauri-runtime", - "tauri-runtime-wry", - "tauri-utils", - "thiserror 2.0.18", - "tokio", - "tray-icon", - "url", - "webkit2gtk", - "webview2-com", - "window-vibrancy", - "windows 0.61.3", -] - -[[package]] -name = "tauri-build" -version = "2.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bbc990d1dbf57a8e1c7fa2327f2a614d8b757805603c1b9ba5c81bade09fd4d" -dependencies = [ - "anyhow", - "cargo_toml", - "dirs", - "glob", - "heck 0.5.0", - "json-patch", - "schemars 0.8.22", - "semver", - "serde", - "serde_json", - "tauri-utils", - "tauri-winres", - "toml 0.9.12+spec-1.1.0", - "walkdir", -] - -[[package]] -name = "tauri-codegen" -version = "2.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a24476afd977c5d5d169f72425868613d82747916dd29e0a357c84c4bd6d29" -dependencies = [ - "base64 0.22.1", - "brotli", - "ico", - "json-patch", - "plist", - "png", - "proc-macro2", - "quote", - "semver", - "serde", - "serde_json", - "sha2", - "syn 2.0.117", - "tauri-utils", - "thiserror 2.0.18", - "time", - "url", - "uuid", - "walkdir", -] - -[[package]] -name = "tauri-macros" -version = "2.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d39b349a98dadaffebb73f0a40dcd1f23c999211e5a2e744403db384d0c33de7" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.117", - "tauri-codegen", - "tauri-utils", -] - -[[package]] -name = "tauri-plugin" -version = "2.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddde7d51c907b940fb573006cdda9a642d6a7c8153657e88f8a5c3c9290cd4aa" -dependencies = [ - "anyhow", - "glob", - "plist", - "schemars 0.8.22", - "serde", - "serde_json", - "tauri-utils", - "toml 0.9.12+spec-1.1.0", - "walkdir", -] - -[[package]] -name = "tauri-plugin-dialog" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1fa4150c95ae391946cc8b8f905ab14797427caba3a8a2f79628e956da91809" -dependencies = [ - "log", - "raw-window-handle", - "rfd", - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "tauri-plugin-fs", - "thiserror 2.0.18", - "url", -] - -[[package]] -name = "tauri-plugin-fs" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36e1ec28b79f3d0683f4507e1615c36292c0ea6716668770d4396b9b39871ed8" -dependencies = [ - "anyhow", - "dunce", - "glob", - "log", - "objc2-foundation", - "percent-encoding", - "schemars 0.8.22", - "serde", - "serde_json", - "serde_repr", - "tauri", - "tauri-plugin", - "tauri-utils", - "thiserror 2.0.18", - "toml 0.9.12+spec-1.1.0", - "url", -] - -[[package]] -name = "tauri-plugin-http" -version = "2.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfba7d4ec72763f9d1fdf73c217747f01e2c84b08b87a8cacd2f94f35853f84d" -dependencies = [ - "bytes", - "cookie_store", - "data-url", - "http", - "regex", - "reqwest 0.12.28", - "schemars 0.8.22", - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "tauri-plugin-fs", - "thiserror 2.0.18", - "tokio", - "url", - "urlpattern", -] - -[[package]] -name = "tauri-plugin-shell" -version = "2.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8457dbf9e2bab1edd8df22bb2c20857a59a9868e79cb3eac5ed639eec4d0c73b" -dependencies = [ - "encoding_rs", - "log", - "open", - "os_pipe", - "regex", - "schemars 0.8.22", - "serde", - "serde_json", - "shared_child", - "tauri", - "tauri-plugin", - "thiserror 2.0.18", - "tokio", -] - -[[package]] -name = "tauri-plugin-store" -version = "2.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca1a8ff83c269b115e98726ffc13f9e548a10161544a92ad121d6d0a96e16ea" -dependencies = [ - "dunce", - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "thiserror 2.0.18", - "tokio", - "tracing", -] - -[[package]] -name = "tauri-runtime" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2826d79a3297ed08cd6ea7f412644ef58e32969504bc4fbd8d7dbeabc4445ea2" -dependencies = [ - "cookie", - "dpi", - "gtk", - "http", - "jni", - "objc2", - "objc2-ui-kit", - "objc2-web-kit", - "raw-window-handle", - "serde", - "serde_json", - "tauri-utils", - "thiserror 2.0.18", - "url", - "webkit2gtk", - "webview2-com", - "windows 0.61.3", -] - -[[package]] -name = "tauri-runtime-wry" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11ea2e6f801d275fdd890d6c9603736012742a1c33b96d0db788c9cdebf7f9e" -dependencies = [ - "gtk", - "http", - "jni", - "log", - "objc2", - "objc2-app-kit", - "once_cell", - "percent-encoding", - "raw-window-handle", - "softbuffer", - "tao", - "tauri-runtime", - "tauri-utils", - "url", - "webkit2gtk", - "webview2-com", - "windows 0.61.3", - "wry", -] - -[[package]] -name = "tauri-utils" -version = "2.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219a1f983a2af3653f75b5747f76733b0da7ff03069c7a41901a5eb3ace4557d" -dependencies = [ - "anyhow", - "brotli", - "cargo_metadata", - "ctor", - "dunce", - "glob", - "html5ever 0.29.1", - "http", - "infer", - "json-patch", - "kuchikiki", - "log", - "memchr", - "phf 0.11.3", - "proc-macro2", - "quote", - "regex", - "schemars 0.8.22", - "semver", - "serde", - "serde-untagged", - "serde_json", - "serde_with", - "swift-rs", - "thiserror 2.0.18", - "toml 0.9.12+spec-1.1.0", - "url", - "urlpattern", - "uuid", - "walkdir", -] - -[[package]] -name = "tauri-winres" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1087b111fe2b005e42dbdc1990fc18593234238d47453b0c99b7de1c9ab2c1e0" -dependencies = [ - "dunce", - "embed-resource", - "toml 0.9.12+spec-1.1.0", -] - -[[package]] -name = "tendril" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" -dependencies = [ - "futf", - "mac", - "utf-8", -] - -[[package]] -name = "tendril" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4790fc369d5a530f4b544b094e31388b9b3a37c0f4652ade4505945f5660d24" -dependencies = [ - "new_debug_unreachable", - "utf-8", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" -dependencies = [ - "thiserror-impl 2.0.18", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "time" -version = "0.3.47" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde_core", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" - -[[package]] -name = "time-macros" -version = "0.2.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tinystr" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinyvec" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.52.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" -dependencies = [ - "bytes", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.61.2", -] - -[[package]] -name = "tokio-macros" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "tokio-rustls" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" -dependencies = [ - "rustls", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" -dependencies = [ - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.3", - "toml_edit 0.20.2", -] - -[[package]] -name = "toml" -version = "0.9.12+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" -dependencies = [ - "indexmap 2.14.0", - "serde_core", - "serde_spanned 1.1.1", - "toml_datetime 0.7.5+spec-1.1.0", - "toml_parser", - "toml_writer", - "winnow 0.7.15", -] - -[[package]] -name = "toml" -version = "1.1.2+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee" -dependencies = [ - "indexmap 2.14.0", - "serde_core", - "serde_spanned 1.1.1", - "toml_datetime 1.1.1+spec-1.1.0", - "toml_parser", - "toml_writer", - "winnow 1.0.2", -] - -[[package]] -name = "toml_datetime" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_datetime" -version = "0.7.5+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_datetime" -version = "1.1.1+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.14.0", - "toml_datetime 0.6.3", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" -dependencies = [ - "indexmap 2.14.0", - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.3", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.25.11+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" -dependencies = [ - "indexmap 2.14.0", - "toml_datetime 1.1.1+spec-1.1.0", - "toml_parser", - "winnow 1.0.2", -] - -[[package]] -name = "toml_parser" -version = "1.1.2+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" -dependencies = [ - "winnow 1.0.2", -] - -[[package]] -name = "toml_writer" -version = "1.1.1+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" - -[[package]] -name = "tower" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" -dependencies = [ - "futures-core", - "futures-util", - "pin-project-lite", - "sync_wrapper", - "tokio", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-http" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" -dependencies = [ - "bitflags 2.11.1", - "bytes", - "futures-util", - "http", - "http-body", - "iri-string", - "pin-project-lite", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-layer" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" - -[[package]] -name = "tower-service" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" - -[[package]] -name = "tracing" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "tracing-core" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" -dependencies = [ - "once_cell", -] - -[[package]] -name = "tray-icon" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e85aa143ceb072062fc4d6356c1b520a51d636e7bc8e77ec94be3608e5e80c" -dependencies = [ - "crossbeam-channel", - "dirs", - "libappindicator", - "muda", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation", - "once_cell", - "png", - "serde", - "thiserror 2.0.18", - "windows-sys 0.60.2", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "typeid" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" - -[[package]] -name = "typenum" -version = "1.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" - -[[package]] -name = "unic-char-property" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" -dependencies = [ - "unic-char-range", -] - -[[package]] -name = "unic-char-range" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" - -[[package]] -name = "unic-common" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" - -[[package]] -name = "unic-ucd-ident" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" -dependencies = [ - "unic-char-property", - "unic-char-range", - "unic-ucd-version", -] - -[[package]] -name = "unic-ucd-version" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" -dependencies = [ - "unic-common", -] - -[[package]] -name = "unicode-ident" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" - -[[package]] -name = "unicode-segmentation" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" - -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "url" -version = "2.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", - "serde_derive", -] - -[[package]] -name = "urlpattern" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" -dependencies = [ - "regex", - "serde", - "unic-ucd-ident", - "url", -] - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "uuid" -version = "1.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" -dependencies = [ - "getrandom 0.4.2", - "js-sys", - "serde_core", - "wasm-bindgen", -] - -[[package]] -name = "version-compare" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "vswhom" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" -dependencies = [ - "libc", - "vswhom-sys", -] - -[[package]] -name = "vswhom-sys" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.11.1+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - -[[package]] -name = "wasip2" -version = "1.0.3+wasi-0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" -dependencies = [ - "wit-bindgen 0.57.1", -] - -[[package]] -name = "wasip3" -version = "0.4.0+wasi-0.3.0-rc-2026-01-06" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" -dependencies = [ - "wit-bindgen 0.51.0", -] - -[[package]] -name = "wasm-bindgen" -version = "0.2.118" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f371d383f2fb139252e0bfac3b81b265689bf45b6874af544ffa4c975ac1ebf8" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.118" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.118" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904" -dependencies = [ - "bumpalo", - "proc-macro2", - "quote", - "syn 2.0.117", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.118" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "wasm-encoder" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" -dependencies = [ - "leb128fmt", - "wasmparser", -] - -[[package]] -name = "wasm-metadata" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" -dependencies = [ - "anyhow", - "indexmap 2.14.0", - "wasm-encoder", - "wasmparser", -] - -[[package]] -name = "wasm-streams" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wasmparser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" -dependencies = [ - "bitflags 2.11.1", - "hashbrown 0.15.5", - "indexmap 2.14.0", - "semver", -] - -[[package]] -name = "web-sys" -version = "0.3.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web_atoms" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7cff6eef815df1834fd250e3a2ff436044d82a9f1bc1980ca1dbdf07effc538" -dependencies = [ - "phf 0.13.1", - "phf_codegen 0.13.1", - "string_cache 0.9.0", - "string_cache_codegen 0.6.1", -] - -[[package]] -name = "webkit2gtk" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1027150013530fb2eaf806408df88461ae4815a45c541c8975e61d6f2fc4793" -dependencies = [ - "bitflags 1.3.2", - "cairo-rs", - "gdk", - "gdk-sys", - "gio", - "gio-sys", - "glib", - "glib-sys", - "gobject-sys", - "gtk", - "gtk-sys", - "javascriptcore-rs", - "libc", - "once_cell", - "soup3", - "webkit2gtk-sys", -] - -[[package]] -name = "webkit2gtk-sys" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "916a5f65c2ef0dfe12fff695960a2ec3d4565359fdbb2e9943c974e06c734ea5" -dependencies = [ - "bitflags 1.3.2", - "cairo-sys-rs", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "gtk-sys", - "javascriptcore-rs-sys", - "libc", - "pkg-config", - "soup3-sys", - "system-deps", -] - -[[package]] -name = "webpki-roots" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "webview2-com" -version = "0.38.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" -dependencies = [ - "webview2-com-macros", - "webview2-com-sys", - "windows 0.61.3", - "windows-core 0.61.2", - "windows-implement", - "windows-interface", -] - -[[package]] -name = "webview2-com-macros" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "webview2-com-sys" -version = "0.38.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" -dependencies = [ - "thiserror 2.0.18", - "windows 0.61.3", - "windows-core 0.61.2", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" -dependencies = [ - "windows-sys 0.61.2", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "window-vibrancy" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" -dependencies = [ - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "raw-window-handle", - "windows-sys 0.59.0", - "windows-version", -] - -[[package]] -name = "windows" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core 0.52.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows" -version = "0.61.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" -dependencies = [ - "windows-collections", - "windows-core 0.61.2", - "windows-future", - "windows-link 0.1.3", - "windows-numerics", -] - -[[package]] -name = "windows-collections" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" -dependencies = [ - "windows-core 0.61.2", -] - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", -] - -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", -] - -[[package]] -name = "windows-future" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", - "windows-threading", -] - -[[package]] -name = "windows-implement" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "windows-interface" -version = "0.59.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-numerics" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", -] - -[[package]] -name = "windows-registry" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" -dependencies = [ - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", -] - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-result" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-strings" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" -dependencies = [ - "windows-targets 0.53.5", -] - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.53.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" -dependencies = [ - "windows-link 0.2.1", - "windows_aarch64_gnullvm 0.53.1", - "windows_aarch64_msvc 0.53.1", - "windows_i686_gnu 0.53.1", - "windows_i686_gnullvm 0.53.1", - "windows_i686_msvc 0.53.1", - "windows_x86_64_gnu 0.53.1", - "windows_x86_64_gnullvm 0.53.1", - "windows_x86_64_msvc 0.53.1", -] - -[[package]] -name = "windows-threading" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-version" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_i686_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" - -[[package]] -name = "winnow" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" -dependencies = [ - "cfg-if", - "windows-sys 0.59.0", -] - -[[package]] -name = "wit-bindgen" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" -dependencies = [ - "wit-bindgen-rust-macro", -] - -[[package]] -name = "wit-bindgen" -version = "0.57.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" - -[[package]] -name = "wit-bindgen-core" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" -dependencies = [ - "anyhow", - "heck 0.5.0", - "wit-parser", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" -dependencies = [ - "anyhow", - "heck 0.5.0", - "indexmap 2.14.0", - "prettyplease", - "syn 2.0.117", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", -] - -[[package]] -name = "wit-bindgen-rust-macro" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" -dependencies = [ - "anyhow", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.117", - "wit-bindgen-core", - "wit-bindgen-rust", -] - -[[package]] -name = "wit-component" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" -dependencies = [ - "anyhow", - "bitflags 2.11.1", - "indexmap 2.14.0", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder", - "wasm-metadata", - "wasmparser", - "wit-parser", -] - -[[package]] -name = "wit-parser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" -dependencies = [ - "anyhow", - "id-arena", - "indexmap 2.14.0", - "log", - "semver", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser", -] - -[[package]] -name = "writeable" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" - -[[package]] -name = "wry" -version = "0.54.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a8135d8676225e5744de000d4dff5a082501bf7db6a1c1495034f8c314edbc" -dependencies = [ - "base64 0.22.1", - "block2", - "cookie", - "crossbeam-channel", - "dirs", - "dom_query", - "dpi", - "dunce", - "gdkx11", - "gtk", - "http", - "javascriptcore-rs", - "jni", - "libc", - "ndk", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "objc2-ui-kit", - "objc2-web-kit", - "once_cell", - "percent-encoding", - "raw-window-handle", - "sha2", - "soup3", - "tao-macros", - "thiserror 2.0.18", - "url", - "webkit2gtk", - "webkit2gtk-sys", - "webview2-com", - "windows 0.61.3", - "windows-core 0.61.2", - "windows-version", - "x11-dl", -] - -[[package]] -name = "x11" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" -dependencies = [ - "libc", - "pkg-config", -] - -[[package]] -name = "x11-dl" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" -dependencies = [ - "libc", - "once_cell", - "pkg-config", -] - -[[package]] -name = "yoke" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" -dependencies = [ - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", - "synstructure", -] - -[[package]] -name = "zerocopy" -version = "0.8.48" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.48" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "zerofrom" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", - "synstructure", -] - -[[package]] -name = "zeroize" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" - -[[package]] -name = "zerotrie" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", -] - -[[package]] -name = "zerovec" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "zmij" -version = "1.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml deleted file mode 100644 index ab7f1ac99..000000000 --- a/src-tauri/Cargo.toml +++ /dev/null @@ -1,47 +0,0 @@ -[package] -name = "frenocorp-desktop" -version = "0.1.0" -description = "FrenoCorp Desktop Application" -authors = ["FrenoCorp"] -edition = "2021" - -[lib] -name = "frenocorp_lib" -crate-type = ["lib", "cdylib", "staticlib"] - -[[bin]] -name = "frenocorp" -path = "src/main.rs" - -[dependencies] -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" -tauri = { version = "2", features = ["tray-icon", "macos-private-api"] } -tauri-plugin-fs = "2" -tauri-plugin-http = "2" -tauri-plugin-dialog = "2" -tauri-plugin-shell = "2" -tauri-plugin-store = "2" -tokio = { version = "1.35", features = ["full"] } -thiserror = "1.0" -log = "0.4" -env_logger = "0.10" - -[target.'cfg(windows)'.dependencies] -windows = { version = "0.52", features = ["Win32_UI_Shell"] } - -[target.'cfg(target_os = "macos")'.dependencies] -cocoa = "0.25" - -[target.'cfg(target_os = "linux")'.dependencies] -gtk = "0.18" - -[build-dependencies] -tauri-build = { version = "2", features = [] } - -[profile.release] -panic = "abort" -codegen-units = 1 -lto = true -opt-level = "s" -strip = true diff --git a/src-tauri/README.md b/src-tauri/README.md deleted file mode 100644 index b0438ff03..000000000 --- a/src-tauri/README.md +++ /dev/null @@ -1,188 +0,0 @@ -# FrenoCorp Desktop (Tauri) - -Cross-platform desktop application built with Tauri v2. - -## Architecture - -``` -src-tauri/ -├── src/ -│ ├── main.rs # Application entry point -│ ├── lib.rs # Library exports -│ ├── menu.rs # Native menu bar -│ ├── tray.rs # System tray -│ └── updater.rs # Auto-updater logic -├── icons/ # App icons -├── Cargo.toml # Rust dependencies -├── tauri.conf.json # Tauri configuration -└── build.rs # Build script -``` - -## Platform Support - -- **macOS**: 10.15+ (Catalina and later) -- **Windows**: 10+ (WebView2 required) -- **Linux**: Ubuntu 18.04+, Debian 10+, or equivalent (WebKit2GTK required) - -## Development - -### Prerequisites - -**macOS:** -```bash -brew install pkg-config libappindicator -``` - -**Windows:** -```bash -# WebView2 is automatically installed on Windows 10+ -# For development: -winget install Microsoft.VisualStudio.2022.Community -``` - -**Linux:** -```bash -# Ubuntu/Debian -sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev - -# Fedora -sudo dnf install gtk3-devel webkit2gtk4.0-devel -``` - -### Running in Development - -```bash -# From project root -npm run tauri:dev -``` - -This starts both the Vite dev server and the Tauri application. - -### Building for Production - -```bash -# Build for current platform -npm run tauri:build - -# Build for specific platform -npm run tauri:build:macos -npm run tauri:build:windows -npm run tauri:build:linux -``` - -### Output Locations - -- **macOS**: `src-tauri/target/release/bundle/macos/` -- **Windows**: `src-tauri/target/release/bundle/msi/` and `/msi/` -- **Linux**: `src-tauri/target/release/bundle/deb/` and `/appimage/` - -## Features - -### Native Menu Bar - -Platform-specific menus are implemented in `src/menu.rs`: -- File menu (New, Open, Save, etc.) -- Edit menu (Undo, Redo, Cut, Copy, Paste) -- View menu (Zoom, Fullscreen) -- Window menu -- Help menu - -### System Tray - -Implemented in `src/tray.rs`: -- Show/Hide application -- Quit from tray -- Platform-specific tray icons - -### Auto-Updater - -Implemented in `src/updater.rs`: -- Check for updates on startup -- Periodic background checks -- Download and install updates -- Platform-specific installation logic - -### Window State Persistence - -- Window position and size -- Maximized state -- Last known state restoration - -## Configuration - -Main configuration is in `tauri.conf.json`: -- Bundle identifiers -- Icon paths -- Window settings -- Plugin configuration -- Security settings - -## Testing - -```bash -# Run Rust tests -cargo test --manifest-path src-tauri/Cargo.toml - -# Run with logging -RUST_LOG=debug npm run tauri:dev -``` - -## Debugging - -### Enable Debug Logging - -```bash -export RUST_LOG=debug -npm run tauri:dev -``` - -### View Tauri Logs - -- **macOS**: `~/Library/Logs/frenocorp-desktop/log.log` -- **Windows**: `%APPDATA%/frenocorp-desktop/log.log` -- **Linux**: `~/.cache/frenocorp-desktop/log.log` - -## Dependencies - -See `Cargo.toml` for complete list. Key dependencies: - -- `tauri v2` - Core framework -- `tauri-plugin-fs` - File system access -- `tauri-plugin-http` - HTTP requests -- `tauri-plugin-dialog` - Native dialogs -- `tauri-plugin-shell` - Shell commands -- `tauri-plugin-store` - State persistence -- `tokio` - Async runtime - -## CI/CD Integration - -The build scripts are designed for CI/CD integration: - -```yaml -# Example GitHub Actions -- name: Build macOS - run: npm run tauri:build:macos - -- name: Build Windows - run: npm run tauri:build:windows - -- name: Build Linux - run: npm run tauri:build:linux -``` - -## Troubleshooting - -### Common Issues - -1. **WebView2 not found (Windows)** - - Install WebView2 runtime or enable auto-download - -2. **GTK not found (Linux)** - - Install libgtk-3-dev and libwebkit2gtk-4.0-dev - -3. **Code signing failed (macOS)** - - Configure signing identity in tauri.conf.json - - Or disable for development - -4. **Permission denied (Linux)** - - Ensure proper file permissions on build artifacts diff --git a/src-tauri/build.rs b/src-tauri/build.rs deleted file mode 100644 index 849a37024..000000000 --- a/src-tauri/build.rs +++ /dev/null @@ -1,11 +0,0 @@ -use tauri_build::Builder; - -fn main() { - Builder::default() - .plugin(tauri_plugin_fs::init()) - .plugin(tauri_plugin_http::init()) - .plugin(tauri_plugin_dialog::init()) - .plugin(tauri_plugin_shell::init()) - .plugin(tauri_plugin_store::init()) - .build() -} diff --git a/src-tauri/generate-icons.sh b/src-tauri/generate-icons.sh deleted file mode 100755 index e6b70ff4b..000000000 --- a/src-tauri/generate-icons.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/bash -# Icon generation script for Tauri desktop app -# Generates all required icon sizes from source - -set -e - -ICONS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -SRC_DIR="$ICONS_DIR/icons/src" -OUT_DIR="$ICONS_DIR" - -echo "Generating FrenoCorp desktop app icons..." - -# Check if ImageMagick is available -if ! command -v convert &> /dev/null; then - echo "Warning: ImageMagick 'convert' not found. Install with:" - echo " macOS: brew install imagemagick" - echo " Ubuntu: sudo apt-get install imagemagick" - echo " Windows: choco install imagemagick" - exit 1 -fi - -# Generate PNG icons at required sizes -echo "Generating PNG icons..." -for size in 32 128; do - echo " Creating ${size}x${size}.png" - convert "$SRC_DIR/app-icon.svg" -resize "${size}x${size}" "$OUT_DIR/${size}x${size}.png" -done - -# Generate 128x128@2x (256x256) -echo " Creating 128x128@2x.png (256x256)" -convert "$SRC_DIR/app-icon.svg" -resize "256x256" "$OUT_DIR/128x128@2x.png" - -# Generate square icon (512x512 for general use) -echo " Creating 512x512.png" -convert "$SRC_DIR/app-icon.svg" -resize "512x512" "$OUT_DIR/512x512.png" - -# Generate macOS icon (icns) -echo "Generating macOS icon (icon.icns)..." -mkdir -p "$ICONS_DIR/icon.iconset" -convert "$SRC_DIR/app-icon.svg" -resize "16x16" "$ICONS_DIR/icon.iconset/icon_16x16.png" -convert "$SRC_DIR/app-icon.svg" -resize "32x32" "$ICONS_DIR/icon.iconset/icon_16x16@2x.png" -convert "$SRC_DIR/app-icon.svg" -resize "32x32" "$ICONS_DIR/icon.iconset/icon_32x32.png" -convert "$SRC_DIR/app-icon.svg" -resize "64x64" "$ICONS_DIR/icon.iconset/icon_32x32@2x.png" -convert "$SRC_DIR/app-icon.svg" -resize "128x128" "$ICONS_DIR/icon.iconset/icon_128x128.png" -convert "$SRC_DIR/app-icon.svg" -resize "256x256" "$ICONS_DIR/icon.iconset/icon_128x128@2x.png" -convert "$SRC_DIR/app-icon.svg" -resize "256x256" "$ICONS_DIR/icon.iconset/icon_256x256.png" -convert "$SRC_DIR/app-icon.svg" -resize "512x512" "$ICONS_DIR/icon.iconset/icon_256x256@2x.png" -convert "$SRC_DIR/app-icon.svg" -resize "512x512" "$ICONS_DIR/icon.iconset/icon_512x512.png" -convert "$SRC_DIR/app-icon.svg" -resize "1024x1024" "$ICONS_DIR/icon.iconset/icon_512x512@2x.png" - -# Create .icns file (macOS requires iconutil on macOS, fallback to png2icns) -if command -v iconutil &> /dev/null; then - iconutil -c icns "$ICONS_DIR/icon.iconset" -o "$OUT_DIR/icon.icns" -else - echo " Note: iconutil not found (not on macOS). Using png fallback." -fi - -# Clean up temporary iconset -rm -rf "$ICONS_DIR/icon.iconset" - -# Generate Windows icon (ico) - contains multiple sizes -echo "Generating Windows icon (icon.ico)..." -mkdir -p "$ICONS_DIR/temp_ico" -convert "$SRC_DIR/app-icon.svg" -resize "16x16" "$ICONS_DIR/temp_ico/16.png" -convert "$SRC_DIR/app-icon.svg" -resize "32x32" "$ICONS_DIR/temp_ico/32.png" -convert "$SRC_DIR/app-icon.svg" -resize "48x48" "$ICONS_DIR/temp_ico/48.png" -convert "$SRC_DIR/app-icon.svg" -resize "64x64" "$ICONS_DIR/temp_ico/64.png" -convert "$SRC_DIR/app-icon.svg" -resize "128x128" "$ICONS_DIR/temp_ico/128.png" -convert "$SRC_DIR/app-icon.svg" -resize "256x256" "$ICONS_DIR/temp_ico/256.png" -convert "$ICONS_DIR/temp_ico/*.png" -define icon:auto-resize=256,128,64,48,32,16 "$OUT_DIR/icon.ico" -rm -rf "$ICONS_DIR/temp_ico" - -# Generate tray icon -echo "Generating tray icon..." -convert "$SRC_DIR/app-icon.svg" -resize "32x32" -background none "$OUT_DIR/tray-icon.png" - -echo "" -echo "✅ Icon generation complete!" -echo "" -echo "Generated files:" -ls -1 "$OUT_DIR"/*.png "$OUT_DIR"/*.ico "$OUT_DIR"/*.icns 2>/dev/null | xargs -I {} basename {} - -echo "" -echo "Next steps:" -echo " 1. Review generated icons" -echo " 2. Run: npm run tauri:build" -echo " 3. Test on target platforms" diff --git a/src-tauri/icon.ico b/src-tauri/icon.ico deleted file mode 100644 index e7eb9ee52..000000000 Binary files a/src-tauri/icon.ico and /dev/null differ diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png deleted file mode 100644 index 5695690da..000000000 Binary files a/src-tauri/icons/128x128.png and /dev/null differ diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png deleted file mode 100644 index 09e8b66c4..000000000 Binary files a/src-tauri/icons/128x128@2x.png and /dev/null differ diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png deleted file mode 100644 index 4f63dbeb8..000000000 Binary files a/src-tauri/icons/32x32.png and /dev/null differ diff --git a/src-tauri/icons/512x512.png b/src-tauri/icons/512x512.png deleted file mode 100644 index 3ba73e5c8..000000000 Binary files a/src-tauri/icons/512x512.png and /dev/null differ diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns deleted file mode 100644 index 9145ea18f..000000000 Binary files a/src-tauri/icons/icon.icns and /dev/null differ diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico deleted file mode 100644 index e7eb9ee52..000000000 Binary files a/src-tauri/icons/icon.ico and /dev/null differ diff --git a/src-tauri/icons/src/app-icon.svg b/src-tauri/icons/src/app-icon.svg deleted file mode 100644 index 69b48aea2..000000000 --- a/src-tauri/icons/src/app-icon.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - F - - - - - diff --git a/src-tauri/icons/tray-icon.png b/src-tauri/icons/tray-icon.png deleted file mode 100644 index 9725e8aa3..000000000 Binary files a/src-tauri/icons/tray-icon.png and /dev/null differ diff --git a/src-tauri/icons/tray-icon.svg b/src-tauri/icons/tray-icon.svg deleted file mode 100644 index 3ca889e91..000000000 --- a/src-tauri/icons/tray-icon.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - F - diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs deleted file mode 100644 index 667bf2457..000000000 --- a/src-tauri/src/lib.rs +++ /dev/null @@ -1,22 +0,0 @@ -pub mod menu; -pub mod tray; -pub mod updater; -#[cfg(test)] -pub mod tests; - -use serde::{Deserialize, Serialize}; - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct AppState { - pub app_version: String, - pub is_dev_mode: bool, -} - -impl Default for AppState { - fn default() -> Self { - Self { - app_version: env!("CARGO_PKG_VERSION").to_string(), - is_dev_mode: cfg!(debug_assertions), - } - } -} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs deleted file mode 100644 index 04789ed25..000000000 --- a/src-tauri/src/main.rs +++ /dev/null @@ -1,196 +0,0 @@ -mod menu; -mod tray; -mod updater; - -use frenocorp_lib::{ - menu::create_menu, - tray::create_system_tray, - updater::check_for_updates, -}; -use log::{info, LevelFilter}; -use std::env; -use tauri::{ - menu::{Menu, MenuEvent}, - tray::{MouseButton, MouseButtonState, TrayIconBuilder, TrayIconEvent}, - AppHandle, Emitter, Manager, RunEvent, -}; -use tauri_plugin_store::StoreExt; - -#[tauri::command] -fn greet(name: &str) -> String { - format!("Hello, {}! You've been greeted from Rust!", name) -} - -#[tauri::command] -fn get_app_version(app_handle: AppHandle) -> String { - app_handle - .package_info() - .version - .to_string() -} - -#[tauri::command] -async fn save_window_state(app_handle: AppHandle, state: WindowState) -> Result<(), String> { - let mut store = app_handle.store("window-state.bin")?; - store.insert("window", state).map_err(|e| e.to_string())?; - store.save().map_err(|e| e.to_string()) -} - -#[tauri::command] -async fn load_window_state(app_handle: AppHandle) -> Result, String> { - let store = app_handle.store("window-state.bin"); - match store { - Ok(store) => { - let state = store.get::("window"); - Ok(state) - } - Err(_) => Ok(None), - } -} - -#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] -struct WindowState { - width: f64, - height: f64, - x: i32, - y: i32, - is_maximized: bool, -} - -fn init_logger() { - let env_level = env::var("RUST_LOG").unwrap_or_else(|_| "info".to_string()); - let level = match env_level.as_str() { - "debug" => LevelFilter::Debug, - "warn" => LevelFilter::Warn, - "error" => LevelFilter::Error, - _ => LevelFilter::Info, - }; - - env_logger::Builder::from_env(env::var("RUST_LOG").unwrap_or_default()) - .format_module_path(false) - .format_timestamp(Some(env_logger::TimestampPrecision::Millis)) - .filter_level(level) - .init(); -} - -#[tokio::main] -async fn main() { - init_logger(); - info!("Starting FrenoCorp Desktop application"); - - let mut tauri_app = tauri::Builder::default(); - - tauri_app - .plugin(tauri_plugin_fs::init()) - .plugin(tauri_plugin_http::init()) - .plugin(tauri_plugin_dialog::init()) - .plugin(tauri_plugin_shell::init()) - .plugin(tauri_plugin_store::init()) - .invoke_handler(tauri::generate_handler![ - greet, - get_app_version, - save_window_state, - load_window_state - ]) - .menu(create_menu()) - .on_menu_event(|app, event| { - info!("Menu event received: {:?}", event.id()); - handle_menu_event(app, event.id()) - }) - .system_tray(create_system_tray()) - .on_system_tray_event(handle_tray_event) - .setup(|app| { - info!("Setting up application"); - - // Check for updates on startup - let app_handle = app.handle().clone(); - tokio::spawn(async move { - if let Err(e) = check_for_updates(app_handle).await { - log::error!("Failed to check for updates: {}", e); - } - }); - - Ok(()) - }) - .on_window_event(|window, event| match event { - tauri::WindowEvent::CloseRequested { api, .. } => { - let window = window.clone(); - let app_handle = window.app_handle().clone(); - - api.prevent_close(); - - window.hide().unwrap(); - - let mut store = app_handle.store("window-state.bin").unwrap_or_default(); - store.insert("last_window_hidden", true).unwrap(); - store.save().unwrap(); - } - tauri::WindowEvent::Focused(focused) => { - if *focused { - log::debug!("Window focused"); - } - } - _ => {} - }) - .run(tauri::generate_context!()) - .expect("error while running tauri application"); - - info!("Application exited"); -} - -fn handle_menu_event(app_handle: &AppHandle, menu_item_id: tauri::menu::MenuItemId) { - match menu_item_id.0.as_str() { - "quit" => { - info!("Quitting application"); - app_handle.exit(0); - } - "preferences" => { - info!("Opening preferences"); - // TODO: Open preferences window - } - "check_updates" => { - info!("Checking for updates"); - let app_handle = app_handle.clone(); - tokio::spawn(async move { - if let Err(e) = check_for_updates(app_handle).await { - log::error!("Update check failed: {}", e); - } - }); - } - _ => { - info!("Unknown menu item: {}", menu_item_id.0); - } - } -} - -fn handle_tray_event(app: &AppHandle, event: TrayIconEvent) { - match event { - TrayIconEvent::Click { - button: MouseButton::Left, - button_state: MouseButtonState::Up, - .. - } => { - info!("Tray icon clicked"); - if let Some(window) = app.get_webview_window("main") { - let is_visible = window.is_visible().unwrap(); - if is_visible { - window.hide().unwrap(); - } else { - window.show().unwrap(); - window.set_focus().unwrap(); - } - } - } - TrayIconEvent::RightClick { .. } => { - info!("Right click on tray icon"); - } - TrayIconEvent::DoubleClick { .. } => { - info!("Double click on tray icon"); - if let Some(window) = app.get_webview_window("main") { - window.show().unwrap(); - window.set_focus().unwrap(); - } - } - _ => {} - } -} diff --git a/src-tauri/src/menu.rs b/src-tauri/src/menu.rs deleted file mode 100644 index 668acb4be..000000000 --- a/src-tauri/src/menu.rs +++ /dev/null @@ -1,104 +0,0 @@ -use tauri::{ - menu::{MenuBuilder, MenuItemBuilder}, - AppHandle, -}; - -pub fn create_menu() -> Menu { - let quit = MenuItemBuilder::with_id("quit", "Quit") - .shortcut("CmdOrCtrl+Q") - .build() - .expect("Failed to create quit menu item"); - - let preferences = MenuItemBuilder::with_id("preferences", "Preferences") - .shortcut("CmdOrCtrl+,") - .build() - .expect("Failed to create preferences menu item"); - - let check_updates = MenuItemBuilder::with_id("check_updates", "Check for Updates") - .build() - .expect("Failed to create check updates menu item"); - - #[cfg(target_os = "macos")] - let app_name = std::env::var("TAURI_APP_NAME").unwrap_or_else(|_| "FrenoCorp".to_string()); - - #[cfg(target_os = "macos")] - let app_menu = MenuBuilder::new(&app_name) - .item(&quit) - .separator() - .item(&preferences) - .separator() - .item(&check_updates) - .build() - .expect("Failed to create app menu"); - - let file_menu = MenuBuilder::new("File") - .item(&MenuItemBuilder::with_id("new", "New").shortcut("CmdOrCtrl+N").build().unwrap()) - .item(&MenuItemBuilder::with_id("open", "Open").shortcut("CmdOrCtrl+O").build().unwrap()) - .separator() - .item(&MenuItemBuilder::with_id("save", "Save").shortcut("CmdOrCtrl+S").build().unwrap()) - .item(&MenuItemBuilder::with_id("save_as", "Save As").shortcut("CmdOrCtrl+Shift+S").build().unwrap()) - .separator() - .item(&quit) - .build() - .expect("Failed to create file menu"); - - let edit_menu = MenuBuilder::new("Edit") - .item(&MenuItemBuilder::with_id("undo", "Undo").shortcut("CmdOrCtrl+Z").build().unwrap()) - .item(&MenuItemBuilder::with_id("redo", "Redo").shortcut("CmdOrCtrl+Shift+Z").build().unwrap()) - .separator() - .item(&MenuItemBuilder::with_id("cut", "Cut").shortcut("CmdOrCtrl+X").build().unwrap()) - .item(&MenuItemBuilder::with_id("copy", "Copy").shortcut("CmdOrCtrl+C").build().unwrap()) - .item(&MenuItemBuilder::with_id("paste", "Paste").shortcut("CmdOrCtrl+V").build().unwrap()) - .separator() - .item(&MenuItemBuilder::with_id("select_all", "Select All").shortcut("CmdOrCtrl+A").build().unwrap()) - .build() - .expect("Failed to create edit menu"); - - let view_menu = MenuBuilder::new("View") - .item(&MenuItemBuilder::with_id("zoom_in", "Zoom In").shortcut("CmdOrCtrl+Plus").build().unwrap()) - .item(&MenuItemBuilder::with_id("zoom_out", "Zoom Out").shortcut("CmdOrCtrl+Minus").build().unwrap()) - .item(&MenuItemBuilder::with_id("reset_zoom", "Reset Zoom").shortcut("CmdOrCtrl+0").build().unwrap()) - .separator() - .item(&MenuItemBuilder::with_id("fullscreen", "Toggle Fullscreen").shortcut("F11").build().unwrap()) - .build() - .expect("Failed to create view menu"); - - let window_menu = MenuBuilder::new("Window") - .item(&MenuItemBuilder::with_id("minimize", "Minimize").shortcut("CmdOrCtrl+M").build().unwrap()) - .item(&MenuItemBuilder::with_id("close", "Close").shortcut("CmdOrCtrl+W").build().unwrap()) - .separator() - .item(&MenuItemBuilder::with_id("always_on_top", "Always on Top").build().unwrap()) - .build() - .expect("Failed to create window menu"); - - let help_menu = MenuBuilder::new("Help") - .item(&MenuItemBuilder::with_id("documentation", "Documentation").shortcut("F1").build().unwrap()) - .item(&MenuItemBuilder::with_id("about", "About").build().unwrap()) - .separator() - .item(&check_updates) - .build() - .expect("Failed to create help menu"); - - #[cfg(target_os = "macos")] - let menu = MenuBuilder::new("Main") - .item(&app_menu) - .item(&file_menu) - .item(&edit_menu) - .item(&view_menu) - .item(&window_menu) - .item(&help_menu) - .build() - .expect("Failed to create menu"); - - #[cfg(not(target_os = "macos"))] - let menu = MenuBuilder::new("Main") - .item(&file_menu) - .item(&edit_menu) - .item(&view_menu) - .item(&window_menu) - .item(&help_menu) - .build() - .expect("Failed to create menu"); - - menu -} diff --git a/src-tauri/src/tests.rs b/src-tauri/src/tests.rs deleted file mode 100644 index bbe4fc2d3..000000000 --- a/src-tauri/src/tests.rs +++ /dev/null @@ -1,52 +0,0 @@ -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_greet_command() { - let result = greet("World"); - assert_eq!(result, "Hello, World! You've been greeted from Rust!"); - } - - #[test] - fn test_app_state_default() { - let state = AppState::default(); - assert!(!state.app_version.is_empty()); - assert_eq!(state.is_dev_mode, cfg!(debug_assertions)); - } - - #[test] - fn test_window_state_serialization() { - let state = WindowState { - width: 1280.0, - height: 800.0, - x: 100, - y: 100, - is_maximized: false, - }; - - let serialized = serde_json::to_string(&state).unwrap(); - let deserialized: WindowState = serde_json::from_str(&serialized).unwrap(); - - assert_eq!(state.width, deserialized.width); - assert_eq!(state.height, deserialized.height); - assert_eq!(state.x, deserialized.x); - assert_eq!(state.y, deserialized.y); - assert_eq!(state.is_maximized, deserialized.is_maximized); - } - - #[test] - fn test_update_info_serialization() { - let update_info = UpdateInfo { - current_version: "0.1.0".to_string(), - latest_version: "0.2.0".to_string(), - release_notes: "Bug fixes".to_string(), - download_url: "https://example.com/update".to_string(), - is_update_available: true, - }; - - let serialized = serde_json::to_string(&update_info).unwrap(); - assert!(serialized.contains("0.2.0")); - assert!(serialized.contains("Bug fixes")); - } -} diff --git a/src-tauri/src/tray.rs b/src-tauri/src/tray.rs deleted file mode 100644 index 757207dca..000000000 --- a/src-tauri/src/tray.rs +++ /dev/null @@ -1,35 +0,0 @@ -use tauri::{ - menu::{MenuBuilder, MenuItemBuilder}, - tray::TrayIconBuilder, -}; - -pub fn create_system_tray() -> tauri::tray::TrayIcon { - let show = MenuItemBuilder::with_id("show", "Show") - .build() - .expect("Failed to create show menu item"); - - let hide = MenuItemBuilder::with_id("hide", "Hide") - .build() - .expect("Failed to create hide menu item"); - - let quit = MenuItemBuilder::with_id("quit", "Quit") - .build() - .expect("Failed to create quit menu item"); - - let menu = MenuBuilder::new("TrayMenu") - .item(&show) - .item(&hide) - .separator() - .item(&quit) - .build() - .expect("Failed to create tray menu"); - - TrayIconBuilder::new() - .icon(tauri::image::Image::from_bytes(include_bytes!("../icons/tray-icon.png")).unwrap()) - .icon_as_template(true) - .menu(&menu) - .menu_on_left_click(true) - .tooltip("FrenoCorp") - .build() - .expect("Failed to create tray icon") -} diff --git a/src-tauri/src/updater.rs b/src-tauri/src/updater.rs deleted file mode 100644 index 7ee1a2ff4..000000000 --- a/src-tauri/src/updater.rs +++ /dev/null @@ -1,152 +0,0 @@ -use log::{info, warn}; -use serde::{Deserialize, Serialize}; -use std::time::Duration; -use tauri::{AppHandle, Emitter, Manager}; - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct UpdateInfo { - pub current_version: String, - pub latest_version: String, - pub release_notes: String, - pub download_url: String, - pub is_update_available: bool, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct ReleaseInfo { - pub version: String, - pub published_at: String, - pub prerelease: bool, - pub assets: Vec, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct ReleaseAsset { - pub name: String, - pub browser_download_url: String, - pub size: u64, -} - -pub async fn check_for_updates(app_handle: AppHandle) -> Result { - info!("Checking for updates"); - - let current_version = app_handle - .package_info() - .version - .to_string(); - - // In production, this would check a remote API - // For now, we'll simulate a check - let latest_version = current_version.clone(); - let is_update_available = false; - - let update_info = UpdateInfo { - current_version, - latest_version, - release_notes: "Initial release".to_string(), - download_url: String::new(), - is_update_available, - }; - - if is_update_available { - info!("Update available: {}", update_info.latest_version); - - // Emit event to frontend - if let Err(e) = app_handle.emit("update-available", &update_info) { - warn!("Failed to emit update event: {}", e); - } - } else { - info!("Already on latest version"); - } - - Ok(update_info) -} - -pub async fn download_update(app_handle: AppHandle, download_url: String) -> Result { - info!("Downloading update from: {}", download_url); - - // Simulate download - let client = reqwest::Client::builder() - .timeout(Duration::from_secs(300)) - .build() - .map_err(|e| e.to_string())?; - - let response = client - .get(&download_url) - .send() - .await - .map_err(|e| format!("Download failed: {}", e))?; - - let bytes = response - .bytes() - .await - .map_err(|e| format!("Failed to read bytes: {}", e))?; - - info!("Downloaded {} bytes", bytes.len()); - - // Save to temp location - let temp_dir = std::env::temp_dir(); - let installer_path = temp_dir.join("frenocorp-updater-installer"); - - std::fs::write(&installer_path, &bytes) - .map_err(|e| format!("Failed to write installer: {}", e))?; - - Ok(installer_path.to_string_lossy().to_string()) -} - -pub async fn install_update(app_handle: AppHandle, installer_path: String) -> Result<(), String> { - info!("Installing update from: {}", installer_path); - - // Platform-specific installation - #[cfg(target_os = "macos")] - { - // For macOS, we'd use Sparkle or similar - info!("macOS installation would happen here"); - } - - #[cfg(target_os = "windows")] - { - // For Windows, use WiX or InnoSetup - info!("Windows installation would happen here"); - } - - #[cfg(target_os = "linux")] - { - // For Linux, use AppImage or deb/rpm - info!("Linux installation would happen here"); - } - - // Emit update installed event - if let Err(e) = app_handle.emit("update-installed", &installer_path) { - warn!("Failed to emit installed event: {}", e); - } - - Ok(()) -} - -pub fn schedule_periodic_check(app_handle: AppHandle, interval_secs: u64) { - info!("Scheduling periodic update check every {} seconds", interval_secs); - - let interval = Duration::from_secs(interval_secs); - - tokio::spawn(async move { - let mut interval_tick = tokio::time::interval(interval); - - loop { - interval_tick.tick().await; - - info!("Running scheduled update check"); - - match check_for_updates(app_handle.clone()).await { - Ok(update_info) => { - if update_info.is_update_available { - info!("Scheduled check found update: {}", update_info.latest_version); - } - } - Err(e) => { - warn!("Scheduled update check failed: {}", e); - } - } - } - }); -} diff --git a/src-tauri/tauri.build.conf b/src-tauri/tauri.build.conf deleted file mode 100644 index 8e9d77a20..000000000 --- a/src-tauri/tauri.build.conf +++ /dev/null @@ -1,37 +0,0 @@ -# Tauri Build Configuration -# This file defines the build settings for cross-platform compilation - -[build] -# Default provider is cargo -provider = "cargo" - -[webview] -# Webview configuration for different platforms -# macOS: Uses native WKWebView -# Windows: Uses WebView2 (Edge) -# Linux: Uses WebKitGTK - -[bundle] -# Bundle settings for each platform - -[bundle.macos] -# macOS-specific settings -minimum_system_version = "10.15" -exception_domain = "" -entitlements = null -frameworks = [] - -[bundle.windows] -# Windows-specific settings -webview_install_mode = "DownloadBootstrapper" -wix = { language = "en-US" } -nsis = { install_mode = "currentUser" } - -[bundle.linux] -# Linux-specific settings -deb = { depends = ["libgtk-3-0", "libwebkit2gtk-4.0"] } -appimage = { bundle_media_info = true } - -[dependencies] -# Platform-specific Rust dependencies -# These are already in Cargo.toml diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json deleted file mode 100644 index f1e007406..000000000 --- a/src-tauri/tauri.conf.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "build": { - "beforeDevCommand": "npm run dev", - "beforeBuildCommand": "npm run build", - "devUrl": "http://localhost:5173", - "frontendDist": "../dist" - }, - "bundle": { - "active": true, - "targets": "all", - "identifier": "com.frenocorp.app", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], - "category": "Productivity", - "shortDescription": "FrenoCorp Desktop", - "longDescription": "Real-time collaboration software for screenwriters", - "resources": ["../README.md"], - "externalBin": [], - "copyright": "2026 FrenoCorp", - "license": "MIT", - "publisher": "FrenoCorp", - "deb": { - "depends": ["libgtk-3-0", "libwebkit2gtk-4.0"] - }, - "macOS": { - "entitlements": null, - "exceptionDomain": "", - "frameworks": [], - "providerShortName": null, - "signingIdentity": null - }, - "windows": { - "certificateThumbprint": null, - "digestAlgorithm": "sha256", - "timestampUrl": "" - } - }, - "plugins": { - "fs": { - "allow": ["$APP/*", "$HOME/Documents/*"], - "requireLiteralLeadingDot": true - }, - "store": { - "auto": true - } - }, - "security": { - "csp": "default-src 'self'; img-src 'self' asset: https://asset.localhost", - "dangerousAllowNumericLiteralId": false - }, - "systemTray": { - "iconPath": "icons/tray-icon.png", - "iconAsTemplate": true - }, - "windows": [ - { - "title": "FrenoCorp", - "width": 1280, - "height": 800, - "minWidth": 800, - "minHeight": 600, - "resizable": true, - "fullscreen": false, - "decorations": true, - "transparent": false, - "alwaysOnTop": false, - "visible": true, - "center": true, - "skipTaskbar": false - } - ], - "allowlist": { - "all": true, - "fs": { - "all": true, - "scope": ["$APP/*", "$HOME/Documents/FrenoCorp/*"] - }, - "shell": { - "all": true, - "open": true - }, - "dialog": { - "all": true, - "open": true, - "save": true - }, - "http": { - "all": true, - "scope": ["http://*", "https://*"] - } - }, - "macOSPrivateApi": true -} diff --git a/src-tauri/tray-icon.png b/src-tauri/tray-icon.png deleted file mode 100644 index a42fbfc0d..000000000 Binary files a/src-tauri/tray-icon.png and /dev/null differ diff --git a/src/App.tsx b/src/App.tsx deleted file mode 100644 index bef566b53..000000000 --- a/src/App.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { render } from 'solid-js/web'; -import { Router, RouteSectionProps } from '@solidjs/router'; -import { ClerkProvider } from './lib/auth/clerk-provider'; -import { routes } from './routes'; -import './index.css'; - -if ('serviceWorker' in navigator) { - window.addEventListener('load', () => { - navigator.serviceWorker.register('/sw.js').catch((err) => { - console.warn('Service worker registration failed:', err); - }); - }); -} - -render( - () => ( - - <>{props.children}}> - {routes} - - - ), - document.getElementById('root')! -); diff --git a/src/components/auth/PasswordReset.tsx b/src/components/auth/PasswordReset.tsx deleted file mode 100644 index 75c86f7c9..000000000 --- a/src/components/auth/PasswordReset.tsx +++ /dev/null @@ -1,174 +0,0 @@ -import { Component, createSignal, createMemo } from 'solid-js'; -import { createMutation } from '@tanstack/solid-query'; -import { trpcClient } from '../../lib/api/trpc-client'; - -export interface PasswordResetProps { - onSuccess?: (message: string) => void; - onNavigateSignIn?: () => void; - mode?: 'request' | 'confirm'; - token?: string; - email?: string; -} - -export const PasswordReset: Component = (props) => { - const [email, setEmail] = createSignal(props.email || ''); - const [newPassword, setNewPassword] = createSignal(''); - const [confirmPassword, setConfirmPassword] = createSignal(''); - const [showPassword, setShowPassword] = createSignal(false); - - const isConfirmMode = props.mode === 'confirm'; - - const passwordsMatch = createMemo(() => { - return newPassword() === confirmPassword() && newPassword().length > 0; - }); - - const requestResetMutation = createMutation({ - mutationFn: async (input: { email: string }) => { - const result = await trpcClient.auth.requestPasswordReset.mutate(input); - return result as { message: string }; - }, - onSuccess: (data) => { - props.onSuccess?.(data.message); - }, - }); - - const confirmResetMutation = createMutation({ - mutationFn: async (input: { token: string; newPassword: string }) => { - const result = await trpcClient.auth.confirmPasswordReset.mutate(input); - return result as { message: string }; - }, - onSuccess: (data) => { - props.onSuccess?.(data.message); - }, - }); - - const handleSubmit = (e: Event) => { - e.preventDefault(); - if (isConfirmMode && !passwordsMatch()) return; - - if (isConfirmMode) { - confirmResetMutation.mutate({ - token: props.token!, - newPassword: newPassword(), - }); - } else { - requestResetMutation.mutate({ email: email() }); - } - }; - - return ( -
          -
          -

          - {isConfirmMode ? 'Reset Password' : 'Forgot Password'} -

          -

          - {isConfirmMode - ? 'Enter your new password' - : "We'll send you a reset link"} -

          - -
          - {!isConfirmMode && ( -
          - - setEmail(e.currentTarget.value)} - placeholder="Enter your email" - required - class="form-input" - /> -
          - )} - - {isConfirmMode && ( - <> -
          - -
          - setNewPassword(e.currentTarget.value)} - placeholder="Enter new password" - required - class="form-input" - minlength="8" - /> - -
          -
          - -
          - - setConfirmPassword(e.currentTarget.value)} - placeholder="Confirm your new password" - required - class="form-input" - /> -
          - - {!passwordsMatch() && newPassword().length > 0 && ( -
          - Passwords do not match -
          - )} - - )} - - {(requestResetMutation.error || confirmResetMutation.error) && ( -
          - {(requestResetMutation.error || confirmResetMutation.error)?.message} -
          - )} - - -
          - -
          -

          - Remember your password?{' '} - -

          -
          -
          -
          - ); -}; diff --git a/src/components/auth/ProtectedRoute.tsx b/src/components/auth/ProtectedRoute.tsx deleted file mode 100644 index 70c93469c..000000000 --- a/src/components/auth/ProtectedRoute.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Component, Match, Switch } from 'solid-js'; -import { Navigate, RouteSectionProps, useIsRouting } from '@solidjs/router'; -import { useAuth } from '../../lib/auth'; - -export const ProtectedRoute: Component = (props) => { - const auth = useAuth(); - const isRouting = useIsRouting(); - const authState = auth(); - - return ( - - -
          -
          -
          - - - - - - - - -
          {props.children}
          -
          - - ); -}; diff --git a/src/components/auth/SignIn.tsx b/src/components/auth/SignIn.tsx deleted file mode 100644 index 4a3b40870..000000000 --- a/src/components/auth/SignIn.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { Component } from 'solid-js'; -import { useAuth, useAuthActions } from '../../lib/auth'; -import { getClerk } from '../../lib/auth/clerk-client'; - -export const SignIn: Component = () => { - const auth = useAuth(); - const { signIn } = useAuthActions(); - - return ( -
          -
          -
          -

          Welcome back

          -

          Sign in to your FrenoCorp account

          -
          - - {auth().error && ( -
          - {auth().error} -
          - )} - -
          - - - -
          - -
          -

          - Don't have an account?{' '} - Create one -

          -
          -
          -
          - ); -}; diff --git a/src/components/auth/SignUp.tsx b/src/components/auth/SignUp.tsx deleted file mode 100644 index 589c49de1..000000000 --- a/src/components/auth/SignUp.tsx +++ /dev/null @@ -1,134 +0,0 @@ -import { Component, createSignal } from 'solid-js'; -import { getClerk } from '../../lib/auth/clerk-client'; - -export const SignUp: Component = () => { - const [email, setEmail] = createSignal(''); - const [name, setName] = createSignal(''); - const [password, setPassword] = createSignal(''); - const [error, setError] = createSignal(null); - const [loading, setLoading] = createSignal(false); - - const handleSubmit = async (e: Event) => { - e.preventDefault(); - setLoading(true); - setError(null); - - try { - const clerk = getClerk(); - if (!clerk) { - setError('Authentication service unavailable'); - return; - } - - await clerk.openSignUp({ - initialValues: { - emailAddress: email(), - firstName: name().split(' ')[0] || '', - lastName: name().split(' ')[1] || '', - }, - }); - - window.location.href = '/'; - } catch (err) { - setError(err instanceof Error ? err.message : 'Failed to create account'); - } finally { - setLoading(false); - } - }; - - return ( -
          -
          -
          -

          Create your account

          -

          Start writing collaboratively today

          -
          - - {error() && ( -
          - {error()} -
          - )} - -
          -
          - - setName(e.target.value)} - /> -
          - -
          - - setEmail(e.target.value)} - /> -
          - -
          - - setPassword(e.target.value)} - /> -
          - - -
          - -
          - or -
          - -
          - - -
          - -
          -

          - Already have an account?{' '} - Sign in -

          -
          -
          -
          - ); -}; diff --git a/src/components/auth/UserProfile.tsx b/src/components/auth/UserProfile.tsx deleted file mode 100644 index af13db3b9..000000000 --- a/src/components/auth/UserProfile.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import { Component, createSignal } from 'solid-js'; -import { A } from '@solidjs/router'; -import { useAuth, useAuthActions } from '../../lib/auth'; - -export const UserProfile: Component = () => { - const auth = useAuth(); - const { updateUser } = useAuthActions(); - const [editing, setEditing] = createSignal(false); - const [name, setName] = createSignal(''); - - const user = () => auth().user; - - const handleSave = async () => { - const u = user(); - if (!u) return; - await updateUser({ name: name().trim() || u.name }); - setEditing(false); - }; - - const startEditing = () => { - const u = user(); - if (u) { - setName(u.name); - setEditing(true); - } - }; - - return ( -
          -
          -

          Profile

          -
          - -
          -
          -
          - {user()?.avatarUrl ? ( - {user()!.name} - ) : ( - {user()?.name?.charAt(0)?.toUpperCase() || 'U'} - )} -
          -
          - {editing() ? ( -
          - setName(e.target.value)} - class="freno-input" - /> - - -
          - ) : ( -
          -

          {user()?.name}

          - -
          - )} -

          {user()?.email}

          - {user()?.role} -
          -
          - -
          -
          -
          User ID
          -
          {user()?.id}
          -
          -
          -
          - -
          -

          Preferences

          -
          -
          -
          -

          Email Notifications

          -

          Receive email updates about project activity

          -
          - -
          -
          -
          -

          Collaboration Alerts

          -

          Get notified when others edit your documents

          -
          - -
          -
          -
          -
          - ); -}; diff --git a/src/components/characters/CharacterCard.tsx b/src/components/characters/CharacterCard.tsx deleted file mode 100644 index cec1e3af3..000000000 --- a/src/components/characters/CharacterCard.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { Component, For, Show } from 'solid-js'; -import type { Character } from '../../../../server/types/project'; - -export interface CharacterCardProps { - character: Character; - onSelect?: (character: Character) => void; - compact?: boolean; -} - -const roleColors: Record = { - protagonist: '#4CAF50', - antagonist: '#F44336', - supporting: '#2196F3', - background: '#9E9E9E', - ensemble: '#9C27B0', -}; - -export const CharacterCard: Component = (props) => { - const handleClick = () => { - props.onSelect?.(props.character); - }; - - return ( -
          -
          - - {props.character.name} - - -
          - {props.character.name.charAt(0).toUpperCase()} -
          -
          -
          -

          {props.character.name}

          - - {props.character.role} - -
          -
          - -

          {props.character.bio}

          -
          - -
          - Traits: {props.character.traits} -
          -
          -
          - ); -}; diff --git a/src/components/characters/CharacterList.tsx b/src/components/characters/CharacterList.tsx deleted file mode 100644 index 28c88dd36..000000000 --- a/src/components/characters/CharacterList.tsx +++ /dev/null @@ -1,182 +0,0 @@ -import { Component, createSignal, For, Show } from 'solid-js'; -import { - useCharacters, - useCreateCharacter, - useUpdateCharacter, - useDeleteCharacter, -} from '../../../lib/api/trpc-hooks'; -import { CharacterCard } from './CharacterCard'; -import { CharacterProfile } from './CharacterProfile'; -import type { Character } from '../../../../server/types/project'; - -export interface CharacterListProps { - projectId: string; -} - -export const CharacterList: Component = (props) => { - const charactersQuery = useCharacters(props.projectId); - const createCharacter = useCreateCharacter(); - const [selectedCharacter, setSelectedCharacter] = createSignal(null); - const [showForm, setShowForm] = createSignal(false); - - const [formData, setFormData] = createSignal({ - name: '', - description: '', - bio: '', - role: 'supporting' as 'protagonist' | 'antagonist' | 'supporting' | 'background' | 'ensemble', - arc: '', - arcType: undefined as 'positive' | 'negative' | 'flat' | 'complex' | undefined, - age: undefined as number | undefined, - gender: '', - voice: '', - traits: '', - motivation: '', - conflict: '', - secret: '', - }); - - const handleCreate = async () => { - if (!formData().name.trim()) return; - await createCharacter.mutateAsync({ - ...formData(), - projectId: props.projectId, - }); - setShowForm(false); - setFormData({ - name: '', - description: '', - bio: '', - role: 'supporting', - arc: '', - arcType: undefined, - age: undefined, - gender: '', - voice: '', - traits: '', - motivation: '', - conflict: '', - secret: '', - }); - }; - - return ( -
          -
          -

          Characters

          - -
          - - -
          -
          - setFormData({ ...formData(), name: e.currentTarget.value })} - required - /> - -
          -