From 7ec307a17e446c337a939b9d9d6d06b56ba79de9 Mon Sep 17 00:00:00 2001 From: aria Date: Sat, 14 Dec 2024 21:11:54 -0600 Subject: [PATCH] chore: huge code cleanup effort! (#6) * chore: huge code cleanup effort! * chore: remove unused dependencies * chore: remove .editorconfig in favor of prettier (sorry) * chore: add links to readme * chore: add github actions * chore: fix run commands * chore: fix action... hopefully * chore: fix for real --- .editorconfig | 10 - .eslintrc | 24 +- .github/workflows/lint.js.yml | 30 + .github/workflows/typecheck.js.yml | 30 + README.md | 35 + esbuild.config.mjs | 22 +- main.js | 107 - package-lock.json | 3796 ++++++++++++----- package.json | 10 +- src/ImagePicker.ts | 31 +- src/ImagePickerSettings.tsx | 7 +- src/ImagePickerView.tsx | 60 +- src/backend/Backgrounder.ts | 43 +- src/backend/Indexer.ts | 6 +- src/client/ImagePickerContext.tsx | 3 +- .../{ => ImagePickerView}/ImagePickerView.tsx | 91 +- src/client/ImagePickerView/Pagination.tsx | 29 + src/client/ImagePickerView/Search.tsx | 24 + src/client/ImagePickerView/index.ts | 1 + src/constants.ts | 46 + src/styles.scss | 22 +- src/utils.ts | 3 +- styles.css | 1 - tsconfig.json | 4 + 24 files changed, 3237 insertions(+), 1198 deletions(-) delete mode 100644 .editorconfig create mode 100644 .github/workflows/lint.js.yml create mode 100644 .github/workflows/typecheck.js.yml delete mode 100644 main.js rename src/client/{ => ImagePickerView}/ImagePickerView.tsx (86%) create mode 100644 src/client/ImagePickerView/Pagination.tsx create mode 100644 src/client/ImagePickerView/Search.tsx create mode 100644 src/client/ImagePickerView/index.ts delete mode 100644 styles.css diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 84b8a66..0000000 --- a/.editorconfig +++ /dev/null @@ -1,10 +0,0 @@ -# top-most EditorConfig file -root = true - -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -indent_style = tab -indent_size = 4 -tab_width = 4 diff --git a/.eslintrc b/.eslintrc index 3f9d02e..5cb4f76 100644 --- a/.eslintrc +++ b/.eslintrc @@ -6,6 +6,11 @@ }, "plugins": [ "@typescript-eslint", + "import" + ], + "ignorePatterns": [ + "node_modules/", + "dist/" ], "extends": [ "eslint:recommended", @@ -19,13 +24,28 @@ "rules": { "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": [ - "error", + "warn", { "args": "none" } ], "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-explicit-any": "warn", "no-prototype-builtins": "off", - "@typescript-eslint/no-empty-function": "off" + "@typescript-eslint/no-empty-function": "off", + "import/order": [ + "error", + { + "groups": [ + "builtin", + "external", + "internal", + "parent", + "sibling", + "index" + ], + "newlines-between": "always" + } + ] } } \ No newline at end of file diff --git a/.github/workflows/lint.js.yml b/.github/workflows/lint.js.yml new file mode 100644 index 0000000..dac0d55 --- /dev/null +++ b/.github/workflows/lint.js.yml @@ -0,0 +1,30 @@ +# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs + +name: Lint + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [22.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - run: npm ci + - run: npm run lint diff --git a/.github/workflows/typecheck.js.yml b/.github/workflows/typecheck.js.yml new file mode 100644 index 0000000..ca00c54 --- /dev/null +++ b/.github/workflows/typecheck.js.yml @@ -0,0 +1,30 @@ +# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs + +name: Typecheck + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [22.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - run: npm ci + - run: npm run typecheck diff --git a/README.md b/README.md index d040c08..e67702c 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,15 @@ Image Picker is a _blazingly_ fast way to browse and find media in your Obsidian ![Image Picker Preview](./preview.gif) +πŸ™ [GitHub](https://github.com/AriTheElk/obsidian-image-picker) | πŸ“– [Docs](https://ari.the.elk.wtf/obsidian/plugins/image-picker) | πŸ’ [Donate](https://ari.the.elk.wtf/donate) + +# βš™οΈ Settings + +- **Image Folder**: The highest root folder that you want Image Picker to search for images in. If you store your attachments in a specific folder, please select it for better performance. +- **Animate Gifs**: Whether or not to animate gifs in the preview. Disabling this will improve performance if you have a lot of gifs in your vault. +- **Debug Mode**: Enable this to see helpful debug logs in the console. Please use this if you're experiencing issues and want to report them. +- **Reset Image Index**: Click this button to reset the image index and reload Obsidian. This will force Image Picker to re-index your vault, which is useful if you've changed your `Image Folder`. + # πŸ—ΊοΈ Roadmap - [x] Performantly browse photos across your vault @@ -15,6 +24,32 @@ Image Picker is a _blazingly_ fast way to browse and find media in your Obsidian - [ ] Index and search for images by metadata, such as location, date, and more - [ ] Support for video and audio files +# πŸ› οΈ Contributing + +Quick start: + +```bash +# Clone the repository +git clone https://github.com/AriTheElk/obsidian-image-picker +cd obsidian-image-picker + +# Install the dependencies +npm install + +# To build the plugin +npm run build + +# If you want to build the plugin directly into your vault +echo "/ABSOLUTE/PATH/TO/YOUR/VAULT" > .env +npm run build:vault +``` + +This will clone the repository, install the dependencies, and build the plugin. If you've set the path correctly, the plugin should be available in your Obsidian vault. It copies to `{vault}/.obsidian/plugins/obsidian-image-picker-dev` immediately after building. + +If you'd like to help out, I'd recommend checking out the [help wanted](https://github.com/AriTheElk/obsidian-image-picker/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) tag 🫢🏻 + +I'm eternally grateful for any help I get :) + # πŸ‘©β€βš–οΈ License Obsidian Image Picker is licensed under the MIT License. See [LICENSE](LICENSE.md) for more information. diff --git a/esbuild.config.mjs b/esbuild.config.mjs index 62bb719..1492cfc 100644 --- a/esbuild.config.mjs +++ b/esbuild.config.mjs @@ -1,12 +1,13 @@ -import esbuild from 'esbuild' import process from 'process' +import { promises as fs } from 'fs' +import path from 'path' +import { readFileSync } from 'fs' + +import esbuild from 'esbuild' import builtins from 'builtin-modules' import { copy } from 'esbuild-plugin-copy' import { sassPlugin } from 'esbuild-sass-plugin' import { config } from 'dotenv' -import { promises as fs } from 'fs' -import path from 'path' -import { readFileSync } from 'fs' config() // Load .env file @@ -21,6 +22,7 @@ if you want to view the source, please visit the github repository of this plugi ` const prod = process.argv[2] === 'production' +const move = process.argv[3] === 'move' const context = await esbuild.context({ banner: { @@ -66,14 +68,6 @@ const context = await esbuild.context({ from: ['versions.json'], to: ['./versions.json'], }, - { - from: ['dist/main.js'], - to: ['../main.js'], - }, - { - from: ['dist/styles.css'], - to: ['../styles.css'], - }, ], }), ], @@ -81,10 +75,10 @@ const context = await esbuild.context({ if (prod) { await context.rebuild() - if (process.env.OBSIDIAN_VAULT_PATH) { + if (process.env.OBSIDIAN_VAULT_PATH && move) { const destPath = path.join( process.env.OBSIDIAN_VAULT_PATH, - `.obsidian/plugins/${packageName}` + `.obsidian/plugins/${packageName}-dev` ) console.log(`Copying to ${destPath}`) await fs.mkdir(destPath, { recursive: true }) diff --git a/main.js b/main.js deleted file mode 100644 index 5530481..0000000 --- a/main.js +++ /dev/null @@ -1,107 +0,0 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ESBUILD -if you want to view the source, please visit the github repository of this plugin -*/ - -var eC=Object.create;var ff=Object.defineProperty;var nC=Object.getOwnPropertyDescriptor;var tC=Object.getOwnPropertyNames;var rC=Object.getPrototypeOf,iC=Object.prototype.hasOwnProperty;var tr=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),uC=(e,n)=>{for(var r in n)ff(e,r,{get:n[r],enumerable:!0})},Tm=(e,n,r,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of tC(n))!iC.call(e,s)&&s!==r&&ff(e,s,{get:()=>n[s],enumerable:!(u=nC(n,s))||u.enumerable});return e};var rr=(e,n,r)=>(r=e!=null?eC(rC(e)):{},Tm(n||!e||!e.__esModule?ff(r,"default",{value:e,enumerable:!0}):r,e)),oC=e=>Tm(ff({},"__esModule",{value:!0}),e);var cf=tr((zo,ga)=>{(function(){var e,n="4.17.21",r=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",c="Invalid `variable` option passed into `_.template`",v="__lodash_hash_undefined__",x=500,k="__lodash_placeholder__",T=1,z=2,U=4,K=1,re=2,J=1,ne=2,Ee=4,D=8,P=16,L=32,Y=64,ue=128,ae=256,se=512,fe=30,He="...",Re=800,cn=16,Tn=1,Ht=2,Yn=3,wn=1/0,ve=9007199254740991,Ue=17976931348623157e292,Ve=NaN,en=4294967295,ut=en-1,cr=en>>>1,qr=[["ary",ue],["bind",J],["bindKey",ne],["curry",D],["curryRight",P],["flip",se],["partial",L],["partialRight",Y],["rearg",ae]],Ar="[object Arguments]",ht="[object Array]",Or="[object AsyncFunction]",Dn="[object Boolean]",Rt="[object Date]",io="[object DOMException]",Dr="[object Error]",Pi="[object Function]",ps="[object GeneratorFunction]",Mn="[object Map]",Ti="[object Number]",uo="[object Null]",Xn="[object Object]",oo="[object Promise]",jc="[object Proxy]",we="[object RegExp]",vt="[object Set]",cu="[object String]",Jr="[object Symbol]",je="[object Undefined]",dr="[object WeakMap]",Qc="[object WeakSet]",At="[object ArrayBuffer]",Ri="[object DataView]",xl="[object Float32Array]",Sl="[object Float64Array]",El="[object Int8Array]",du="[object Int16Array]",gt="[object Int32Array]",lo="[object Uint8Array]",ei="[object Uint8ClampedArray]",ao="[object Uint16Array]",pu="[object Uint32Array]",hs=/\b__p \+= '';/g,vs=/\b(__p \+=) '' \+/g,Gc=/(__e\(.*?\)|\b__t\)) \+\n'';/g,gs=/&(?:amp|lt|gt|quot|#39);/g,Lr=/[&<>"']/g,kl=RegExp(gs.source),Yc=RegExp(Lr.source),hu=/<%-([\s\S]+?)%>/g,Cl=/<%([\s\S]+?)%>/g,vu=/<%=([\s\S]+?)%>/g,ni=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,so=/^\w*$/,Il=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Vt=/[\\^$.*+?()[\]{}|]/g,me=RegExp(Vt.source),ti=/^\s+/,ri=/\s/,fo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ce=/\{\n\/\* \[wrapped with (.+)\] \*/,Pl=/,? & /,ms=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ys=/[()=,{}\[\]\/\s]/,Tl=/\\(\\)?/g,ws=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,co=/\w*$/,Xc=/^[-+]0x[0-9a-f]+$/i,Zc=/^0b[01]+$/i,Ai=/^\[object .+?Constructor\]$/,Oi=/^0o[0-7]+$/i,Rl=/^(?:0|[1-9]\d*)$/,qc=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,po=/($^)/,Jc=/['\n\r\u2028\u2029\\]/g,ii="\\ud800-\\udfff",nn="\\u0300-\\u036f",Rn="\\ufe20-\\ufe2f",ed="\\u20d0-\\u20ff",gu=nn+Rn+ed,mu="\\u2700-\\u27bf",yu="a-z\\xdf-\\xf6\\xf8-\\xff",nd="\\xac\\xb1\\xd7\\xf7",Nr="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Di="\\u2000-\\u206f",Mr=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",wu="A-Z\\xc0-\\xd6\\xd8-\\xde",_s="\\ufe0e\\ufe0f",xs=nd+Nr+Di+Mr,$t="['\u2019]",Ss="["+ii+"]",Fr="["+xs+"]",_u="["+gu+"]",ho="\\d+",dn="["+mu+"]",vo="["+yu+"]",Al="[^"+ii+xs+ho+mu+yu+wu+"]",pr="\\ud83c[\\udffb-\\udfff]",Ol="(?:"+_u+"|"+pr+")",jt="[^"+ii+"]",go="(?:\\ud83c[\\udde6-\\uddff]){2}",Br="[\\ud800-\\udbff][\\udc00-\\udfff]",hr="["+wu+"]",mo="\\u200d",yo="(?:"+vo+"|"+Al+")",ui="(?:"+hr+"|"+Al+")",Dl="(?:"+$t+"(?:d|ll|m|re|s|t|ve))?",xu="(?:"+$t+"(?:D|LL|M|RE|S|T|VE))?",Ll=Ol+"?",Me="["+_s+"]?",td="(?:"+mo+"(?:"+[jt,go,Br].join("|")+")"+Me+Ll+")*",rd="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Es="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Nl=Me+Ll+td,ks="(?:"+[dn,go,Br].join("|")+")"+Nl,Su="(?:"+[jt+_u+"?",_u,go,Br,Ss].join("|")+")",Eu=RegExp($t,"g"),id=RegExp(_u,"g"),zr=RegExp(pr+"(?="+pr+")|"+Su+Nl,"g"),Ml=RegExp([hr+"?"+vo+"+"+Dl+"(?="+[Fr,hr,"$"].join("|")+")",ui+"+"+xu+"(?="+[Fr,hr+yo,"$"].join("|")+")",hr+"?"+yo+"+"+Dl,hr+"+"+xu,Es,rd,ho,ks].join("|"),"g"),Fl=RegExp("["+mo+ii+gu+_s+"]"),ud=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,wo=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Cs=-1,Qe={};Qe[xl]=Qe[Sl]=Qe[El]=Qe[du]=Qe[gt]=Qe[lo]=Qe[ei]=Qe[ao]=Qe[pu]=!0,Qe[Ar]=Qe[ht]=Qe[At]=Qe[Dn]=Qe[Ri]=Qe[Rt]=Qe[Dr]=Qe[Pi]=Qe[Mn]=Qe[Ti]=Qe[Xn]=Qe[we]=Qe[vt]=Qe[cu]=Qe[dr]=!1;var Ze={};Ze[Ar]=Ze[ht]=Ze[At]=Ze[Ri]=Ze[Dn]=Ze[Rt]=Ze[xl]=Ze[Sl]=Ze[El]=Ze[du]=Ze[gt]=Ze[Mn]=Ze[Ti]=Ze[Xn]=Ze[we]=Ze[vt]=Ze[cu]=Ze[Jr]=Ze[lo]=Ze[ei]=Ze[ao]=Ze[pu]=!0,Ze[Dr]=Ze[Pi]=Ze[dr]=!1;var od={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},ku={"&":"&","<":"<",">":">",'"':""","'":"'"},ld={"&":"&","<":"<",">":">",""":'"',"'":"'"},Bl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ad=parseFloat,sd=parseInt,Is=typeof global=="object"&&global&&global.Object===Object&&global,ot=typeof self=="object"&&self&&self.Object===Object&&self,un=Is||ot||Function("return this")(),zl=typeof zo=="object"&&zo&&!zo.nodeType&&zo,oi=zl&&typeof ga=="object"&&ga&&!ga.nodeType&&ga,Ps=oi&&oi.exports===zl,Li=Ps&&Is.process,_n=function(){try{var O=oi&&oi.require&&oi.require("util").types;return O||Li&&Li.binding&&Li.binding("util")}catch($){}}(),bl=_n&&_n.isArrayBuffer,Kl=_n&&_n.isDate,Ts=_n&&_n.isMap,Ot=_n&&_n.isRegExp,Ni=_n&&_n.isSet,Mi=_n&&_n.isTypedArray;function Wn(O,$,b){switch(b.length){case 0:return O.call($);case 1:return O.call($,b[0]);case 2:return O.call($,b[0],b[1]);case 3:return O.call($,b[0],b[1],b[2])}return O.apply($,b)}function br(O,$,b,pe){for(var Te=-1,Ke=O==null?0:O.length;++Te-1}function Ul(O,$,b){for(var pe=-1,Te=O==null?0:O.length;++pe-1;);return b}function Yl(O,$){for(var b=O.length;b--&&gr($,O[b],0)>-1;);return b}function hd(O,$){for(var b=O.length,pe=0;b--;)O[b]===$&&++pe;return pe}var vd=jl(od),Xl=jl(ku);function Zl(O){return"\\"+Bl[O]}function gd(O,$){return O==null?e:O[$]}function Bi(O){return Fl.test(O)}function md(O){return ud.test(O)}function ql(O){for(var $,b=[];!($=O.next()).done;)b.push($.value);return b}function Jl(O){var $=-1,b=Array(O.size);return O.forEach(function(pe,Te){b[++$]=[Te,pe]}),b}function So(O,$){return function(b){return O($(b))}}function Gt(O,$){for(var b=-1,pe=O.length,Te=0,Ke=[];++b-1}function Mu(t,i){var a=this.__data__,d=Us(a,t);return d<0?(++this.size,a.push([t,i])):a[d][1]=i,this}An.prototype.clear=qn,An.prototype.delete=wt,An.prototype.get=Wr,An.prototype.has=Zt,An.prototype.set=Mu;function En(t){var i=-1,a=t==null?0:t.length;for(this.clear();++i=i?t:i)),t}function qt(t,i,a,d,m,_){var C,R=i&T,M=i&z,X=i&U;if(a&&(C=m?a(t,d,m,_):a(t)),C!==e)return C;if(!pn(t))return t;var q=Ae(t);if(q){if(C=R_(t),!R)return _t(t,C)}else{var ee=Jn(t),de=ee==Pi||ee==ps;if(Hi(t))return wg(t,R);if(ee==Xn||ee==Ar||de&&!m){if(C=M||de?{}:zg(t),!R)return M?y_(t,Uw(C,t)):m_(t,Yv(C,t))}else{if(!Ze[ee])return m?t:{};C=A_(t,ee,R)}}_||(_=new wr);var ye=_.get(t);if(ye)return ye;_.set(t,C),pm(t)?t.forEach(function(Ie){C.add(qt(Ie,i,a,Ie,t,_))}):cm(t)&&t.forEach(function(Ie,Fe){C.set(Fe,qt(Ie,i,a,Fe,t,_))});var Ce=X?M?Qd:jd:M?St:bn,Le=q?e:Ce(t);return mt(Le||t,function(Ie,Fe){Le&&(Fe=Ie,Ie=t[Fe]),la(C,Fe,qt(Ie,i,a,Fe,t,_))}),C}function Ww(t){var i=bn(t);return function(a){return Xv(a,t,i)}}function Xv(t,i,a){var d=a.length;if(t==null)return!d;for(t=qe(t);d--;){var m=a[d],_=i[m],C=t[m];if(C===e&&!(m in t)||!_(C))return!1}return!0}function Zv(t,i,a){if(typeof t!="function")throw new Zn(s);return ha(function(){t.apply(e,a)},i)}function aa(t,i,a,d){var m=-1,_=Fi,C=!0,R=t.length,M=[],X=i.length;if(!R)return M;a&&(i=Ge(i,Fn(a))),d?(_=Ul,C=!1):i.length>=r&&(_=Tu,C=!1,i=new Fu(i));e:for(;++mm?0:m+a),d=d===e||d>m?m:De(d),d<0&&(d+=m),d=a>d?0:vm(d);a0&&a(R)?i>1?Vn(R,i-1,a,d,m):Qt(m,R):d||(m[m.length]=R)}return m}var Td=Cg(),eg=Cg(!0);function Hr(t,i){return t&&Td(t,i,bn)}function Rd(t,i){return t&&eg(t,i,bn)}function Hs(t,i){return vr(i,function(a){return hi(t[a])})}function zu(t,i){i=Ui(i,t);for(var a=0,d=i.length;t!=null&&ai}function $w(t,i){return t!=null&&$e.call(t,i)}function jw(t,i){return t!=null&&i in qe(t)}function Qw(t,i,a){return t>=Bn(i,a)&&t=120&&q.length>=120)?new Fu(C&&q):e}q=t[0];var ee=-1,de=R[0];e:for(;++ee-1;)R!==t&&To.call(R,M,1),To.call(t,M,1);return t}function cg(t,i){for(var a=t?i.length:0,d=a-1;a--;){var m=i[a];if(a==d||m!==_){var _=m;pi(m)?To.call(t,m,1):bd(t,m)}}return t}function Fd(t,i){return t+zi(f()*(i-t+1))}function o_(t,i,a,d){for(var m=-1,_=Sn(Yt((i-t)/(a||1)),0),C=b(_);_--;)C[d?_:++m]=t,t+=a;return C}function Bd(t,i){var a="";if(!t||i<1||i>ve)return a;do i%2&&(a+=t),i=zi(i/2),i&&(t+=t);while(i);return a}function Ne(t,i){return ep(Ug(t,i,Et),t+"")}function l_(t){return Gv(Bo(t))}function a_(t,i){var a=Bo(t);return ef(a,Bu(i,0,a.length))}function ca(t,i,a,d){if(!pn(t))return t;i=Ui(i,t);for(var m=-1,_=i.length,C=_-1,R=t;R!=null&&++m<_;){var M=$r(i[m]),X=a;if(M==="__proto__"||M==="constructor"||M==="prototype")return t;if(m!=C){var q=R[M];X=d?d(q,M,R):e,X===e&&(X=pn(q)?q:pi(i[m+1])?[]:{})}la(R,M,X),R=R[M]}return t}var dg=F?function(t,i){return F.set(t,i),t}:Et,s_=Ro?function(t,i){return Ro(t,"toString",{configurable:!0,enumerable:!1,value:fp(i),writable:!0})}:Et;function f_(t){return ef(Bo(t))}function Jt(t,i,a){var d=-1,m=t.length;i<0&&(i=-i>m?0:m+i),a=a>m?m:a,a<0&&(a+=m),m=i>a?0:a-i>>>0,i>>>=0;for(var _=b(m);++d>>1,C=t[_];C!==null&&!Nt(C)&&(a?C<=i:C=r){var X=i?null:S_(t);if(X)return xn(X);C=!1,m=Tu,M=new Fu}else M=i?[]:R;e:for(;++d<_;){var q=t[d],ee=i?i(q):q;if(q=a||q!==0?q:0,C&&ee===ee){for(var de=M.length;de--;)if(M[de]===ee)continue e;i&&M.push(ee),R.push(q)}else m(M,ee,a)||(M!==R&&M.push(ee),R.push(q))}return R}function bd(t,i){return i=Ui(i,t),t=Wg(t,i),t==null||delete t[$r(er(i))]}function vg(t,i,a,d){return ca(t,i,a(zu(t,i)),d)}function js(t,i,a,d){for(var m=t.length,_=d?m:-1;(d?_--:++_=d?t:Jt(t,i,a)}var yg=Sd||function(t){return un.clearTimeout(t)};function wg(t,i){if(i)return t.slice();var a=t.length,d=Fs?Fs(a):new t.constructor(a);return t.copy(d),d}function Hd(t){var i=new t.constructor(t.byteLength);return new Io(i).set(new Io(t)),i}function p_(t,i){var a=i?Hd(t.buffer):t.buffer;return new t.constructor(a,t.byteOffset,t.byteLength)}function h_(t){var i=new t.constructor(t.source,co.exec(t));return i.lastIndex=t.lastIndex,i}function v_(t){return j?qe(j.call(t)):{}}function _g(t,i){var a=i?Hd(t.buffer):t.buffer;return new t.constructor(a,t.byteOffset,t.length)}function xg(t,i){if(t!==i){var a=t!==e,d=t===null,m=t===t,_=Nt(t),C=i!==e,R=i===null,M=i===i,X=Nt(i);if(!R&&!X&&!_&&t>i||_&&C&&M&&!R&&!X||d&&C&&M||!a&&M||!m)return 1;if(!d&&!_&&!X&&t=R)return M;var X=a[d];return M*(X=="desc"?-1:1)}}return t.index-i.index}function Sg(t,i,a,d){for(var m=-1,_=t.length,C=a.length,R=-1,M=i.length,X=Sn(_-C,0),q=b(M+X),ee=!d;++R1?a[m-1]:e,C=m>2?a[2]:e;for(_=t.length>3&&typeof _=="function"?(m--,_):e,C&&at(a[0],a[1],C)&&(_=m<3?e:_,m=1),i=qe(i);++d-1?m[_?i[C]:C]:e}}function Tg(t){return di(function(i){var a=i.length,d=a,m=le.prototype.thru;for(t&&i.reverse();d--;){var _=i[d];if(typeof _!="function")throw new Zn(s);if(m&&!C&&qs(_)=="wrapper")var C=new le([],!0)}for(d=C?d:a;++d1&&be.reverse(),q&&MR))return!1;var X=_.get(t),q=_.get(i);if(X&&q)return X==i&&q==t;var ee=-1,de=!0,ye=a&re?new Fu:e;for(_.set(t,i),_.set(i,t);++ee1?"& ":"")+i[d],i=i.join(a>2?", ":" "),t.replace(fo,`{ -/* [wrapped with `+i+`] */ -`)}function D_(t){return Ae(t)||Uu(t)||!!(bs&&t&&t[bs])}function pi(t,i){var a=typeof t;return i=i==null?ve:i,!!i&&(a=="number"||a!="symbol"&&Rl.test(t))&&t>-1&&t%1==0&&t0){if(++i>=Re)return arguments[0]}else i=0;return t.apply(e,arguments)}}function ef(t,i){var a=-1,d=t.length,m=d-1;for(i=i===e?d:i;++a1?t[i-1]:e;return a=typeof a=="function"?(t.pop(),a):e,Jg(t,a)});function em(t){var i=g(t);return i.__chain__=!0,i}function Hx(t,i){return i(t),t}function nf(t,i){return i(t)}var Vx=di(function(t){var i=t.length,a=i?t[0]:0,d=this.__wrapped__,m=function(_){return Pd(_,t)};return i>1||this.__actions__.length||!(d instanceof Z)||!pi(a)?this.thru(m):(d=d.slice(a,+a+(i?1:0)),d.__actions__.push({func:nf,args:[m],thisArg:e}),new le(d,this.__chain__).thru(function(_){return i&&!_.length&&_.push(e),_}))});function $x(){return em(this)}function jx(){return new le(this.value(),this.__chain__)}function Qx(){this.__values__===e&&(this.__values__=hm(this.value()));var t=this.__index__>=this.__values__.length,i=t?e:this.__values__[this.__index__++];return{done:t,value:i}}function Gx(){return this}function Yx(t){for(var i,a=this;a instanceof oe;){var d=Qg(a);d.__index__=0,d.__values__=e,i?m.__wrapped__=d:i=d;var m=d;a=a.__wrapped__}return m.__wrapped__=t,i}function Xx(){var t=this.__wrapped__;if(t instanceof Z){var i=t;return this.__actions__.length&&(i=new Z(this)),i=i.reverse(),i.__actions__.push({func:nf,args:[np],thisArg:e}),new le(i,this.__chain__)}return this.thru(np)}function Zx(){return gg(this.__wrapped__,this.__actions__)}var qx=Qs(function(t,i,a){$e.call(t,a)?++t[a]:fi(t,a,1)});function Jx(t,i,a){var d=Ae(t)?_o:Hw;return a&&at(t,i,a)&&(i=e),d(t,ke(i,3))}function eS(t,i){var a=Ae(t)?vr:Jv;return a(t,ke(i,3))}var nS=Pg(Gg),tS=Pg(Yg);function rS(t,i){return Vn(tf(t,i),1)}function iS(t,i){return Vn(tf(t,i),wn)}function uS(t,i,a){return a=a===e?1:De(a),Vn(tf(t,i),a)}function nm(t,i){var a=Ae(t)?mt:bi;return a(t,ke(i,3))}function tm(t,i){var a=Ae(t)?fd:qv;return a(t,ke(i,3))}var oS=Qs(function(t,i,a){$e.call(t,a)?t[a].push(i):fi(t,a,[i])});function lS(t,i,a,d){t=xt(t)?t:Bo(t),a=a&&!d?De(a):0;var m=t.length;return a<0&&(a=Sn(m+a,0)),af(t)?a<=m&&t.indexOf(i,a)>-1:!!m&&gr(t,i,a)>-1}var aS=Ne(function(t,i,a){var d=-1,m=typeof i=="function",_=xt(t)?b(t.length):[];return bi(t,function(C){_[++d]=m?Wn(i,C,a):sa(C,i,a)}),_}),sS=Qs(function(t,i,a){fi(t,a,i)});function tf(t,i){var a=Ae(t)?Ge:ug;return a(t,ke(i,3))}function fS(t,i,a,d){return t==null?[]:(Ae(i)||(i=i==null?[]:[i]),a=d?e:a,Ae(a)||(a=a==null?[]:[a]),sg(t,i,a))}var cS=Qs(function(t,i,a){t[a?0:1].push(i)},function(){return[[],[]]});function dS(t,i,a){var d=Ae(t)?Wl:Ls,m=arguments.length<3;return d(t,ke(i,4),a,m,bi)}function pS(t,i,a){var d=Ae(t)?Rs:Ls,m=arguments.length<3;return d(t,ke(i,4),a,m,qv)}function hS(t,i){var a=Ae(t)?vr:Jv;return a(t,of(ke(i,3)))}function vS(t){var i=Ae(t)?Gv:l_;return i(t)}function gS(t,i,a){(a?at(t,i,a):i===e)?i=1:i=De(i);var d=Ae(t)?zw:a_;return d(t,i)}function mS(t){var i=Ae(t)?bw:f_;return i(t)}function yS(t){if(t==null)return 0;if(xt(t))return af(t)?mr(t):t.length;var i=Jn(t);return i==Mn||i==vt?t.size:Ld(t).length}function wS(t,i,a){var d=Ae(t)?Hl:c_;return a&&at(t,i,a)&&(i=e),d(t,ke(i,3))}var _S=Ne(function(t,i){if(t==null)return[];var a=i.length;return a>1&&at(t,i[0],i[1])?i=[]:a>2&&at(i[0],i[1],i[2])&&(i=[i[0]]),sg(t,Vn(i,1),[])}),rf=Ao||function(){return un.Date.now()};function xS(t,i){if(typeof i!="function")throw new Zn(s);return t=De(t),function(){if(--t<1)return i.apply(this,arguments)}}function rm(t,i,a){return i=a?e:i,i=t&&i==null?t.length:i,ci(t,ue,e,e,e,e,i)}function im(t,i){var a;if(typeof i!="function")throw new Zn(s);return t=De(t),function(){return--t>0&&(a=i.apply(this,arguments)),t<=1&&(i=e),a}}var rp=Ne(function(t,i,a){var d=J;if(a.length){var m=Gt(a,Mo(rp));d|=L}return ci(t,d,i,a,m)}),um=Ne(function(t,i,a){var d=J|ne;if(a.length){var m=Gt(a,Mo(um));d|=L}return ci(i,d,t,a,m)});function om(t,i,a){i=a?e:i;var d=ci(t,D,e,e,e,e,e,i);return d.placeholder=om.placeholder,d}function lm(t,i,a){i=a?e:i;var d=ci(t,P,e,e,e,e,e,i);return d.placeholder=lm.placeholder,d}function am(t,i,a){var d,m,_,C,R,M,X=0,q=!1,ee=!1,de=!0;if(typeof t!="function")throw new Zn(s);i=nr(i)||0,pn(a)&&(q=!!a.leading,ee="maxWait"in a,_=ee?Sn(nr(a.maxWait)||0,i):_,de="trailing"in a?!!a.trailing:de);function ye(Cn){var xr=d,gi=m;return d=m=e,X=Cn,C=t.apply(gi,xr),C}function Ce(Cn){return X=Cn,R=ha(Fe,i),q?ye(Cn):C}function Le(Cn){var xr=Cn-M,gi=Cn-X,Pm=i-xr;return ee?Bn(Pm,_-gi):Pm}function Ie(Cn){var xr=Cn-M,gi=Cn-X;return M===e||xr>=i||xr<0||ee&&gi>=_}function Fe(){var Cn=rf();if(Ie(Cn))return be(Cn);R=ha(Fe,Le(Cn))}function be(Cn){return R=e,de&&d?ye(Cn):(d=m=e,C)}function Mt(){R!==e&&yg(R),X=0,d=M=m=R=e}function st(){return R===e?C:be(rf())}function Ft(){var Cn=rf(),xr=Ie(Cn);if(d=arguments,m=this,M=Cn,xr){if(R===e)return Ce(M);if(ee)return yg(R),R=ha(Fe,i),ye(M)}return R===e&&(R=ha(Fe,i)),C}return Ft.cancel=Mt,Ft.flush=st,Ft}var SS=Ne(function(t,i){return Zv(t,1,i)}),ES=Ne(function(t,i,a){return Zv(t,nr(i)||0,a)});function kS(t){return ci(t,se)}function uf(t,i){if(typeof t!="function"||i!=null&&typeof i!="function")throw new Zn(s);var a=function(){var d=arguments,m=i?i.apply(this,d):d[0],_=a.cache;if(_.has(m))return _.get(m);var C=t.apply(this,d);return a.cache=_.set(m,C)||_,C};return a.cache=new(uf.Cache||En),a}uf.Cache=En;function of(t){if(typeof t!="function")throw new Zn(s);return function(){var i=arguments;switch(i.length){case 0:return!t.call(this);case 1:return!t.call(this,i[0]);case 2:return!t.call(this,i[0],i[1]);case 3:return!t.call(this,i[0],i[1],i[2])}return!t.apply(this,i)}}function CS(t){return im(2,t)}var IS=d_(function(t,i){i=i.length==1&&Ae(i[0])?Ge(i[0],Fn(ke())):Ge(Vn(i,1),Fn(ke()));var a=i.length;return Ne(function(d){for(var m=-1,_=Bn(d.length,a);++m<_;)d[m]=i[m].call(this,d[m]);return Wn(t,this,d)})}),ip=Ne(function(t,i){var a=Gt(i,Mo(ip));return ci(t,L,e,i,a)}),sm=Ne(function(t,i){var a=Gt(i,Mo(sm));return ci(t,Y,e,i,a)}),PS=di(function(t,i){return ci(t,ae,e,e,e,i)});function TS(t,i){if(typeof t!="function")throw new Zn(s);return i=i===e?i:De(i),Ne(t,i)}function RS(t,i){if(typeof t!="function")throw new Zn(s);return i=i==null?0:Sn(De(i),0),Ne(function(a){var d=a[i],m=Wi(a,0,i);return d&&Qt(m,d),Wn(t,this,m)})}function AS(t,i,a){var d=!0,m=!0;if(typeof t!="function")throw new Zn(s);return pn(a)&&(d="leading"in a?!!a.leading:d,m="trailing"in a?!!a.trailing:m),am(t,i,{leading:d,maxWait:i,trailing:m})}function OS(t){return rm(t,1)}function DS(t,i){return ip(Wd(i),t)}function LS(){if(!arguments.length)return[];var t=arguments[0];return Ae(t)?t:[t]}function NS(t){return qt(t,U)}function MS(t,i){return i=typeof i=="function"?i:e,qt(t,U,i)}function FS(t){return qt(t,T|U)}function BS(t,i){return i=typeof i=="function"?i:e,qt(t,T|U,i)}function zS(t,i){return i==null||Xv(t,i,bn(i))}function _r(t,i){return t===i||t!==t&&i!==i}var bS=Zs(Ad),KS=Zs(function(t,i){return t>=i}),Uu=tg(function(){return arguments}())?tg:function(t){return mn(t)&&$e.call(t,"callee")&&!zs.call(t,"callee")},Ae=b.isArray,US=bl?Fn(bl):Yw;function xt(t){return t!=null&&lf(t.length)&&!hi(t)}function kn(t){return mn(t)&&xt(t)}function WS(t){return t===!0||t===!1||mn(t)&<(t)==Dn}var Hi=Ur||vp,HS=Kl?Fn(Kl):Xw;function VS(t){return mn(t)&&t.nodeType===1&&!va(t)}function $S(t){if(t==null)return!0;if(xt(t)&&(Ae(t)||typeof t=="string"||typeof t.splice=="function"||Hi(t)||Fo(t)||Uu(t)))return!t.length;var i=Jn(t);if(i==Mn||i==vt)return!t.size;if(pa(t))return!Ld(t).length;for(var a in t)if($e.call(t,a))return!1;return!0}function jS(t,i){return fa(t,i)}function QS(t,i,a){a=typeof a=="function"?a:e;var d=a?a(t,i):e;return d===e?fa(t,i,e,a):!!d}function up(t){if(!mn(t))return!1;var i=lt(t);return i==Dr||i==io||typeof t.message=="string"&&typeof t.name=="string"&&!va(t)}function GS(t){return typeof t=="number"&&Oo(t)}function hi(t){if(!pn(t))return!1;var i=lt(t);return i==Pi||i==ps||i==Or||i==jc}function fm(t){return typeof t=="number"&&t==De(t)}function lf(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=ve}function pn(t){var i=typeof t;return t!=null&&(i=="object"||i=="function")}function mn(t){return t!=null&&typeof t=="object"}var cm=Ts?Fn(Ts):qw;function YS(t,i){return t===i||Dd(t,i,Yd(i))}function XS(t,i,a){return a=typeof a=="function"?a:e,Dd(t,i,Yd(i),a)}function ZS(t){return dm(t)&&t!=+t}function qS(t){if(M_(t))throw new Te(u);return rg(t)}function JS(t){return t===null}function eE(t){return t==null}function dm(t){return typeof t=="number"||mn(t)&<(t)==Ti}function va(t){if(!mn(t)||lt(t)!=Xn)return!1;var i=Po(t);if(i===null)return!0;var a=$e.call(i,"constructor")&&i.constructor;return typeof a=="function"&&a instanceof a&&Du.call(a)==_d}var op=Ot?Fn(Ot):Jw;function nE(t){return fm(t)&&t>=-ve&&t<=ve}var pm=Ni?Fn(Ni):e_;function af(t){return typeof t=="string"||!Ae(t)&&mn(t)&<(t)==cu}function Nt(t){return typeof t=="symbol"||mn(t)&<(t)==Jr}var Fo=Mi?Fn(Mi):n_;function tE(t){return t===e}function rE(t){return mn(t)&&Jn(t)==dr}function iE(t){return mn(t)&<(t)==Qc}var uE=Zs(Nd),oE=Zs(function(t,i){return t<=i});function hm(t){if(!t)return[];if(xt(t))return af(t)?yt(t):_t(t);if(Kr&&t[Kr])return ql(t[Kr]());var i=Jn(t),a=i==Mn?Jl:i==vt?xn:Bo;return a(t)}function vi(t){if(!t)return t===0?t:0;if(t=nr(t),t===wn||t===-wn){var i=t<0?-1:1;return i*Ue}return t===t?t:0}function De(t){var i=vi(t),a=i%1;return i===i?a?i-a:i:0}function vm(t){return t?Bu(De(t),0,en):0}function nr(t){if(typeof t=="number")return t;if(Nt(t))return Ve;if(pn(t)){var i=typeof t.valueOf=="function"?t.valueOf():t;t=pn(i)?i+"":i}if(typeof t!="string")return t===0?t:+t;t=Pu(t);var a=Zc.test(t);return a||Oi.test(t)?sd(t.slice(2),a?2:8):Xc.test(t)?Ve:+t}function gm(t){return Vr(t,St(t))}function lE(t){return t?Bu(De(t),-ve,ve):t===0?t:0}function Ye(t){return t==null?"":Lt(t)}var aE=Lo(function(t,i){if(pa(i)||xt(i)){Vr(i,bn(i),t);return}for(var a in i)$e.call(i,a)&&la(t,a,i[a])}),mm=Lo(function(t,i){Vr(i,St(i),t)}),sf=Lo(function(t,i,a,d){Vr(i,St(i),t,d)}),sE=Lo(function(t,i,a,d){Vr(i,bn(i),t,d)}),fE=di(Pd);function cE(t,i){var a=H(t);return i==null?a:Yv(a,i)}var dE=Ne(function(t,i){t=qe(t);var a=-1,d=i.length,m=d>2?i[2]:e;for(m&&at(i[0],i[1],m)&&(d=1);++a1),_}),Vr(t,Qd(t),a),d&&(a=qt(a,T|z|U,E_));for(var m=i.length;m--;)bd(a,i[m]);return a});function AE(t,i){return wm(t,of(ke(i)))}var OE=di(function(t,i){return t==null?{}:i_(t,i)});function wm(t,i){if(t==null)return{};var a=Ge(Qd(t),function(d){return[d]});return i=ke(i),fg(t,a,function(d,m){return i(d,m[0])})}function DE(t,i,a){i=Ui(i,t);var d=-1,m=i.length;for(m||(m=1,t=e);++di){var d=t;t=i,i=d}if(a||t%1||i%1){var m=f();return Bn(t+m*(i-t+ad("1e-"+((m+"").length-1))),i)}return Fd(t,i)}var HE=No(function(t,i,a){return i=i.toLowerCase(),t+(a?Sm(i):i)});function Sm(t){return sp(Ye(t).toLowerCase())}function Em(t){return t=Ye(t),t&&t.replace(qc,vd).replace(id,"")}function VE(t,i,a){t=Ye(t),i=Lt(i);var d=t.length;a=a===e?d:Bu(De(a),0,d);var m=a;return a-=i.length,a>=0&&t.slice(a,m)==i}function $E(t){return t=Ye(t),t&&Yc.test(t)?t.replace(Lr,Xl):t}function jE(t){return t=Ye(t),t&&me.test(t)?t.replace(Vt,"\\$&"):t}var QE=No(function(t,i,a){return t+(a?"-":"")+i.toLowerCase()}),GE=No(function(t,i,a){return t+(a?" ":"")+i.toLowerCase()}),YE=Ig("toLowerCase");function XE(t,i,a){t=Ye(t),i=De(i);var d=i?mr(t):0;if(!i||d>=i)return t;var m=(i-d)/2;return Xs(zi(m),a)+t+Xs(Yt(m),a)}function ZE(t,i,a){t=Ye(t),i=De(i);var d=i?mr(t):0;return i&&d>>0,a?(t=Ye(t),t&&(typeof i=="string"||i!=null&&!op(i))&&(i=Lt(i),!i&&Bi(t))?Wi(yt(t),0,a):t.split(i,a)):[]}var ik=No(function(t,i,a){return t+(a?" ":"")+sp(i)});function uk(t,i,a){return t=Ye(t),a=a==null?0:Bu(De(a),0,t.length),i=Lt(i),t.slice(a,a+i.length)==i}function ok(t,i,a){var d=g.templateSettings;a&&at(t,i,a)&&(i=e),t=Ye(t),i=sf({},i,d,Lg);var m=sf({},i.imports,d.imports,Lg),_=bn(m),C=Gl(m,_),R,M,X=0,q=i.interpolate||po,ee="__p += '",de=ia((i.escape||po).source+"|"+q.source+"|"+(q===vu?ws:po).source+"|"+(i.evaluate||po).source+"|$","g"),ye="//# sourceURL="+($e.call(i,"sourceURL")?(i.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Cs+"]")+` -`;t.replace(de,function(Ie,Fe,be,Mt,st,Ft){return be||(be=Mt),ee+=t.slice(X,Ft).replace(Jc,Zl),Fe&&(R=!0,ee+=`' + -__e(`+Fe+`) + -'`),st&&(M=!0,ee+=`'; -`+st+`; -__p += '`),be&&(ee+=`' + -((__t = (`+be+`)) == null ? '' : __t) + -'`),X=Ft+Ie.length,Ie}),ee+=`'; -`;var Ce=$e.call(i,"variable")&&i.variable;if(!Ce)ee=`with (obj) { -`+ee+` -} -`;else if(ys.test(Ce))throw new Te(c);ee=(M?ee.replace(hs,""):ee).replace(vs,"$1").replace(Gc,"$1;"),ee="function("+(Ce||"obj")+`) { -`+(Ce?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(R?", __e = _.escape":"")+(M?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+ee+`return __p -}`;var Le=Cm(function(){return Ke(_,ye+"return "+ee).apply(e,C)});if(Le.source=ee,up(Le))throw Le;return Le}function lk(t){return Ye(t).toLowerCase()}function ak(t){return Ye(t).toUpperCase()}function sk(t,i,a){if(t=Ye(t),t&&(a||i===e))return Pu(t);if(!t||!(i=Lt(i)))return t;var d=yt(t),m=yt(i),_=Ru(d,m),C=Yl(d,m)+1;return Wi(d,_,C).join("")}function fk(t,i,a){if(t=Ye(t),t&&(a||i===e))return t.slice(0,ea(t)+1);if(!t||!(i=Lt(i)))return t;var d=yt(t),m=Yl(d,yt(i))+1;return Wi(d,0,m).join("")}function ck(t,i,a){if(t=Ye(t),t&&(a||i===e))return t.replace(ti,"");if(!t||!(i=Lt(i)))return t;var d=yt(t),m=Ru(d,yt(i));return Wi(d,m).join("")}function dk(t,i){var a=fe,d=He;if(pn(i)){var m="separator"in i?i.separator:m;a="length"in i?De(i.length):a,d="omission"in i?Lt(i.omission):d}t=Ye(t);var _=t.length;if(Bi(t)){var C=yt(t);_=C.length}if(a>=_)return t;var R=a-mr(d);if(R<1)return d;var M=C?Wi(C,0,R).join(""):t.slice(0,R);if(m===e)return M+d;if(C&&(R+=M.length-R),op(m)){if(t.slice(R).search(m)){var X,q=M;for(m.global||(m=ia(m.source,Ye(co.exec(m))+"g")),m.lastIndex=0;X=m.exec(q);)var ee=X.index;M=M.slice(0,ee===e?R:ee)}}else if(t.indexOf(Lt(m),R)!=R){var de=M.lastIndexOf(m);de>-1&&(M=M.slice(0,de))}return M+d}function pk(t){return t=Ye(t),t&&kl.test(t)?t.replace(gs,Eo):t}var hk=No(function(t,i,a){return t+(a?" ":"")+i.toUpperCase()}),sp=Ig("toUpperCase");function km(t,i,a){return t=Ye(t),i=a?e:i,i===e?md(t)?ta(t):dd(t):t.match(i)||[]}var Cm=Ne(function(t,i){try{return Wn(t,e,i)}catch(a){return up(a)?a:new Te(a)}}),vk=di(function(t,i){return mt(i,function(a){a=$r(a),fi(t,a,rp(t[a],t))}),t});function gk(t){var i=t==null?0:t.length,a=ke();return t=i?Ge(t,function(d){if(typeof d[1]!="function")throw new Zn(s);return[a(d[0]),d[1]]}):[],Ne(function(d){for(var m=-1;++mve)return[];var a=en,d=Bn(t,en);i=ke(i),t-=en;for(var m=xo(d,i);++a0||i<0)?new Z(a):(t<0?a=a.takeRight(-t):t&&(a=a.drop(t)),i!==e&&(i=De(i),a=i<0?a.dropRight(-i):a.take(i-t)),a)},Z.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Z.prototype.toArray=function(){return this.take(en)},Hr(Z.prototype,function(t,i){var a=/^(?:filter|find|map|reject)|While$/.test(i),d=/^(?:head|last)$/.test(i),m=g[d?"take"+(i=="last"?"Right":""):i],_=d||/^find/.test(i);m&&(g.prototype[i]=function(){var C=this.__wrapped__,R=d?[1]:arguments,M=C instanceof Z,X=R[0],q=M||Ae(C),ee=function(Fe){var be=m.apply(g,Qt([Fe],R));return d&&de?be[0]:be};q&&a&&typeof X=="function"&&X.length!=1&&(M=q=!1);var de=this.__chain__,ye=!!this.__actions__.length,Ce=_&&!de,Le=M&&!ye;if(!_&&q){C=Le?C:new Z(this);var Ie=t.apply(C,R);return Ie.__actions__.push({func:nf,args:[ee],thisArg:e}),new le(Ie,de)}return Ce&&Le?t.apply(this,R):(Ie=this.thru(ee),Ce?d?Ie.value()[0]:Ie.value():Ie)})}),mt(["pop","push","shift","sort","splice","unshift"],function(t){var i=ko[t],a=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",d=/^(?:pop|shift)$/.test(t);g.prototype[t]=function(){var m=arguments;if(d&&!this.__chain__){var _=this.value();return i.apply(Ae(_)?_:[],m)}return this[a](function(C){return i.apply(Ae(C)?C:[],m)})}}),Hr(Z.prototype,function(t,i){var a=g[i];if(a){var d=a.name+"";$e.call(A,d)||(A[d]=[]),A[d].push({name:i,func:a})}}),A[Gs(e,ne).name]=[{name:"wrapper",func:e}],Z.prototype.clone=xe,Z.prototype.reverse=Oe,Z.prototype.value=he,g.prototype.at=Vx,g.prototype.chain=$x,g.prototype.commit=jx,g.prototype.next=Qx,g.prototype.plant=Yx,g.prototype.reverse=Xx,g.prototype.toJSON=g.prototype.valueOf=g.prototype.value=Zx,g.prototype.first=g.prototype.head,Kr&&(g.prototype[Kr]=Gx),g},Dt=ra();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(un._=Dt,define(function(){return Dt})):oi?((oi.exports=Dt)._=Dt,zl._=Dt):un._=Dt}).call(zo)});var Rm=tr((gp,mp)=>{(function(e,n){typeof gp=="object"&&typeof mp!="undefined"?mp.exports=n():typeof define=="function"&&define.amd?define(n):(e=typeof globalThis!="undefined"?globalThis:e||self,e.Dexie=n())})(gp,function(){"use strict";var e=function(o,l){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,p){f.__proto__=p}||function(f,p){for(var h in p)Object.prototype.hasOwnProperty.call(p,h)&&(f[h]=p[h])},e(o,l)};function n(o,l){if(typeof l!="function"&&l!==null)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");e(o,l);function f(){this.constructor=o}o.prototype=l===null?Object.create(l):(f.prototype=l.prototype,new f)}var r=function(){return r=Object.assign||function(l){for(var f,p=1,h=arguments.length;p=0&&o.splice(f,1),f>=0}var Or={};function Dn(o){var l,f,p,h;if(arguments.length===1){if(v(o))return o.slice();if(this===Or&&typeof o=="string")return[o];if(h=Ar(o)){for(f=[];p=h.next(),!p.done;)f.push(p.value);return f}if(o==null)return[o];if(l=o.length,typeof l=="number"){for(f=new Array(l);l--;)f[l]=o[l];return f}return[o]}for(l=arguments.length,f=new Array(l);l--;)f[l]=arguments[l];return f}var Rt=typeof Symbol!="undefined"?function(o){return o[Symbol.toStringTag]==="AsyncFunction"}:function(){return!1},io=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"],Dr=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],Pi=io.concat(Dr),ps={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function Mn(o,l){this.name=o,this.message=l}J(Mn).from(Error).extend({toString:function(){return this.name+": "+this.message}});function Ti(o,l){return o+". Errors: "+Object.keys(l).map(function(f){return l[f].toString()}).filter(function(f,p,h){return h.indexOf(f)===p}).join(` -`)}function uo(o,l,f,p){this.failures=l,this.failedKeys=p,this.successCount=f,this.message=Ti(o,l)}J(uo).from(Mn);function Xn(o,l){this.name="BulkError",this.failures=Object.keys(l).map(function(f){return l[f]}),this.failuresByPos=l,this.message=Ti(o,this.failures)}J(Xn).from(Mn);var oo=Pi.reduce(function(o,l){return o[l]=l+"Error",o},{}),jc=Mn,we=Pi.reduce(function(o,l){var f=l+"Error";function p(h,y){this.name=f,h?typeof h=="string"?(this.message="".concat(h).concat(y?` - `+y:""),this.inner=y||null):typeof h=="object"&&(this.message="".concat(h.name," ").concat(h.message),this.inner=h):(this.message=ps[l]||f,this.inner=null)}return J(p).from(jc),o[l]=p,o},{});we.Syntax=SyntaxError,we.Type=TypeError,we.Range=RangeError;var vt=Dr.reduce(function(o,l){return o[l+"Error"]=we[l],o},{});function cu(o,l){if(!o||o instanceof Mn||o instanceof TypeError||o instanceof SyntaxError||!o.name||!vt[o.name])return o;var f=new vt[o.name](l||o.message,o);return"stack"in o&&re(f,"stack",{get:function(){return this.inner.stack}}),f}var Jr=Pi.reduce(function(o,l){return["Syntax","Type","Range"].indexOf(l)===-1&&(o[l+"Error"]=we[l]),o},{});Jr.ModifyError=uo,Jr.DexieError=Mn,Jr.BulkError=Xn;function je(){}function dr(o){return o}function Qc(o,l){return o==null||o===dr?l:function(f){return l(o(f))}}function At(o,l){return function(){o.apply(this,arguments),l.apply(this,arguments)}}function Ri(o,l){return o===je?l:function(){var f=o.apply(this,arguments);f!==void 0&&(arguments[0]=f);var p=this.onsuccess,h=this.onerror;this.onsuccess=null,this.onerror=null;var y=l.apply(this,arguments);return p&&(this.onsuccess=this.onsuccess?At(p,this.onsuccess):p),h&&(this.onerror=this.onerror?At(h,this.onerror):h),y!==void 0?y:f}}function xl(o,l){return o===je?l:function(){o.apply(this,arguments);var f=this.onsuccess,p=this.onerror;this.onsuccess=this.onerror=null,l.apply(this,arguments),f&&(this.onsuccess=this.onsuccess?At(f,this.onsuccess):f),p&&(this.onerror=this.onerror?At(p,this.onerror):p)}}function Sl(o,l){return o===je?l:function(f){var p=o.apply(this,arguments);x(f,p);var h=this.onsuccess,y=this.onerror;this.onsuccess=null,this.onerror=null;var w=l.apply(this,arguments);return h&&(this.onsuccess=this.onsuccess?At(h,this.onsuccess):h),y&&(this.onerror=this.onerror?At(y,this.onerror):y),p===void 0?w===void 0?void 0:w:x(p,w)}}function El(o,l){return o===je?l:function(){return l.apply(this,arguments)===!1?!1:o.apply(this,arguments)}}function du(o,l){return o===je?l:function(){var f=o.apply(this,arguments);if(f&&typeof f.then=="function"){for(var p=this,h=arguments.length,y=new Array(h);h--;)y[h]=arguments[h];return f.then(function(){return l.apply(p,y)})}return l.apply(this,arguments)}}var gt=typeof location!="undefined"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function lo(o,l){gt=o}var ei={},ao=100,pu=typeof Promise=="undefined"?[]:function(){var o=Promise.resolve();if(typeof crypto=="undefined"||!crypto.subtle)return[o,k(o),o];var l=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[l,k(l),o]}(),hs=pu[0],vs=pu[1],Gc=pu[2],gs=vs&&vs.then,Lr=hs&&hs.constructor,kl=!!Gc;function Yc(){queueMicrotask(Zc)}var hu=function(o,l){ti.push([o,l]),vu&&(Yc(),vu=!1)},Cl=!0,vu=!0,ni=[],so=[],Il=dr,Vt={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:je,pgp:!1,env:{},finalize:je},me=Vt,ti=[],ri=0,fo=[];function ce(o){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var l=this._PSD=me;if(typeof o!="function"){if(o!==ei)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&Tl(this,this._value);return}this._state=null,this._value=null,++l.ref,ys(this,o)}var Pl={get:function(){var o=me,l=yu;function f(p,h){var y=this,w=!o.global&&(o!==me||l!==yu),S=w&&!Mr(),E=new ce(function(I,F){co(y,new ms(_u(p,o,w,S),_u(h,o,w,S),I,F,o))});return this._consoleTask&&(E._consoleTask=this._consoleTask),E}return f.prototype=ei,f},set:function(o){re(this,"then",o&&o.prototype===ei?Pl:{get:function(){return o},set:Pl.set})}};U(ce.prototype,{then:Pl,_then:function(o,l){co(this,new ms(null,null,o,l,me))},catch:function(o){if(arguments.length===1)return this.then(null,o);var l=arguments[0],f=arguments[1];return typeof l=="function"?this.then(null,function(p){return p instanceof l?f(p):ii(p)}):this.then(null,function(p){return p&&p.name===l?f(p):ii(p)})},finally:function(o){return this.then(function(l){return ce.resolve(o()).then(function(){return l})},function(l){return ce.resolve(o()).then(function(){return ii(l)})})},timeout:function(o,l){var f=this;return o<1/0?new ce(function(p,h){var y=setTimeout(function(){return h(new we.Timeout(l))},o);f.then(p,h).finally(clearTimeout.bind(null,y))}):this}}),typeof Symbol!="undefined"&&Symbol.toStringTag&&re(ce.prototype,Symbol.toStringTag,"Dexie.Promise"),Vt.env=Ss();function ms(o,l,f,p,h){this.onFulfilled=typeof o=="function"?o:null,this.onRejected=typeof l=="function"?l:null,this.resolve=f,this.reject=p,this.psd=h}U(ce,{all:function(){var o=Dn.apply(null,arguments).map(wu);return new ce(function(l,f){o.length===0&&l([]);var p=o.length;o.forEach(function(h,y){return ce.resolve(h).then(function(w){o[y]=w,--p||l(o)},f)})})},resolve:function(o){if(o instanceof ce)return o;if(o&&typeof o.then=="function")return new ce(function(f,p){o.then(f,p)});var l=new ce(ei,!0,o);return l},reject:ii,race:function(){var o=Dn.apply(null,arguments).map(wu);return new ce(function(l,f){o.map(function(p){return ce.resolve(p).then(l,f)})})},PSD:{get:function(){return me},set:function(o){return me=o}},totalEchoes:{get:function(){return yu}},newPSD:Nr,usePSD:Fr,scheduler:{get:function(){return hu},set:function(o){hu=o}},rejectionMapper:{get:function(){return Il},set:function(o){Il=o}},follow:function(o,l){return new ce(function(f,p){return Nr(function(h,y){var w=me;w.unhandleds=[],w.onunhandled=y,w.finalize=At(function(){var S=this;qc(function(){S.unhandleds.length===0?h():y(S.unhandleds[0])})},w.finalize),o()},l,f,p)})}}),Lr&&(Lr.allSettled&&re(ce,"allSettled",function(){var o=Dn.apply(null,arguments).map(wu);return new ce(function(l){o.length===0&&l([]);var f=o.length,p=new Array(f);o.forEach(function(h,y){return ce.resolve(h).then(function(w){return p[y]={status:"fulfilled",value:w}},function(w){return p[y]={status:"rejected",reason:w}}).then(function(){return--f||l(p)})})})}),Lr.any&&typeof AggregateError!="undefined"&&re(ce,"any",function(){var o=Dn.apply(null,arguments).map(wu);return new ce(function(l,f){o.length===0&&f(new AggregateError([]));var p=o.length,h=new Array(p);o.forEach(function(y,w){return ce.resolve(y).then(function(S){return l(S)},function(S){h[w]=S,--p||f(new AggregateError(h))})})})}),Lr.withResolvers&&(ce.withResolvers=Lr.withResolvers));function ys(o,l){try{l(function(f){if(o._state===null){if(f===o)throw new TypeError("A promise cannot be resolved with itself.");var p=o._lib&&Ai();f&&typeof f.then=="function"?ys(o,function(h,y){f instanceof ce?f._then(h,y):f.then(h,y)}):(o._state=!0,o._value=f,ws(o)),p&&Oi()}},Tl.bind(null,o))}catch(f){Tl(o,f)}}function Tl(o,l){if(so.push(l),o._state===null){var f=o._lib&&Ai();l=Il(l),o._state=!1,o._value=l,po(o),ws(o),f&&Oi()}}function ws(o){var l=o._listeners;o._listeners=[];for(var f=0,p=l.length;f0;)for(o=ti,ti=[],f=o.length,l=0;l0);Cl=!0,vu=!0}function Rl(){var o=ni;ni=[],o.forEach(function(p){p._PSD.onunhandled.call(null,p._value,p)});for(var l=fo.slice(0),f=l.length;f;)l[--f]()}function qc(o){function l(){o(),fo.splice(fo.indexOf(l),1)}fo.push(l),++ri,hu(function(){--ri===0&&Rl()},[])}function po(o){ni.some(function(l){return l._value===o._value})||ni.push(o)}function Jc(o){for(var l=ni.length;l;)if(ni[--l]._value===o._value){ni.splice(l,1);return}}function ii(o){return new ce(ei,!1,o)}function nn(o,l){var f=me;return function(){var p=Ai(),h=me;try{return $t(f,!0),o.apply(this,arguments)}catch(y){l&&l(y)}finally{$t(h,!1),p&&Oi()}}}var Rn={awaits:0,echoes:0,id:0},ed=0,gu=[],mu=0,yu=0,nd=0;function Nr(o,l,f,p){var h=me,y=Object.create(h);y.parent=h,y.ref=0,y.global=!1,y.id=++nd,Vt.env,y.env=kl?{Promise:ce,PromiseProp:{value:ce,configurable:!0,writable:!0},all:ce.all,race:ce.race,allSettled:ce.allSettled,any:ce.any,resolve:ce.resolve,reject:ce.reject}:{},l&&x(y,l),++h.ref,y.finalize=function(){--this.parent.ref||this.parent.finalize()};var w=Fr(y,o,f,p);return y.ref===0&&y.finalize(),w}function Di(){return Rn.id||(Rn.id=++ed),++Rn.awaits,Rn.echoes+=ao,Rn.id}function Mr(){return Rn.awaits?(--Rn.awaits===0&&(Rn.id=0),Rn.echoes=Rn.awaits*ao,!0):!1}(""+gs).indexOf("[native code]")===-1&&(Di=Mr=je);function wu(o){return Rn.echoes&&o&&o.constructor===Lr?(Di(),o.then(function(l){return Mr(),l},function(l){return Mr(),dn(l)})):o}function _s(o){++yu,(!Rn.echoes||--Rn.echoes===0)&&(Rn.echoes=Rn.awaits=Rn.id=0),gu.push(me),$t(o,!0)}function xs(){var o=gu[gu.length-1];gu.pop(),$t(o,!1)}function $t(o,l){var f=me;if((l?Rn.echoes&&(!mu++||o!==me):mu&&(!--mu||o!==me))&&queueMicrotask(l?_s.bind(null,o):xs),o!==me&&(me=o,f===Vt&&(Vt.env=Ss()),kl)){var p=Vt.env.Promise,h=o.env;(f.global||o.global)&&(Object.defineProperty(s,"Promise",h.PromiseProp),p.all=h.all,p.race=h.race,p.resolve=h.resolve,p.reject=h.reject,h.allSettled&&(p.allSettled=h.allSettled),h.any&&(p.any=h.any))}}function Ss(){var o=s.Promise;return kl?{Promise:o,PromiseProp:Object.getOwnPropertyDescriptor(s,"Promise"),all:o.all,race:o.race,allSettled:o.allSettled,any:o.any,resolve:o.resolve,reject:o.reject}:{}}function Fr(o,l,f,p,h){var y=me;try{return $t(o,!0),l(f,p,h)}finally{$t(y,!1)}}function _u(o,l,f,p){return typeof o!="function"?o:function(){var h=me;f&&Di(),$t(l,!0);try{return o.apply(this,arguments)}finally{$t(h,!1),p&&queueMicrotask(Mr)}}}function ho(o){Promise===Lr&&Rn.echoes===0?mu===0?o():enqueueNativeMicroTask(o):setTimeout(o,0)}var dn=ce.reject;function vo(o,l,f,p){if(!o.idbdb||!o._state.openComplete&&!me.letThrough&&!o._vip){if(o._state.openComplete)return dn(new we.DatabaseClosed(o._state.dbOpenError));if(!o._state.isBeingOpened){if(!o._state.autoOpen)return dn(new we.DatabaseClosed);o.open().catch(je)}return o._state.dbReadyPromise.then(function(){return vo(o,l,f,p)})}else{var h=o._createTransaction(l,f,o._dbSchema);try{h.create(),o._state.PR1398_maxLoop=3}catch(y){return y.name===oo.InvalidState&&o.isOpen()&&--o._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),o.close({disableAutoOpen:!1}),o.open().then(function(){return vo(o,l,f,p)})):dn(y)}return h._promise(l,function(y,w){return Nr(function(){return me.trans=h,p(y,w,h)})}).then(function(y){if(l==="readwrite")try{h.idbtrans.commit()}catch(w){}return l==="readonly"?y:h._completion.then(function(){return y})})}}var Al="4.0.10",pr="\uFFFF",Ol=-1/0,jt="Invalid key provided. Keys must be of type string, number, Date or Array.",go="String expected.",Br=[],hr="__dbnames",mo="readonly",yo="readwrite";function ui(o,l){return o?l?function(){return o.apply(this,arguments)&&l.apply(this,arguments)}:o:l}var Dl={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function xu(o){return typeof o=="string"&&!/\./.test(o)?function(l){return l[o]===void 0&&o in l&&(l=Ve(l),delete l[o]),l}:function(l){return l}}function Ll(){throw we.Type()}function Me(o,l){try{var f=Es(o),p=Es(l);if(f!==p)return f==="Array"?1:p==="Array"?-1:f==="binary"?1:p==="binary"?-1:f==="string"?1:p==="string"?-1:f==="Date"?1:p!=="Date"?NaN:-1;switch(f){case"number":case"Date":case"string":return o>l?1:o=0})){for(var A=0;A0){var y=h.valueMapper,w=wo(h,h.table.core.schema);return h.table.core.query({trans:p,limit:h.limit,values:!0,query:{index:w,range:h.range}}).then(function(E){var I=E.result;return y?I.map(y):I})}else{var S=[];return Qe(h,function(E){return S.push(E)},p,h.table.core).then(function(){return S})}},l)},o.prototype.offset=function(l){var f=this._ctx;return l<=0?this:(f.offset+=l,zr(f)?Fl(f,function(){var p=l;return function(h,y){return p===0?!0:p===1?(--p,!1):(y(function(){h.advance(p),p=0}),!1)}}):Fl(f,function(){var p=l;return function(){return--p<0}}),this)},o.prototype.limit=function(l){return this._ctx.limit=Math.min(this._ctx.limit,l),Fl(this._ctx,function(){var f=l;return function(p,h,y){return--f<=0&&h(y),f>=0}},!0),this},o.prototype.until=function(l,f){return Ml(this._ctx,function(p,h,y){return l(p.value)?(h(y),f):!0}),this},o.prototype.first=function(l){return this.limit(1).toArray(function(f){return f[0]}).then(l)},o.prototype.last=function(l){return this.reverse().first(l)},o.prototype.filter=function(l){return Ml(this._ctx,function(f){return l(f.value)}),ud(this._ctx,l),this},o.prototype.and=function(l){return this.filter(l)},o.prototype.or=function(l){return new this.db.WhereClause(this._ctx.table,l,this)},o.prototype.reverse=function(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},o.prototype.desc=function(){return this.reverse()},o.prototype.eachKey=function(l){var f=this._ctx;return f.keysOnly=!f.isMatch,this.each(function(p,h){l(h.key,h)})},o.prototype.eachUniqueKey=function(l){return this._ctx.unique="unique",this.eachKey(l)},o.prototype.eachPrimaryKey=function(l){var f=this._ctx;return f.keysOnly=!f.isMatch,this.each(function(p,h){l(h.primaryKey,h)})},o.prototype.keys=function(l){var f=this._ctx;f.keysOnly=!f.isMatch;var p=[];return this.each(function(h,y){p.push(y.key)}).then(function(){return p}).then(l)},o.prototype.primaryKeys=function(l){var f=this._ctx;if(f.dir==="next"&&zr(f,!0)&&f.limit>0)return this._read(function(h){var y=wo(f,f.table.core.schema);return f.table.core.query({trans:h,values:!1,limit:f.limit,query:{index:y,range:f.range}})}).then(function(h){var y=h.result;return y}).then(l);f.keysOnly=!f.isMatch;var p=[];return this.each(function(h,y){p.push(y.primaryKey)}).then(function(){return p}).then(l)},o.prototype.uniqueKeys=function(l){return this._ctx.unique="unique",this.keys(l)},o.prototype.firstKey=function(l){return this.limit(1).keys(function(f){return f[0]}).then(l)},o.prototype.lastKey=function(l){return this.reverse().firstKey(l)},o.prototype.distinct=function(){var l=this._ctx,f=l.index&&l.table.schema.idxByName[l.index];if(!f||!f.multi)return this;var p={};return Ml(this._ctx,function(h){var y=h.primaryKey.toString(),w=z(p,y);return p[y]=!0,!w}),this},o.prototype.modify=function(l){var f=this,p=this._ctx;return this._write(function(h){var y;if(typeof l=="function")y=l;else{var w=c(l),S=w.length;y=function(j){for(var Q=!1,g=0;g0&&E.mutate({trans:h,type:"add",values:Z}).then(function(_e){for(var sn in _e.failures)he.splice(parseInt(sn),1);G(Z.length,_e)})).then(function(){return(xe.length>0||Q&&typeof l=="object")&&E.mutate({trans:h,type:"put",keys:Oe,values:xe,criteria:Q,changeSpec:typeof l!="function"&&l,isAdditionalChunk:H>0}).then(function(_e){return G(xe.length,_e)})}).then(function(){return(he.length>0||Q&&l===Bl)&&E.mutate({trans:h,type:"delete",keys:he,criteria:Q,isAdditionalChunk:H>0}).then(function(_e){return G(he.length,_e)})}).then(function(){return j.length>H+oe&&g(H+V)})})};return g(0).then(function(){if(N.length>0)throw new uo("Error modifying one or more objects",N,B,W);return j.length})})})},o.prototype.delete=function(){var l=this._ctx,f=l.range;return zr(l)&&(l.isPrimKey||f.type===3)?this._write(function(p){var h=l.table.core.schema.primaryKey,y=f;return l.table.core.count({trans:p,query:{index:h,range:y}}).then(function(w){return l.table.core.mutate({trans:p,type:"deleteRange",range:y}).then(function(S){var E=S.failures;S.lastResult,S.results;var I=S.numFailures;if(I)throw new uo("Could not delete some values",Object.keys(E).map(function(F){return E[F]}),w-I);return w-I})})}):this.modify(Bl)},o}(),Bl=function(o,l){return l.value=null};function ad(o){return Eu(ld.prototype,function(f,p){this.db=o;var h=Dl,y=null;if(p)try{h=p()}catch(I){y=I}var w=f._ctx,S=w.table,E=S.hook.reading.fire;this._ctx={table:S,index:w.index,isPrimKey:!w.index||S.schema.primKey.keyPath&&w.index===S.schema.primKey.name,range:h,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:y,or:w.or,valueMapper:E!==dr?E:null}})}function sd(o,l){return ol?-1:o===l?0:1}function ot(o,l,f){var p=o instanceof Kl?new o.Collection(o):o;return p._ctx.error=f?new f(l):new TypeError(l),p}function un(o){return new o.Collection(o,function(){return bl("")}).limit(0)}function zl(o){return o==="next"?function(l){return l.toUpperCase()}:function(l){return l.toLowerCase()}}function oi(o){return o==="next"?function(l){return l.toLowerCase()}:function(l){return l.toUpperCase()}}function Ps(o,l,f,p,h,y){for(var w=Math.min(o.length,p.length),S=-1,E=0;E=0?o.substr(0,S)+l[S]+f.substr(S+1):null;h(o[E],I)<0&&(S=E)}return w0)&&(g=oe)}return W(g!==null?function(){B.continue(g+F)}:G),!1}),te}function _n(o,l,f,p){return{type:2,lower:o,upper:l,lowerOpen:f,upperOpen:p}}function bl(o){return{type:1,lower:o,upper:o}}var Kl=function(){function o(){}return Object.defineProperty(o.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),o.prototype.between=function(l,f,p,h){p=p!==!1,h=h===!0;try{return this._cmp(l,f)>0||this._cmp(l,f)===0&&(p||h)&&!(p&&h)?un(this):new this.Collection(this,function(){return _n(l,f,!p,!h)})}catch(y){return ot(this,jt)}},o.prototype.equals=function(l){return l==null?ot(this,jt):new this.Collection(this,function(){return bl(l)})},o.prototype.above=function(l){return l==null?ot(this,jt):new this.Collection(this,function(){return _n(l,void 0,!0)})},o.prototype.aboveOrEqual=function(l){return l==null?ot(this,jt):new this.Collection(this,function(){return _n(l,void 0,!1)})},o.prototype.below=function(l){return l==null?ot(this,jt):new this.Collection(this,function(){return _n(void 0,l,!1,!0)})},o.prototype.belowOrEqual=function(l){return l==null?ot(this,jt):new this.Collection(this,function(){return _n(void 0,l)})},o.prototype.startsWith=function(l){return typeof l!="string"?ot(this,go):this.between(l,l+pr,!0,!0)},o.prototype.startsWithIgnoreCase=function(l){return l===""?this.startsWith(l):Li(this,function(f,p){return f.indexOf(p[0])===0},[l],pr)},o.prototype.equalsIgnoreCase=function(l){return Li(this,function(f,p){return f===p[0]},[l],"")},o.prototype.anyOfIgnoreCase=function(){var l=Dn.apply(Or,arguments);return l.length===0?un(this):Li(this,function(f,p){return p.indexOf(f)!==-1},l,"")},o.prototype.startsWithAnyOfIgnoreCase=function(){var l=Dn.apply(Or,arguments);return l.length===0?un(this):Li(this,function(f,p){return p.some(function(h){return f.indexOf(h)===0})},l,pr)},o.prototype.anyOf=function(){var l=this,f=Dn.apply(Or,arguments),p=this._cmp;try{f.sort(p)}catch(w){return ot(this,jt)}if(f.length===0)return un(this);var h=new this.Collection(this,function(){return _n(f[0],f[f.length-1])});h._ondirectionchange=function(w){p=w==="next"?l._ascending:l._descending,f.sort(p)};var y=0;return h._addAlgorithm(function(w,S,E){for(var I=w.key;p(I,f[y])>0;)if(++y,y===f.length)return S(E),!1;return p(I,f[y])===0?!0:(S(function(){w.continue(f[y])}),!1)}),h},o.prototype.notEqual=function(l){return this.inAnyRange([[Ol,l],[l,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},o.prototype.noneOf=function(){var l=Dn.apply(Or,arguments);if(l.length===0)return new this.Collection(this);try{l.sort(this._ascending)}catch(p){return ot(this,jt)}var f=l.reduce(function(p,h){return p?p.concat([[p[p.length-1][1],h]]):[[Ol,h]]},null);return f.push([l[l.length-1],this.db._maxKey]),this.inAnyRange(f,{includeLowers:!1,includeUppers:!1})},o.prototype.inAnyRange=function(l,f){var p=this,h=this._cmp,y=this._ascending,w=this._descending,S=this._min,E=this._max;if(l.length===0)return un(this);if(!l.every(function(H){return H[0]!==void 0&&H[1]!==void 0&&y(H[0],H[1])<=0}))return ot(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",we.InvalidArgument);var I=!f||f.includeLowers!==!1,F=f&&f.includeUppers===!0;function A(H,oe){for(var le=0,Z=H.length;le0){xe[0]=S(xe[0],oe[0]),xe[1]=E(xe[1],oe[1]);break}}return le===Z&&H.push(oe),H}var V=y;function te(H,oe){return V(H[0],oe[0])}var N;try{N=l.reduce(A,[]),N.sort(te)}catch(H){return ot(this,jt)}var B=0,W=F?function(H){return y(H,N[B][1])>0}:function(H){return y(H,N[B][1])>=0},G=I?function(H){return w(H,N[B][0])>0}:function(H){return w(H,N[B][0])>=0};function j(H){return!W(H)&&!G(H)}var Q=W,g=new this.Collection(this,function(){return _n(N[0][0],N[N.length-1][1],!I,!F)});return g._ondirectionchange=function(H){H==="next"?(Q=W,V=y):(Q=G,V=w),N.sort(te)},g._addAlgorithm(function(H,oe,le){for(var Z=H.key;Q(Z);)if(++B,B===N.length)return oe(le),!1;return j(Z)?!0:(p._cmp(Z,N[B][1])===0||p._cmp(Z,N[B][0])===0||oe(function(){V===y?H.continue(N[B][0]):H.continue(N[B][1])}),!1)}),g},o.prototype.startsWithAnyOf=function(){var l=Dn.apply(Or,arguments);return l.every(function(f){return typeof f=="string"})?l.length===0?un(this):this.inAnyRange(l.map(function(f){return[f,f+pr]})):ot(this,"startsWithAnyOf() only works with strings")},o}();function Ts(o){return Eu(Kl.prototype,function(f,p,h){if(this.db=o,this._ctx={table:f,index:p===":id"?null:p,or:h},this._cmp=this._ascending=Me,this._descending=function(y,w){return Me(w,y)},this._max=function(y,w){return Me(y,w)>0?y:w},this._min=function(y,w){return Me(y,w)<0?y:w},this._IDBKeyRange=o._deps.IDBKeyRange,!this._IDBKeyRange)throw new we.MissingAPI})}function Ot(o){return nn(function(l){return Ni(l),o(l.target.error),!1})}function Ni(o){o.stopPropagation&&o.stopPropagation(),o.preventDefault&&o.preventDefault()}var Mi="storagemutated",Wn="x-storagemutated-1",br=Su(null,Mi),mt=function(){function o(){}return o.prototype._lock=function(){return Y(!me.global),++this._reculock,this._reculock===1&&!me.global&&(me.lockOwnerFor=this),this},o.prototype._unlock=function(){if(Y(!me.global),--this._reculock===0)for(me.global||(me.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var l=this._blockedFuncs.shift();try{Fr(l[1],l[0])}catch(f){}}return this},o.prototype._locked=function(){return this._reculock&&me.lockOwnerFor!==this},o.prototype.create=function(l){var f=this;if(!this.mode)return this;var p=this.db.idbdb,h=this.db._state.dbOpenError;if(Y(!this.idbtrans),!l&&!p)switch(h&&h.name){case"DatabaseClosedError":throw new we.DatabaseClosed(h);case"MissingAPIError":throw new we.MissingAPI(h.message,h);default:throw new we.OpenFailed(h)}if(!this.active)throw new we.TransactionInactive;return Y(this._completion._state===null),l=this.idbtrans=l||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):p.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})),l.onerror=nn(function(y){Ni(y),f._reject(l.error)}),l.onabort=nn(function(y){Ni(y),f.active&&f._reject(new we.Abort(l.error)),f.active=!1,f.on("abort").fire(y)}),l.oncomplete=nn(function(){f.active=!1,f._resolve(),"mutatedParts"in l&&br.storagemutated.fire(l.mutatedParts)}),this},o.prototype._promise=function(l,f,p){var h=this;if(l==="readwrite"&&this.mode!=="readwrite")return dn(new we.ReadOnly("Transaction is readonly"));if(!this.active)return dn(new we.TransactionInactive);if(this._locked())return new ce(function(w,S){h._blockedFuncs.push([function(){h._promise(l,f,p).then(w,S)},me])});if(p)return Nr(function(){var w=new ce(function(S,E){h._lock();var I=f(S,E,h);I&&I.then&&I.then(S,E)});return w.finally(function(){return h._unlock()}),w._lib=!0,w});var y=new ce(function(w,S){var E=f(w,S,h);E&&E.then&&E.then(w,S)});return y._lib=!0,y},o.prototype._root=function(){return this.parent?this.parent._root():this},o.prototype.waitFor=function(l){var f=this._root(),p=ce.resolve(l);if(f._waitingFor)f._waitingFor=f._waitingFor.then(function(){return p});else{f._waitingFor=p,f._waitingQueue=[];var h=f.idbtrans.objectStore(f.storeNames[0]);(function w(){for(++f._spinCount;f._waitingQueue.length;)f._waitingQueue.shift()();f._waitingFor&&(h.get(-1/0).onsuccess=w)})()}var y=f._waitingFor;return new ce(function(w,S){p.then(function(E){return f._waitingQueue.push(nn(w.bind(null,E)))},function(E){return f._waitingQueue.push(nn(S.bind(null,E)))}).finally(function(){f._waitingFor===y&&(f._waitingFor=null)})})},o.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new we.Abort))},o.prototype.table=function(l){var f=this._memoizedTables||(this._memoizedTables={});if(z(f,l))return f[l];var p=this.schema[l];if(!p)throw new we.NotFound("Table "+l+" not part of transaction");var h=new this.db.Table(l,p,this);return h.core=this.db.core.table(l),f[l]=h,h},o}();function fd(o){return Eu(mt.prototype,function(f,p,h,y,w){var S=this;this.db=o,this.mode=f,this.storeNames=p,this.schema=h,this.chromeTransactionDurability=y,this.idbtrans=null,this.on=Su(this,"complete","error","abort"),this.parent=w||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new ce(function(E,I){S._resolve=E,S._reject=I}),this._completion.then(function(){S.active=!1,S.on.complete.fire()},function(E){var I=S.active;return S.active=!1,S.on.error.fire(E),S.parent?S.parent._reject(E):I&&S.idbtrans&&S.idbtrans.abort(),dn(E)})})}function _o(o,l,f,p,h,y,w){return{name:o,keyPath:l,unique:f,multi:p,auto:h,compound:y,src:(f&&!w?"&":"")+(p?"*":"")+(h?"++":"")+vr(l)}}function vr(o){return typeof o=="string"?o:o?"["+[].join.call(o,"+")+"]":""}function Fi(o,l,f){return{name:o,primKey:l,indexes:f,mappedClass:null,idxByName:ae(f,function(p){return[p.name,p]})}}function Ul(o){return o.length===1?o[0]:o}var Ge=function(o){try{return o.only([[]]),Ge=function(){return[[]]},[[]]}catch(l){return Ge=function(){return pr},pr}};function Qt(o){return o==null?function(){}:typeof o=="string"?Wl(o):function(l){return se(l,o)}}function Wl(o){var l=o.split(".");return l.length===1?function(f){return f[o]}:function(f){return se(f,o)}}function Rs(o){return[].slice.call(o)}var Hl=0;function Cu(o){return o==null?":id":typeof o=="string"?o:"[".concat(o.join("+"),"]")}function cd(o,l,f){function p(A,V){var te=Rs(A.objectStoreNames);return{schema:{name:A.name,tables:te.map(function(N){return V.objectStore(N)}).map(function(N){var B=N.keyPath,W=N.autoIncrement,G=v(B),j=B==null,Q={},g={name:N.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:j,compound:G,keyPath:B,autoIncrement:W,unique:!0,extractKey:Qt(B)},indexes:Rs(N.indexNames).map(function(H){return N.index(H)}).map(function(H){var oe=H.name,le=H.unique,Z=H.multiEntry,xe=H.keyPath,Oe=v(xe),he={name:oe,compound:Oe,keyPath:xe,unique:le,multiEntry:Z,extractKey:Qt(xe)};return Q[Cu(xe)]=he,he}),getIndexByKeyPath:function(H){return Q[Cu(H)]}};return Q[":id"]=g.primaryKey,B!=null&&(Q[Cu(B)]=g.primaryKey),g})},hasGetAll:te.length>0&&"getAll"in V.objectStore(te[0])&&!(typeof navigator!="undefined"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}function h(A){if(A.type===3)return null;if(A.type===4)throw new Error("Cannot convert never type to IDBKeyRange");var V=A.lower,te=A.upper,N=A.lowerOpen,B=A.upperOpen,W=V===void 0?te===void 0?null:l.upperBound(te,!!B):te===void 0?l.lowerBound(V,!!N):l.bound(V,te,!!N,!!B);return W}function y(A){var V=A.name;function te(W){var G=W.trans,j=W.type,Q=W.keys,g=W.values,H=W.range;return new Promise(function(oe,le){oe=nn(oe);var Z=G.objectStore(V),xe=Z.keyPath==null,Oe=j==="put"||j==="add";if(!Oe&&j!=="delete"&&j!=="deleteRange")throw new Error("Invalid operation type: "+j);var he=(Q||g||{length:1}).length;if(Q&&g&&Q.length!==g.length)throw new Error("Given keys array must have same length as given values array.");if(he===0)return oe({numFailures:0,failures:{},results:[],lastResult:void 0});var Pe,Se=[],ze=[],_e=0,sn=function(Zt){++_e,Ni(Zt)};if(j==="deleteRange"){if(H.type===4)return oe({numFailures:_e,failures:ze,results:[],lastResult:void 0});H.type===3?Se.push(Pe=Z.clear()):Se.push(Pe=Z.delete(h(H)))}else{var zn=Oe?xe?[g,Q]:[g,null]:[Q,null],An=zn[0],qn=zn[1];if(Oe)for(var wt=0;wt=l});if(S.length===0)return ce.resolve();S.forEach(function(I){h.push(function(){var F=w,A=I._cfg.dbschema;Ru(o,F,p),Ru(o,A,p),w=o._dbSchema=A;var V=Ql(F,A);V.add.forEach(function(j){Iu(p,j[0],j[1].primKey,j[1].indexes)}),V.change.forEach(function(j){if(j.recreate)throw new we.Upgrade("Not yet support for changing primary key");var Q=p.objectStore(j.name);j.add.forEach(function(g){return Pu(Q,g)}),j.change.forEach(function(g){Q.deleteIndex(g.name),Pu(Q,g)}),j.del.forEach(function(g){return Q.deleteIndex(g)})});var te=I._cfg.contentUpgrade;if(te&&I._cfg.version>l){li(o,p),f._memoizedTables={};var N=Re(A);V.del.forEach(function(j){N[j]=F[j]}),Vl(o,[o.Transaction.prototype]),gr(o,[o.Transaction.prototype],c(N),N),f.schema=N;var B=Rt(te);B&&Di();var W,G=ce.follow(function(){if(W=te(f),W&&B){var j=Mr.bind(null,null);W.then(j,j)}});return W&&typeof W.then=="function"?ce.resolve(W):G.then(function(){return W})}}),h.push(function(F){var A=I._cfg.dbschema;pd(A,F),Vl(o,[o.Transaction.prototype]),gr(o,[o.Transaction.prototype],o._storeNames,o._dbSchema),f.schema=o._dbSchema}),h.push(function(F){o.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(o.idbdb.version/10)===I._cfg.version?(o.idbdb.deleteObjectStore("$meta"),delete o._dbSchema.$meta,o._storeNames=o._storeNames.filter(function(A){return A!=="$meta"})):F.objectStore("$meta").put(I._cfg.version,"version"))})});function E(){return h.length?ce.resolve(h.shift()(f.idbtrans)).then(E):ce.resolve()}return E().then(function(){xo(w,p)})}function Ql(o,l){var f={del:[],add:[],change:[]},p;for(p in o)l[p]||f.del.push(p);for(p in l){var h=o[p],y=l[p];if(!h)f.add.push([p,y]);else{var w={name:p,def:y,recreate:!1,del:[],add:[],change:[]};if(""+(h.primKey.keyPath||"")!=""+(y.primKey.keyPath||"")||h.primKey.auto!==y.primKey.auto)w.recreate=!0,f.change.push(w);else{var S=h.idxByName,E=y.idxByName,I=void 0;for(I in S)E[I]||w.del.push(I);for(I in E){var F=S[I],A=E[I];F?F.src!==A.src&&w.change.push(A):w.add.push(A)}(w.del.length>0||w.add.length>0||w.change.length>0)&&f.change.push(w)}}}return f}function Iu(o,l,f,p){var h=o.db.createObjectStore(l,f.keyPath?{keyPath:f.keyPath,autoIncrement:f.auto}:{autoIncrement:f.auto});return p.forEach(function(y){return Pu(h,y)}),h}function xo(o,l){c(o).forEach(function(f){l.db.objectStoreNames.contains(f)||(gt&&console.debug("Dexie: Creating missing table",f),Iu(l,f,o[f].primKey,o[f].indexes))})}function pd(o,l){[].slice.call(l.db.objectStoreNames).forEach(function(f){return o[f]==null&&l.db.deleteObjectStore(f)})}function Pu(o,l){o.createIndex(l.name,l.keyPath,{unique:l.unique,multiEntry:l.multi})}function Fn(o,l,f){var p={},h=P(l.objectStoreNames,0);return h.forEach(function(y){for(var w=f.objectStore(y),S=w.keyPath,E=_o(vr(S),S||"",!0,!1,!!w.autoIncrement,S&&typeof S!="string",!0),I=[],F=0;F1?l:o}:{d:0});else{var f=new xn;return o&&"d"in o&&x(f,o),f}};U(xn.prototype,(So={add:function(o){return Ou(this,o),this},addKey:function(o){return Au(this,o,o),this},addKeys:function(o){var l=this;return o.forEach(function(f){return Au(l,f,f)}),this},hasKey:function(o){var l=mr(this).next(o).value;return l&&Me(l.from,o)<=0&&Me(l.to,o)>=0}},So[qr]=function(){return mr(this)},So));function Au(o,l,f){var p=Me(l,f);if(!isNaN(p)){if(p>0)throw RangeError();if(Gt(o))return x(o,{from:l,to:f,d:1});var h=o.l,y=o.r;if(Me(f,o.from)<0)return h?Au(h,l,f):o.l={from:l,to:f,d:1,l:null,r:null},yt(o);if(Me(l,o.to)>0)return y?Au(y,l,f):o.r={from:l,to:f,d:1,l:null,r:null},yt(o);Me(l,o.from)<0&&(o.from=l,o.l=null,o.d=y?y.d+1:1),Me(f,o.to)>0&&(o.to=f,o.r=null,o.d=o.l?o.l.d+1:1);var w=!o.r;h&&!o.l&&Ou(o,h),y&&w&&Ou(o,y)}}function Ou(o,l){function f(p,h){var y=h.from,w=h.to,S=h.l,E=h.r;Au(p,y,w),S&&f(p,S),E&&f(p,E)}Gt(l)||f(o,l)}function Ns(o,l){var f=mr(l),p=f.next();if(p.done)return!1;for(var h=p.value,y=mr(o),w=y.next(h.from),S=w.value;!p.done&&!w.done;){if(Me(S.from,h.to)<=0&&Me(S.to,h.from)>=0)return!0;Me(h.from,S.from)<0?h=(p=f.next(S.from)).value:S=(w=y.next(h.from)).value}return!1}function mr(o){var l=Gt(o)?null:{s:0,n:o};return{next:function(f){for(var p=arguments.length>0;l;)switch(l.s){case 0:if(l.s=1,p)for(;l.n.l&&Me(f,l.n.from)<0;)l={up:l,n:l.n.l,s:1};else for(;l.n.l;)l={up:l,n:l.n.l,s:1};case 1:if(l.s=2,!p||Me(f,l.n.to)<=0)return{value:l.n,done:!1};case 2:if(l.n.r){l.s=3,l={up:l,n:l.n.r,s:0};continue}case 3:l=l.up}return{done:!0}}}}function yt(o){var l,f,p=(((l=o.r)===null||l===void 0?void 0:l.d)||0)-(((f=o.l)===null||f===void 0?void 0:f.d)||0),h=p>1?"r":p<-1?"l":"";if(h){var y=h==="r"?"l":"r",w=r({},o),S=o[h];o.from=S.from,o.to=S.to,o[h]=S[h],w[h]=S[y],o[y]=w,w.d=ea(w)}o.d=ea(o)}function ea(o){var l=o.r,f=o.l;return(l?f?Math.max(l.d,f.d):l.d:f?f.d:0)+1}function Eo(o,l){return c(l).forEach(function(f){o[f]?Ou(o[f],l[f]):o[f]=wn(l[f])}),o}function na(o,l){return o.all||l.all||Object.keys(o).some(function(f){return l[f]&&Ns(l[f],o[f])})}var ai={},ta={},ra=!1;function Dt(o,l){Eo(ta,o),ra||(ra=!0,setTimeout(function(){ra=!1;var f=ta;ta={},O(f,!1)},0))}function O(o,l){l===void 0&&(l=!1);var f=new Set;if(o.all)for(var p=0,h=Object.values(ai);pMath.pow(2,62)?0:B.oldVersion;I=G<1,o.idbdb=N.result,y&&$l(o,E),Ds(o,G/10,E,V)}},V),N.onsuccess=nn(function(){E=null;var B=o.idbdb=N.result,W=P(B.objectStoreNames);if(W.length>0)try{var G=B.transaction(Ul(W),"readonly");if(l.autoSchema)Gl(o,B,G);else if(Ru(o,o._dbSchema,G),!Tu(o,G)&&!y)return console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this."),B.close(),h=B.version+1,y=!0,A(F());li(o,G)}catch(j){}Br.push(o),B.onversionchange=nn(function(j){l.vcFired=!0,o.on("versionchange").fire(j)}),B.onclose=nn(function(j){o.on("close").fire(j)}),I&&Bi(o._deps,te),A()},V)}).catch(function(A){switch(A==null?void 0:A.name){case"UnknownError":if(l.PR1398_maxLoop>0)return l.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),F();break;case"VersionError":if(h>0)return h=0,F();break}return ce.reject(A)})};return ce.race([p,(typeof navigator=="undefined"?ce.resolve():Jl()).then(F)]).then(function(){return w(),l.onReadyBeingFired=[],ce.resolve(ql(function(){return o.on.ready.fire(o.vip)})).then(function A(){if(l.onReadyBeingFired.length>0){var V=l.onReadyBeingFired.reduce(du,je);return l.onReadyBeingFired=[],ce.resolve(ql(function(){return V(o.vip)})).then(A)}})}).finally(function(){l.openCanceller===p&&(l.onReadyBeingFired=null,l.isBeingOpened=!1)}).catch(function(A){l.dbOpenError=A;try{E&&E.abort()}catch(V){}return p===l.openCanceller&&o._close(),dn(A)}).finally(function(){l.openComplete=!0,S()}).then(function(){if(I){var A={};o.tables.forEach(function(V){V.schema.indexes.forEach(function(te){te.name&&(A["idb://".concat(o.name,"/").concat(V.name,"/").concat(te.name)]=new xn(-1/0,[[[]]]))}),A["idb://".concat(o.name,"/").concat(V.name,"/")]=A["idb://".concat(o.name,"/").concat(V.name,"/:dels")]=new xn(-1/0,[[[]]])}),br(Mi).fire(A),O(A,!0)}return o})}function pe(o){var l=function(w){return o.next(w)},f=function(w){return o.throw(w)},p=y(l),h=y(f);function y(w){return function(S){var E=w(S),I=E.value;return E.done?I:!I||typeof I.then!="function"?v(I)?Promise.all(I).then(p,h):p(I):I.then(p,h)}}return y(l)()}function Te(o,l,f){var p=arguments.length;if(p<2)throw new we.InvalidArgument("Too few arguments");for(var h=new Array(p-1);--p;)h[p-1]=arguments[p];f=h.pop();var y=Tn(h);return[o,y,f]}function Ke(o,l,f,p,h){return ce.resolve().then(function(){var y=me.transless||me,w=o._createTransaction(l,f,o._dbSchema,p);w.explicit=!0;var S={trans:w,transless:y};if(p)w.idbtrans=p.idbtrans;else try{w.create(),w.idbtrans._explicit=!0,o._state.PR1398_maxLoop=3}catch(A){return A.name===oo.InvalidState&&o.isOpen()&&--o._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),o.close({disableAutoOpen:!1}),o.open().then(function(){return Ke(o,l,f,null,h)})):dn(A)}var E=Rt(h);E&&Di();var I,F=ce.follow(function(){if(I=h.call(w,w),I)if(E){var A=Mr.bind(null,null);I.then(A,A)}else typeof I.next=="function"&&typeof I.throw=="function"&&(I=pe(I))},S);return(I&&typeof I.then=="function"?ce.resolve(I).then(function(A){return w.active?A:dn(new we.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):F.then(function(){return I})).then(function(A){return p&&w._resolve(),w._completion.then(function(){return A})}).catch(function(A){return w._reject(A),dn(A)})})}function an(o,l,f){for(var p=v(o)?o.slice():[o],h=0;h0,oe=r(r({},G),{name:H?"".concat(j,"(virtual-from:").concat(G.name,")"):G.name,lowLevelIndex:G,isVirtual:H,keyTail:W,keyLength:g,extractKey:Qt(B),unique:!H&&G.unique});if(Q.push(oe),oe.isPrimaryKey||y.push(oe),g>1){var le=g===2?B[0]:B.slice(0,g-1);w(le,W+1,G)}return Q.sort(function(Z,xe){return Z.keyTail-xe.keyTail}),oe}var S=w(p.primaryKey.keyPath,0,p.primaryKey);h[":id"]=[S];for(var E=0,I=p.indexes;E0?Promise.reject(Q.failures[0]):j.length0:Me(o,l.lower)>=0}function xd(o,l){return l.upper===void 0?!0:l.upperOpen?Me(o,l.upper)<0:Me(o,l.upper)<=0}function oa(o,l){return _d(o,l)&&xd(o,l)}function Nu(o,l,f,p,h,y){if(!f||f.length===0)return o;var w=l.query.index,S=w.multiEntry,E=l.query.range,I=p.schema.primaryKey,F=I.extractKey,A=w.extractKey,V=(w.lowLevelIndex||w).extractKey,te=f.reduce(function(N,B){var W=N,G=[];if(B.type==="add"||B.type==="put")for(var j=new xn,Q=B.values.length-1;Q>=0;--Q){var g=B.values[Q],H=F(g);if(!j.hasKey(H)){var oe=A(g);(S&&v(oe)?oe.some(function(he){return oa(he,E)}):oa(oe,E))&&(j.addKey(H),G.push(g))}}switch(B.type){case"add":{var le=new xn().addKeys(l.values?N.map(function(he){return F(he)}):N);W=N.concat(l.values?G.filter(function(he){var Pe=F(he);return le.hasKey(Pe)?!1:(le.addKey(Pe),!0)}):G.map(function(he){return F(he)}).filter(function(he){return le.hasKey(he)?!1:(le.addKey(he),!0)}));break}case"put":{var Z=new xn().addKeys(B.values.map(function(he){return F(he)}));W=N.filter(function(he){return!Z.hasKey(l.values?F(he):he)}).concat(l.values?G:G.map(function(he){return F(he)}));break}case"delete":var xe=new xn().addKeys(B.keys);W=N.filter(function(he){return!xe.hasKey(l.values?F(he):he)});break;case"deleteRange":var Oe=B.range;W=N.filter(function(he){return!oa(F(he),Oe)});break}return W},o);return te===o?o:(te.sort(function(N,B){return Me(V(N),V(B))||Me(F(N),F(B))}),l.limit&&l.limit<1/0&&(te.length>l.limit?te.length=l.limit:o.length===l.limit&&te.length=0}function Bs(o,l,f,p){var h=ai["idb://".concat(o,"/").concat(l)];if(!h)return[];var y=h.queries[f];if(!y)return[null,!1,h,null];var w=p.query?p.query.index.name:null,S=y[w||""];if(!S)return[null,!1,h,null];switch(f){case"query":var E=S.find(function(A){return A.req.limit===p.limit&&A.req.values===p.values&&yr(A.req.query.range,p.query.range)});if(E)return[E,!0,h,S];var I=S.find(function(A){var V="limit"in A.req?A.req.limit:1/0;return V>=p.limit&&(p.values?A.req.values:!0)&&Po(A.req.query.range,p.query.range)});return[I,!1,h,S];case"count":var F=S.find(function(A){return yr(A.req.query.range,p.query.range)});return[F,!!F,h,S]}}function zs(o,l,f,p){o.subscribers.add(f),p.addEventListener("abort",function(){o.subscribers.delete(f),o.subscribers.size===0&&To(o,l)})}function To(o,l){setTimeout(function(){o.subscribers.size===0&&ht(l,o)},3e3)}var bs={stack:"dbcore",level:0,name:"Cache",create:function(o){var l=o.schema.name,f=r(r({},o),{transaction:function(p,h,y){var w=o.transaction(p,h,y);if(h==="readwrite"){var S=new AbortController,E=S.signal,I=function(F){return function(){if(S.abort(),h==="readwrite"){for(var A=new Set,V=0,te=p;V0){B.optimisticOps=B.optimisticOps.filter(function(ze){return ze.trans!==w});for(var Z=0,xe=Object.values(B.queries.query);Z=50||Zn(y,S).some(function(A){return A==null}))?F.then(function(A){var V=r(r({},S),{values:S.values.map(function(N,B){var W;if(A.failures[B])return N;var G=!((W=y.keyPath)===null||W===void 0)&&W.includes(".")?Ve(N):r({},N);return fe(G,y.keyPath,A.results[B]),G})}),te=Lu(I,V,A);I.optimisticOps.push(te),queueMicrotask(function(){return S.mutatedParts&&Dt(S.mutatedParts)})}):(I.optimisticOps.push(S),S.mutatedParts&&Dt(S.mutatedParts),F.then(function(A){if(A.numFailures>0){ht(I.optimisticOps,S);var V=Lu(I,S,A);V&&I.optimisticOps.push(V),S.mutatedParts&&Dt(S.mutatedParts)}}),F.catch(function(){ht(I.optimisticOps,S),S.mutatedParts&&Dt(S.mutatedParts)})),F},query:function(S){var E;if(!Du(me,h)||!$e("query",S))return h.query(S);var I=((E=me.trans)===null||E===void 0?void 0:E.db._options.cache)==="immutable",F=me,A=F.requery,V=F.signal,te=Bs(l,p,"query",S),N=te[0],B=te[1],W=te[2],G=te[3];if(N&&B)N.obsSet=S.obsSet;else{var j=h.query(S).then(function(Q){var g=Q.result;if(N&&(N.res=g),I){for(var H=0,oe=g.length;H0?console.warn("Another connection wants to upgrade database '".concat(p.name,"'. Closing db now to resume the upgrade.")):console.warn("Another connection wants to delete database '".concat(p.name,"'. Closing db now to resume the delete request.")),p.close({disableAutoOpen:!1})}),this.on("blocked",function(E){!E.newVersion||E.newVersion=0&&Br.splice(f,1),this.idbdb){try{this.idbdb.close()}catch(p){}this.idbdb=null}l.isBeingOpened||(l.dbReadyPromise=new ce(function(p){l.dbReadyResolve=p}),l.openCanceller=new ce(function(p,h){l.cancelOpen=h}))},o.prototype.close=function(l){var f=l===void 0?{disableAutoOpen:!0}:l,p=f.disableAutoOpen,h=this._state;p?(h.isBeingOpened&&h.cancelOpen(new we.DatabaseClosed),this._close(),h.autoOpen=!1,h.dbOpenError=new we.DatabaseClosed):(this._close(),h.autoOpen=this._options.autoOpen||h.isBeingOpened,h.openComplete=!1,h.dbOpenError=null)},o.prototype.delete=function(l){var f=this;l===void 0&&(l={disableAutoOpen:!0});var p=arguments.length>0&&typeof arguments[0]!="object",h=this._state;return new ce(function(y,w){var S=function(){f.close(l);var E=f._deps.indexedDB.deleteDatabase(f.name);E.onsuccess=nn(function(){md(f._deps,f.name),y()}),E.onerror=Ot(w),E.onblocked=f._fireOnBlocked};if(p)throw new we.InvalidArgument("Invalid closeOptions argument to db.delete()");h.isBeingOpened?h.dbReadyPromise.then(S):S()})},o.prototype.backendDB=function(){return this.idbdb},o.prototype.isOpen=function(){return this.idbdb!==null},o.prototype.hasBeenClosed=function(){var l=this._state.dbOpenError;return l&&l.name==="DatabaseClosed"},o.prototype.hasFailed=function(){return this._state.dbOpenError!==null},o.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(o.prototype,"tables",{get:function(){var l=this;return c(this._allTables).map(function(f){return l._allTables[f]})},enumerable:!1,configurable:!0}),o.prototype.transaction=function(){var l=Te.apply(this,arguments);return this._transaction.apply(this,l)},o.prototype._transaction=function(l,f,p){var h=this,y=me.trans;(!y||y.db!==this||l.indexOf("!")!==-1)&&(y=null);var w=l.indexOf("?")!==-1;l=l.replace("!","").replace("?","");var S,E;try{if(E=f.map(function(F){var A=F instanceof h.Table?F.name:F;if(typeof A!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return A}),l=="r"||l===mo)S=mo;else if(l=="rw"||l==yo)S=yo;else throw new we.InvalidArgument("Invalid transaction mode: "+l);if(y){if(y.mode===mo&&S===yo)if(w)y=null;else throw new we.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");y&&E.forEach(function(F){if(y&&y.storeNames.indexOf(F)===-1)if(w)y=null;else throw new we.SubTransaction("Table "+F+" not included in parent transaction.")}),w&&y&&!y.active&&(y=null)}}catch(F){return y?y._promise(null,function(A,V){V(F)}):dn(F)}var I=Ke.bind(null,this,S,E,y,p);return y?y._promise(S,I,"lock"):me.trans?Fr(me.transless,function(){return h._whenReady(I)}):this._whenReady(I)},o.prototype.table=function(l){if(!z(this._allTables,l))throw new we.InvalidTable("Table ".concat(l," does not exist"));return this._allTables[l]},o}(),Ro=typeof Symbol!="undefined"&&"observable"in Symbol?Symbol.observable:"@@observable",Sd=function(){function o(l){this._subscribe=l}return o.prototype.subscribe=function(l,f,p){return this._subscribe(!l||typeof l=="function"?{next:l,error:f,complete:p}:l)},o.prototype[Ro]=function(){return this},o}(),Ao;try{Ao={indexedDB:s.indexedDB||s.mozIndexedDB||s.webkitIndexedDB||s.msIndexedDB,IDBKeyRange:s.IDBKeyRange||s.webkitIDBKeyRange}}catch(o){Ao={indexedDB:null,IDBKeyRange:null}}function Ks(o){var l=!1,f,p=new Sd(function(h){var y=Rt(o);function w(G){var j=Ai();try{y&&Di();var Q=Nr(o,G);return y&&(Q=Q.finally(Mr)),Q}finally{j&&Oi()}}var S=!1,E,I={},F={},A={get closed(){return S},unsubscribe:function(){S||(S=!0,E&&E.abort(),V&&br.storagemutated.unsubscribe(B))}};h.start&&h.start(A);var V=!1,te=function(){return ho(W)};function N(){return na(F,I)}var B=function(G){Eo(I,G),N()&&te()},W=function(){if(!(S||!Ao.indexedDB)){I={};var G={};E&&E.abort(),E=new AbortController;var j={subscr:G,signal:E.signal,requery:te,querier:o,trans:null},Q=w(j);Promise.resolve(Q).then(function(g){l=!0,f=g,!(S||j.signal.aborted)&&(I={},F=G,!ve(F)&&!V&&(br(Mi,B),V=!0),ho(function(){return!S&&h.next&&h.next(g)}))},function(g){l=!1,["DatabaseClosedError","AbortError"].includes(g==null?void 0:g.name)||S||ho(function(){S||h.error&&h.error(g)})})}};return setTimeout(te,0),A});return p.hasValue=function(){return l},p.getValue=function(){return f},p}var Yt=Hn;U(Yt,r(r({},Jr),{delete:function(o){var l=new Yt(o,{addons:[]});return l.delete()},exists:function(o){return new Yt(o,{addons:[]}).open().then(function(l){return l.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(o){try{return gd(Yt.dependencies).then(o)}catch(l){return dn(new we.MissingAPI)}},defineClass:function(){function o(l){x(this,l)}return o},ignoreTransaction:function(o){return me.trans?Fr(me.transless,o):o()},vip:ql,async:function(o){return function(){try{var l=pe(o.apply(this,arguments));return!l||typeof l.then!="function"?ce.resolve(l):l}catch(f){return dn(f)}}},spawn:function(o,l,f){try{var p=pe(o.apply(f,l||[]));return!p||typeof p.then!="function"?ce.resolve(p):p}catch(h){return dn(h)}},currentTransaction:{get:function(){return me.trans||null}},waitFor:function(o,l){var f=ce.resolve(typeof o=="function"?Yt.ignoreTransaction(o):o).timeout(l||6e4);return me.trans?me.trans.waitFor(f):f},Promise:ce,debug:{get:function(){return gt},set:function(o){lo(o)}},derive:J,extend:x,props:U,override:L,Events:Su,on:br,liveQuery:Ks,extendObservabilitySet:Eo,getByKeyPath:se,setByKeyPath:fe,delByKeyPath:He,shallowClone:Re,deepClone:Ve,getObjectDiff:ua,cmp:Me,asap:ue,minKey:Ol,addons:[],connections:Br,errnames:oo,dependencies:Ao,cache:ai,semVer:Al,version:Al.split(".").map(function(o){return parseInt(o)}).reduce(function(o,l,f){return o+l/Math.pow(10,f*2)})})),Yt.maxKey=Ge(Yt.dependencies.IDBKeyRange),typeof dispatchEvent!="undefined"&&typeof addEventListener!="undefined"&&(br(Mi,function(o){if(!Xt){var l;l=new CustomEvent(Wn,{detail:o}),Xt=!0,dispatchEvent(l),Xt=!1}}),addEventListener(Wn,function(o){var l=o.detail;Xt||zi(l)}));function zi(o){var l=Xt;try{Xt=!0,br.storagemutated.fire(o),O(o,!0)}finally{Xt=l}}var Xt=!1,Ur,Oo=function(){};typeof BroadcastChannel!="undefined"&&(Oo=function(){Ur=new BroadcastChannel(Wn),Ur.onmessage=function(o){return o.data&&zi(o.data)}},Oo(),typeof Ur.unref=="function"&&Ur.unref(),br(Mi,function(o){Xt||Ur.postMessage(o)})),typeof addEventListener!="undefined"&&(addEventListener("pagehide",function(o){if(!Hn.disableBfCache&&o.persisted){gt&&console.debug("Dexie: handling persisted pagehide"),Ur==null||Ur.close();for(var l=0,f=Br;l{(function(e,n){typeof hf=="object"&&typeof yp=="object"?yp.exports=n():typeof define=="function"&&define.amd?define("BrowserImageResizer",[],n):typeof hf=="object"?hf.BrowserImageResizer=n():e.BrowserImageResizer=n()})(self,()=>(()=>{"use strict";var e={d:(T,z)=>{for(var U in z)e.o(z,U)&&!e.o(T,U)&&Object.defineProperty(T,U,{enumerable:!0,get:z[U]})},o:(T,z)=>Object.prototype.hasOwnProperty.call(T,z),r:T=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(T,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(T,"__esModule",{value:!0})}},n={};function r(){return document.createElement("canvas")}function u(T){for(var z=atob(T.split(",")[1]),U=T.split(",")[0].split(":")[1].split(";")[0],K=new ArrayBuffer(z.length),re=new Uint8Array(K),J=0;J0&&T.maxSizene.height-1?ne.height-1:Math.ceil(ue),Y=0;Yne.width-1?ne.width-1:Math.ceil(fe),cn=4*(Y+Ee.width*L),Tn=4*(He+ne.width*ae),Ht=4*(Re+ne.width*ae),Yn=4*(He+ne.width*se),wn=4*(Re+ne.width*se),ve=fe-He,Ue=ue-ae,Ve=P(ne.data[Tn],ne.data[Ht],ne.data[Yn],ne.data[wn],ve,Ue),Ee.data[cn]=Ve,en=P(ne.data[Tn+1],ne.data[Ht+1],ne.data[Yn+1],ne.data[wn+1],ve,Ue),Ee.data[cn+1]=en,ut=P(ne.data[Tn+2],ne.data[Ht+2],ne.data[Yn+2],ne.data[wn+2],ve,Ue),Ee.data[cn+2]=ut,cr=P(ne.data[Tn+3],ne.data[Ht+3],ne.data[Yn+3],ne.data[wn+3],ve,Ue),Ee.data[cn+3]=cr}(re,J,K),U.getContext("2d").putImageData(J,0,0),U}function v(T){var z=document.createElement("canvas");return z.width=T.width/2,z.height=T.height/2,z.getContext("2d").drawImage(T,0,0,z.width,z.height),z}e.r(n),e.d(n,{readAndCompressImage:()=>k});var x={quality:.5,maxWidth:800,maxHeight:600,autoRotate:!0,debug:!1,mimeType:"image/jpeg"};function k(T,z){return new Promise(function(U,K){var re=document.createElement("img"),J=new FileReader,ne=Object.assign({},x,z);J.onload=function(Ee){re.onerror=function(){K("cannot load image.")},re.onload=function(){var D={img:re,config:ne};try{var P=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Y=L.img,ue=L.config,ae=(L.orientation,r());ae.width=Y.width,ae.height=Y.height;var se=ae.getContext("2d");ue.mimeType==="image/jpeg"&&(se.fillStyle="#ffffff",se.fillRect(0,0,ae.width,ae.height),se.save()),se.drawImage(Y,0,0),se.restore();for(var fe=s(ue,ae);ae.width>=2*fe;)ae=v(ae);ae.width>fe&&(ae=c(ae,Object.assign(ue,{outputWidth:fe})));var He=ae.toDataURL(ue.mimeType,ue.quality);return typeof ue.onScale=="function"&&ue.onScale(He),u(He)}(D);U(P)}catch(L){K(L)}},re.src=Ee.target.result};try{J.onerror=function(){K("cannot read image file.")},J.readAsDataURL(T)}catch(Ee){K(Ee)}})}return n})())});var Vm=tr(Be=>{"use strict";var ma=Symbol.for("react.element"),lC=Symbol.for("react.portal"),aC=Symbol.for("react.fragment"),sC=Symbol.for("react.strict_mode"),fC=Symbol.for("react.profiler"),cC=Symbol.for("react.provider"),dC=Symbol.for("react.context"),pC=Symbol.for("react.forward_ref"),hC=Symbol.for("react.suspense"),vC=Symbol.for("react.memo"),gC=Symbol.for("react.lazy"),Lm=Symbol.iterator;function mC(e){return e===null||typeof e!="object"?null:(e=Lm&&e[Lm]||e["@@iterator"],typeof e=="function"?e:null)}var Fm={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bm=Object.assign,zm={};function bo(e,n,r){this.props=e,this.context=n,this.refs=zm,this.updater=r||Fm}bo.prototype.isReactComponent={};bo.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};bo.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function bm(){}bm.prototype=bo.prototype;function _p(e,n,r){this.props=e,this.context=n,this.refs=zm,this.updater=r||Fm}var xp=_p.prototype=new bm;xp.constructor=_p;Bm(xp,bo.prototype);xp.isPureReactComponent=!0;var Nm=Array.isArray,Km=Object.prototype.hasOwnProperty,Sp={current:null},Um={key:!0,ref:!0,__self:!0,__source:!0};function Wm(e,n,r){var u,s={},c=null,v=null;if(n!=null)for(u in n.ref!==void 0&&(v=n.ref),n.key!==void 0&&(c=""+n.key),n)Km.call(n,u)&&!Um.hasOwnProperty(u)&&(s[u]=n[u]);var x=arguments.length-2;if(x===1)s.children=r;else if(1{"use strict";$m.exports=Vm()});var Xm=tr(yf=>{"use strict";var SC=ya(),EC=Symbol.for("react.element"),kC=Symbol.for("react.fragment"),CC=Object.prototype.hasOwnProperty,IC=SC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,PC={key:!0,ref:!0,__self:!0,__source:!0};function Ym(e,n,r){var u,s={},c=null,v=null;r!==void 0&&(c=""+r),n.key!==void 0&&(c=""+n.key),n.ref!==void 0&&(v=n.ref);for(u in n)CC.call(n,u)&&!PC.hasOwnProperty(u)&&(s[u]=n[u]);if(e&&e.defaultProps)for(u in n=e.defaultProps,n)s[u]===void 0&&(s[u]=n[u]);return{$$typeof:EC,type:e,key:c,ref:v,props:s,_owner:IC.current}}yf.Fragment=kC;yf.jsx=Ym;yf.jsxs=Ym});var wa=tr((uT,Zm)=>{"use strict";Zm.exports=Xm()});var hy=tr(tn=>{"use strict";function Mp(e,n){var r=e.length;e.push(n);e:for(;0>>1,s=e[u];if(0>>1;ukf(x,r))kkf(T,x)?(e[u]=T,e[k]=r,u=k):(e[u]=x,e[v]=r,u=v);else if(kkf(T,r))e[u]=T,e[k]=r,u=k;else break e}}return n}function kf(e,n){var r=e.sortIndex-n.sortIndex;return r!==0?r:e.id-n.id}typeof performance=="object"&&typeof performance.now=="function"?(uy=performance,tn.unstable_now=function(){return uy.now()}):(Dp=Date,oy=Dp.now(),tn.unstable_now=function(){return Dp.now()-oy});var uy,Dp,oy,jr=[],Vi=[],zC=1,ir=null,et=3,Pf=!1,Hu=!1,Sa=!1,sy=typeof setTimeout=="function"?setTimeout:null,fy=typeof clearTimeout=="function"?clearTimeout:null,ly=typeof setImmediate!="undefined"?setImmediate:null;typeof navigator!="undefined"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Fp(e){for(var n=Sr(Vi);n!==null;){if(n.callback===null)If(Vi);else if(n.startTime<=e)If(Vi),n.sortIndex=n.expirationTime,Mp(jr,n);else break;n=Sr(Vi)}}function Bp(e){if(Sa=!1,Fp(e),!Hu)if(Sr(jr)!==null)Hu=!0,bp(zp);else{var n=Sr(Vi);n!==null&&Kp(Bp,n.startTime-e)}}function zp(e,n){Hu=!1,Sa&&(Sa=!1,fy(Ea),Ea=-1),Pf=!0;var r=et;try{for(Fp(n),ir=Sr(jr);ir!==null&&(!(ir.expirationTime>n)||e&&!py());){var u=ir.callback;if(typeof u=="function"){ir.callback=null,et=ir.priorityLevel;var s=u(ir.expirationTime<=n);n=tn.unstable_now(),typeof s=="function"?ir.callback=s:ir===Sr(jr)&&If(jr),Fp(n)}else If(jr);ir=Sr(jr)}if(ir!==null)var c=!0;else{var v=Sr(Vi);v!==null&&Kp(Bp,v.startTime-n),c=!1}return c}finally{ir=null,et=r,Pf=!1}}var Tf=!1,Cf=null,Ea=-1,cy=5,dy=-1;function py(){return!(tn.unstable_now()-dye||125u?(e.sortIndex=r,Mp(Vi,e),Sr(jr)===null&&e===Sr(Vi)&&(Sa?(fy(Ea),Ea=-1):Sa=!0,Kp(Bp,r-u))):(e.sortIndex=s,Mp(jr,e),Hu||Pf||(Hu=!0,bp(zp))),e};tn.unstable_shouldYield=py;tn.unstable_wrapCallback=function(e){var n=et;return function(){var r=et;et=n;try{return e.apply(this,arguments)}finally{et=r}}}});var gy=tr((DT,vy)=>{"use strict";vy.exports=hy()});var _w=tr(Wt=>{"use strict";var bC=ya(),Kt=gy();function ie(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;rn}return!1}function pt(e,n,r,u,s,c,v){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=u,this.attributeNamespace=s,this.mustUseProperty=r,this.propertyName=e,this.type=n,this.sanitizeURL=c,this.removeEmptyString=v}var Gn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Gn[e]=new pt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];Gn[n]=new pt(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Gn[e]=new pt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Gn[e]=new pt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Gn[e]=new pt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Gn[e]=new pt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Gn[e]=new pt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Gn[e]=new pt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Gn[e]=new pt(e,5,!1,e.toLowerCase(),null,!1,!1)});var nv=/[\-:]([a-z])/g;function tv(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(nv,tv);Gn[n]=new pt(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(nv,tv);Gn[n]=new pt(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(nv,tv);Gn[n]=new pt(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Gn[e]=new pt(e,1,!1,e.toLowerCase(),null,!1,!1)});Gn.xlinkHref=new pt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Gn[e]=new pt(e,1,!1,e.toLowerCase(),null,!0,!0)});function rv(e,n,r,u){var s=Gn.hasOwnProperty(n)?Gn[n]:null;(s!==null?s.type!==0:u||!(2x||s[v]!==c[x]){var k=` -`+s[v].replace(" at new "," at ");return e.displayName&&k.includes("")&&(k=k.replace("",e.displayName)),k}while(1<=v&&0<=x);break}}}finally{Wp=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Da(e):""}function VC(e){switch(e.tag){case 5:return Da(e.type);case 16:return Da("Lazy");case 13:return Da("Suspense");case 19:return Da("SuspenseList");case 0:case 2:case 15:return e=Hp(e.type,!1),e;case 11:return e=Hp(e.type.render,!1),e;case 1:return e=Hp(e.type,!0),e;default:return""}}function ph(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Qo:return"Fragment";case jo:return"Portal";case fh:return"Profiler";case iv:return"StrictMode";case ch:return"Suspense";case dh:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case C0:return(e.displayName||"Context")+".Consumer";case k0:return(e._context.displayName||"Context")+".Provider";case uv:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ov:return n=e.displayName||null,n!==null?n:ph(e.type)||"Memo";case ji:n=e._payload,e=e._init;try{return ph(e(n))}catch(r){}}return null}function $C(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ph(n);case 8:return n===iv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function ou(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function P0(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function jC(e){var n=P0(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),u=""+e[n];if(!e.hasOwnProperty(n)&&typeof r!="undefined"&&typeof r.get=="function"&&typeof r.set=="function"){var s=r.get,c=r.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return s.call(this)},set:function(v){u=""+v,c.call(this,v)}}),Object.defineProperty(e,n,{enumerable:r.enumerable}),{getValue:function(){return u},setValue:function(v){u=""+v},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Af(e){e._valueTracker||(e._valueTracker=jC(e))}function T0(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var r=n.getValue(),u="";return e&&(u=P0(e)?e.checked?"true":"false":e.value),e=u,e!==r?(n.setValue(e),!0):!1}function ic(e){if(e=e||(typeof document!="undefined"?document:void 0),typeof e=="undefined")return null;try{return e.activeElement||e.body}catch(n){return e.body}}function hh(e,n){var r=n.checked;return gn({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r!=null?r:e._wrapperState.initialChecked})}function _y(e,n){var r=n.defaultValue==null?"":n.defaultValue,u=n.checked!=null?n.checked:n.defaultChecked;r=ou(n.value!=null?n.value:r),e._wrapperState={initialChecked:u,initialValue:r,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function R0(e,n){n=n.checked,n!=null&&rv(e,"checked",n,!1)}function vh(e,n){R0(e,n);var r=ou(n.value),u=n.type;if(r!=null)u==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(u==="submit"||u==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?gh(e,n.type,r):n.hasOwnProperty("defaultValue")&&gh(e,n.type,ou(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function xy(e,n,r){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var u=n.type;if(!(u!=="submit"&&u!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,r||n===e.value||(e.value=n),e.defaultValue=n}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function gh(e,n,r){(n!=="number"||ic(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var La=Array.isArray;function il(e,n,r,u){if(e=e.options,n){n={};for(var s=0;s"+n.valueOf().toString()+"",n=Of.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function ja(e,n){if(n){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=n;return}}e.textContent=n}var Fa={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},QC=["Webkit","ms","Moz","O"];Object.keys(Fa).forEach(function(e){QC.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Fa[n]=Fa[e]})});function L0(e,n,r){return n==null||typeof n=="boolean"||n===""?"":r||typeof n!="number"||n===0||Fa.hasOwnProperty(e)&&Fa[e]?(""+n).trim():n+"px"}function N0(e,n){e=e.style;for(var r in n)if(n.hasOwnProperty(r)){var u=r.indexOf("--")===0,s=L0(r,n[r],u);r==="float"&&(r="cssFloat"),u?e.setProperty(r,s):e[r]=s}}var GC=gn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function wh(e,n){if(n){if(GC[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(ie(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(ie(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(ie(61))}if(n.style!=null&&typeof n.style!="object")throw Error(ie(62))}}function _h(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var xh=null;function lv(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Sh=null,ul=null,ol=null;function ky(e){if(e=fs(e)){if(typeof Sh!="function")throw Error(ie(280));var n=e.stateNode;n&&(n=Dc(n),Sh(e.stateNode,e.type,n))}}function M0(e){ul?ol?ol.push(e):ol=[e]:ul=e}function F0(){if(ul){var e=ul,n=ol;if(ol=ul=null,ky(e),n)for(e=0;e>>=0,e===0?32:31-(uI(e)/oI|0)|0}var Df=64,Lf=4194304;function Na(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ac(e,n){var r=e.pendingLanes;if(r===0)return 0;var u=0,s=e.suspendedLanes,c=e.pingedLanes,v=r&268435455;if(v!==0){var x=v&~s;x!==0?u=Na(x):(c&=v,c!==0&&(u=Na(c)))}else v=r&~s,v!==0?u=Na(v):c!==0&&(u=Na(c));if(u===0)return 0;if(n!==0&&n!==u&&!(n&s)&&(s=u&-u,c=n&-n,s>=c||s===16&&(c&4194240)!==0))return n;if(u&4&&(u|=r&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=u;0r;r++)n.push(e);return n}function as(e,n,r){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Pr(n),e[n]=r}function fI(e,n){var r=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var u=e.eventTimes;for(e=e.expirationTimes;0=za),Ly=" ",Ny=!1;function t1(e,n){switch(e){case"keyup":return zI.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function r1(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Go=!1;function KI(e,n){switch(e){case"compositionend":return r1(n);case"keypress":return n.which!==32?null:(Ny=!0,Ly);case"textInput":return e=n.data,e===Ly&&Ny?null:e;default:return null}}function UI(e,n){if(Go)return e==="compositionend"||!vv&&t1(e,n)?(e=e1(),Yf=dv=Xi=null,Go=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:r,offset:n-e};e=u}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=By(r)}}function l1(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?l1(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function a1(){for(var e=window,n=ic();n instanceof e.HTMLIFrameElement;){try{var r=typeof n.contentWindow.location.href=="string"}catch(u){r=!1}if(r)e=n.contentWindow;else break;n=ic(e.document)}return n}function gv(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function XI(e){var n=a1(),r=e.focusedElem,u=e.selectionRange;if(n!==r&&r&&r.ownerDocument&&l1(r.ownerDocument.documentElement,r)){if(u!==null&&gv(r)){if(n=u.start,e=u.end,e===void 0&&(e=n),"selectionStart"in r)r.selectionStart=n,r.selectionEnd=Math.min(e,r.value.length);else if(e=(n=r.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var s=r.textContent.length,c=Math.min(u.start,s);u=u.end===void 0?c:Math.min(u.end,s),!e.extend&&c>u&&(s=u,u=c,c=s),s=zy(r,c);var v=zy(r,u);s&&v&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==v.node||e.focusOffset!==v.offset)&&(n=n.createRange(),n.setStart(s.node,s.offset),e.removeAllRanges(),c>u?(e.addRange(n),e.extend(v.node,v.offset)):(n.setEnd(v.node,v.offset),e.addRange(n)))}}for(n=[],e=r;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,Yo=null,Th=null,Ka=null,Rh=!1;function by(e,n,r){var u=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Rh||Yo==null||Yo!==ic(u)||(u=Yo,"selectionStart"in u&&gv(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Ka&&qa(Ka,u)||(Ka=u,u=cc(Th,"onSelect"),0qo||(e.current=Mh[qo],Mh[qo]=null,qo--)}function rn(e,n){qo++,Mh[qo]=e.current,e.current=n}var lu={},it=su(lu),It=su(!1),Zu=lu;function cl(e,n){var r=e.type.contextTypes;if(!r)return lu;var u=e.stateNode;if(u&&u.__reactInternalMemoizedUnmaskedChildContext===n)return u.__reactInternalMemoizedMaskedChildContext;var s={},c;for(c in r)s[c]=n[c];return u&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=s),s}function Pt(e){return e=e.childContextTypes,e!=null}function pc(){ln(It),ln(it)}function Gy(e,n,r){if(it.current!==lu)throw Error(ie(168));rn(it,n),rn(It,r)}function m1(e,n,r){var u=e.stateNode;if(n=n.childContextTypes,typeof u.getChildContext!="function")return r;u=u.getChildContext();for(var s in u)if(!(s in n))throw Error(ie(108,$C(e)||"Unknown",s));return gn({},r,u)}function hc(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||lu,Zu=it.current,rn(it,e),rn(It,It.current),!0}function Yy(e,n,r){var u=e.stateNode;if(!u)throw Error(ie(169));r?(e=m1(e,n,Zu),u.__reactInternalMemoizedMergedChildContext=e,ln(It),ln(it),rn(it,e)):ln(It),rn(It,r)}var yi=null,Lc=!1,eh=!1;function y1(e){yi===null?yi=[e]:yi.push(e)}function oP(e){Lc=!0,y1(e)}function fu(){if(!eh&&yi!==null){eh=!0;var e=0,n=Je;try{var r=yi;for(Je=1;e>=v,s-=v,wi=1<<32-Pr(n)+s|r<fe?(He=se,se=null):He=se.sibling;var Re=K(D,se,L[fe],Y);if(Re===null){se===null&&(se=He);break}e&&se&&Re.alternate===null&&n(D,se),P=c(Re,P,fe),ae===null?ue=Re:ae.sibling=Re,ae=Re,se=He}if(fe===L.length)return r(D,se),fn&&Vu(D,fe),ue;if(se===null){for(;fefe?(He=se,se=null):He=se.sibling;var cn=K(D,se,Re.value,Y);if(cn===null){se===null&&(se=He);break}e&&se&&cn.alternate===null&&n(D,se),P=c(cn,P,fe),ae===null?ue=cn:ae.sibling=cn,ae=cn,se=He}if(Re.done)return r(D,se),fn&&Vu(D,fe),ue;if(se===null){for(;!Re.done;fe++,Re=L.next())Re=U(D,Re.value,Y),Re!==null&&(P=c(Re,P,fe),ae===null?ue=Re:ae.sibling=Re,ae=Re);return fn&&Vu(D,fe),ue}for(se=u(D,se);!Re.done;fe++,Re=L.next())Re=re(se,D,fe,Re.value,Y),Re!==null&&(e&&Re.alternate!==null&&se.delete(Re.key===null?fe:Re.key),P=c(Re,P,fe),ae===null?ue=Re:ae.sibling=Re,ae=Re);return e&&se.forEach(function(Tn){return n(D,Tn)}),fn&&Vu(D,fe),ue}function Ee(D,P,L,Y){if(typeof L=="object"&&L!==null&&L.type===Qo&&L.key===null&&(L=L.props.children),typeof L=="object"&&L!==null){switch(L.$$typeof){case Rf:e:{for(var ue=L.key,ae=P;ae!==null;){if(ae.key===ue){if(ue=L.type,ue===Qo){if(ae.tag===7){r(D,ae.sibling),P=s(ae,L.props.children),P.return=D,D=P;break e}}else if(ae.elementType===ue||typeof ue=="object"&&ue!==null&&ue.$$typeof===ji&&qy(ue)===ae.type){r(D,ae.sibling),P=s(ae,L.props),P.ref=Ta(D,ae,L),P.return=D,D=P;break e}r(D,ae);break}else n(D,ae);ae=ae.sibling}L.type===Qo?(P=Xu(L.props.children,D.mode,Y,L.key),P.return=D,D=P):(Y=rc(L.type,L.key,L.props,null,D.mode,Y),Y.ref=Ta(D,P,L),Y.return=D,D=Y)}return v(D);case jo:e:{for(ae=L.key;P!==null;){if(P.key===ae)if(P.tag===4&&P.stateNode.containerInfo===L.containerInfo&&P.stateNode.implementation===L.implementation){r(D,P.sibling),P=s(P,L.children||[]),P.return=D,D=P;break e}else{r(D,P);break}else n(D,P);P=P.sibling}P=ah(L,D.mode,Y),P.return=D,D=P}return v(D);case ji:return ae=L._init,Ee(D,P,ae(L._payload),Y)}if(La(L))return J(D,P,L,Y);if(ka(L))return ne(D,P,L,Y);Vf(D,L)}return typeof L=="string"&&L!==""||typeof L=="number"?(L=""+L,P!==null&&P.tag===6?(r(D,P.sibling),P=s(P,L),P.return=D,D=P):(r(D,P),P=lh(L,D.mode,Y),P.return=D,D=P),v(D)):r(D,P)}return Ee}var pl=S1(!0),E1=S1(!1),mc=su(null),yc=null,nl=null,_v=null;function xv(){_v=nl=yc=null}function Sv(e){var n=mc.current;ln(mc),e._currentValue=n}function zh(e,n,r){for(;e!==null;){var u=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,u!==null&&(u.childLanes|=n)):u!==null&&(u.childLanes&n)!==n&&(u.childLanes|=n),e===r)break;e=e.return}}function al(e,n){yc=e,_v=nl=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&n&&(Ct=!0),e.firstContext=null)}function sr(e){var n=e._currentValue;if(_v!==e)if(e={context:e,memoizedValue:n,next:null},nl===null){if(yc===null)throw Error(ie(308));nl=e,yc.dependencies={lanes:0,firstContext:e}}else nl=nl.next=e;return n}var Qu=null;function Ev(e){Qu===null?Qu=[e]:Qu.push(e)}function k1(e,n,r,u){var s=n.interleaved;return s===null?(r.next=r,Ev(n)):(r.next=s.next,s.next=r),n.interleaved=r,ki(e,u)}function ki(e,n){e.lanes|=n;var r=e.alternate;for(r!==null&&(r.lanes|=n),r=e,e=e.return;e!==null;)e.childLanes|=n,r=e.alternate,r!==null&&(r.childLanes|=n),r=e,e=e.return;return r.tag===3?r.stateNode:null}var Qi=!1;function kv(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function C1(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function xi(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function tu(e,n,r){var u=e.updateQueue;if(u===null)return null;if(u=u.shared,We&2){var s=u.pending;return s===null?n.next=n:(n.next=s.next,s.next=n),u.pending=n,ki(e,r)}return s=u.interleaved,s===null?(n.next=n,Ev(u)):(n.next=s.next,s.next=n),u.interleaved=n,ki(e,r)}function Zf(e,n,r){if(n=n.updateQueue,n!==null&&(n=n.shared,(r&4194240)!==0)){var u=n.lanes;u&=e.pendingLanes,r|=u,n.lanes=r,sv(e,r)}}function Jy(e,n){var r=e.updateQueue,u=e.alternate;if(u!==null&&(u=u.updateQueue,r===u)){var s=null,c=null;if(r=r.firstBaseUpdate,r!==null){do{var v={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};c===null?s=c=v:c=c.next=v,r=r.next}while(r!==null);c===null?s=c=n:c=c.next=n}else s=c=n;r={baseState:u.baseState,firstBaseUpdate:s,lastBaseUpdate:c,shared:u.shared,effects:u.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=n:e.next=n,r.lastBaseUpdate=n}function wc(e,n,r,u){var s=e.updateQueue;Qi=!1;var c=s.firstBaseUpdate,v=s.lastBaseUpdate,x=s.shared.pending;if(x!==null){s.shared.pending=null;var k=x,T=k.next;k.next=null,v===null?c=T:v.next=T,v=k;var z=e.alternate;z!==null&&(z=z.updateQueue,x=z.lastBaseUpdate,x!==v&&(x===null?z.firstBaseUpdate=T:x.next=T,z.lastBaseUpdate=k))}if(c!==null){var U=s.baseState;v=0,z=T=k=null,x=c;do{var K=x.lane,re=x.eventTime;if((u&K)===K){z!==null&&(z=z.next={eventTime:re,lane:0,tag:x.tag,payload:x.payload,callback:x.callback,next:null});e:{var J=e,ne=x;switch(K=n,re=r,ne.tag){case 1:if(J=ne.payload,typeof J=="function"){U=J.call(re,U,K);break e}U=J;break e;case 3:J.flags=J.flags&-65537|128;case 0:if(J=ne.payload,K=typeof J=="function"?J.call(re,U,K):J,K==null)break e;U=gn({},U,K);break e;case 2:Qi=!0}}x.callback!==null&&x.lane!==0&&(e.flags|=64,K=s.effects,K===null?s.effects=[x]:K.push(x))}else re={eventTime:re,lane:K,tag:x.tag,payload:x.payload,callback:x.callback,next:null},z===null?(T=z=re,k=U):z=z.next=re,v|=K;if(x=x.next,x===null){if(x=s.shared.pending,x===null)break;K=x,x=K.next,K.next=null,s.lastBaseUpdate=K,s.shared.pending=null}}while(!0);if(z===null&&(k=U),s.baseState=k,s.firstBaseUpdate=T,s.lastBaseUpdate=z,n=s.shared.interleaved,n!==null){s=n;do v|=s.lane,s=s.next;while(s!==n)}else c===null&&(s.shared.lanes=0);eo|=v,e.lanes=v,e.memoizedState=U}}function e0(e,n,r){if(e=n.effects,n.effects=null,e!==null)for(n=0;nr?r:4,e(!0);var u=th.transition;th.transition={};try{e(!1),n()}finally{Je=r,th.transition=u}}function W1(){return fr().memoizedState}function fP(e,n,r){var u=iu(e);if(r={lane:u,action:r,hasEagerState:!1,eagerState:null,next:null},H1(e))V1(n,r);else if(r=k1(e,n,r,u),r!==null){var s=dt();Tr(r,e,u,s),$1(r,n,u)}}function cP(e,n,r){var u=iu(e),s={lane:u,action:r,hasEagerState:!1,eagerState:null,next:null};if(H1(e))V1(n,s);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=n.lastRenderedReducer,c!==null))try{var v=n.lastRenderedState,x=c(v,r);if(s.hasEagerState=!0,s.eagerState=x,Rr(x,v)){var k=n.interleaved;k===null?(s.next=s,Ev(n)):(s.next=k.next,k.next=s),n.interleaved=s;return}}catch(T){}finally{}r=k1(e,n,s,u),r!==null&&(s=dt(),Tr(r,e,u,s),$1(r,n,u))}}function H1(e){var n=e.alternate;return e===vn||n!==null&&n===vn}function V1(e,n){Ua=xc=!0;var r=e.pending;r===null?n.next=n:(n.next=r.next,r.next=n),e.pending=n}function $1(e,n,r){if(r&4194240){var u=n.lanes;u&=e.pendingLanes,r|=u,n.lanes=r,sv(e,r)}}var Sc={readContext:sr,useCallback:nt,useContext:nt,useEffect:nt,useImperativeHandle:nt,useInsertionEffect:nt,useLayoutEffect:nt,useMemo:nt,useReducer:nt,useRef:nt,useState:nt,useDebugValue:nt,useDeferredValue:nt,useTransition:nt,useMutableSource:nt,useSyncExternalStore:nt,useId:nt,unstable_isNewReconciler:!1},dP={readContext:sr,useCallback:function(e,n){return Gr().memoizedState=[e,n===void 0?null:n],e},useContext:sr,useEffect:t0,useImperativeHandle:function(e,n,r){return r=r!=null?r.concat([e]):null,Jf(4194308,4,B1.bind(null,n,e),r)},useLayoutEffect:function(e,n){return Jf(4194308,4,e,n)},useInsertionEffect:function(e,n){return Jf(4,2,e,n)},useMemo:function(e,n){var r=Gr();return n=n===void 0?null:n,e=e(),r.memoizedState=[e,n],e},useReducer:function(e,n,r){var u=Gr();return n=r!==void 0?r(n):n,u.memoizedState=u.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},u.queue=e,e=e.dispatch=fP.bind(null,vn,e),[u.memoizedState,e]},useRef:function(e){var n=Gr();return e={current:e},n.memoizedState=e},useState:n0,useDebugValue:Dv,useDeferredValue:function(e){return Gr().memoizedState=e},useTransition:function(){var e=n0(!1),n=e[0];return e=sP.bind(null,e[1]),Gr().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,r){var u=vn,s=Gr();if(fn){if(r===void 0)throw Error(ie(407));r=r()}else{if(r=n(),Un===null)throw Error(ie(349));Ju&30||R1(u,n,r)}s.memoizedState=r;var c={value:r,getSnapshot:n};return s.queue=c,t0(O1.bind(null,u,c,e),[e]),u.flags|=2048,os(9,A1.bind(null,u,c,r,n),void 0,null),r},useId:function(){var e=Gr(),n=Un.identifierPrefix;if(fn){var r=_i,u=wi;r=(u&~(1<<32-Pr(u)-1)).toString(32)+r,n=":"+n+"R"+r,r=is++,0<\/script>",e=e.removeChild(e.firstChild)):typeof u.is=="string"?e=v.createElement(r,{is:u.is}):(e=v.createElement(r),r==="select"&&(v=e,u.multiple?v.multiple=!0:u.size&&(v.size=u.size))):e=v.createElementNS(e,r),e[Yr]=n,e[ns]=u,nw(e,n,!1,!1),n.stateNode=e;e:{switch(v=_h(r,u),r){case"dialog":on("cancel",e),on("close",e),s=u;break;case"iframe":case"object":case"embed":on("load",e),s=u;break;case"video":case"audio":for(s=0;sgl&&(n.flags|=128,u=!0,Ra(c,!1),n.lanes=4194304)}else{if(!u)if(e=_c(v),e!==null){if(n.flags|=128,u=!0,r=e.updateQueue,r!==null&&(n.updateQueue=r,n.flags|=4),Ra(c,!0),c.tail===null&&c.tailMode==="hidden"&&!v.alternate&&!fn)return tt(n),null}else 2*Pn()-c.renderingStartTime>gl&&r!==1073741824&&(n.flags|=128,u=!0,Ra(c,!1),n.lanes=4194304);c.isBackwards?(v.sibling=n.child,n.child=v):(r=c.last,r!==null?r.sibling=v:n.child=v,c.last=v)}return c.tail!==null?(n=c.tail,c.rendering=n,c.tail=n.sibling,c.renderingStartTime=Pn(),n.sibling=null,r=hn.current,rn(hn,u?r&1|2:r&1),n):(tt(n),null);case 22:case 23:return zv(),u=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==u&&(n.flags|=8192),u&&n.mode&1?Bt&1073741824&&(tt(n),n.subtreeFlags&6&&(n.flags|=8192)):tt(n),null;case 24:return null;case 25:return null}throw Error(ie(156,n.tag))}function _P(e,n){switch(yv(n),n.tag){case 1:return Pt(n.type)&&pc(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return hl(),ln(It),ln(it),Pv(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return Iv(n),null;case 13:if(ln(hn),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(ie(340));dl()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return ln(hn),null;case 4:return hl(),null;case 10:return Sv(n.type._context),null;case 22:case 23:return zv(),null;case 24:return null;default:return null}}var jf=!1,rt=!1,xP=typeof WeakSet=="function"?WeakSet:Set,ge=null;function tl(e,n){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(u){yn(e,n,u)}else r.current=null}function Qh(e,n,r){try{r()}catch(u){yn(e,n,u)}}var p0=!1;function SP(e,n){if(Ah=sc,e=a1(),gv(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var u=r.getSelection&&r.getSelection();if(u&&u.rangeCount!==0){r=u.anchorNode;var s=u.anchorOffset,c=u.focusNode;u=u.focusOffset;try{r.nodeType,c.nodeType}catch(Y){r=null;break e}var v=0,x=-1,k=-1,T=0,z=0,U=e,K=null;n:for(;;){for(var re;U!==r||s!==0&&U.nodeType!==3||(x=v+s),U!==c||u!==0&&U.nodeType!==3||(k=v+u),U.nodeType===3&&(v+=U.nodeValue.length),(re=U.firstChild)!==null;)K=U,U=re;for(;;){if(U===e)break n;if(K===r&&++T===s&&(x=v),K===c&&++z===u&&(k=v),(re=U.nextSibling)!==null)break;U=K,K=U.parentNode}U=re}r=x===-1||k===-1?null:{start:x,end:k}}else r=null}r=r||{start:0,end:0}}else r=null;for(Oh={focusedElem:e,selectionRange:r},sc=!1,ge=n;ge!==null;)if(n=ge,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,ge=e;else for(;ge!==null;){n=ge;try{var J=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(J!==null){var ne=J.memoizedProps,Ee=J.memoizedState,D=n.stateNode,P=D.getSnapshotBeforeUpdate(n.elementType===n.type?ne:kr(n.type,ne),Ee);D.__reactInternalSnapshotBeforeUpdate=P}break;case 3:var L=n.stateNode.containerInfo;L.nodeType===1?L.textContent="":L.nodeType===9&&L.documentElement&&L.removeChild(L.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ie(163))}}catch(Y){yn(n,n.return,Y)}if(e=n.sibling,e!==null){e.return=n.return,ge=e;break}ge=n.return}return J=p0,p0=!1,J}function Wa(e,n,r){var u=n.updateQueue;if(u=u!==null?u.lastEffect:null,u!==null){var s=u=u.next;do{if((s.tag&e)===e){var c=s.destroy;s.destroy=void 0,c!==void 0&&Qh(n,r,c)}s=s.next}while(s!==u)}}function Fc(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var r=n=n.next;do{if((r.tag&e)===e){var u=r.create;r.destroy=u()}r=r.next}while(r!==n)}}function Gh(e){var n=e.ref;if(n!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof n=="function"?n(e):n.current=e}}function iw(e){var n=e.alternate;n!==null&&(e.alternate=null,iw(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Yr],delete n[ns],delete n[Nh],delete n[iP],delete n[uP])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function uw(e){return e.tag===5||e.tag===3||e.tag===4}function h0(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||uw(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Yh(e,n,r){var u=e.tag;if(u===5||u===6)e=e.stateNode,n?r.nodeType===8?r.parentNode.insertBefore(e,n):r.insertBefore(e,n):(r.nodeType===8?(n=r.parentNode,n.insertBefore(e,r)):(n=r,n.appendChild(e)),r=r._reactRootContainer,r!=null||n.onclick!==null||(n.onclick=dc));else if(u!==4&&(e=e.child,e!==null))for(Yh(e,n,r),e=e.sibling;e!==null;)Yh(e,n,r),e=e.sibling}function Xh(e,n,r){var u=e.tag;if(u===5||u===6)e=e.stateNode,n?r.insertBefore(e,n):r.appendChild(e);else if(u!==4&&(e=e.child,e!==null))for(Xh(e,n,r),e=e.sibling;e!==null;)Xh(e,n,r),e=e.sibling}var jn=null,Cr=!1;function $i(e,n,r){for(r=r.child;r!==null;)ow(e,n,r),r=r.sibling}function ow(e,n,r){if(Xr&&typeof Xr.onCommitFiberUnmount=="function")try{Xr.onCommitFiberUnmount(Tc,r)}catch(x){}switch(r.tag){case 5:rt||tl(r,n);case 6:var u=jn,s=Cr;jn=null,$i(e,n,r),jn=u,Cr=s,jn!==null&&(Cr?(e=jn,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):jn.removeChild(r.stateNode));break;case 18:jn!==null&&(Cr?(e=jn,r=r.stateNode,e.nodeType===8?Jp(e.parentNode,r):e.nodeType===1&&Jp(e,r),Xa(e)):Jp(jn,r.stateNode));break;case 4:u=jn,s=Cr,jn=r.stateNode.containerInfo,Cr=!0,$i(e,n,r),jn=u,Cr=s;break;case 0:case 11:case 14:case 15:if(!rt&&(u=r.updateQueue,u!==null&&(u=u.lastEffect,u!==null))){s=u=u.next;do{var c=s,v=c.destroy;c=c.tag,v!==void 0&&(c&2||c&4)&&Qh(r,n,v),s=s.next}while(s!==u)}$i(e,n,r);break;case 1:if(!rt&&(tl(r,n),u=r.stateNode,typeof u.componentWillUnmount=="function"))try{u.props=r.memoizedProps,u.state=r.memoizedState,u.componentWillUnmount()}catch(x){yn(r,n,x)}$i(e,n,r);break;case 21:$i(e,n,r);break;case 22:r.mode&1?(rt=(u=rt)||r.memoizedState!==null,$i(e,n,r),rt=u):$i(e,n,r);break;default:$i(e,n,r)}}function v0(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new xP),n.forEach(function(u){var s=OP.bind(null,e,u);r.has(u)||(r.add(u),u.then(s,s))})}}function Er(e,n){var r=n.deletions;if(r!==null)for(var u=0;us&&(s=v),u&=~c}if(u=s,u=Pn()-u,u=(120>u?120:480>u?480:1080>u?1080:1920>u?1920:3e3>u?3e3:4320>u?4320:1960*kP(u/1960))-u,10e?16:e,Zi===null)var u=!1;else{if(e=Zi,Zi=null,Cc=0,We&6)throw Error(ie(331));var s=We;for(We|=4,ge=e.current;ge!==null;){var c=ge,v=c.child;if(ge.flags&16){var x=c.deletions;if(x!==null){for(var k=0;kPn()-Fv?Yu(e,0):Mv|=r),Tt(e,n)}function hw(e,n){n===0&&(e.mode&1?(n=Lf,Lf<<=1,!(Lf&130023424)&&(Lf=4194304)):n=1);var r=dt();e=ki(e,n),e!==null&&(as(e,n,r),Tt(e,r))}function AP(e){var n=e.memoizedState,r=0;n!==null&&(r=n.retryLane),hw(e,r)}function OP(e,n){var r=0;switch(e.tag){case 13:var u=e.stateNode,s=e.memoizedState;s!==null&&(r=s.retryLane);break;case 19:u=e.stateNode;break;default:throw Error(ie(314))}u!==null&&u.delete(n),hw(e,r)}var vw;vw=function(e,n,r){if(e!==null)if(e.memoizedProps!==n.pendingProps||It.current)Ct=!0;else{if(!(e.lanes&r)&&!(n.flags&128))return Ct=!1,yP(e,n,r);Ct=!!(e.flags&131072)}else Ct=!1,fn&&n.flags&1048576&&w1(n,gc,n.index);switch(n.lanes=0,n.tag){case 2:var u=n.type;ec(e,n),e=n.pendingProps;var s=cl(n,it.current);al(n,r),s=Rv(null,n,u,e,s,r);var c=Av();return n.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,Pt(u)?(c=!0,hc(n)):c=!1,n.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,kv(n),s.updater=Mc,n.stateNode=s,s._reactInternals=n,Kh(n,u,e,r),n=Hh(null,n,u,!0,c,r)):(n.tag=0,fn&&c&&mv(n),ct(null,n,s,r),n=n.child),n;case 16:u=n.elementType;e:{switch(ec(e,n),e=n.pendingProps,s=u._init,u=s(u._payload),n.type=u,s=n.tag=LP(u),e=kr(u,e),s){case 0:n=Wh(null,n,u,e,r);break e;case 1:n=f0(null,n,u,e,r);break e;case 11:n=a0(null,n,u,e,r);break e;case 14:n=s0(null,n,u,kr(u.type,e),r);break e}throw Error(ie(306,u,""))}return n;case 0:return u=n.type,s=n.pendingProps,s=n.elementType===u?s:kr(u,s),Wh(e,n,u,s,r);case 1:return u=n.type,s=n.pendingProps,s=n.elementType===u?s:kr(u,s),f0(e,n,u,s,r);case 3:e:{if(q1(n),e===null)throw Error(ie(387));u=n.pendingProps,c=n.memoizedState,s=c.element,C1(e,n),wc(n,u,null,r);var v=n.memoizedState;if(u=v.element,c.isDehydrated)if(c={element:u,isDehydrated:!1,cache:v.cache,pendingSuspenseBoundaries:v.pendingSuspenseBoundaries,transitions:v.transitions},n.updateQueue.baseState=c,n.memoizedState=c,n.flags&256){s=vl(Error(ie(423)),n),n=c0(e,n,u,r,s);break e}else if(u!==s){s=vl(Error(ie(424)),n),n=c0(e,n,u,r,s);break e}else for(zt=nu(n.stateNode.containerInfo.firstChild),bt=n,fn=!0,Ir=null,r=E1(n,null,u,r),n.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(dl(),u===s){n=Ci(e,n,r);break e}ct(e,n,u,r)}n=n.child}return n;case 5:return I1(n),e===null&&Bh(n),u=n.type,s=n.pendingProps,c=e!==null?e.memoizedProps:null,v=s.children,Dh(u,s)?v=null:c!==null&&Dh(u,c)&&(n.flags|=32),Z1(e,n),ct(e,n,v,r),n.child;case 6:return e===null&&Bh(n),null;case 13:return J1(e,n,r);case 4:return Cv(n,n.stateNode.containerInfo),u=n.pendingProps,e===null?n.child=pl(n,null,u,r):ct(e,n,u,r),n.child;case 11:return u=n.type,s=n.pendingProps,s=n.elementType===u?s:kr(u,s),a0(e,n,u,s,r);case 7:return ct(e,n,n.pendingProps,r),n.child;case 8:return ct(e,n,n.pendingProps.children,r),n.child;case 12:return ct(e,n,n.pendingProps.children,r),n.child;case 10:e:{if(u=n.type._context,s=n.pendingProps,c=n.memoizedProps,v=s.value,rn(mc,u._currentValue),u._currentValue=v,c!==null)if(Rr(c.value,v)){if(c.children===s.children&&!It.current){n=Ci(e,n,r);break e}}else for(c=n.child,c!==null&&(c.return=n);c!==null;){var x=c.dependencies;if(x!==null){v=c.child;for(var k=x.firstContext;k!==null;){if(k.context===u){if(c.tag===1){k=xi(-1,r&-r),k.tag=2;var T=c.updateQueue;if(T!==null){T=T.shared;var z=T.pending;z===null?k.next=k:(k.next=z.next,z.next=k),T.pending=k}}c.lanes|=r,k=c.alternate,k!==null&&(k.lanes|=r),zh(c.return,r,n),x.lanes|=r;break}k=k.next}}else if(c.tag===10)v=c.type===n.type?null:c.child;else if(c.tag===18){if(v=c.return,v===null)throw Error(ie(341));v.lanes|=r,x=v.alternate,x!==null&&(x.lanes|=r),zh(v,r,n),v=c.sibling}else v=c.child;if(v!==null)v.return=c;else for(v=c;v!==null;){if(v===n){v=null;break}if(c=v.sibling,c!==null){c.return=v.return,v=c;break}v=v.return}c=v}ct(e,n,s.children,r),n=n.child}return n;case 9:return s=n.type,u=n.pendingProps.children,al(n,r),s=sr(s),u=u(s),n.flags|=1,ct(e,n,u,r),n.child;case 14:return u=n.type,s=kr(u,n.pendingProps),s=kr(u.type,s),s0(e,n,u,s,r);case 15:return Y1(e,n,n.type,n.pendingProps,r);case 17:return u=n.type,s=n.pendingProps,s=n.elementType===u?s:kr(u,s),ec(e,n),n.tag=1,Pt(u)?(e=!0,hc(n)):e=!1,al(n,r),j1(n,u,s),Kh(n,u,s,r),Hh(null,n,u,!0,e,r);case 19:return ew(e,n,r);case 22:return X1(e,n,r)}throw Error(ie(156,n.tag))};function gw(e,n){return H0(e,n)}function DP(e,n,r,u){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=u,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function lr(e,n,r,u){return new DP(e,n,r,u)}function Kv(e){return e=e.prototype,!(!e||!e.isReactComponent)}function LP(e){if(typeof e=="function")return Kv(e)?1:0;if(e!=null){if(e=e.$$typeof,e===uv)return 11;if(e===ov)return 14}return 2}function uu(e,n){var r=e.alternate;return r===null?(r=lr(e.tag,n,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=n,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,n=e.dependencies,r.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function rc(e,n,r,u,s,c){var v=2;if(u=e,typeof e=="function")Kv(e)&&(v=1);else if(typeof e=="string")v=5;else e:switch(e){case Qo:return Xu(r.children,s,c,n);case iv:v=8,s|=8;break;case fh:return e=lr(12,r,n,s|2),e.elementType=fh,e.lanes=c,e;case ch:return e=lr(13,r,n,s),e.elementType=ch,e.lanes=c,e;case dh:return e=lr(19,r,n,s),e.elementType=dh,e.lanes=c,e;case I0:return zc(r,s,c,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case k0:v=10;break e;case C0:v=9;break e;case uv:v=11;break e;case ov:v=14;break e;case ji:v=16,u=null;break e}throw Error(ie(130,e==null?e:typeof e,""))}return n=lr(v,r,n,s),n.elementType=e,n.type=u,n.lanes=c,n}function Xu(e,n,r,u){return e=lr(7,e,u,n),e.lanes=r,e}function zc(e,n,r,u){return e=lr(22,e,u,n),e.elementType=I0,e.lanes=r,e.stateNode={isHidden:!1},e}function lh(e,n,r){return e=lr(6,e,null,n),e.lanes=r,e}function ah(e,n,r){return n=lr(4,e.children!==null?e.children:[],e.key,n),n.lanes=r,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function NP(e,n,r,u,s){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=$p(0),this.expirationTimes=$p(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$p(0),this.identifierPrefix=u,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function Uv(e,n,r,u,s,c,v,x,k){return e=new NP(e,n,r,x,k),n===1?(n=1,c===!0&&(n|=8)):n=0,c=lr(3,null,null,n),e.current=c,c.stateNode=e,c.memoizedState={element:u,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},kv(c),e}function MP(e,n,r){var u=3{"use strict";function xw(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(xw)}catch(e){console.error(e)}}xw(),Sw.exports=_w()});var Cw=tr($v=>{"use strict";var kw=Ew();$v.createRoot=kw.createRoot,$v.hydrateRoot=kw.hydrateRoot;var MT});var UP={};uC(UP,{default:()=>KP});module.exports=oC(UP);var _l=require("obsidian"),jv=rr(cf());var Ho=rr(cf());var df=rr(Rm(),1),Am=Symbol.for("Dexie"),pf=globalThis[Am]||(globalThis[Am]=df.default);if(df.default.semVer!==pf.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${df.default.semVer} and ${pf.semVer}`);var{liveQuery:HP,mergeRanges:VP,rangesOverlap:$P,RangeSet:jP,cmp:QP,Entity:GP,PropModSymbol:YP,PropModification:XP,replacePrefix:ZP,add:qP,remove:JP}=pf;var Om=pf;var Jm=rr(Dm());var Xe=rr(ya());var Ko=rr(ya()),Uo=(0,Ko.createContext)({}),jm=()=>{let e=(0,Ko.useContext)(Uo);if(!e)throw new Error("usePlugin must be used within an ImagePickerContext.Provider");return e.plugin},Qm=()=>{let e=(0,Ko.useContext)(Uo);if(!e)throw new Error("useApp must be used within an ImagePickerContext.Provider");return e.app},Gm=()=>{let e=(0,Ko.useContext)(Uo);if(!e)throw new Error("useFiles must be used within an ImagePickerContext.Provider");return e.files};var Wo=rr(cf());var wf=require("obsidian"),In=rr(wa()),Cp=100,TC=5e3,RC=5e3,AC=["ext"],OC=e=>{let n=e.split(" ").map(u=>u.trim()).filter(u=>u.includes(":")&&AC.includes(u.split(":")[0])),r="";for(let u of e.split(" "))n.includes(u)||(r+=u+" ");return{queryTokens:n,remainingQuery:r.trim()}},Ip=()=>{let e=(0,Xe.useRef)(document.querySelector(".is-mobile")!==null),n=jm(),r=Qm(),u=Gm(),s=(0,Xe.useRef)([]),[c,v]=(0,Xe.useState)(""),[x,k]=(0,Xe.useState)({queryTokens:[],remainingQuery:""}),[T,z]=(0,Xe.useState)(1),[U,K]=(0,Xe.useState)(0),re=(0,Xe.useRef)(0),[J,ne]=(0,Xe.useState)(0),Ee=(0,Xe.useRef)(null);(0,Xe.useEffect)(()=>{J!==re.current&&(Tn({}),re.current=J)},[J]);let D=(0,Xe.useCallback)(async ve=>{try{await r.vault.trash(r.vault.getAbstractFileByPath(ve.path),!1),await n.indexer.removeIndex(ve.path)}catch(Ue){console.error("Failed to trash node:",Ue)}},[r.vault,n.indexer]),P=(0,Xe.useMemo)(()=>(0,Wo.debounce)(ve=>{k(OC(ve)),z(1),Yn(0),Tn({})},500),[]),L=(0,Xe.useCallback)(ve=>{console.log(`Image clicked: ${ve}`)},[]),Y=(0,Xe.useMemo)(()=>{let{queryTokens:ve,remainingQuery:Ue}=x;return u.filter(Ve=>{if(!r.vault.getResourcePath(Ve).toLowerCase().includes(Ue.toLowerCase()))return!1;for(let ut of ve){let[cr,qr]=ut.split(":");switch(cr){case"ext":if(Ve.extension.toLowerCase()!==qr.toLowerCase())return!1;break;default:break}}return!(Pp(Ve.stat.size)>(e.current?TC:RC))}).sort((Ve,en)=>en.stat.ctime-Ve.stat.ctime)},[u,r.vault,x]),ue=(0,Xe.useCallback)((ve,Ue)=>{if(Ee.current){let Ve=window.getComputedStyle(Ee.current),en=parseInt(Ve.getPropertyValue("gap"),10)||0,ut=ve{let Ue=ve.clientHeight,Ve=Math.floor(Ue/Cp),en=ve.clientWidth,ut=ue(en,100);ne(ut),K(Ve*ut)},[ue]);(0,Xe.useEffect)(()=>{let ve=new ResizeObserver(()=>{Ee.current&&ae(Ee.current)});return Ee.current&&ve.observe(Ee.current),()=>{Ee.current&&ve.unobserve(Ee.current)}},[ae]),(0,Xe.useEffect)(()=>{Ee.current&&ae(Ee.current)},[ae,Y]),(0,Xe.useEffect)(()=>{z(1)},[x]);let se=(0,Xe.useMemo)(()=>{let ve=(T-1)*U,Ue=ve+U;return Y.slice(ve,Ue)},[Y,T,U]),fe=Math.ceil(Y.length/U),He=()=>{Yn(0),Tn({}),z(ve=>Math.max(ve-1,1))},Re=()=>{Yn(0),Tn({}),z(ve=>Math.min(ve+1,fe))},[cn,Tn]=(0,Xe.useState)({}),[Ht,Yn]=(0,Xe.useState)(0),wn=(0,Xe.useCallback)(async ve=>{try{if(ve{Tn(ut=>({...ut,[Ue.path]:Ue.thumbnail.data})),wn(ve+1)};Ve.addEventListener("load",en)}}catch(Ue){console.warn("FAILED:",se[ve]),n.indexer.removeIndex(se[ve].path),Yn(Ve=>Ve+1),wn(ve+1)}},[se,n.indexer]);return(0,Xe.useEffect)(()=>{Object.keys(cn).length===0&&wn(Ht)},[wn,cn,Ht]),(0,Xe.useEffect)(()=>{(0,Wo.isEqual)(u,s.current)||(console.log("Images changed:",u.length),Tn({}),Yn(0),z(1),s.current=u)},[u]),(0,In.jsxs)(In.Fragment,{children:[(0,In.jsx)("div",{className:"image-picker-controls",children:(0,In.jsx)("input",{type:"text",placeholder:"Search images...",className:"image-picker-search",value:c,onChange:ve=>{v(ve.target.value),P(ve.target.value)}})}),(0,In.jsx)("div",{ref:ve=>{ve&&(Ee.current=ve,ae(ve))},className:"image-picker-scroll-view",children:(0,In.jsx)("div",{className:"image-picker-grid",style:{gridTemplateColumns:`repeat(${J}, 1fr)`},children:se.map((ve,Ue)=>(0,In.jsxs)("div",{className:"image-picker-item",onClick:()=>L(ve.path),style:{gridRow:Math.floor(Ue/J)+1,gridColumn:Ue%J+1},children:[(0,In.jsxs)("select",{value:"default",onChange:async Ve=>{switch(Ve.target.value){case"copy":kp(qm(ve)),new wf.Notice("Copied image embed to clipboard");break;case"path":kp(ve.path),new wf.Notice("Copied image path to clipboard");break;case"delete":await D(ve),new wf.Notice(`Moved ${ve.name} to trash`);break;default:break}},children:[(0,In.jsx)("option",{disabled:!0,selected:!0,value:"default",children:(0,Wo.truncate)(ve.name,{length:30})}),(0,In.jsx)("option",{value:"copy",children:"Copy Image Embed"}),(0,In.jsx)("option",{value:"path",children:"Copy Image Path"}),(0,In.jsx)("option",{value:"delete",children:"Delete Image"})]}),Object.keys(cn).includes(ve.path)?(0,In.jsx)("img",{src:cn[ve.path],alt:ve.name,style:{width:"100%",height:"100%"},loading:"lazy"}):(0,In.jsx)("div",{className:"image-placeholder",children:"\u23F3"})]},ve.path))})}),(0,In.jsxs)("div",{className:"image-picker-pagination",children:[(0,In.jsx)("button",{onClick:He,disabled:T===1,children:"Previous"}),(0,In.jsxs)("span",{children:["Page ",T," of ",fe||1]}),(0,In.jsx)("button",{onClick:Re,disabled:T===fe,children:"Next"})]})]})};var Pp=e=>Math.round(e/1024),Tp=async e=>{let r=await(await fetch(e)).blob();return new File([r],"image.jpg")},DC=async e=>new Promise((n,r)=>{let u=new FileReader;u.onload=()=>n(u.result),u.onerror=r,u.readAsDataURL(e)});var ey=e=>new Promise((n,r)=>{let u=new FileReader;u.onload=()=>n(u.result),u.onerror=r,u.readAsArrayBuffer(e)}),ny=e=>Pp(e.byteLength),LC=async(e,n)=>{let r=await(0,Jm.readAndCompressImage)(e,{maxHeight:n,quality:.7});return new File([r],e.name)},ty=async e=>{let n=await LC(e,Cp*2);return await DC(n)},kp=e=>{navigator.clipboard.writeText(e)},qm=e=>`![[${e.path}]]`;var $n=[];for(let e=0;e<256;++e)$n.push((e+256).toString(16).slice(1));function ry(e,n=0){return($n[e[n+0]]+$n[e[n+1]]+$n[e[n+2]]+$n[e[n+3]]+"-"+$n[e[n+4]]+$n[e[n+5]]+"-"+$n[e[n+6]]+$n[e[n+7]]+"-"+$n[e[n+8]]+$n[e[n+9]]+"-"+$n[e[n+10]]+$n[e[n+11]]+$n[e[n+12]]+$n[e[n+13]]+$n[e[n+14]]+$n[e[n+15]]).toLowerCase()}var Rp,NC=new Uint8Array(16);function Ap(){if(!Rp){if(typeof crypto=="undefined"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Rp=crypto.getRandomValues.bind(crypto)}return Rp(NC)}var MC=typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Op={randomUUID:MC};function FC(e,n,r){if(Op.randomUUID&&!n&&!e)return Op.randomUUID();e=e||{};let u=e.random||(e.rng||Ap)();if(u[6]=u[6]&15|64,u[8]=u[8]&63|128,n){r=r||0;for(let s=0;s<16;++s)n[r+s]=u[s];return n}return ry(u)}var _a=FC;var BC=5e3,_f=class{constructor(n){this.plugin=n;this.queue=[];this.running=!1;this.log=(...n)=>{this.plugin.log("Backgrounder -> ",...n)};this.wait=n=>new Promise(r=>setTimeout(r,n));this.enqueue=async n=>{n.disableDoubleQueue&&(this.log("Disabling double queue:",n.type),this.queue=this.queue.filter(r=>r.type!==n.type)),this.queue.push({...n,id:_a()}),this.log("Enqueued:",n.type),this.run()};this.run=async()=>{if(this.running||this.queue.length===0)return;this.running=!0,this.log("Waiting to run:",this.queue[0].type),await this.wait(BC);let n=this.queue.shift();this.log("Running:",n==null?void 0:n.type),n&&await n.action(),this.log("Finished:",n==null?void 0:n.type),this.running=!1,this.run()}}};var xf=class extends Om{constructor(){super("IndexerDB"),this.version(1).stores({index:"path",thumbnails:"id"}),this.index=this.table("index"),this.thumbnails=this.table("thumbnails")}},Sf=class{constructor(n){this.plugin=n;this.memory={};this.db=new xf;this.flush=async()=>{this.memory={},await this.db.index.clear()};this.resetDB=async()=>{await this.db.delete(),this.db=new xf};this.log=(...n)=>{this.plugin.log("Indexer -> ",...n)};this.hasThumbnail=async n=>{var r;return((r=await this.db.index.get(n.path))==null?void 0:r.thumbnail)!==void 0};this.getThumbnail=async n=>{var c;if(n.extension==="gif"&&((c=this.plugin.settings)!=null&&c.animateGifs))return{id:"gif",data:n.uri};let r=n.thumbnail&&await this.db.thumbnails.where("id").equals(n.thumbnail).first();if(r)return this.log("Using cached thumbnail:",n.name),r;this.log("Generating thumbnail:",n.path);let u=_a(),s=await ty(await Tp(n.uri));return this.db.thumbnails.put({id:u,data:s}),this.memory[n.path]={...n,thumbnail:u},this.log("Generated thumbnail:",u),this.backgrounder.enqueue({type:"saveIndex",disableDoubleQueue:!0,action:this.saveIndex}),{id:u,data:s}};this.needsThumbnail=async n=>{let r=await Tp(n.uri),u=await ey(r),s=ny(u);return this.log("Image size:",s),s>100};this.saveIndex=(0,Ho.debounce)(async()=>{try{let n=await this.getIndex();await this.db.index.bulkPut(Object.values((0,Ho.merge)({},n,this.memory))),this.memory={},this.notifySubscribers()}catch(n){console.error("Failed to save index:",n)}},1e3);this.setIndex=async n=>{let r=Object.values(n),u=[];for(let s of r)u.push(s);this.memory=(0,Ho.merge)({},this.memory,n),this.backgrounder.enqueue({type:"saveIndex",disableDoubleQueue:!0,action:this.saveIndex})};this.removeIndex=async n=>{this.log("Removing index:",n);let r=await this.db.index.get(n);delete this.memory[n],await this.db.index.delete(n),r!=null&&r.thumbnail&&await this.db.thumbnails.delete(r.thumbnail),this.notifySubscribers(),this.backgrounder.enqueue({type:"saveIndex",disableDoubleQueue:!0,action:this.saveIndex})};this.getIndex=async()=>{let n=await this.db.index.toArray(),r=Object.values(this.memory),u={},s=[...n,...r];for(let c of s)u=(0,Ho.merge)(u,{[c.path]:c});return u};this.getAbstractIndex=async()=>{let n=await this.db.index.toArray(),r={};for(let u of n){let s=this.memory[u.path]||{},c={...u,...s};r[u.path]={...c,thumbnail:await this.getThumbnail(c)}}return r};this.getAbstractNode=async n=>{let r=this.memory[n.path]||{},u={...n,...r};return{...u,thumbnail:await this.getThumbnail(u)}};this.subscribers=[];this.notifySubscribers=n=>{this.log("Notifying subscribers:",this.subscribers.length),this.subscribers.forEach(async r=>r(n||await this.getIndex()))};this.backgrounder=new _f(this.plugin),this.getIndex().then(r=>{this.log("Loaded index:",r)})}subscribe(n){return this.subscribers=[n],()=>{this.subscribers=this.subscribers.filter(r=>r!==n)}}};var Wu=require("obsidian"),iy={imageFolder:"",animateGifs:!1,debugMode:!1},Ef=class extends Wu.PluginSettingTab{constructor(n,r){super(n,r),this.plugin=r}display(){let{containerEl:n}=this;n.empty(),new Wu.Setting(n).setName("Image Folder").setDesc("Image picker will look for images in this folder and its subfolders, by default it will look in the root of the vault").addText(u=>u.setPlaceholder("Image Folder").setValue(this.plugin.settings.imageFolder).onChange(async s=>{this.plugin.settings.imageFolder=s||"",await this.plugin.saveSettings()})),new Wu.Setting(n).setName("Reset Image Index").setDesc("Clears the image index and rebuilds it from the image folder. Obsidian will reload immediately after. Please run this after changing the image folder.").addButton(u=>u.setButtonText("Reset Index").onClick(async()=>{this.plugin.images=[],await this.plugin.indexer.resetDB(),this.app.commands.executeCommandById("app:reload")})),new Wu.Setting(n).setName("Animate GIFs").setDesc("Warning: large gifs can slow down or crash Obsidian").addToggle(u=>u.setValue(this.plugin.settings.animateGifs).onChange(async s=>{this.plugin.settings.animateGifs=s,await this.plugin.saveSettings()})),new Wu.Setting(n).setName("Debug Mode").setDesc("Log debug messages to the console").addToggle(u=>u.setValue(this.plugin.settings.debugMode).onChange(async s=>{this.plugin.settings.debugMode=s,await this.plugin.saveSettings()})),n.createEl("hr");let r=n.createEl("div");r.innerHTML=` - Built with \u{1F49A} by ari.the.elk
- \u{1F4D6} documentation
- \u{1F49D} donate`}};var Iw=require("obsidian"),Pw=rr(Cw());var Hc=["jpg","jpeg","png","gif","webp"],wl="image-picker-view";var ds=rr(wa()),Vc=class extends Iw.ItemView{constructor(r,u){super(u);this.plugin=r;this.root=null;this.mountReact=async()=>{this.root=(0,Pw.createRoot)(this.containerEl.children[1]),this.root.render((0,ds.jsx)(Uo.Provider,{value:{app:this.app,plugin:this.plugin,files:Object.values(await this.plugin.indexer.getIndex())},children:(0,ds.jsx)(Ip,{})}))};this.unmountReact=()=>{var r;(r=this.root)==null||r.unmount(),this.containerEl.children[1].empty()}}getViewType(){return wl}getDisplayText(){return"Image Picker"}getIcon(){return"image"}async onOpen(){this.plugin.log("Opening root:",this.plugin.images.length),await this.mountReact(),this.plugin.indexer.subscribe(async r=>{var u;this.plugin.log("Rerendering root:",Object.keys(r).length),(u=this.root)==null||u.render((0,ds.jsx)(Uo.Provider,{value:{app:this.app,plugin:this.plugin,files:Object.values(r)},children:(0,ds.jsx)(Ip,{})}))})}async onClose(){var r;(r=this.root)==null||r.unmount()}};var $c=class extends _l.Plugin{constructor(){super(...arguments);this.images=[];this.indexer=new Sf(this);this.log=(...r)=>{var u;(u=this.settings)!=null&&u.debugMode&&console.log("ImagePicker -> ",...r)};this.onFileCreate=async r=>{r instanceof _l.TFile&&r.path.startsWith(this.settings.imageFolder)&&Hc.includes(r.extension)&&(this.log("onFileCreate:",r.path),this.indexer.setIndex({[r.path]:{...(0,jv.pick)(r,["basename","extension","stat","path","name"]),uri:this.app.vault.getResourcePath(r)}}),this.indexer.notifySubscribers())};this.onFileDelete=async r=>{r instanceof _l.TFile&&r.path.startsWith(this.settings.imageFolder)&&Hc.includes(r.extension)&&(this.log("onFileDelete:",r.path),this.indexer.removeIndex(r.path),this.indexer.notifySubscribers())};this.onFileChange=async r=>{r instanceof _l.TFile&&r.path.startsWith(this.settings.imageFolder)&&Hc.includes(r.extension)&&(this.indexer.setIndex({[r.path]:{...(0,jv.pick)(r,["basename","extension","stat","path","name"]),uri:this.app.vault.getResourcePath(r)}}),this.indexer.notifySubscribers())}}async onload(){await this.loadSettings(),this.addSettingTab(new Ef(this.app,this)),this.addRibbonIcon("image","Open Image Picker",async()=>{this.activateView()}),this.registerView(wl,r=>new Vc(this,r)),this.app.vault.on("create",this.onFileCreate),this.app.vault.on("modify",this.onFileChange),this.app.vault.on("delete",this.onFileDelete)}onunload(){this.app.vault.off("create",this.onFileCreate),this.app.vault.off("modify",this.onFileChange),this.app.vault.off("delete",this.onFileDelete)}async activateView(){let{workspace:r}=this.app,u=null,s=r.getLeavesOfType(wl);s.length>0?u=s[0]:(u=r.getRightLeaf(!1),await(u==null?void 0:u.setViewState({type:wl,active:!0}))),u&&r.revealLeaf(u)}async loadSettings(){this.log("Loading settings..."),this.settings=Object.assign({},iy,await this.loadData())}async saveSettings(){this.log("Saving settings:",this.settings),await this.saveData(this.settings)}};var KP=$c; -/*! Bundled license information: - -lodash/lodash.js: - (** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - *) - -dexie/dist/dexie.js: - (*! ***************************************************************************** - Copyright (c) Microsoft Corporation. - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted. - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** *) - -react/cjs/react.production.min.js: - (** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - -react/cjs/react-jsx-runtime.production.min.js: - (** - * @license React - * react-jsx-runtime.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - -scheduler/cjs/scheduler.production.min.js: - (** - * @license React - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - -react-dom/cjs/react-dom.production.min.js: - (** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) -*/ diff --git a/package-lock.json b/package-lock.json index c65cd87..59c0c16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,6 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@emotion/react": "^11.14.0", - "@emotion/styled": "^11.14.0", "@misskey-dev/browser-image-resizer": "^2024.1.0", "@react-hook/size": "^2.1.2", "browser-image-resizer": "^2.4.1", @@ -19,8 +17,6 @@ "obsidian": "latest", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-lazyload": "^3.2.1", - "react-virtualized": "^9.22.5", "uuid": "^11.0.3" }, "devDependencies": { @@ -37,6 +33,7 @@ "esbuild": "0.24.0", "esbuild-plugin-copy": "^2.1.1", "esbuild-sass-plugin": "^3.3.1", + "eslint-plugin-import": "^2.31.0", "eslint-plugin-react-hooks": "^5.1.0", "rimraf": "^6.0.1", "tslib": "2.8.1", @@ -46,137 +43,6 @@ "node": ">=20.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", - "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", - "dependencies": { - "@babel/parser": "^7.26.3", - "@babel/types": "^7.26.3", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", - "dependencies": { - "@babel/types": "^7.26.3" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", - "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", - "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", - "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.3", - "@babel/parser": "^7.26.3", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.3", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@bufbuild/protobuf": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.2.3.tgz", @@ -205,139 +71,6 @@ "w3c-keyname": "^2.2.4" } }, - "node_modules/@emotion/babel-plugin": { - "version": "11.13.5", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", - "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.2", - "@emotion/memoize": "^0.9.0", - "@emotion/serialize": "^1.3.3", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/cache": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", - "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", - "dependencies": { - "@emotion/memoize": "^0.9.0", - "@emotion/sheet": "^1.4.0", - "@emotion/utils": "^1.4.2", - "@emotion/weak-memoize": "^0.4.0", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/hash": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", - "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", - "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", - "dependencies": { - "@emotion/memoize": "^0.9.0" - } - }, - "node_modules/@emotion/memoize": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", - "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" - }, - "node_modules/@emotion/react": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", - "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.13.5", - "@emotion/cache": "^11.14.0", - "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", - "@emotion/utils": "^1.4.2", - "@emotion/weak-memoize": "^0.4.0", - "hoist-non-react-statics": "^3.3.1" - }, - "peerDependencies": { - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/serialize": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", - "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", - "dependencies": { - "@emotion/hash": "^0.9.2", - "@emotion/memoize": "^0.9.0", - "@emotion/unitless": "^0.10.0", - "@emotion/utils": "^1.4.2", - "csstype": "^3.0.2" - } - }, - "node_modules/@emotion/sheet": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", - "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==" - }, - "node_modules/@emotion/styled": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz", - "integrity": "sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.13.5", - "@emotion/is-prop-valid": "^1.3.0", - "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", - "@emotion/utils": "^1.4.2" - }, - "peerDependencies": { - "@emotion/react": "^11.0.0-rc.0", - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/unitless": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", - "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==" - }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", - "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@emotion/utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", - "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==" - }, - "node_modules/@emotion/weak-memoize": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", - "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==" - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.24.0", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", @@ -889,49 +622,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "node_modules/@juggle/resize-observer": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", @@ -1335,6 +1025,13 @@ "react": ">=16.8" } }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/codemirror": { "version": "5.60.8", "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz", @@ -1348,6 +1045,13 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/lodash": { "version": "4.17.13", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", @@ -1364,11 +1068,6 @@ "undici-types": "~6.20.0" } }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" - }, "node_modules/@types/prop-types": { "version": "15.7.14", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", @@ -1732,6 +1431,44 @@ "dev": true, "peer": true }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -1741,18 +1478,102 @@ "node": ">=8" } }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "possible-typed-array-names": "^1.0.0" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/balanced-match": { @@ -1778,7 +1599,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "peer": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1823,10 +1643,62 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.2.tgz", + "integrity": "sha512-0lk0PHFe/uz0vl527fG9CgdE9WdafjDbCXvBbs+LUv000TVt2Jjhqbs4Jwm8gz070w8xXyEAxrPOMullsxXeGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "get-intrinsic": "^1.2.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "peer": true, "engines": { "node": ">=6" } @@ -1883,14 +1755,6 @@ "node": ">= 6" } }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "engines": { - "node": ">=6" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1921,28 +1785,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "peer": true - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } + "dev": true }, "node_modules/cross-spawn": { "version": "7.0.6", @@ -1961,12 +1804,68 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, "dependencies": { "ms": "^2.1.3" }, @@ -1986,6 +1885,42 @@ "dev": true, "peer": true }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", @@ -2031,15 +1966,6 @@ "node": ">=6.0.0" } }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, "node_modules/dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", @@ -2053,6 +1979,21 @@ "url": "https://dotenvx.com" } }, + "node_modules/dunder-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.0.tgz", + "integrity": "sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -2065,12 +2006,141 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/es-abstract": { + "version": "1.23.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/esbuild": { @@ -2148,6 +2218,8 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "peer": true, "engines": { "node": ">=10" }, @@ -2212,6 +2284,123 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-react-hooks": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", @@ -2332,7 +2521,6 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -2420,11 +2608,6 @@ "node": ">=8" } }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -2503,6 +2686,16 @@ "dev": true, "peer": true }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/foreground-child": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", @@ -2558,6 +2751,79 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz", + "integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "dunder-proto": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2638,13 +2904,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, + "license": "MIT", "dependencies": { - "array-union": "^2.1.0", + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", @@ -2658,6 +2941,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -2670,6 +2966,16 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2679,10 +2985,69 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -2690,14 +3055,6 @@ "node": ">= 0.4" } }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -2718,6 +3075,8 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "peer": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -2758,10 +3117,69 @@ "dev": true, "peer": true }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-binary-path": { "version": "2.1.0", @@ -2775,10 +3193,41 @@ "node": ">=8" } }, + "node_modules/is-boolean-object": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { "version": "2.15.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, "dependencies": { "hasown": "^2.0.2" }, @@ -2789,6 +3238,41 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2798,6 +3282,22 @@ "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", + "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -2807,6 +3307,22 @@ "node": ">=8" } }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2819,6 +3335,32 @@ "node": ">=0.10.0" } }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2828,16 +3370,185 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/is-number-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.0.tgz", + "integrity": "sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.0.tgz", + "integrity": "sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, - "peer": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2877,17 +3588,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -2895,11 +3595,6 @@ "dev": true, "peer": true }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2914,6 +3609,19 @@ "dev": true, "peer": true }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -2950,11 +3658,6 @@ "node": ">= 0.8.0" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -3003,6 +3706,16 @@ "node": "20 || >=22" } }, + "node_modules/math-intrinsics": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.0.0.tgz", + "integrity": "sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -3030,7 +3743,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "peer": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3038,6 +3750,16 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -3058,7 +3780,8 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", @@ -3083,12 +3806,98 @@ "node": ">=0.10.0" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/obsidian": { @@ -3174,6 +3983,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "peer": true, "dependencies": { "callsites": "^3.0.0" }, @@ -3181,23 +3992,6 @@ "node": ">=6" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3230,7 +4024,8 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/path-scurry": { "version": "2.0.0", @@ -3252,15 +4047,11 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" - }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -3273,6 +4064,16 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -3283,16 +4084,6 @@ "node": ">= 0.8.0" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -3346,42 +4137,6 @@ "react": "^18.3.1" } }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-lazyload": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/react-lazyload/-/react-lazyload-3.2.1.tgz", - "integrity": "sha512-oDLlLOI/rRLY0fUh/HYFCy4CqCe7zdJXv6oTl2pC30tN3ezWxvwcdHYfD/ZkrGOMOOT5pO7hNLSvg7WsmAij1w==", - "peerDependencies": { - "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "node_modules/react-virtualized": { - "version": "9.22.5", - "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.5.tgz", - "integrity": "sha512-YqQMRzlVANBv1L/7r63OHa2b0ZsAaDp1UhVNEdUaXI8A5u6hTpA5NYtUueLH2rFuY/27mTGIBl7ZhqFKzw18YQ==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "clsx": "^1.0.4", - "dom-helpers": "^5.1.3", - "loose-envify": "^1.4.0", - "prop-types": "^15.7.2", - "react-lifecycles-compat": "^3.0.4" - }, - "peerDependencies": { - "react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", - "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -3394,15 +4149,53 @@ "node": ">=8.10.0" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "node_modules/reflect.getprototypeof": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.8.tgz", + "integrity": "sha512-B5dj6usc5dkk8uFliwjwDHM8To5/QwdKz9JcBZ8Ic4G1f0YmeeJTtE/ZTdgRFPAfxZFiUaPhZ1Jcs4qeagItGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "dunder-proto": "^1.0.0", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.2.0", + "which-builtin-type": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -3419,6 +4212,8 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "peer": true, "engines": { "node": ">=4" } @@ -3486,6 +4281,26 @@ "tslib": "^2.1.0" } }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safe-identifier": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz", @@ -3493,6 +4308,24 @@ "dev": true, "license": "ISC" }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/sass": { "version": "1.83.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.0.tgz", @@ -3988,25 +4821,135 @@ "node": ">=10" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, + "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/signal-exit": { @@ -4030,14 +4973,6 @@ "node": ">=8" } }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -4113,6 +5048,65 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -4138,6 +5132,16 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -4157,11 +5161,6 @@ "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==", "peer": true }, - "node_modules/stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -4178,6 +5177,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -4242,6 +5242,19 @@ "typescript": ">=4.2.0" } }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -4275,6 +5288,84 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", + "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typescript": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", @@ -4289,6 +5380,22 @@ "node": ">=14.17" } }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/undici-types": { "version": "6.20.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", @@ -4357,6 +5464,93 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.0.tgz", + "integrity": "sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.0", + "is-number-object": "^1.1.0", + "is-string": "^1.1.0", + "is-symbol": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.16.tgz", + "integrity": "sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -4468,14 +5662,6 @@ "dev": true, "peer": true }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -4491,103 +5677,6 @@ } }, "dependencies": { - "@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - } - }, - "@babel/generator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", - "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", - "requires": { - "@babel/parser": "^7.26.3", - "@babel/types": "^7.26.3", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - } - }, - "@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "requires": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - } - }, - "@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==" - }, - "@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==" - }, - "@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", - "requires": { - "@babel/types": "^7.26.3" - } - }, - "@babel/runtime": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", - "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", - "requires": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" - } - }, - "@babel/traverse": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", - "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", - "requires": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.3", - "@babel/parser": "^7.26.3", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.3", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - } - } - }, - "@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", - "requires": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - } - }, "@bufbuild/protobuf": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.2.3.tgz", @@ -4615,120 +5704,6 @@ "w3c-keyname": "^2.2.4" } }, - "@emotion/babel-plugin": { - "version": "11.13.5", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", - "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.2", - "@emotion/memoize": "^0.9.0", - "@emotion/serialize": "^1.3.3", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - } - }, - "@emotion/cache": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", - "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", - "requires": { - "@emotion/memoize": "^0.9.0", - "@emotion/sheet": "^1.4.0", - "@emotion/utils": "^1.4.2", - "@emotion/weak-memoize": "^0.4.0", - "stylis": "4.2.0" - } - }, - "@emotion/hash": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", - "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" - }, - "@emotion/is-prop-valid": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", - "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", - "requires": { - "@emotion/memoize": "^0.9.0" - } - }, - "@emotion/memoize": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", - "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" - }, - "@emotion/react": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", - "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.13.5", - "@emotion/cache": "^11.14.0", - "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", - "@emotion/utils": "^1.4.2", - "@emotion/weak-memoize": "^0.4.0", - "hoist-non-react-statics": "^3.3.1" - } - }, - "@emotion/serialize": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", - "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", - "requires": { - "@emotion/hash": "^0.9.2", - "@emotion/memoize": "^0.9.0", - "@emotion/unitless": "^0.10.0", - "@emotion/utils": "^1.4.2", - "csstype": "^3.0.2" - } - }, - "@emotion/sheet": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", - "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==" - }, - "@emotion/styled": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz", - "integrity": "sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.13.5", - "@emotion/is-prop-valid": "^1.3.0", - "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", - "@emotion/utils": "^1.4.2" - } - }, - "@emotion/unitless": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", - "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==" - }, - "@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", - "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", - "requires": {} - }, - "@emotion/utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", - "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==" - }, - "@emotion/weak-memoize": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", - "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==" - }, "@esbuild/aix-ppc64": { "version": "0.24.0", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", @@ -4994,40 +5969,6 @@ } } }, - "@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "requires": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" - }, - "@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" - }, - "@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "@juggle/resize-observer": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", @@ -5218,6 +6159,12 @@ "@react-hook/resize-observer": "^1.2.1" } }, + "@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true + }, "@types/codemirror": { "version": "5.60.8", "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz", @@ -5231,6 +6178,12 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, "@types/lodash": { "version": "4.17.13", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", @@ -5246,11 +6199,6 @@ "undici-types": "~6.20.0" } }, - "@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" - }, "@types/prop-types": { "version": "15.7.14", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", @@ -5491,20 +6439,97 @@ "dev": true, "peer": true }, + "array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + } + }, + "array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + } + }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + } + }, + "available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "possible-typed-array-names": "^1.0.0" } }, "balanced-match": { @@ -5524,7 +6549,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "peer": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5557,10 +6581,44 @@ "integrity": "sha512-p1n8zyCkt1BVrKNFymOHjcDSAl7oq/gUvfgULv2EblgpPVQlQr9yHnWjg9IJ2MhfwPqiYqMMrr01OY7yQoK2yA==", "dev": true }, + "call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + } + }, + "call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "call-bound": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.2.tgz", + "integrity": "sha512-0lk0PHFe/uz0vl527fG9CgdE9WdafjDbCXvBbs+LUv000TVt2Jjhqbs4Jwm8gz070w8xXyEAxrPOMullsxXeGg==", + "dev": true, + "requires": { + "call-bind": "^1.0.8", + "get-intrinsic": "^1.2.5" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "peer": true }, "chalk": { "version": "4.1.2", @@ -5599,11 +6657,6 @@ } } }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -5630,25 +6683,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "peer": true - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } + "dev": true }, "cross-spawn": { "version": "7.0.6", @@ -5664,12 +6699,47 @@ "csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } }, "debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, "requires": { "ms": "^2.1.3" } @@ -5681,6 +6751,28 @@ "dev": true, "peer": true }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, "detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", @@ -5712,21 +6804,23 @@ "esutils": "^2.0.2" } }, - "dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, "dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", "dev": true }, + "dunder-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.0.tgz", + "integrity": "sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, "eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -5739,12 +6833,110 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "es-abstract": { + "version": "1.23.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + } + }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "requires": { + "es-errors": "^1.3.0" + } + }, + "es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + } + }, + "es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" } }, "esbuild": { @@ -5805,7 +6997,9 @@ "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "peer": true }, "eslint": { "version": "8.57.1", @@ -5874,6 +7068,101 @@ } } }, + "eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, + "requires": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, "eslint-plugin-react-hooks": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", @@ -5941,8 +7230,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "peer": true + "dev": true }, "fast-deep-equal": { "version": "3.1.3", @@ -6017,11 +7305,6 @@ "to-regex-range": "^5.0.1" } }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -6079,6 +7362,15 @@ "dev": true, "peer": true }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, "foreground-child": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", @@ -6117,7 +7409,55 @@ "function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz", + "integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "dunder-proto": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + } }, "glob": { "version": "11.0.0", @@ -6173,6 +7513,16 @@ "type-fest": "^0.20.2" } }, + "globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "requires": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + } + }, "globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -6187,6 +7537,12 @@ "slash": "^3.0.0" } }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true + }, "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -6199,28 +7555,60 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "requires": { + "dunder-proto": "^1.0.0" + } + }, + "has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.3" + } + }, "hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, "requires": { "function-bind": "^1.1.2" } }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, "ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -6237,6 +7625,8 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "peer": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6267,10 +7657,44 @@ "dev": true, "peer": true }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + } + }, + "is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + } + }, + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "requires": { + "has-bigints": "^1.0.2" + } }, "is-binary-path": { "version": "2.1.0", @@ -6281,26 +7705,82 @@ "binary-extensions": "^2.0.0" } }, + "is-boolean-object": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, "is-core-module": { "version": "2.15.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, "requires": { "hasown": "^2.0.2" } }, + "is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + } + }, + "is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + } + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, + "is-finalizationregistry": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", + "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", + "dev": true, + "requires": { + "call-bind": "^1.0.7" + } + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -6310,12 +7790,34 @@ "is-extglob": "^2.1.1" } }, + "is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-number-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.0.tgz", + "integrity": "sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "has-tostringtag": "^1.0.2" + } + }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -6323,6 +7825,94 @@ "dev": true, "peer": true }, + "is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + } + }, + "is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7" + } + }, + "is-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.0.tgz", + "integrity": "sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "has-tostringtag": "^1.0.2" + } + }, + "is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + } + }, + "is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.14" + } + }, + "is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true + }, + "is-weakref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", + "dev": true, + "requires": { + "call-bound": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -6353,11 +7943,6 @@ "argparse": "^2.0.1" } }, - "jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==" - }, "json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -6365,11 +7950,6 @@ "dev": true, "peer": true }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -6384,6 +7964,15 @@ "dev": true, "peer": true }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -6415,11 +8004,6 @@ "type-check": "~0.4.0" } }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -6456,6 +8040,12 @@ "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", "dev": true }, + "math-intrinsics": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.0.0.tgz", + "integrity": "sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==", + "dev": true + }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -6477,11 +8067,16 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "peer": true, "requires": { "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, "minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -6496,7 +8091,8 @@ "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true }, "natural-compare": { "version": "1.4.0", @@ -6517,10 +8113,63 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + } + }, + "object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + } + }, + "object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } }, "obsidian": { "version": "1.7.2", @@ -6586,21 +8235,12 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "peer": true, "requires": { "callsites": "^3.0.0" } }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -6624,7 +8264,8 @@ "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "path-scurry": { "version": "2.0.0", @@ -6639,12 +8280,8 @@ "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true }, "picomatch": { "version": "2.3.1", @@ -6652,6 +8289,12 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -6659,16 +8302,6 @@ "dev": true, "peer": true }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, "punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -6699,35 +8332,6 @@ "scheduler": "^0.23.2" } }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-lazyload": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/react-lazyload/-/react-lazyload-3.2.1.tgz", - "integrity": "sha512-oDLlLOI/rRLY0fUh/HYFCy4CqCe7zdJXv6oTl2pC30tN3ezWxvwcdHYfD/ZkrGOMOOT5pO7hNLSvg7WsmAij1w==", - "requires": {} - }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "react-virtualized": { - "version": "9.22.5", - "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.5.tgz", - "integrity": "sha512-YqQMRzlVANBv1L/7r63OHa2b0ZsAaDp1UhVNEdUaXI8A5u6hTpA5NYtUueLH2rFuY/27mTGIBl7ZhqFKzw18YQ==", - "requires": { - "@babel/runtime": "^7.7.2", - "clsx": "^1.0.4", - "dom-helpers": "^5.1.3", - "loose-envify": "^1.4.0", - "prop-types": "^15.7.2", - "react-lifecycles-compat": "^3.0.4" - } - }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -6737,15 +8341,39 @@ "picomatch": "^2.2.1" } }, - "regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "reflect.getprototypeof": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.8.tgz", + "integrity": "sha512-B5dj6usc5dkk8uFliwjwDHM8To5/QwdKz9JcBZ8Ic4G1f0YmeeJTtE/ZTdgRFPAfxZFiUaPhZ1Jcs4qeagItGQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "dunder-proto": "^1.0.0", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.2.0", + "which-builtin-type": "^1.2.0" + } + }, + "regexp.prototype.flags": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" + } }, "resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, "requires": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -6755,7 +8383,9 @@ "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "peer": true }, "reusify": { "version": "1.0.4", @@ -6792,12 +8422,36 @@ "tslib": "^2.1.0" } }, + "safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "requires": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + } + }, "safe-identifier": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz", "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==", "dev": true }, + "safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + } + }, "sass": { "version": "1.83.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.0.tgz", @@ -7050,6 +8704,32 @@ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, + "set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7065,6 +8745,54 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + } + }, + "side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + } + }, + "side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + } + }, + "side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + } + }, "signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -7077,11 +8805,6 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - }, "source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -7135,6 +8858,44 @@ } } }, + "string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "requires": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + } + }, + "string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -7153,6 +8914,12 @@ "ansi-regex": "^5.0.1" } }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -7166,11 +8933,6 @@ "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==", "peer": true }, - "stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -7183,7 +8945,8 @@ "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true }, "sync-child-process": { "version": "1.0.2", @@ -7225,6 +8988,18 @@ "dev": true, "requires": {} }, + "tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, "tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -7248,12 +9023,77 @@ "dev": true, "peer": true }, + "typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-offset": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", + "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "reflect.getprototypeof": "^1.0.6" + } + }, + "typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + } + }, "typescript": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", "dev": true }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, "undici-types": { "version": "6.20.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", @@ -7303,6 +9143,65 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.0.tgz", + "integrity": "sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==", + "dev": true, + "requires": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.0", + "is-number-object": "^1.1.0", + "is-string": "^1.1.0", + "is-symbol": "^1.1.0" + } + }, + "which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + } + }, + "which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "requires": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + } + }, + "which-typed-array": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.16.tgz", + "integrity": "sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + } + }, "word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -7381,11 +9280,6 @@ "dev": true, "peer": true }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 9ecd95f..3e60ecc 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,14 @@ "description": "Easily find any image inside your vault", "main": "dist/main.js", "scripts": { + "typecheck": "tsc --noEmit", + "lint": "eslint . --ext .js,.jsx,.ts,.tsx", + "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix", + "ci": "npm run typecheck && npm run lint", "dev": "node esbuild.config.mjs", "prebuild": "rimraf dist", "build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production", + "build:vault": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production move", "version": "node version-bump.mjs && git add manifest.json versions.json" }, "engines": { @@ -29,14 +34,13 @@ "esbuild": "0.24.0", "esbuild-plugin-copy": "^2.1.1", "esbuild-sass-plugin": "^3.3.1", + "eslint-plugin-import": "^2.31.0", "eslint-plugin-react-hooks": "^5.1.0", "rimraf": "^6.0.1", "tslib": "2.8.1", "typescript": "5.7.2" }, "dependencies": { - "@emotion/react": "^11.14.0", - "@emotion/styled": "^11.14.0", "@misskey-dev/browser-image-resizer": "^2024.1.0", "@react-hook/size": "^2.1.2", "browser-image-resizer": "^2.4.1", @@ -45,8 +49,6 @@ "obsidian": "latest", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-lazyload": "^3.2.1", - "react-virtualized": "^9.22.5", "uuid": "^11.0.3" } } diff --git a/src/ImagePicker.ts b/src/ImagePicker.ts index 7e2b930..851ceba 100644 --- a/src/ImagePicker.ts +++ b/src/ImagePicker.ts @@ -1,13 +1,17 @@ import { Plugin, TFile, WorkspaceLeaf } from 'obsidian' import { pick } from 'lodash' + import { Indexer } from './backend/Indexer' import { - DEFAULT_SETTINGS, ImagePickerSettings, ImagePickerSettingTab, } from './ImagePickerSettings' import { ImagePickerView } from './ImagePickerView' -import { VALID_IMAGE_EXTENSIONS, VIEW_TYPE_IMAGE_PICKER } from './constants' +import { + DEFAULT_SETTINGS, + VALID_IMAGE_EXTENSIONS, + VIEW_TYPE_IMAGE_PICKER, +} from './constants' export class ImagePicker extends Plugin { settings: ImagePickerSettings @@ -23,7 +27,6 @@ export class ImagePicker extends Plugin { async onload() { await this.loadSettings() - // This adds a settings tab so the user can configure various aspects of the plugin this.addSettingTab(new ImagePickerSettingTab(this.app, this)) this.addRibbonIcon('image', 'Open Image Picker', async () => { @@ -45,7 +48,12 @@ export class ImagePicker extends Plugin { this.app.vault.off('modify', this.onFileChange) this.app.vault.off('delete', this.onFileDelete) } - + /** + * When a file is created, add it to the index and + * immediately notify subscribers. + * + * @param file the new file + */ onFileCreate = async (file: TFile) => { if (file instanceof TFile) { if ( @@ -64,6 +72,11 @@ export class ImagePicker extends Plugin { } } + /** + * When a file is deleted, remove it from the index and + * immediately notify subscribers. + * @param file the deleted file + */ onFileDelete = async (file: TFile) => { if (file instanceof TFile) { if ( @@ -77,6 +90,11 @@ export class ImagePicker extends Plugin { } } + /** + * When a file is modified, update the index and + * immediately notify subscribers. + * @param file the modified file + */ onFileChange = async (file: TFile) => { if (file instanceof TFile) { if ( @@ -101,16 +119,11 @@ export class ImagePicker extends Plugin { const leaves = workspace.getLeavesOfType(VIEW_TYPE_IMAGE_PICKER) if (leaves.length > 0) { - // A leaf with our view already exists, use that leaf = leaves[0] } else { - // Our view could not be found in the workspace, create a new leaf - // in the right sidebar for it leaf = workspace.getRightLeaf(false) await leaf?.setViewState({ type: VIEW_TYPE_IMAGE_PICKER, active: true }) } - - // "Reveal" the leaf in case it is in a collapsed sidebar if (leaf) { workspace.revealLeaf(leaf) } diff --git a/src/ImagePickerSettings.tsx b/src/ImagePickerSettings.tsx index a6d2d4f..02713d7 100644 --- a/src/ImagePickerSettings.tsx +++ b/src/ImagePickerSettings.tsx @@ -1,4 +1,5 @@ import { App, PluginSettingTab, Setting } from 'obsidian' + import { ImagePicker } from './ImagePicker' export interface ImagePickerSettings { @@ -7,12 +8,6 @@ export interface ImagePickerSettings { debugMode: boolean } -export const DEFAULT_SETTINGS: ImagePickerSettings = { - imageFolder: '', - animateGifs: false, - debugMode: false, -} - export class ImagePickerSettingTab extends PluginSettingTab { plugin: ImagePicker diff --git a/src/ImagePickerView.tsx b/src/ImagePickerView.tsx index 198894c..11ead39 100644 --- a/src/ImagePickerView.tsx +++ b/src/ImagePickerView.tsx @@ -1,12 +1,17 @@ -import React from 'react' import { ItemView, WorkspaceLeaf } from 'obsidian' import { Root, createRoot } from 'react-dom/client' + import { ImagePickerView as ReactImagePickerView } from './client/ImagePickerView' -import { ImagePickerContext } from './client/ImagePickerContext' +import { + ImagePickerContext, + ImagePickerContextType, +} from './client/ImagePickerContext' import { ImagePicker } from './ImagePicker' import { VIEW_TYPE_IMAGE_PICKER } from './constants' -// Image picker view class +/** + * The main view for the image picker. + */ export class ImagePickerView extends ItemView { root: Root | null = null @@ -26,16 +31,18 @@ export class ImagePickerView extends ItemView { return 'image' } - mountReact = async () => { + createRoot = () => { this.root = createRoot(this.containerEl.children[1]) - this.root.render( - + } + + destroyRoot = () => { + this.root = null + this.containerEl.children[1].empty() + } + + mountReact = (context: ImagePickerContextType) => { + this.root?.render( + ) @@ -43,31 +50,30 @@ export class ImagePickerView extends ItemView { unmountReact = () => { this.root?.unmount() - this.containerEl.children[1].empty() } async onOpen() { this.plugin.log('Opening root:', this.plugin.images.length) - await this.mountReact() + this.createRoot() + this.mountReact({ + app: this.app, + plugin: this.plugin, + files: Object.values(await this.plugin.indexer.getIndex()), + }) this.plugin.indexer.subscribe(async (newIndex) => { this.plugin.log('Rerendering root:', Object.keys(newIndex).length) - // this.mountReact() - this.root?.render( - - - - ) + this.mountReact({ + app: this.app, + plugin: this.plugin, + files: Object.values(newIndex), + }) }) } async onClose() { - this.root?.unmount() + this.plugin.log('Closing root') + this.unmountReact() + this.destroyRoot() } } diff --git a/src/backend/Backgrounder.ts b/src/backend/Backgrounder.ts index e6660ac..90bcb14 100644 --- a/src/backend/Backgrounder.ts +++ b/src/backend/Backgrounder.ts @@ -1,11 +1,24 @@ -import ImagePicker from 'src/main' import { v4 } from 'uuid' -export const TIME_BETWEEN_JOBS = 5000 +import { ImagePicker } from '../ImagePicker' +import { TIME_BETWEEN_JOBS } from '../constants' export interface BackgrounderJob { + /** + * Internally used UUID for the job + */ id: string + /** + * The type of job, in a small string. + * + * This is used as a "unique" identifier for the job. + * If you run with disableDoubleQueue, it will remove + * all jobs with the same type before enqueuing. + */ type: string + /** + * The action that will be run when the job is executed + */ action: () => void | Promise /** * Only allow one job of this type to be in the queue at a time @@ -15,6 +28,17 @@ export interface BackgrounderJob { export type BackgrounderQueue = BackgrounderJob[] +/** + * General purpose background job runner :) + * + * This is used mostly to alleviate the main thread from + * doing too much work at once. Things like indexing, + * image processing, or other long-running tasks can be + * run in the background. + * + * It's a FIFO queue, so jobs are run in the order they + * are enqueued. + */ export class Backgrounder { private queue: BackgrounderQueue = [] private running = false @@ -25,8 +49,19 @@ export class Backgrounder { this.plugin.log('Backgrounder -> ', ...args) } + /** + * Waits for a certain amount of time + * + * @param ms The number of milliseconds to wait + * @returns A promise that resolves after the time has passed + */ wait = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)) + /** + * Enqueues a job to be run in the background + * + * @param job The job to enqueue + */ enqueue = async (job: Omit) => { if (job.disableDoubleQueue) { this.log('Disabling double queue:', job.type) @@ -40,6 +75,10 @@ export class Backgrounder { this.run() } + /** + * Runs the next job in the queue and immediately + * starts the next one. + */ run = async () => { if (this.running || this.queue.length === 0) return this.running = true diff --git a/src/backend/Indexer.ts b/src/backend/Indexer.ts index 9fcb53c..eca56c7 100644 --- a/src/backend/Indexer.ts +++ b/src/backend/Indexer.ts @@ -1,14 +1,16 @@ import { TFile } from 'obsidian' -import ImagePicker from '../main' import { debounce, merge } from 'lodash' +import { v4 } from 'uuid' import Dexie from 'dexie' + import { fetchImageFile, getImageFileSize, imageToArrayBuffer, makeThumbnail, } from '../utils' -import { v4 } from 'uuid' +import ImagePicker from '../main' + import { Backgrounder } from './Backgrounder' export interface IndexerRoot { diff --git a/src/client/ImagePickerContext.tsx b/src/client/ImagePickerContext.tsx index 471cd48..c68df8c 100644 --- a/src/client/ImagePickerContext.tsx +++ b/src/client/ImagePickerContext.tsx @@ -1,9 +1,10 @@ import { createContext, useContext } from 'react' import { App } from 'obsidian' + import ImagePicker from '../main' import { IndexerNode } from '../backend/Indexer' -interface ImagePickerContextType { +export interface ImagePickerContextType { app: App plugin: ImagePicker files: IndexerNode[] diff --git a/src/client/ImagePickerView.tsx b/src/client/ImagePickerView/ImagePickerView.tsx similarity index 86% rename from src/client/ImagePickerView.tsx rename to src/client/ImagePickerView/ImagePickerView.tsx index bc54521..a74786c 100644 --- a/src/client/ImagePickerView.tsx +++ b/src/client/ImagePickerView/ImagePickerView.tsx @@ -1,17 +1,19 @@ +import { debounce, isEqual, truncate } from 'lodash' import { useEffect, useState, useRef, useCallback, useMemo } from 'react' -import { useApp, useFiles, usePlugin } from './ImagePickerContext' -import { debounce, isEqual, set, truncate } from 'lodash' -import { copyToClipboard, getSizeInKb, nodeToEmbed } from '../utils' -import { Notice, TFile } from 'obsidian' -import { AbstractIndexerNode, IndexerNode } from '../backend/Indexer' -import { deepStrictEqual } from 'assert' +import { Notice } from 'obsidian' -export const ROW_HEIGHT = 100 +import { + queryTokens, + MOBILE_MAX_FILE_SIZE, + DESKTOP_MAX_FILE_SIZE, + ROW_HEIGHT, +} from '../../constants' +import { copyToClipboard, getSizeInKb, nodeToEmbed } from '../../utils' +import { AbstractIndexerNode, IndexerNode } from '../../backend/Indexer' +import { useApp, useFiles, usePlugin } from '../ImagePickerContext' -const MOBILE_MAX_FILE_SIZE = 5000 -const DESKTOP_MAX_FILE_SIZE = 5000 - -const queryTokens = ['ext'] +import { Pagination } from './Pagination' +import { Search } from './Search' /** * Searches through a plaintext search query and @@ -61,6 +63,9 @@ export const ImagePickerView = () => { const [columns, setColumns] = useState(0) const gridRef = useRef(null) + const [loadedImages, setLoadedImages] = useState>({}) + const [nextImageIndex, setNextImageIndex] = useState(0) + useEffect(() => { if (columns !== prevColumns.current) { setLoadedImages({}) @@ -151,12 +156,12 @@ export const ImagePickerView = () => { const updateCalculations = useCallback( (container: HTMLDivElement) => { - // The image height is fixed, the width is dynamic const height = container.clientHeight + const width = container.clientWidth + const newRows = Math.floor(height / ROW_HEIGHT) + const newColumns = calculateGrid(width, 100) - const width = container.clientWidth - const newColumns = calculateGrid(width, 100) // Assuming 100px as the min width for grid items setColumns(newColumns) setItemsPerPage(newRows * newColumns) }, @@ -187,10 +192,6 @@ export const ImagePickerView = () => { } }, [updateCalculations, filteredImages]) - useEffect(() => { - setCurrentPage(1) - }, [searchQuery]) - const paginatedImages = useMemo((): IndexerNode[] => { const startIndex = (currentPage - 1) * itemsPerPage const endIndex = startIndex + itemsPerPage @@ -211,9 +212,17 @@ export const ImagePickerView = () => { setCurrentPage((prev) => Math.min(prev + 1, totalPages)) } - const [loadedImages, setLoadedImages] = useState>({}) - const [nextImageIndex, setNextImageIndex] = useState(0) + /** + * When the search query changes, reset the current page + */ + useEffect(() => { + setCurrentPage(1) + }, [searchQuery]) + /** + * Recursively load the next image in the list + * until all images are loaded + */ const loadNextImage = useCallback( async (imageIndex: number) => { try { @@ -233,7 +242,6 @@ export const ImagePickerView = () => { } img.addEventListener('load', onLoad) - // img.addEventListener('error', handleErrors) } } catch (_) { console.warn('FAILED:', paginatedImages[imageIndex]) @@ -245,12 +253,21 @@ export const ImagePickerView = () => { [paginatedImages, plugin.indexer] ) + /** + * Load the first image when the component mounts + */ useEffect(() => { if (Object.keys(loadedImages).length === 0) { loadNextImage(nextImageIndex) } }, [loadNextImage, loadedImages, nextImageIndex]) + /** + * When the root images change, reset the loaded images + * This needs done because currently there is no + * reconciliation between the old and new images and + * Image Picker doesn't know there are unloaded images. + */ useEffect(() => { if (!isEqual(images, cachedImages.current)) { console.log('Images changed:', images.length) @@ -263,18 +280,7 @@ export const ImagePickerView = () => { return ( <> -
- { - setSearchInput(e.target.value) - filterImages(e.target.value) - }} - /> -
+
{ if (!ref) return @@ -310,7 +316,6 @@ export const ImagePickerView = () => { new Notice('Copied image path to clipboard') break case 'delete': - // removeImage(file) await trashNode(file) new Notice(`Moved ${file.name} to trash`) break @@ -336,23 +341,19 @@ export const ImagePickerView = () => { loading="lazy" /> ) : ( + // TODO: add a self-queueing system for images in this state
⏳
)}
))} -
- - - Page {currentPage} of {totalPages || 1} - - -
+ ) } diff --git a/src/client/ImagePickerView/Pagination.tsx b/src/client/ImagePickerView/Pagination.tsx new file mode 100644 index 0000000..279447b --- /dev/null +++ b/src/client/ImagePickerView/Pagination.tsx @@ -0,0 +1,29 @@ +import React, { FC } from 'react' + +interface PaginationProps { + total: number + current: number + onNext: () => void + onPrev: () => void +} + +export const Pagination: FC = ({ + total, + current, + onNext, + onPrev, +}) => { + return ( +
+ + + Page {current} of {total || 1} + + +
+ ) +} diff --git a/src/client/ImagePickerView/Search.tsx b/src/client/ImagePickerView/Search.tsx new file mode 100644 index 0000000..2fc789a --- /dev/null +++ b/src/client/ImagePickerView/Search.tsx @@ -0,0 +1,24 @@ +import React, { FC, useState } from 'react' + +interface SearchProps { + onSearch: (query: string) => void +} + +export const Search: FC = ({ onSearch }) => { + const [searchInput, setSearchInput] = useState('') + + return ( +
+ { + setSearchInput(e.target.value) + onSearch(e.target.value) + }} + /> +
+ ) +} diff --git a/src/client/ImagePickerView/index.ts b/src/client/ImagePickerView/index.ts new file mode 100644 index 0000000..5ea9556 --- /dev/null +++ b/src/client/ImagePickerView/index.ts @@ -0,0 +1 @@ +export * from './ImagePickerView' diff --git a/src/constants.ts b/src/constants.ts index 74db778..30eaa1b 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,3 +1,49 @@ +import { ImagePickerSettings } from './ImagePickerSettings' + export const VALID_IMAGE_EXTENSIONS = ['jpg', 'jpeg', 'png', 'gif', 'webp'] +/** + * The view type for the image picker + */ export const VIEW_TYPE_IMAGE_PICKER = 'image-picker-view' + +/** + * Backgrounder: Time to sleep between jobs + */ +export const TIME_BETWEEN_JOBS = 5000 + +/** + * Fixed height for each row in the image picker + */ +export const ROW_HEIGHT = 100 + +/** + * Maximum image size to render in the image picker + * on mobile devices. + * + * Images larger than this will be ignored. This is to + * prevent Obsidian from reloading when loading a + * large library. + */ +export const MOBILE_MAX_FILE_SIZE = 5000 +/** + * Maximum image size to render in the image picker + * on desktop devices. + * + * Images larger than this will be ignored. + */ +export const DESKTOP_MAX_FILE_SIZE = 5000 + +/** + * Query tokens to search for in the image picker + */ +export const queryTokens = ['ext'] + +/** + * Default plugin settings + */ +export const DEFAULT_SETTINGS: ImagePickerSettings = { + imageFolder: '', + animateGifs: false, + debugMode: false, +} diff --git a/src/styles.scss b/src/styles.scss index 70a0bed..5ec206d 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -8,10 +8,6 @@ $footer-height: 40px; justify-content: space-between; align-items: center; flex: 0 0 auto; - - .test { - color: red; - } } .image-picker-search { @@ -63,15 +59,9 @@ $footer-height: 40px; height: 100%; opacity: 0; cursor: pointer; - - } } -.image-picker-item.skeleton { - background-color: var(--background-modifier-border); -} - .image-picker-pagination { width: 100%; height: $footer-height; @@ -80,13 +70,13 @@ $footer-height: 40px; padding: 0 0.5rem; align-items: center; flex: 0 0 auto; -} -.image-picker-pagination button { - margin: 0 5px; - padding: 5px 10px; - font-size: 14px; - cursor: pointer; + button { + margin: 0 5px; + padding: 5px 10px; + font-size: 14px; + cursor: pointer; + } } .image-picker-lightbox-backdrop { diff --git a/src/utils.ts b/src/utils.ts index 298a717..1ae95f1 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,6 +1,7 @@ import { readAndCompressImage } from 'browser-image-resizer' -import { ROW_HEIGHT } from './client/ImagePickerView' + import { AbstractIndexerNode, IndexerNode } from './backend/Indexer' +import { ROW_HEIGHT } from './constants' export const getSizeInKb = (size: number): number => { return Math.round(size / 1024) diff --git a/styles.css b/styles.css deleted file mode 100644 index bb4a791..0000000 --- a/styles.css +++ /dev/null @@ -1 +0,0 @@ -.image-picker-controls{width:100%;height:60px;display:flex;justify-content:space-between;align-items:center;flex:0 0 auto}.image-picker-controls .test{color:red}.image-picker-search{width:100%;padding:8px;margin-bottom:12px;font-size:14px}.image-picker-scroll-view{width:100%;height:calc(100% - 100px);overflow-y:auto}.image-picker-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));grid-gap:10px;padding:0 10px}.image-picker-item{position:relative;display:flex;justify-content:center;align-items:center;border:1px solid var(--background-modifier-border);border-radius:4px;overflow:hidden;height:100px}.image-picker-item img{max-width:100%;max-height:100%;object-fit:contain}.image-picker-item select{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.image-picker-item.skeleton{background-color:var(--background-modifier-border)}.image-picker-pagination{width:100%;height:40px;display:flex;justify-content:space-between;padding:0 .5rem;align-items:center;flex:0 0 auto}.image-picker-pagination button{margin:0 5px;padding:5px 10px;font-size:14px;cursor:pointer}.image-picker-lightbox-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.image-picker-lightbox{position:relative;width:80%;height:80%;background-color:#fff;border-radius:4px;display:flex;justify-content:center;align-items:center;flex:0 0 auto} diff --git a/tsconfig.json b/tsconfig.json index 41a55fc..0046e36 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,5 +24,9 @@ "include": [ "**/*.ts", "src/main.tsx" + ], + "ignore": [ + "node_modules", + "dist" ] } \ No newline at end of file