ramulus 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +5 -1
  2. package/bin/ramulus.js +0 -0
  3. package/lib/git.js +121 -38
  4. package/lib/server.js +62 -18
  5. package/package.json +1 -1
  6. package/ui/assets/abap-08VXUWAP.js +1 -0
  7. package/ui/assets/apex-BWPQTe0t.js +1 -0
  8. package/ui/assets/azcli-Bc_sGQ0U.js +1 -0
  9. package/ui/assets/bat-i0X4ZdIN.js +1 -0
  10. package/ui/assets/bicep-B5-_aFwp.js +2 -0
  11. package/ui/assets/cameligo-DMUM7wLl.js +1 -0
  12. package/ui/assets/clojure-Cm7r79vr.js +1 -0
  13. package/ui/assets/codicon-CMYWzYni.ttf +0 -0
  14. package/ui/assets/coffee-Ba7i2nA0.js +1 -0
  15. package/ui/assets/cpp-C7h46wYY.js +1 -0
  16. package/ui/assets/csharp-BKxtCVv1.js +1 -0
  17. package/ui/assets/csp-bTuwJoIa.js +1 -0
  18. package/ui/assets/css-DIMkf-bt.js +3 -0
  19. package/ui/assets/cypher-CVaqCwHa.js +1 -0
  20. package/ui/assets/dart-onAF5SnQ.js +1 -0
  21. package/ui/assets/dockerfile-DZFCIeNp.js +1 -0
  22. package/ui/assets/ecl-94qehhXe.js +1 -0
  23. package/ui/assets/editor.worker-CRz__AKW.js +33 -0
  24. package/ui/assets/elixir-6RTg0lbw.js +1 -0
  25. package/ui/assets/flow9-C5_-GSwl.js +1 -0
  26. package/ui/assets/freemarker2-BlGXrA-A.js +3 -0
  27. package/ui/assets/fsharp-C8Ef5oNN.js +1 -0
  28. package/ui/assets/go-C-y9NEjX.js +1 -0
  29. package/ui/assets/graphql-fmXr3nnJ.js +1 -0
  30. package/ui/assets/handlebars-LPEBxqHA.js +1 -0
  31. package/ui/assets/hcl-CpzslTdj.js +1 -0
  32. package/ui/assets/html-YG0QzO_T.js +1 -0
  33. package/ui/assets/index-C3J2ZtyL.css +1 -0
  34. package/ui/assets/index-DGyYZKip.js +94 -0
  35. package/ui/assets/ini-sBoK_t0W.js +1 -0
  36. package/ui/assets/java-BEtHBSE6.js +1 -0
  37. package/ui/assets/javascript-qsd2ARJx.js +1 -0
  38. package/ui/assets/julia-Bri6UV-V.js +1 -0
  39. package/ui/assets/kotlin-BOotOW0E.js +1 -0
  40. package/ui/assets/less-B9JPFI3C.js +2 -0
  41. package/ui/assets/lexon-CfSJPG6W.js +1 -0
  42. package/ui/assets/liquid-CBEitul5.js +1 -0
  43. package/ui/assets/lua-CsQS60Ue.js +1 -0
  44. package/ui/assets/m3-D-oSqn_W.js +1 -0
  45. package/ui/assets/markdown-Cimd5fb3.js +1 -0
  46. package/ui/assets/mdx-981CEmH4.js +1 -0
  47. package/ui/assets/mips-CIPQ_RoX.js +1 -0
  48. package/ui/assets/monaco-B8SpYXrn.js +936 -0
  49. package/ui/assets/monaco-VgaQCy5f.css +1 -0
  50. package/ui/assets/msdax-DauUninz.js +1 -0
  51. package/ui/assets/mysql-SOo6toE5.js +1 -0
  52. package/ui/assets/objective-c-FvmIjYaQ.js +1 -0
  53. package/ui/assets/pascal-DrH0SRf2.js +1 -0
  54. package/ui/assets/pascaligo-D-ptJ9y-.js +1 -0
  55. package/ui/assets/perl-oz_6vUea.js +1 -0
  56. package/ui/assets/pgsql-DTj74zXo.js +1 -0
  57. package/ui/assets/php-nr791fC2.js +1 -0
  58. package/ui/assets/pla-CopQ2nXW.js +1 -0
  59. package/ui/assets/postiats-43DmfD33.js +1 -0
  60. package/ui/assets/powerquery-D3hlyOfw.js +1 -0
  61. package/ui/assets/powershell-DmHpPYUd.js +1 -0
  62. package/ui/assets/protobuf-C531GsRP.js +2 -0
  63. package/ui/assets/pug-Z5eAx3Zn.js +1 -0
  64. package/ui/assets/python-79OaDx-C.js +1 -0
  65. package/ui/assets/qsharp-DkqhCAOL.js +1 -0
  66. package/ui/assets/r-BwWrilGY.js +1 -0
  67. package/ui/assets/razor-DEouJLck.js +1 -0
  68. package/ui/assets/redis-ClamHrr6.js +1 -0
  69. package/ui/assets/redshift-DT7zqm-g.js +1 -0
  70. package/ui/assets/restructuredtext-BYgofb2h.js +1 -0
  71. package/ui/assets/ruby-DezsRK8O.js +1 -0
  72. package/ui/assets/rust-DdL9SqIa.js +1 -0
  73. package/ui/assets/sb-CcwsVR0C.js +1 -0
  74. package/ui/assets/scala-DHpiXF5c.js +1 -0
  75. package/ui/assets/scheme-BeGwcela.js +1 -0
  76. package/ui/assets/scss-gp-XZpBa.js +3 -0
  77. package/ui/assets/shell-CC2rA5mh.js +1 -0
  78. package/ui/assets/solidity-BEEn4gHE.js +1 -0
  79. package/ui/assets/sophia-CRfGWb83.js +1 -0
  80. package/ui/assets/sparql-D_Lu-MrJ.js +1 -0
  81. package/ui/assets/sql-NEE52Syq.js +1 -0
  82. package/ui/assets/st-DbInun42.js +1 -0
  83. package/ui/assets/swift-Bxkupp3x.js +1 -0
  84. package/ui/assets/systemverilog-Bz4Y3fRF.js +1 -0
  85. package/ui/assets/tcl-DISqw1ZD.js +1 -0
  86. package/ui/assets/twig-De2hgUGE.js +1 -0
  87. package/ui/assets/typescript-BP2ty2iA.js +1 -0
  88. package/ui/assets/typespec-B8J7ngcE.js +1 -0
  89. package/ui/assets/vb-DV3o63ZY.js +1 -0
  90. package/ui/assets/wgsl-DpFanUEy.js +298 -0
  91. package/ui/assets/xml-C6T7H_2u.js +1 -0
  92. package/ui/assets/yaml-DN3MdYQq.js +1 -0
  93. package/ui/index.html +2 -2
  94. package/ui/assets/index-ArxayBFH.css +0 -1
  95. package/ui/assets/index-D3gOH5eP.js +0 -101
@@ -0,0 +1,94 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-B8SpYXrn.js","assets/monaco-VgaQCy5f.css"])))=>i.map(i=>d[i]);
2
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,o)=>(o=n==null?{}:e(i(n)),l(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var f=s((e=>{e.byteLength=c,e.toByteArray=u,e.fromByteArray=p;for(var t=[],n=[],r=typeof Uint8Array<`u`?Uint8Array:Array,i=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,a=0,o=i.length;a<o;++a)t[a]=i[a],n[i.charCodeAt(a)]=a;n[45]=62,n[95]=63;function s(e){var t=e.length;if(t%4>0)throw Error(`Invalid string. Length must be a multiple of 4`);var n=e.indexOf(`=`);n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function c(e){var t=s(e),n=t[0],r=t[1];return(n+r)*3/4-r}function l(e,t,n){return(t+n)*3/4-n}function u(e){for(var t,i=s(e),a=i[0],o=i[1],c=new r(l(e,a,o)),u=0,d=o>0?a-4:a,f=0;f<d;f+=4)t=n[e.charCodeAt(f)]<<18|n[e.charCodeAt(f+1)]<<12|n[e.charCodeAt(f+2)]<<6|n[e.charCodeAt(f+3)],c[u++]=t>>16&255,c[u++]=t>>8&255,c[u++]=t&255;return o===2&&(t=n[e.charCodeAt(f)]<<2|n[e.charCodeAt(f+1)]>>4,c[u++]=t&255),o===1&&(t=n[e.charCodeAt(f)]<<10|n[e.charCodeAt(f+1)]<<4|n[e.charCodeAt(f+2)]>>2,c[u++]=t>>8&255,c[u++]=t&255),c}function d(e){return t[e>>18&63]+t[e>>12&63]+t[e>>6&63]+t[e&63]}function f(e,t,n){for(var r,i=[],a=t;a<n;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(d(r));return i.join(``)}function p(e){for(var n,r=e.length,i=r%3,a=[],o=16383,s=0,c=r-i;s<c;s+=o)a.push(f(e,s,s+o>c?c:s+o));return i===1?(n=e[r-1],a.push(t[n>>2]+t[n<<4&63]+`==`)):i===2&&(n=(e[r-2]<<8)+e[r-1],a.push(t[n>>10]+t[n>>4&63]+t[n<<2&63]+`=`)),a.join(``)}})),p=s((e=>{e.read=function(e,t,n,r,i){var a,o,s=i*8-r-1,c=(1<<s)-1,l=c>>1,u=-7,d=n?i-1:0,f=n?-1:1,p=e[t+d];for(d+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=a*256+e[t+d],d+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=r;u>0;o=o*256+e[t+d],d+=f,u-=8);if(a===0)a=1-l;else if(a===c)return o?NaN:(p?-1:1)*(1/0);else o+=2**r,a-=l;return(p?-1:1)*o*2**(a-r)},e.write=function(e,t,n,r,i,a){var o,s,c,l=a*8-i-1,u=(1<<l)-1,d=u>>1,f=i===23?2**-24-2**-77:0,p=r?0:a-1,m=r?1:-1,h=+(t<0||t===0&&1/t<0);for(t=Math.abs(t),isNaN(t)||t===1/0?(s=+!!isNaN(t),o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=2**-o)<1&&(o--,c*=2),o+d>=1?t+=f/c:t+=f*2**(1-d),t*c>=2&&(o++,c/=2),o+d>=u?(s=0,o=u):o+d>=1?(s=(t*c-1)*2**i,o+=d):(s=t*2**(d-1)*2**i,o=0));i>=8;e[n+p]=s&255,p+=m,s/=256,i-=8);for(o=o<<i|s,l+=i;l>0;e[n+p]=o&255,p+=m,o/=256,l-=8);e[n+p-m]|=h*128}})),m=s((e=>{var t=f(),n=p(),r=typeof Symbol==`function`&&typeof Symbol.for==`function`?Symbol.for(`nodejs.util.inspect.custom`):null;e.Buffer=s,e.SlowBuffer=b,e.INSPECT_MAX_BYTES=50;var i=2147483647;e.kMaxLength=i,s.TYPED_ARRAY_SUPPORT=a(),!s.TYPED_ARRAY_SUPPORT&&typeof console<`u`&&typeof console.error==`function`&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function a(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function o(e){if(e>i)throw RangeError(`The value "`+e+`" is invalid for option "size"`);let t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,n){if(typeof e==`number`){if(typeof t==`string`)throw TypeError(`The "string" argument must be of type string. Received type number`);return d(e)}return c(e,t,n)}s.poolSize=8192;function c(e,t,n){if(typeof e==`string`)return m(e,t);if(ArrayBuffer.isView(e))return g(e);if(e==null)throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e);if(I(e,ArrayBuffer)||e&&I(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<`u`&&(I(e,SharedArrayBuffer)||e&&I(e.buffer,SharedArrayBuffer)))return _(e,t,n);if(typeof e==`number`)throw TypeError(`The "value" argument must not be of type number. Received type number`);let r=e.valueOf&&e.valueOf();if(r!=null&&r!==e)return s.from(r,t,n);let i=v(e);if(i)return i;if(typeof Symbol<`u`&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==`function`)return s.from(e[Symbol.toPrimitive](`string`),t,n);throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e)}s.from=function(e,t,n){return c(e,t,n)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function l(e){if(typeof e!=`number`)throw TypeError(`"size" argument must be of type number`);if(e<0)throw RangeError(`The value "`+e+`" is invalid for option "size"`)}function u(e,t,n){return l(e),e<=0||t===void 0?o(e):typeof n==`string`?o(e).fill(t,n):o(e).fill(t)}s.alloc=function(e,t,n){return u(e,t,n)};function d(e){return l(e),o(e<0?0:y(e)|0)}s.allocUnsafe=function(e){return d(e)},s.allocUnsafeSlow=function(e){return d(e)};function m(e,t){if((typeof t!=`string`||t===``)&&(t=`utf8`),!s.isEncoding(t))throw TypeError(`Unknown encoding: `+t);let n=x(e,t)|0,r=o(n),i=r.write(e,t);return i!==n&&(r=r.slice(0,i)),r}function h(e){let t=e.length<0?0:y(e.length)|0,n=o(t);for(let r=0;r<t;r+=1)n[r]=e[r]&255;return n}function g(e){if(I(e,Uint8Array)){let t=new Uint8Array(e);return _(t.buffer,t.byteOffset,t.byteLength)}return h(e)}function _(e,t,n){if(t<0||e.byteLength<t)throw RangeError(`"offset" is outside of buffer bounds`);if(e.byteLength<t+(n||0))throw RangeError(`"length" is outside of buffer bounds`);let r;return r=t===void 0&&n===void 0?new Uint8Array(e):n===void 0?new Uint8Array(e,t):new Uint8Array(e,t,n),Object.setPrototypeOf(r,s.prototype),r}function v(e){if(s.isBuffer(e)){let t=y(e.length)|0,n=o(t);return n.length===0||e.copy(n,0,0,t),n}if(e.length!==void 0)return typeof e.length!=`number`||L(e.length)?o(0):h(e);if(e.type===`Buffer`&&Array.isArray(e.data))return h(e.data)}function y(e){if(e>=i)throw RangeError(`Attempt to allocate Buffer larger than maximum size: 0x`+i.toString(16)+` bytes`);return e|0}function b(e){return+e!=e&&(e=0),s.alloc(+e)}s.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==s.prototype},s.compare=function(e,t){if(I(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),I(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(e)||!s.isBuffer(t))throw TypeError(`The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array`);if(e===t)return 0;let n=e.length,r=t.length;for(let i=0,a=Math.min(n,r);i<a;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:+(r<n)},s.isEncoding=function(e){switch(String(e).toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`latin1`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return!0;default:return!1}},s.concat=function(e,t){if(!Array.isArray(e))throw TypeError(`"list" argument must be an Array of Buffers`);if(e.length===0)return s.alloc(0);let n;if(t===void 0)for(t=0,n=0;n<e.length;++n)t+=e[n].length;let r=s.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){let t=e[n];if(I(t,Uint8Array))i+t.length>r.length?(s.isBuffer(t)||(t=s.from(t)),t.copy(r,i)):Uint8Array.prototype.set.call(r,t,i);else if(s.isBuffer(t))t.copy(r,i);else throw TypeError(`"list" argument must be an Array of Buffers`);i+=t.length}return r};function x(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||I(e,ArrayBuffer))return e.byteLength;if(typeof e!=`string`)throw TypeError(`The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type `+typeof e);let n=e.length,r=arguments.length>2&&arguments[2]===!0;if(!r&&n===0)return 0;let i=!1;for(;;)switch(t){case`ascii`:case`latin1`:case`binary`:return n;case`utf8`:case`utf-8`:return xe(e).length;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return n*2;case`hex`:return n>>>1;case`base64`:return Ce(e).length;default:if(i)return r?-1:xe(e).length;t=(``+t).toLowerCase(),i=!0}}s.byteLength=x;function S(e,t,n){let r=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((n===void 0||n>this.length)&&(n=this.length),n<=0)||(n>>>=0,t>>>=0,n<=t))return``;for(e||=`utf8`;;)switch(e){case`hex`:return se(this,t,n);case`utf8`:case`utf-8`:return k(this,t,n);case`ascii`:return ae(this,t,n);case`latin1`:case`binary`:return oe(this,t,n);case`base64`:return O(this,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return ce(this,t,n);default:if(r)throw TypeError(`Unknown encoding: `+e);e=(e+``).toLowerCase(),r=!0}}s.prototype._isBuffer=!0;function C(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}s.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let t=0;t<e;t+=2)C(this,t,t+1);return this},s.prototype.swap32=function(){let e=this.length;if(e%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let t=0;t<e;t+=4)C(this,t,t+3),C(this,t+1,t+2);return this},s.prototype.swap64=function(){let e=this.length;if(e%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let t=0;t<e;t+=8)C(this,t,t+7),C(this,t+1,t+6),C(this,t+2,t+5),C(this,t+3,t+4);return this},s.prototype.toString=function(){let e=this.length;return e===0?``:arguments.length===0?k(this,0,e):S.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(e){if(!s.isBuffer(e))throw TypeError(`Argument must be a Buffer`);return this===e||s.compare(this,e)===0},s.prototype.inspect=function(){let t=``,n=e.INSPECT_MAX_BYTES;return t=this.toString(`hex`,0,n).replace(/(.{2})/g,`$1 `).trim(),this.length>n&&(t+=` ... `),`<Buffer `+t+`>`},r&&(s.prototype[r]=s.prototype.inspect),s.prototype.compare=function(e,t,n,r,i){if(I(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(e))throw TypeError(`The "target" argument must be one of type Buffer or Uint8Array. Received type `+typeof e);if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),r===void 0&&(r=0),i===void 0&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw RangeError(`out of range index`);if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;let a=i-r,o=n-t,c=Math.min(a,o),l=this.slice(r,i),u=e.slice(t,n);for(let e=0;e<c;++e)if(l[e]!==u[e]){a=l[e],o=u[e];break}return a<o?-1:+(o<a)};function w(e,t,n,r,i){if(e.length===0)return-1;if(typeof n==`string`?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,L(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(i)n=0;else return-1}if(typeof t==`string`&&(t=s.from(t,r)),s.isBuffer(t))return t.length===0?-1:T(e,t,n,r,i);if(typeof t==`number`)return t&=255,typeof Uint8Array.prototype.indexOf==`function`?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):T(e,[t],n,r,i);throw TypeError(`val must be string, number or Buffer`)}function T(e,t,n,r,i){let a=1,o=e.length,s=t.length;if(r!==void 0&&(r=String(r).toLowerCase(),r===`ucs2`||r===`ucs-2`||r===`utf16le`||r===`utf-16le`)){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,n/=2}function c(e,t){return a===1?e[t]:e.readUInt16BE(t*a)}let l;if(i){let r=-1;for(l=n;l<o;l++)if(c(e,l)===c(t,r===-1?0:l-r)){if(r===-1&&(r=l),l-r+1===s)return r*a}else r!==-1&&(l-=l-r),r=-1}else for(n+s>o&&(n=o-s),l=n;l>=0;l--){let n=!0;for(let r=0;r<s;r++)if(c(e,l+r)!==c(t,r)){n=!1;break}if(n)return l}return-1}s.prototype.includes=function(e,t,n){return this.indexOf(e,t,n)!==-1},s.prototype.indexOf=function(e,t,n){return w(this,e,t,n,!0)},s.prototype.lastIndexOf=function(e,t,n){return w(this,e,t,n,!1)};function E(e,t,n,r){n=Number(n)||0;let i=e.length-n;r?(r=Number(r),r>i&&(r=i)):r=i;let a=t.length;r>a/2&&(r=a/2);let o=0;for(;o<r;++o){let r=parseInt(t.substr(o*2,2),16);if(L(r))return o;e[n+o]=r}return o}function ee(e,t,n,r){return F(xe(t,e.length-n),e,n,r)}function te(e,t,n,r){return F(Se(t),e,n,r)}function D(e,t,n,r){return F(Ce(t),e,n,r)}function ne(e,t,n,r){return F(P(t,e.length-n),e,n,r)}s.prototype.write=function(e,t,n,r){if(t===void 0)r=`utf8`,n=this.length,t=0;else if(n===void 0&&typeof t==`string`)r=t,n=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(n)?(n>>>=0,r===void 0&&(r=`utf8`)):(r=n,n=void 0);else throw Error(`Buffer.write(string, encoding, offset[, length]) is no longer supported`);let i=this.length-t;if((n===void 0||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError(`Attempt to write outside buffer bounds`);r||=`utf8`;let a=!1;for(;;)switch(r){case`hex`:return E(this,e,t,n);case`utf8`:case`utf-8`:return ee(this,e,t,n);case`ascii`:case`latin1`:case`binary`:return te(this,e,t,n);case`base64`:return D(this,e,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return ne(this,e,t,n);default:if(a)throw TypeError(`Unknown encoding: `+r);r=(``+r).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:`Buffer`,data:Array.prototype.slice.call(this._arr||this,0)}};function O(e,n,r){return n===0&&r===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(n,r))}function k(e,t,n){n=Math.min(e.length,n);let r=[],i=t;for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o<=n){let n,r,s,c;switch(o){case 1:t<128&&(a=t);break;case 2:n=e[i+1],(n&192)==128&&(c=(t&31)<<6|n&63,c>127&&(a=c));break;case 3:n=e[i+1],r=e[i+2],(n&192)==128&&(r&192)==128&&(c=(t&15)<<12|(n&63)<<6|r&63,c>2047&&(c<55296||c>57343)&&(a=c));break;case 4:n=e[i+1],r=e[i+2],s=e[i+3],(n&192)==128&&(r&192)==128&&(s&192)==128&&(c=(t&15)<<18|(n&63)<<12|(r&63)<<6|s&63,c>65535&&c<1114112&&(a=c))}}a===null?(a=65533,o=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|a&1023),r.push(a),i+=o}return ie(r)}var re=4096;function ie(e){let t=e.length;if(t<=re)return String.fromCharCode.apply(String,e);let n=``,r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=re));return n}function ae(e,t,n){let r=``;n=Math.min(e.length,n);for(let i=t;i<n;++i)r+=String.fromCharCode(e[i]&127);return r}function oe(e,t,n){let r=``;n=Math.min(e.length,n);for(let i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function se(e,t,n){let r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);let i=``;for(let r=t;r<n;++r)i+=R[e[r]];return i}function ce(e,t,n){let r=e.slice(t,n),i=``;for(let e=0;e<r.length-1;e+=2)i+=String.fromCharCode(r[e]+r[e+1]*256);return i}s.prototype.slice=function(e,t){let n=this.length;e=~~e,t=t===void 0?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e);let r=this.subarray(e,t);return Object.setPrototypeOf(r,s.prototype),r};function le(e,t,n){if(e%1!=0||e<0)throw RangeError(`offset is not uint`);if(e+t>n)throw RangeError(`Trying to access beyond buffer length`)}s.prototype.readUintLE=s.prototype.readUIntLE=function(e,t,n){e>>>=0,t>>>=0,n||le(e,t,this.length);let r=this[e],i=1,a=0;for(;++a<t&&(i*=256);)r+=this[e+a]*i;return r},s.prototype.readUintBE=s.prototype.readUIntBE=function(e,t,n){e>>>=0,t>>>=0,n||le(e,t,this.length);let r=this[e+--t],i=1;for(;t>0&&(i*=256);)r+=this[e+--t]*i;return r},s.prototype.readUint8=s.prototype.readUInt8=function(e,t){return e>>>=0,t||le(e,1,this.length),this[e]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||le(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||le(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||le(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(e,t){return e>>>=0,t||le(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readBigUInt64LE=we(function(e){e>>>=0,ye(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&be(e,this.length-8);let r=t+this[++e]*256+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*256+this[++e]*2**16+n*2**24;return BigInt(r)+(BigInt(i)<<BigInt(32))}),s.prototype.readBigUInt64BE=we(function(e){e>>>=0,ye(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&be(e,this.length-8);let r=t*2**24+this[++e]*2**16+this[++e]*256+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*256+n;return(BigInt(r)<<BigInt(32))+BigInt(i)}),s.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||le(e,t,this.length);let r=this[e],i=1,a=0;for(;++a<t&&(i*=256);)r+=this[e+a]*i;return i*=128,r>=i&&(r-=2**(8*t)),r},s.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||le(e,t,this.length);let r=t,i=1,a=this[e+--r];for(;r>0&&(i*=256);)a+=this[e+--r]*i;return i*=128,a>=i&&(a-=2**(8*t)),a},s.prototype.readInt8=function(e,t){return e>>>=0,t||le(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||le(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n},s.prototype.readInt16BE=function(e,t){e>>>=0,t||le(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n},s.prototype.readInt32LE=function(e,t){return e>>>=0,t||le(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return e>>>=0,t||le(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readBigInt64LE=we(function(e){e>>>=0,ye(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&be(e,this.length-8);let r=this[e+4]+this[e+5]*256+this[e+6]*2**16+(n<<24);return(BigInt(r)<<BigInt(32))+BigInt(t+this[++e]*256+this[++e]*2**16+this[++e]*2**24)}),s.prototype.readBigInt64BE=we(function(e){e>>>=0,ye(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&be(e,this.length-8);let r=(t<<24)+this[++e]*2**16+this[++e]*256+this[++e];return(BigInt(r)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*256+n)}),s.prototype.readFloatLE=function(e,t){return e>>>=0,t||le(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||le(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||le(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||le(e,8,this.length),n.read(this,e,!1,52,8)};function A(e,t,n,r,i,a){if(!s.isBuffer(e))throw TypeError(`"buffer" argument must be a Buffer instance`);if(t>i||t<a)throw RangeError(`"value" argument is out of bounds`);if(n+r>e.length)throw RangeError(`Index out of range`)}s.prototype.writeUintLE=s.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){let r=2**(8*n)-1;A(this,e,t,n,r,0)}let i=1,a=0;for(this[t]=e&255;++a<n&&(i*=256);)this[t+a]=e/i&255;return t+n},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){let r=2**(8*n)-1;A(this,e,t,n,r,0)}let i=n-1,a=1;for(this[t+i]=e&255;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+n},s.prototype.writeUint8=s.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,1,255,0),this[t]=e&255,t+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function ue(e,t,n,r,i){ve(t,r,i,e,n,7);let a=Number(t&BigInt(4294967295));e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function de(e,t,n,r,i){ve(t,r,i,e,n,7);let a=Number(t&BigInt(4294967295));e[n+7]=a,a>>=8,e[n+6]=a,a>>=8,e[n+5]=a,a>>=8,e[n+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}s.prototype.writeBigUInt64LE=we(function(e,t=0){return ue(this,e,t,BigInt(0),BigInt(`0xffffffffffffffff`))}),s.prototype.writeBigUInt64BE=we(function(e,t=0){return de(this,e,t,BigInt(0),BigInt(`0xffffffffffffffff`))}),s.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){let r=2**(8*n-1);A(this,e,t,n,r-1,-r)}let i=0,a=1,o=0;for(this[t]=e&255;++i<n&&(a*=256);)e<0&&o===0&&this[t+i-1]!==0&&(o=1),this[t+i]=(e/a|0)-o&255;return t+n},s.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){let r=2**(8*n-1);A(this,e,t,n,r-1,-r)}let i=n-1,a=1,o=0;for(this[t+i]=e&255;--i>=0&&(a*=256);)e<0&&o===0&&this[t+i+1]!==0&&(o=1),this[t+i]=(e/a|0)-o&255;return t+n},s.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1},s.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},s.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4},s.prototype.writeBigInt64LE=we(function(e,t=0){return ue(this,e,t,-BigInt(`0x8000000000000000`),BigInt(`0x7fffffffffffffff`))}),s.prototype.writeBigInt64BE=we(function(e,t=0){return de(this,e,t,-BigInt(`0x8000000000000000`),BigInt(`0x7fffffffffffffff`))});function j(e,t,n,r,i,a){if(n+r>e.length||n<0)throw RangeError(`Index out of range`)}function fe(e,t,r,i,a){return t=+t,r>>>=0,a||j(e,t,r,4,34028234663852886e22,-34028234663852886e22),n.write(e,t,r,i,23,4),r+4}s.prototype.writeFloatLE=function(e,t,n){return fe(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return fe(this,e,t,!1,n)};function pe(e,t,r,i,a){return t=+t,r>>>=0,a||j(e,t,r,8,17976931348623157e292,-17976931348623157e292),n.write(e,t,r,i,52,8),r+8}s.prototype.writeDoubleLE=function(e,t,n){return pe(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return pe(this,e,t,!1,n)},s.prototype.copy=function(e,t,n,r){if(!s.isBuffer(e))throw TypeError(`argument should be a Buffer`);if(n||=0,!r&&r!==0&&(r=this.length),t>=e.length&&(t=e.length),t||=0,r>0&&r<n&&(r=n),r===n||e.length===0||this.length===0)return 0;if(t<0)throw RangeError(`targetStart out of bounds`);if(n<0||n>=this.length)throw RangeError(`Index out of range`);if(r<0)throw RangeError(`sourceEnd out of bounds`);r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);let i=r-n;return this===e&&typeof Uint8Array.prototype.copyWithin==`function`?this.copyWithin(t,n,r):Uint8Array.prototype.set.call(e,this.subarray(n,r),t),i},s.prototype.fill=function(e,t,n,r){if(typeof e==`string`){if(typeof t==`string`?(r=t,t=0,n=this.length):typeof n==`string`&&(r=n,n=this.length),r!==void 0&&typeof r!=`string`)throw TypeError(`encoding must be a string`);if(typeof r==`string`&&!s.isEncoding(r))throw TypeError(`Unknown encoding: `+r);if(e.length===1){let t=e.charCodeAt(0);(r===`utf8`&&t<128||r===`latin1`)&&(e=t)}}else typeof e==`number`?e&=255:typeof e==`boolean`&&(e=Number(e));if(t<0||this.length<t||this.length<n)throw RangeError(`Out of range index`);if(n<=t)return this;t>>>=0,n=n===void 0?this.length:n>>>0,e||=0;let i;if(typeof e==`number`)for(i=t;i<n;++i)this[i]=e;else{let a=s.isBuffer(e)?e:s.from(e,r),o=a.length;if(o===0)throw TypeError(`The value "`+e+`" is invalid for argument "value"`);for(i=0;i<n-t;++i)this[i+t]=a[i%o]}return this};var me={};function he(e,t,n){me[e]=class extends n{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}he(`ERR_BUFFER_OUT_OF_BOUNDS`,function(e){return e?`${e} is outside of buffer bounds`:`Attempt to access memory outside buffer bounds`},RangeError),he(`ERR_INVALID_ARG_TYPE`,function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),he(`ERR_OUT_OF_RANGE`,function(e,t,n){let r=`The value of "${e}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=ge(String(n)):typeof n==`bigint`&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=ge(i)),i+=`n`),r+=` It must be ${t}. Received ${i}`,r},RangeError);function ge(e){let t=``,n=e.length,r=+(e[0]===`-`);for(;n>=r+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function _e(e,t,n){ye(t,`offset`),(e[t]===void 0||e[t+n]===void 0)&&be(t,e.length-(n+1))}function ve(e,t,n,r,i,a){if(e>n||e<t){let r=typeof t==`bigint`?`n`:``,i;throw i=a>3?t===0||t===BigInt(0)?`>= 0${r} and < 2${r} ** ${(a+1)*8}${r}`:`>= -(2${r} ** ${(a+1)*8-1}${r}) and < 2 ** ${(a+1)*8-1}${r}`:`>= ${t}${r} and <= ${n}${r}`,new me.ERR_OUT_OF_RANGE(`value`,i,e)}_e(r,i,a)}function ye(e,t){if(typeof e!=`number`)throw new me.ERR_INVALID_ARG_TYPE(t,`number`,e)}function be(e,t,n){throw Math.floor(e)===e?t<0?new me.ERR_BUFFER_OUT_OF_BOUNDS:new me.ERR_OUT_OF_RANGE(n||`offset`,`>= ${+!!n} and <= ${t}`,e):(ye(e,n),new me.ERR_OUT_OF_RANGE(n||`offset`,`an integer`,e))}var M=/[^+/0-9A-Za-z-_]/g;function N(e){if(e=e.split(`=`)[0],e=e.trim().replace(M,``),e.length<2)return``;for(;e.length%4!=0;)e+=`=`;return e}function xe(e,t){t||=1/0;let n,r=e.length,i=null,a=[];for(let o=0;o<r;++o){if(n=e.charCodeAt(o),n>55295&&n<57344){if(!i){if(n>56319||o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if(--t<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,n&63|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,n&63|128)}else if(n<1114112){if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,n&63|128)}else throw Error(`Invalid code point`)}return a}function Se(e){let t=[];for(let n=0;n<e.length;++n)t.push(e.charCodeAt(n)&255);return t}function P(e,t){let n,r,i,a=[];for(let o=0;o<e.length&&!((t-=2)<0);++o)n=e.charCodeAt(o),r=n>>8,i=n%256,a.push(i),a.push(r);return a}function Ce(e){return t.toByteArray(N(e))}function F(e,t,n,r){let i=0;for(;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function I(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function L(e){return e!==e}var R=(function(){let e=`0123456789abcdef`,t=Array(256);for(let n=0;n<16;++n){let r=n*16;for(let i=0;i<16;++i)t[r+i]=e[n]+e[i]}return t})();function we(e){return typeof BigInt>`u`?z:e}function z(){throw Error(`BigInt not supported`)}})),h=m(),g,_,v,y,b,x,S,C,w,T,E=Symbol.for(`pv`),ee={},te=[],D=/^m(i|n|o|s|text|space)$/,ne=Array.isArray,O=te.slice,k=Object.assign;function re(e){e&&e.parentNode&&e.remove()}function ie(e,t,n,r,i){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:E,__v:i||++_,__i:-1,__u:0};return!i&&g.vnode&&g.vnode(a),a}function ae(e){return e.children}function oe(e,t){this.props=e,this.context=t,this.__g=0}function se(e,t){if(t==null)return e.__&&se(e.__,e.__i+1);for(var n;t<e.__k.length;t++)if((n=e.__k[t])&&n.__e)return n.__e;return typeof e.type!=`function`||e.props.__P?null:se(e)}function ce(e){if((e=e.__)&&e.__c&&!e.props.__P)return e.__e=null,e.__k.some(function(t){return t&&(e.__e=t.__e)}),ce(e)}function le(e){(8&e.__g||(e.__g|=8,v.push(e),b++))&&y==g.debounceRendering||((y=g.debounceRendering)||queueMicrotask)(A)}function A(){var e,t,n,r,i,a,o,s,c;try{for(t=1;v.length;)v.length>t&&v.sort(x),e=v.shift(),t=v.length,8&e.__g&&(r=void 0,i=void 0,a=(i=(n=e).__v).__e,o=[],s=[],(c=n.__P)&&((r=k({constructor:E},i)).__v=i.__v+1,g.vnode&&g.vnode(r),ge(c,r,i,n.__n,c.namespaceURI,32&i.__u?[a]:null,o,a||se(i),32&i.__u,s),r.__v=i.__v,r.__.__k[r.__i]=r,ye(o,r,s),i.__=i.__e=null,r.__e!=a&&ce(r)))}finally{(b=v.length)&&(y||queueMicrotask)(A)}}function ue(e,t,n,r,i,a,o,s,c,l,u){var d,f,p,m,h,g,_=r.__k||te,v=t.length;for(c=de(n,t,_,c,v),d=0;d<v;d++)(p=n.__k[d])!=null&&(f=~p.__i&&_[p.__i]||ee,p.__i=d,g=ge(e,p,f,i,a,o,s,c,l,u),m=p.__e,(f.ref!=p.ref||8&f.__u)&&(f.ref&&M(f.ref,null,p,f),p.ref&&u.push(p.ref,p.__c||m,p)),h||=m,4&p.__u?(c=j(p,c,e,!f.__v),f.__e&&(f.__e=null)):typeof p.type==`function`&&g!==void 0?c=g:m&&(c=m.nextSibling),p.__u&=-21);return n.__e=h,c}function de(e,t,n,r,i){var a,o,s,c,l,u,d,f,p,m=n.length,h=m,g=0,_=0,v=e.__k=Array(i);for(a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o!=`object`||o.constructor===String?o=v[a]=ie(null,o):ne(o)?o=v[a]=ie(ae,{children:o}):o.constructor===E&&o.__b?o=v[a]=ie(o.type,o.props,o.key,o.ref,o.__v):v[a]=o,c=a+g,o.__=e,o.__b=e.__b+1,s=null,~(l=o.__i=fe(o,n,c,h))&&(h--,(s=n[l])&&(s.__u|=2)),s&&s.__v?(o.__u|=16,l==c-1?g--:l==c+1?g++:l!=c&&(l>c?g--:g++,_=1)):(~l||(i>m?g--:i<m&&g++),typeof o.type!=`function`&&(o.__u|=4))):v[a]=null;if(_){for(u=[],d=[],a=0;a<i;a++)if((o=v[a])&&16&o.__u){for(g=0,f=u.length;g<f;)u[p=g+f>>1]<o.__i?g=p+1:f=p;u[g]=o.__i,d[a]=g+1}for(g=u.length;a--;)d[a]&&(d[a]==g?g--:v[a].__u|=4)}if(h)for(a=0;a<m;a++)!(s=n[a])||2&s.__u||(s.__e==r&&(r=se(s)),N(s,s));return r}function j(e,t,n,r){var i,a,o,s;if(typeof e.type==`function`){if(e.props.__P)return t;if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&(i[a].__=e,t=j(i[a],t,n,!1));return t}for(t&&!t.parentNode&&(t=se(e))&&!t.parentNode&&(t=null),o=e.__e,s=t;s&&s.nodeType==8;)s=s.nextSibling;for(o!=s&&(!r&&n.moveBefore&&o.parentNode?n.moveBefore(o,t):n.insertBefore(o,t||null)),t=o;(t&&=t.nextSibling)&&t.nodeType==8&&!t.data.startsWith(`$s`););return t}function fe(e,t,n,r){var i,a=e.key,o=e.type,s=t[n],c=s&&!(2&s.__u);if(s===null&&a==null||c&&a==s.key&&o==s.type)return n;if(r>+!!c){for(i=n-1;i>=0;i--)if((s=t[i])&&!(2&s.__u)&&a==s.key&&o==s.type)return i;for(i=n+1;i<t.length;i++)if((s=t[i])&&!(2&s.__u)&&a==s.key&&o==s.type)return i}return-1}function pe(e,t,n){n??=``,t[0]==`-`?e.setProperty(t,n):e[t]=n}function me(e,t,n,r,i){var a,o;if(t==`style`){if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||pe(e.style,t);if(n)for(t in n)r&&n[t]==r[t]||pe(e.style,t,n[t])}}else if(t[0]==`o`&&t[1]==`n`)(e.__e||={})[t]=n,n&&r||(o=T[t]||(T[t]=he(t)),(e.__a||={})[t]=w,a=t!=(t=t.replace(C,`$1`)),(t=t.slice(2))[0]<`a`&&(t=t.toLowerCase()),n?e.addEventListener(t,o,a):e.removeEventListener(t,o,a));else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;return}catch{}if(typeof n==`function`)return;n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n)}}function he(e){return function(t){var n=this.__e;if(n){if(n=n[e],t[S]==null)t[S]=w++;else if(t[S]<this.__a[e])return;return n(g.event?g.event(t):t)}}}function ge(e,t,n,r,i,a,o,s,c,l){var u,d,f,p,m,h,_,v,y,b,x,S,C,w,T,ee,D,O,ie=t.type;if(t.constructor!==E)return null;128&n.__u&&(c=32&n.__u,u=n.__c.__z)&&(t.__u|=c,d=a=[],u.nodeType==8?s=_e(u,a):a.push(u),s=a[0]||s),(u=g.__b)&&u(t);n:if(typeof ie==`function`){f=o.length;try{if(v=t.props,y=(u=ie.prototype)&&u.render,b=(u=ie.contextType)&&r[u.__c],x=u?b?b.props.value:u.__:r,(p=n.__c)?(t.__c=p,2&p.__g&&(p.__g|=1)):(y?t.__c=p=new ie(v,x):(t.__c=p=new oe(v,x),p.constructor=ie,p.render=xe),b&&b.sub(p),p.state||(p.state={}),p.__n=r,p.__g|=8,p.__h=[],p.__k=[]),y&&(p.__s||(p.__s=p.state),ie.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=k({},p.__s)),k(p.__s,ie.getDerivedStateFromProps(v,p.__s)))),m=p.props,h=p.state,p.__v=t,n.__c){if(v!==m&&y&&!ie.getDerivedStateFromProps&&p.componentWillReceiveProps&&p.componentWillReceiveProps(v,x),t.__v==n.__v&&!(8&p.__g)||!(4&p.__g)&&p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(v,p.__s,x)){t.__v!=n.__v&&(p.props=v,p.state=p.__s,p.__g&=-9),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),te.push.apply(p.__h,p.__k),p.__k=[],p.__h.length&&o.push(p),s=se(n);break n}p.componentWillUpdate&&p.componentWillUpdate(v,p.__s,x),y&&p.componentDidUpdate&&p.__h.push(function(){p.componentDidUpdate(m,h,_)})}else y&&!ie.getDerivedStateFromProps&&p.componentWillMount&&p.componentWillMount(),y&&p.componentDidMount&&p.__h.push(p.componentDidMount);if(p.context=x,p.props=v,p.__P=e,p.__g&=-5,S=g.__r,C=0,y)p.state=p.__s,p.__g&=-9,S&&S(t),u=p.render(p.props,p.state,p.context),te.push.apply(p.__h,p.__k),p.__k=[];else do p.__g&=-9,S&&S(t),u=p.render(p.props,p.state,p.context),p.state=p.__s;while(8&p.__g&&++C<25);p.state=p.__s,p.getChildContext&&(r=k({},r,p.getChildContext())),y&&n.__c&&p.getSnapshotBeforeUpdate&&(_=p.getSnapshotBeforeUpdate(m,h)),w=u&&u.type===ae&&u.key==null?u.props.children:u,v.__P&&(u=s,i=(e=v.__P).namespaceURI,c=a=null,n.props&&n.props.__P!=e&&(n.__k.some(function(e){e&&N(e,e)}),n.__k=null),s=n.__k?se(n,0):null),s=ue(e,ne(w)?w:[w],t,n,r,i,a,o,s,c,l),v.__P&&(t.__e=null,s=u),t.__u&=-161,d&&d.some(re),p.__h.length&&o.push(p),1&p.__g&&(p.__g&=-4)}catch(e){if(o.length=f,t.__v=null,c||a){if(e.then){if(T=0,t.__u|=128|c,a){for(~(D=a.indexOf(s||void 0))||(D=a.length);(O=a[D-1])&&O.nodeType==8;)D--;for(;D<a.length;D++)if(O=a[D]){if(a[D]=null,O.nodeType==8){if(O.data.startsWith(`$s`))T++||(ee=O);else if(T&&O.data.startsWith(`/$s`)&&!--T)break}else if(!T)break}}if(!ee){for(;s&&s.nodeType==8&&s.nextSibling;)s=s.nextSibling;ee=s}(u=_e(ee=t.__c.__z||(t.__c.__z=ee)))?(t.__e=ee,s=u):t.__e=s,s&&=s.nextSibling}else a&&a.some(re)}else t.__e=n.__e;t.__k||=n.__k||[],e.then||ve(t),g.__e(e,t,n)}}else s=t.__e=be(n.__e,t,n,r,i,a,o,c,l,e);return(u=g.diffed)&&u(t),s}function _e(e,t){if(e&&e.nodeType==8&&e.data.startsWith(`$s`))for(var n=1;e=e.nextSibling;){if(e.nodeType==8){if(e.data.startsWith(`$s`))n++;else if(e.data.startsWith(`/$s`)&&!--n)return e}t&&t.push(e)}}function ve(e){e&&(e.__c&&(e.__c.__g|=4),e.__k&&e.__k.some(ve))}function ye(e,t,n){for(var r=0;r<n.length;)M(n[r++],n[r++],n[r++]);g.__c&&g.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){g.__e(e,t.__v)}})}function be(e,t,n,r,i,a,o,s,c,l){var u,d,f,p,m,h,_,v,y,b=n.props||ee,x=t.props,S=t.type;if(S==`svg`?i=`http://www.w3.org/2000/svg`:S==`math`?i=`http://www.w3.org/1998/Math/MathML`:i||=`http://www.w3.org/1999/xhtml`,a){for(u=0;u<a.length;u++)if((m=a[u])&&(S?m.localName==S:m.nodeType==3)){e=m,a[u]=null;break}}if(!e){if(v=l.ownerDocument||document,!S)return v.createTextNode(x);e=v.createElementNS(i,S,x.is&&x),s&&=(g.__m&&g.__m(t,a),!1),a=null}if(S){if(l=S==`template`?e.content:e,a=S==`textarea`&&x.defaultValue!=null?null:a&&O.call(l.childNodes),!s&&a)for(b={},u=0;u<e.attributes.length;u++)b[(m=e.attributes[u]).name]=m.value;for(u in b)m=b[u],u==`dangerouslySetInnerHTML`?f=m:u==`children`||u in x||u==`value`&&`defaultValue`in x||u==`checked`&&`defaultChecked`in x||me(e,u,null,m,i);for(u in y=1&n.__u,x)m=x[u],u==`children`?p=m:u==`dangerouslySetInnerHTML`?d=m:u==`value`?h=m:u==`checked`?_=m:s&&typeof m!=`function`||!(b[u]!==m||y&&m!=null)||me(e,u,m,b[u],i);d?(s||f&&(d.__html==f.__html||d.__html==e.innerHTML)||(e.innerHTML=d.__html),t.__k=[]):(f&&(e.textContent=``),(S==`foreignObject`||i==`http://www.w3.org/1998/Math/MathML`&&D.test(S))&&(i=`http://www.w3.org/1999/xhtml`),ue(l,ne(p)?p:[p],t,n,r,i,a,o,a?a[0]:n.__k&&se(n,0),s,c),a&&a.some(re)),s&&S!=`textarea`||(u=`value`,S==`progress`&&h==null?e.removeAttribute(u):h==null||h===e[u]&&(S!=`progress`||h)||me(e,u,h,b[u],i),u=`checked`,_!=null&&_!=e[u]&&me(e,u,_,b[u],i))}else b===x||s&&e.data==x||(e.data=x);return e}function M(e,t,n,r){try{typeof e==`function`?t?t.__x=e(t)||1:(r&&=r.__c||r.__e)&&(t=r.__x)&&(r.__x=null,typeof t==`function`?t():e(null)):e.current=t}catch(e){g.__e(e,n)}}function N(e,t,n){var r,i,a,o;if(g.unmount&&g.unmount(e),!(r=e.ref)||r.current&&r.current!=e.__e||M(r,null,t,e),r=e.__c){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){g.__e(e,t)}r.__P=r.__n=null}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&N(r[o],t,typeof e.type!=`function`||n&&!e.props.__P);!n&&(r=e.__c)&&(r=r.__z)&&(i=_e(r,a=[]))&&(r==e.__e&&a.some(re),re(i),re(r)),(r=e.__e)&&(n||re(r),r.__e&&(r.__e=null)),e.__e=e.__c=e.__=null}function xe(e,t,n){return this.constructor(e,n)}function Se(e,t){var n,r,i,a;g.__&&g.__(e,t),t.nodeType==9&&(t=t.documentElement),r=(n=e&&32&e.__u)?null:t.__k,t.__k=ie(ae,{children:[e]}),i=[],a=[],ge(t,t.__k,r||ee,ee,t.namespaceURI,r?null:t.firstChild?O.call(t.childNodes):null,i,r?r.__e:t.firstChild,n,a),ye(i,t.__k,a),t.__k.props.children=null}g={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!(1&i.__g)){i.__g|=4;try{if((o=(a=i.constructor)&&a.getDerivedStateFromError)&&i.setState(a.getDerivedStateFromError(e)),i.componentDidCatch&&(i.componentDidCatch(e,r||{}),o=1),o&&8&i.__g)return void(i.__g|=2)}catch(t){e=t}}throw b=0,e}},_=0,oe.prototype.setState=function(e,t){var n=this.__s;n&&n!=this.state||(n=this.__s=k({},this.state)),typeof e==`function`&&(e=e(k({},n),this.props)),e&&(k(n,e),this.__v&&(t&&this.__k.push(t),le(this)))},oe.prototype.forceUpdate=function(e){this.__v&&(this.__g|=4,e&&this.__h.push(e),le(this))},oe.prototype.render=ae,v=[],b=0,x=function(e,t){return e.__v.__b-t.__v.__b},S=Symbol(),C=/(PointerCapture)$|Capture$/i,w=0,T={};function P(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function Ce(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=P(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{n=void 0}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}var F;function I(){return F||=Ce(`keyval-store`,`keyval`),F}function L(e,t=I()){return t(`readonly`,t=>P(t.get(e)))}function R(e,t,n=I()){return n(`readwrite`,n=>(n.put(t,e),P(n.transaction)))}var we,z,Te,Ee,B=Object.is,De=0,Oe=[],ke=[],V=g,H=V.__b,Ae=V.__r,je=V.diffed,Me=V.__c,Ne=V.unmount,Pe=V.__;function Fe(e,t){V.__h&&V.__h(z,e,De||t),De=0;var n=z.__H||(z.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function U(e){return De=1,Ie(Ye,e)}function Ie(e,t,n){var r=Fe(we++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Ye(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);B(t,n)||(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=z,!z.__f)){z.__f=!0;var i=z.shouldComponentUpdate;z.shouldComponentUpdate=function(e,t,n){var r=this.__H;if(!r)return!0;var a=!1,o=this.props!=e;if(r.__.some(function(e){e.__N&&(a=!0,B(e.__[0],e.__N[0])||(o=!0))}),i){var s=i.call(this,e,t,n);return a?s||o:s}return!a||o}}return r.__}function Le(e,t){var n=Fe(we++,3);!V.__s&&Je(n.__H,t)&&(n.__P=!0,n.__=e,n.u=t,z.__H.__h.push(n))}function Re(e,t){var n=Fe(we++,4);!V.__s&&Je(n.__H,t)&&(n.__P=!1,n.__=e,n.u=t,z.__h.push(n))}function ze(e){return De=5,Be(function(){return{current:e}},[])}function Be(e,t){var n=Fe(we++,7);return Je(n.__H,t)&&(n.__=e(),n.__H=t),n.__}function Ve(e,t){return De=8,Be(function(){return e},t)}function He(){var e;do{for(;e=ke.shift();)try{Ke(e)}catch(t){V.__e(t,{__:(e=e.__P)&&e.__v})}for(;e=Oe.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Ke),t.__h.some(qe),t.__h=[]}catch(n){t.__h=[],V.__e(n,e.__v)}}}while(ke.length)}V.__b=function(e){z=null,H&&H(e)},V.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Pe&&Pe(e,t)},V.__r=function(e){Ae&&Ae(e),we=0;var t=(z=e.__c).__H;t&&(Te==z?z.__h=[]:(t.__h.some(Ke),t.__h.some(qe),we=0),t.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})),Te=z},V.diffed=function(e){je&&je(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&Ge(Oe.push(t)),t.__H.__.some(function(e){e.u&&(e.__H=e.u)})),Te=z=null},V.__c=function(e,t){t.some(function(e){try{e.__h.some(Ke),e.__h=e.__h.filter(function(e){return!e.__||qe(e)})}catch(t){e.__h=[function(){throw t}]}}),Me&&Me(e,t)},V.unmount=function(e){Ne&&Ne(e);var t,n,r=e.__c;r&&r.__H&&(r.__H.__.some(function(r){try{if(r.__P&&r.__c){if(n===void 0){for(n=e.__;n&&(!n.__c||!n.__c.__P);)n=n.__;n&&=n.__c}r.__P=n,Ge(ke.push(r))}else Ke(r)}catch(e){t=e}}),r.__H=void 0,t&&V.__e(t,r.__v))};var Ue=typeof requestAnimationFrame==`function`;function We(e){var t,n=function(){clearTimeout(r),Ue&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Ue&&(t=requestAnimationFrame(n))}function Ge(e){e!=1&&Ee==V.requestAnimationFrame||((Ee=V.requestAnimationFrame)||We)(He)}function Ke(e){var t=z,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),z=t}function qe(e){var t=z;e.__c=e.__(),z=t}function Je(e,t){return!e||e.length!=t.length||t.some(function(t,n){return!B(t,e[n])})}function Ye(e,t){return typeof t==`function`?t(e):t}function Xe(e,t){let n=Error(`${e}: ${t}`);return n.code=e,n}function Ze(e){return e.split(`/`).filter(e=>e.length>0&&e!==`.`)}function Qe(e,t,n){return{type:e,mode:e===`file`?33188:16384,size:t,ino:0,dev:0,uid:0,gid:0,mtimeMs:n,ctimeMs:n,mtime:new Date(n),ctime:new Date(n),isFile:()=>e===`file`,isDirectory:()=>e===`dir`,isSymbolicLink:()=>!1}}var $e=class{dirs=new Map;root;promises;constructor(e){this.root=e,this.dirs.set(``,e),this.promises={readFile:(e,t)=>this.readFile(e,t),writeFile:(e,t)=>this.writeFile(e,t),unlink:e=>this.unlink(e),readdir:e=>this.readdir(e),mkdir:e=>this.mkdir(e),rmdir:e=>this.rmdir(e),stat:e=>this.stat(e),lstat:e=>this.stat(e),readlink:e=>Promise.reject(Xe(`ENOSYS`,e)),symlink:e=>Promise.reject(Xe(`ENOSYS`,e))}}async dir(e,t=!1){let n=e.join(`/`),r=this.dirs.get(n);if(r)return r;let i=this.root;for(let n=0;n<e.length;n++){let r=e.slice(0,n+1).join(`/`),a=this.dirs.get(r);if(a)i=a;else{try{i=await i.getDirectoryHandle(e[n],{create:t})}catch{throw Xe(`ENOENT`,r)}this.dirs.set(r,i)}}return i}async parentAndName(e,t=!1){let n=Ze(e),r=n.pop();if(r===void 0)throw Xe(`EINVAL`,e);return[await this.dir(n,t),r]}async readFile(e,t){let[n,r]=await this.parentAndName(e),i;try{i=await(await n.getFileHandle(r)).getFile()}catch{throw Xe(`ENOENT`,e)}let a=typeof t==`string`?t:t?.encoding;return a===`utf8`||a===`utf-8`?await i.text():new Uint8Array(await i.arrayBuffer())}async writeFile(e,t){let[n,r]=await this.parentAndName(e,!0),i=await(await n.getFileHandle(r,{create:!0})).createWritable();await i.write(t),await i.close()}async unlink(e){let[t,n]=await this.parentAndName(e);try{await t.removeEntry(n)}catch{throw Xe(`ENOENT`,e)}}async readdir(e){let t=await this.dir(Ze(e)),n=[];for await(let e of t.keys())n.push(e);return n}async mkdir(e){let t=Ze(e),[n,r]=await this.parentAndName(e,!0),i=!0;try{await n.getDirectoryHandle(r)}catch{i=!1}let a=await n.getDirectoryHandle(r,{create:!0});if(this.dirs.set(t.join(`/`),a),i)throw Xe(`EEXIST`,e)}async rmdir(e){let t=Ze(e),[n,r]=await this.parentAndName(e);try{await n.removeEntry(r)}catch{throw Xe(`ENOTEMPTY`,e)}for(let e of[...this.dirs.keys()])(e===t.join(`/`)||e.startsWith(t.join(`/`)+`/`))&&this.dirs.delete(e)}async stat(e){if(Ze(e).length===0)return Qe(`dir`,0,0);let[t,n]=await this.parentAndName(e);try{let e=await(await t.getFileHandle(n)).getFile();return Qe(`file`,e.size,e.lastModified)}catch{try{return await t.getDirectoryHandle(n),Qe(`dir`,0,0)}catch{throw Xe(`ENOENT`,e)}}}},et=s(((e,t)=>{t.exports=n;function n(e){var t,n;if(typeof e!=`function`)throw Error(`expected a function but got `+e);return function(){return t||(t=!0,n=e.apply(this,arguments),e=void 0),n}}})),tt=s((()=>{(function(e){function t(e,t){return(e instanceof Buffer?e:Buffer.from(e.buffer,e.byteOffset,e.byteLength)).toString(t)}var n=function(e){return Buffer.from(e)};function r(e){for(var t=0,n=Math.min(65536,e.length+1),r=new Uint16Array(n),i=[],a=0;;){var o=t<e.length;if(!o||a>=n-1){var s=r.subarray(0,a);if(i.push(String.fromCharCode.apply(null,s)),!o)return i.join(``);e=e.subarray(t),t=0,a=0}var c=e[t++];if(!(c&128))r[a++]=c;else if((c&224)==192){var l=e[t++]&63;r[a++]=(c&31)<<6|l}else if((c&240)==224){var l=e[t++]&63,u=e[t++]&63;r[a++]=(c&31)<<12|l<<6|u}else if((c&248)==240){var l=e[t++]&63,u=e[t++]&63,d=e[t++]&63,f=(c&7)<<18|l<<12|u<<6|d;f>65535&&(f-=65536,r[a++]=f>>>10&1023|55296,f=56320|f&1023),r[a++]=f}}}function i(e){for(var t=0,n=e.length,r=0,i=Math.max(32,n+(n>>>1)+7),a=new Uint8Array(i>>>3<<3);t<n;){var o=e.charCodeAt(t++);if(o>=55296&&o<=56319){if(t<n){var s=e.charCodeAt(t);(s&64512)==56320&&(++t,o=((o&1023)<<10)+(s&1023)+65536)}if(o>=55296&&o<=56319)continue}if(r+4>a.length){i+=8,i*=1+t/e.length*2,i=i>>>3<<3;var c=new Uint8Array(i);c.set(a),a=c}if(!(o&4294967168))a[r++]=o;else{if(!(o&4294965248))a[r++]=o>>>6&31|192;else if(!(o&4294901760))a[r++]=o>>>12&15|224,a[r++]=o>>>6&63|128;else if(!(o&4292870144))a[r++]=o>>>18&7|240,a[r++]=o>>>12&63|128,a[r++]=o>>>6&63|128;else continue;a[r++]=o&63|128}}return a.slice?a.slice(0,r):a.subarray(0,r)}var a=`Failed to `,o=function(e,t,n){if(e)throw Error(`${a}${t}: the '${n}' option is unsupported.`)},s=typeof Buffer==`function`&&Buffer.from,c=s?n:i;function l(){this.encoding=`utf-8`}l.prototype.encode=function(e,t){return o(t&&t.stream,`encode`,`stream`),c(e)};function u(e){var t;try{var n=new Blob([e],{type:`text/plain;charset=UTF-8`});t=URL.createObjectURL(n);var r=new XMLHttpRequest;return r.open(`GET`,t,!1),r.send(),r.responseText}finally{t&&URL.revokeObjectURL(t)}}var d=!s&&typeof Blob==`function`&&typeof URL==`function`&&typeof URL.createObjectURL==`function`,f=[`utf-8`,`utf8`,`unicode-1-1-utf-8`],p=r;s?p=t:d&&(p=function(e){try{return u(e)}catch{return r(e)}});var m=`construct 'TextDecoder'`,h=`${a} ${m}: the `;function g(e,t){if(o(t&&t.fatal,m,`fatal`),e||=`utf-8`,!(s?Buffer.isEncoding(e):f.indexOf(e.toLowerCase())!==-1))throw RangeError(`${h} encoding label provided ('${e}') is invalid.`);this.encoding=e,this.fatal=!1,this.ignoreBOM=!1}g.prototype.decode=function(e,t){o(t&&t.stream,`decode`,`stream`);var n=e instanceof Uint8Array?e:e.buffer instanceof ArrayBuffer?new Uint8Array(e.buffer):new Uint8Array(e);return p(n,this.encoding)},e.TextEncoder=e.TextEncoder||l,e.TextDecoder=e.TextDecoder||g})(typeof window<`u`?window:typeof global<`u`?global:void 0)})),nt=s(((e,t)=>{tt(),t.exports={encode:e=>new TextEncoder().encode(e),decode:e=>new TextDecoder().decode(e)}})),rt=s(((e,t)=>{t.exports=n;function n(e,t,n){var r=null,i=null,a=function(){r&&=(clearTimeout(r),i=null,null)},o=function(){var e=i;a(),e&&e()},s=function(){if(!t)return e.apply(this,arguments);var o=this,s=arguments,c=n&&!r;if(a(),i=function(){e.apply(o,s)},r=setTimeout(function(){if(r=null,!c){var e=i;return i=null,e()}},t),c)return i()};return s.cancel=a,s.flush=o,s}})),it=s(((e,t)=>{function n(e){if(e.length===0)return`.`;let t=a(e);return t=t.reduce(c,[]),i(...t)}function r(...e){let t=``;for(let r of e)t=r.startsWith(`/`)?n(r):n(i(t,r));return t}function i(...e){if(e.length===0)return``;let t=e.join(`/`);return t=t.replace(/\/{2,}/g,`/`),t}function a(e){if(e.length===0)return[];if(e===`/`)return[`/`];let t=e.split(`/`);return t[t.length-1]===``&&t.pop(),e[0]===`/`?t[0]=`/`:t[0]!==`.`&&t.unshift(`.`),t}function o(e){let t=e.lastIndexOf(`/`);if(t===-1)throw Error(`Cannot get dirname of "${e}"`);return t===0?`/`:e.slice(0,t)}function s(e){if(e===`/`)throw Error(`Cannot get basename of "${e}"`);let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function c(e,t){if(e.length===0)return e.push(t),e;if(t===`.`||t===``)return e;if(t===`..`){if(e.length===1){if(e[0]===`/`)return e;if(e[0]===`.`)return e.push(t),e}return e[e.length-1]===`..`?(e.push(`..`),e):(e.pop(),e)}return e.push(t),e}t.exports={join:i,normalize:n,split:a,basename:s,dirname:o,resolve:r}})),at=s(((e,t)=>{function n(e){return class extends Error{constructor(...t){super(...t),this.code=e,this.message=this.message?e+`: `+this.message:e}}}t.exports={EEXIST:n(`EEXIST`),ENOENT:n(`ENOENT`),ENOTDIR:n(`ENOTDIR`),ENOTEMPTY:n(`ENOTEMPTY`),ETIMEDOUT:n(`ETIMEDOUT`),EISDIR:n(`EISDIR`)}})),W=s(((e,t)=>{var n=it(),{EEXIST:r,ENOENT:i,ENOTDIR:a,ENOTEMPTY:o,EISDIR:s}=at(),c=0;t.exports=class{constructor(e,{uid:t=1,gid:n=1}={}){this._uid=t,this._gid=n}_makeRoot(e=new Map){return e.set(c,{mode:511,type:`dir`,size:0,ino:0,mtimeMs:Date.now(),uid:this._uid,gid:this._gid}),e}activate(e=null){this._root=e===null?new Map([[`/`,this._makeRoot()]]):typeof e==`string`?new Map([[`/`,this._makeRoot(this.parse(e))]]):e}get activated(){return!!this._root}deactivate(){this._root=void 0}size(){return this._countInodes(this._root.get(`/`))-1}_countInodes(e){let t=1;for(let[n,r]of e)n!==c&&(t+=this._countInodes(r));return t}autoinc(){return this._maxInode(this._root.get(`/`))+1}_maxInode(e){let t=e.get(c).ino;for(let[n,r]of e)n!==c&&(t=Math.max(t,this._maxInode(r)));return t}print(e=this._root.get(`/`)){let t=``,n=(e,r)=>{for(let[i,a]of e){if(i===0)continue;let e=a.get(c),o=e.mode.toString(8);t+=`${` `.repeat(r)}${i}\t${o}`,e.type===`file`?t+=`\t${e.size}\t${e.mtimeMs}\n`:(t+=`
3
+ `,n(a,r+1))}};return n(e,0),t}parse(e){let t=0,n=this._uid,r=this._gid;function i(e){let i=++t,a=e.length===1?`dir`:`file`,[o,s,l]=e;return o=parseInt(o,8),s=s?parseInt(s):0,l=l?parseInt(l):Date.now(),new Map([[c,{mode:o,type:a,size:s,mtimeMs:l,ino:i,uid:n,gid:r}]])}let a=e.trim().split(`
4
+ `),o=this._makeRoot(),s=[{indent:-1,node:o},{indent:0,node:null}];for(let e of a){let t=e.match(/^\t*/)[0].length;e=e.slice(t);let[n,...r]=e.split(` `),a=i(r);if(t<=s[s.length-1].indent)for(;t<=s[s.length-1].indent;)s.pop();s.push({indent:t,node:a}),s[s.length-2].node.set(n,a)}return o}_lookup(e,t=!0){let r=this._root,a=`/`,o=n.split(e);for(let s=0;s<o.length;++s){let l=o[s];if(r=r.get(l),!r)throw new i(e);if(t||s<o.length-1){let e=r.get(c);if(e.type===`symlink`){let t=n.resolve(a,e.target);r=this._lookup(t)}a=a?n.join(a,l):l}}return r}mkdir(e,{mode:t}){if(e===`/`)throw new r;let i=this._lookup(n.dirname(e)),a=n.basename(e);if(i.has(a))throw new r;let o=new Map,s={mode:t,type:`dir`,size:0,mtimeMs:Date.now(),ino:this.autoinc(),uid:this._uid,gid:this._gid};o.set(c,s),i.set(a,o)}rmdir(e){let t=this._lookup(e);if(t.get(c).type!==`dir`)throw new a;if(t.size>1)throw new o;let r=this._lookup(n.dirname(e)),i=n.basename(e);r.delete(i)}readdir(e){let t=this._lookup(e);if(t.get(c).type!==`dir`)throw new a;return[...t.keys()].filter(e=>typeof e==`string`)}writeStat(e,t,{mode:r}){let i,a,o,l;try{l=this.stat(e)}catch{}if(l!==void 0){if(l.type===`dir`)throw new s;r??=l.mode,a=l.uid,o=l.gid,i=l.ino}r??=438,a??=this._uid,o??=this._gid,i??=this.autoinc();let u=this._lookup(n.dirname(e)),d=n.basename(e),f={mode:r,type:`file`,size:t,mtimeMs:Date.now(),ino:i,uid:a,gid:o},p=new Map;return p.set(c,f),u.set(d,p),f}unlink(e){let t=this._lookup(n.dirname(e)),r=n.basename(e);t.delete(r)}rename(e,t){let r=n.basename(t),i=this._lookup(e);this._lookup(n.dirname(t)).set(r,i),this.unlink(e)}stat(e){return this._lookup(e).get(c)}lstat(e){return this._lookup(e,!1).get(c)}readlink(e){return this._lookup(e,!1).get(c).target}symlink(e,t){let r,i,a=this._uid,o=this._gid;try{let e=this.stat(t);i===null&&(i=e.mode),r=e.ino}catch{}i??=40960,r??=this.autoinc();let s=this._lookup(n.dirname(t)),l=n.basename(t),u={mode:i,type:`symlink`,target:e,size:0,mtimeMs:Date.now(),ino:r,uid:a,gid:o},d=new Map;return d.set(c,u),s.set(l,d),u}chmod(e,t){let n=this.stat(e);n.mode=t,n.ctimeMs=Date.now()}chown(e,t,n){let r=this.stat(e);r.uid=t,r.gid=n,r.ctimeMs=Date.now()}utimes(e,t,n){let r=this._lookup(e,!0).get(c);r.atimeMs=t,r.mtimeMs=n,r.ctimeMs=Date.now()}lutimes(e,t,n){let r=this._lookup(e,!1).get(c);r.atimeMs=t,r.mtimeMs=n,r.ctimeMs=Date.now()}_du(e){let t=0;for(let[n,r]of e.entries())t+=n===c?r.size:this._du(r);return t}du(e){let t=this._lookup(e);return this._du(t)}}})),ot=c({Store:()=>ht,clear:()=>ft,close:()=>mt,del:()=>dt,get:()=>ct,keys:()=>pt,set:()=>lt,update:()=>ut});function st(){return gt||=new ht,gt}function ct(e,t=st()){let n;return t._withIDBStore(`readwrite`,t=>{n=t.get(e)}).then(()=>n.result)}function lt(e,t,n=st()){return n._withIDBStore(`readwrite`,n=>{n.put(t,e)})}function ut(e,t,n=st()){return n._withIDBStore(`readwrite`,n=>{let r=n.get(e);r.onsuccess=()=>{n.put(t(r.result),e)}})}function dt(e,t=st()){return t._withIDBStore(`readwrite`,t=>{t.delete(e)})}function ft(e=st()){return e._withIDBStore(`readwrite`,e=>{e.clear()})}function pt(e=st()){let t=[];return e._withIDBStore(`readwrite`,e=>{(e.openKeyCursor||e.openCursor).call(e).onsuccess=function(){this.result&&(t.push(this.result.key),this.result.continue())}}).then(()=>t)}function mt(e=st()){return e._close()}var ht,gt,_t=o((()=>{ht=class{constructor(e=`keyval-store`,t=`keyval`){this.storeName=t,this._dbName=e,this._storeName=t,this._init()}_init(){this._dbp||=new Promise((e,t)=>{let n=indexedDB.open(this._dbName);n.onerror=()=>t(n.error),n.onsuccess=()=>e(n.result),n.onupgradeneeded=()=>{n.result.createObjectStore(this._storeName)}})}_withIDBStore(e,t){return this._init(),this._dbp.then(n=>new Promise((r,i)=>{let a=n.transaction(this.storeName,e);a.oncomplete=()=>r(),a.onabort=a.onerror=()=>i(a.error),t(a.objectStore(this.storeName))}))}_close(){return this._init(),this._dbp.then(e=>{e.close(),this._dbp=void 0})}}})),vt=s(((e,t)=>{var n=(_t(),d(ot));t.exports=class{constructor(e,t){this._database=e,this._storename=t,this._store=new n.Store(this._database,this._storename)}saveSuperblock(e){return n.set(`!root`,e,this._store)}loadSuperblock(){return n.get(`!root`,this._store)}readFile(e){return n.get(e,this._store)}writeFile(e,t){return n.set(e,t,this._store)}unlink(e){return n.del(e,this._store)}wipe(){return n.clear(this._store)}close(){return n.close(this._store)}}})),yt=s(((e,t)=>{t.exports=class{constructor(e){this._url=e}loadSuperblock(){return fetch(this._url+`/.superblock.txt`).then(e=>e.ok?e.text():null)}async readFile(e){let t=await fetch(this._url+e);if(t.status===200)return t.arrayBuffer();throw Error(`ENOENT`)}async sizeFile(e){let t=await fetch(this._url+e,{method:`HEAD`});if(t.status===200)return t.headers.get(`content-length`);throw Error(`ENOENT`)}}})),bt=s(((e,t)=>{var n=(_t(),d(ot)),r=e=>new Promise(t=>setTimeout(t,e));t.exports=class{constructor(e,t){this._id=Math.random(),this._database=e,this._storename=t,this._store=new n.Store(this._database,this._storename),this._lock=null}async has({margin:e=2e3}={}){if(this._lock&&this._lock.holder===this._id){let t=Date.now();return this._lock.expires>t+e||await this.renew()}return!1}async renew({ttl:e=5e3}={}){let t;return await n.update(`lock`,n=>{let r=Date.now()+e;return t=n&&n.holder===this._id,this._lock=t?{holder:this._id,expires:r}:n,this._lock},this._store),t}async acquire({ttl:e=5e3}={}){let t,r,i;if(await n.update(`lock`,n=>{let a=Date.now(),o=a+e;return r=n&&n.expires<a,t=n===void 0||r,i=n&&n.holder===this._id,this._lock=t?{holder:this._id,expires:o}:n,this._lock},this._store),i)throw Error(`Mutex double-locked`);return t}async wait({interval:e=100,limit:t=6e3,ttl:n}={}){for(;t--;){if(await this.acquire({ttl:n}))return!0;await r(e)}throw Error(`Mutex timeout`)}async release({force:e=!1}={}){let t,r,i;if(await n.update(`lock`,n=>(t=e||n&&n.holder===this._id,r=n===void 0,i=n&&n.holder!==this._id,this._lock=t?void 0:n,this._lock),this._store),await n.close(this._store),!t&&!e){if(r)throw Error(`Mutex double-freed`);if(i)throw Error(`Mutex lost ownership`)}return t}}})),xt=s(((e,t)=>{t.exports=class{constructor(e){this._id=Math.random(),this._database=e,this._has=!1,this._release=null}async has(){return this._has}async acquire(){return new Promise(e=>{navigator.locks.request(this._database+`_lock`,{ifAvailable:!0},t=>(this._has=!!t,e(!!t),new Promise(e=>{this._release=e})))})}async wait({timeout:e=6e5}={}){return new Promise((t,n)=>{let r=new AbortController;setTimeout(()=>{r.abort(),n(Error(`Mutex timeout`))},e),navigator.locks.request(this._database+`_lock`,{signal:r.signal},e=>(this._has=!!e,t(!!e),new Promise(e=>{this._release=e})))})}async release({force:e=!1}={}){this._has=!1,this._release?this._release():e&&navigator.locks.request(this._database+`_lock`,{steal:!0},e=>!0)}}})),St=s(((e,t)=>{var{encode:n,decode:r}=nt(),i=rt(),a=W(),{EEXIST:o,EISDIR:s,ENOENT:c,ENOTEMPTY:l,ETIMEDOUT:u}=at(),d=vt(),f=yt(),p=bt(),m=xt(),h=it();t.exports=class{constructor(){this.saveSuperblock=i(()=>{this.flush()},500)}async init(e,{wipe:t,url:n,urlauto:r,fileDbName:i=e,db:o=null,fileStoreName:s=e+`_files`,lockDbName:c=e+`_lock`,lockStoreName:l=e+`_lock`,uid:u=1,gid:h=1}={}){this._name=e,this._idb=o||new d(i,s),this._mutex=navigator.locks?new m(e):new p(c,l),this._cache=new a(e,{uid:u,gid:h}),this._opts={wipe:t,url:n},this._needsWipe=!!t,n&&(this._http=new f(n),this._urlauto=!!r)}async activate(){if(this._cache.activated)return;this._needsWipe&&(this._needsWipe=!1,await this._idb.wipe(),await this._mutex.release({force:!0})),await this._mutex.has()||await this._mutex.wait();let e=await this._idb.loadSuperblock();if(e)this._cache.activate(e);else if(this._http){let e=await this._http.loadSuperblock();this._cache.activate(e),await this._saveSuperblock()}else this._cache.activate();if(!await this._mutex.has())throw new u}async deactivate(){await this._mutex.has()&&await this._saveSuperblock(),this._cache.deactivate();try{await this._mutex.release()}catch(e){console.log(e)}await this._idb.close()}async _saveSuperblock(){this._cache.activated&&(this._lastSavedAt=Date.now(),await this._idb.saveSuperblock(this._cache._root))}_writeStat(e,t,n){let r=h.split(h.dirname(e)),i=r.shift();for(let e of r){i=h.join(i,e);try{this._cache.mkdir(i,{mode:511})}catch{}}return this._cache.writeStat(e,t,n)}async readFile(e,t){let n=typeof t==`string`?t:t&&t.encoding;if(n&&n!==`utf8`)throw Error(`Only "utf8" encoding is supported in readFile`);let i=null,a=null;try{a=this._cache.stat(e),i=await this._idb.readFile(a.ino)}catch(e){if(!this._urlauto)throw e}if(!i&&this._http){let t=this._cache.lstat(e);for(;t.type===`symlink`;)e=h.resolve(h.dirname(e),t.target),t=this._cache.lstat(e);i=await this._http.readFile(e)}if(i&&(a&&a.size==i.byteLength||(a=await this._writeStat(e,i.byteLength,{mode:a?a.mode:438}),this.saveSuperblock()),n===`utf8`?i=r(i):i.toString=()=>r(i)),!a)throw new c(e);return i}async writeFile(e,t,r){let{mode:i,encoding:a=`utf8`}=r;if(typeof t==`string`){if(a!==`utf8`)throw Error(`Only "utf8" encoding is supported in writeFile`);t=n(t)}let o=await this._cache.writeStat(e,t.byteLength,{mode:i});await this._idb.writeFile(o.ino,t)}async unlink(e,t){let n=this._cache.lstat(e);this._cache.unlink(e),n.type!==`symlink`&&await this._idb.unlink(n.ino)}readdir(e,t){return this._cache.readdir(e)}mkdir(e,t){let{mode:n=511}=t;this._cache.mkdir(e,{mode:n})}rmdir(e,t){if(e===`/`)throw new l;this._cache.rmdir(e)}rename(e,t){this._cache.rename(e,t)}stat(e,t){return this._cache.stat(e)}lstat(e,t){return this._cache.lstat(e)}readlink(e,t){return this._cache.readlink(e)}symlink(e,t){this._cache.symlink(e,t)}chmod(e,t){this._cache.chmod(e,t)}chown(e,t,n){this._cache.chown(e,t,n)}utimes(e,t,n){this._cache.utimes(e,t,n)}lutimes(e,t,n){this._cache.lutimes(e,t,n)}_exists(e){try{return this._cache.lstat(e),!0}catch{return!1}}_mkdirp(e,t=511){if(!(e===`/`||this._exists(e))){this._mkdirp(h.dirname(e),511);try{this._cache.mkdir(e,{mode:t})}catch(e){if(e.code!==`EEXIST`)throw e}}}async cp(e,t,n={}){let{recursive:r=!1,force:i=!0,errorOnExist:a=!1,dereference:o=!1,filter:s}=n,c=e===`/`?t.startsWith(`/`):t.startsWith(e+`/`);if(t===e||c)throw Error(`ERR_FS_CP_EINVAL: cannot copy "${e}" into itself "${t}"`);await this._cpOne(e,t,{recursive:r,force:i,errorOnExist:a,dereference:o,filter:s})}async _cpOne(e,t,n){if(n.filter&&await n.filter(e,t)===!1)return;let r=n.dereference?this._cache.stat(e):this._cache.lstat(e);if(r.type===`symlink`){if(this._exists(t)){if(!n.force){if(n.errorOnExist)throw new o(t);return}this._cache.unlink(t)}let r=this._cache.readlink(e);this._cache.symlink(r,t);return}if(r.type===`dir`){if(!n.recursive)throw new s(e);this._mkdirp(t,r.mode);for(let r of this._cache.readdir(e))await this._cpOne(h.join(e,r),h.join(t,r),n);return}if(this._exists(t)&&!n.force){if(n.errorOnExist)throw new o(t);return}let i=await this._idb.readFile(r.ino),a=this._cache.writeStat(t,r.size,{mode:r.mode});await this._idb.writeFile(a.ino,i)}async backFile(e,t){let n=await this._http.sizeFile(e);await this._writeStat(e,n,t)}du(e){return this._cache.du(e)}flush(){return this._saveSuperblock()}}})),Ct=s(((e,t)=>{t.exports=class{constructor(e){this.type=e.type,this.mode=e.mode,this.size=e.size,this.ino=e.ino,this.mtimeMs=e.mtimeMs,this.atimeMs=e.atimeMs??e.mtimeMs,this.ctimeMs=e.ctimeMs??e.mtimeMs,this.uid=e.uid==null?1:e.uid,this.gid=e.gid==null?1:e.gid,this.dev=1}isFile(){return this.type===`file`}isDirectory(){return this.type===`dir`}isSymbolicLink(){return this.type===`symlink`}}})),wt=s(((e,t)=>{var n=St(),r=Ct(),i=it();function a(e,t,...n){return e=i.normalize(e),(t===void 0||typeof t==`function`)&&(t={}),typeof t==`string`&&(t={encoding:t}),[e,t,...n]}function o(e,t,n,...r){return e=i.normalize(e),(n===void 0||typeof n==`function`)&&(n={}),typeof n==`string`&&(n={encoding:n}),[e,t,n,...r]}function s(e,t,...n){return[i.normalize(e),i.normalize(t),...n]}function c(e,t,...n){return[e,i.normalize(t),...n]}function l(e,t,n,...r){return e=i.normalize(e),t=i.normalize(t),(n===void 0||typeof n==`function`)&&(n={}),[e,t,n,...r]}function u(e,t,...n){return[i.normalize(e),t,...n]}function d(e,t,n,...r){return[i.normalize(e),t,n,...r]}function f(e,t,n,...r){return[i.normalize(e),t,n,...r]}function p(e){let t;if(e instanceof Date)t=e.getTime();else if(typeof e==`number`||typeof e==`string`)t=Number(e)*1e3;else throw TypeError(`Invalid time value: ${e}`);if(!Number.isFinite(t))throw TypeError(`Invalid time value: ${e}`);return t}t.exports=class{constructor(e,t={}){this.init=this.init.bind(this),this.readFile=this._wrap(this.readFile,a,!1),this.writeFile=this._wrap(this.writeFile,o,!0),this.unlink=this._wrap(this.unlink,a,!0),this.readdir=this._wrap(this.readdir,a,!1),this.mkdir=this._wrap(this.mkdir,a,!0),this.rmdir=this._wrap(this.rmdir,a,!0),this.rename=this._wrap(this.rename,s,!0),this.stat=this._wrap(this.stat,a,!1),this.lstat=this._wrap(this.lstat,a,!1),this.readlink=this._wrap(this.readlink,a,!1),this.symlink=this._wrap(this.symlink,c,!0),this.backFile=this._wrap(this.backFile,a,!0),this.du=this._wrap(this.du,a,!1),this.chmod=this._wrap(this.chmod,u,!0),this.chown=this._wrap(this.chown,d,!0),this.utimes=this._wrap(this.utimes,f,!0),this.lutimes=this._wrap(this.lutimes,f,!0),this.cp=this._wrap(this.cp,l,!0),this._deactivationPromise=null,this._deactivationTimeout=null,this._activationPromise=null,this._operations=new Set,e&&this.init(e,t)}async init(...e){return this._initPromiseResolve&&await this._initPromise,this._initPromise=this._init(...e),this._initPromise}async _init(e,t={}){await this._gracefulShutdown(),this._activationPromise&&await this._deactivate(),this._backend&&this._backend.destroy&&await this._backend.destroy(),this._backend=t.backend||new n,this._backend.init&&await this._backend.init(e,t),this._initPromiseResolve&&=(this._initPromiseResolve(),null),t.defer||typeof this._backend.stat==`function`&&this.stat(`/`).catch(e=>console.error(e))}async _gracefulShutdown(){this._operations.size>0&&(this._isShuttingDown=!0,await new Promise(e=>this._gracefulShutdownResolve=e),this._isShuttingDown=!1,this._gracefulShutdownResolve=null)}_wrap(e,t,n){return async(...r)=>{r=t(...r);let i={name:e.name,args:r};this._operations.add(i);try{return await this._activate(),await e.apply(this,r)}finally{this._operations.delete(i),n&&this._backend.saveSuperblock(),this._operations.size===0&&(this._deactivationTimeout||clearTimeout(this._deactivationTimeout),this._deactivationTimeout=setTimeout(this._deactivate.bind(this),500))}}}async _activate(){this._initPromise||console.warn(Error(`Attempted to use LightningFS ${this._name} before it was initialized.`)),await this._initPromise,this._deactivationTimeout&&=(clearTimeout(this._deactivationTimeout),null),this._deactivationPromise&&await this._deactivationPromise,this._deactivationPromise=null,this._activationPromise||=this._backend.activate?this._backend.activate():Promise.resolve(),await this._activationPromise}async _deactivate(){return this._activationPromise&&await this._activationPromise,this._deactivationPromise||=this._backend.deactivate?this._backend.deactivate():Promise.resolve(),this._activationPromise=null,this._gracefulShutdownResolve&&this._gracefulShutdownResolve(),this._deactivationPromise}async readFile(e,t){return this._backend.readFile(e,t)}async writeFile(e,t,n){return await this._backend.writeFile(e,t,n),null}async unlink(e,t){return await this._backend.unlink(e,t),null}async readdir(e,t){return this._backend.readdir(e,t)}async mkdir(e,t){return await this._backend.mkdir(e,t),null}async rmdir(e,t){return await this._backend.rmdir(e,t),null}async rename(e,t){return await this._backend.rename(e,t),null}async stat(e,t){return new r(await this._backend.stat(e,t))}async lstat(e,t){return new r(await this._backend.lstat(e,t))}async readlink(e,t){return this._backend.readlink(e,t)}async symlink(e,t){return await this._backend.symlink(e,t),null}async backFile(e,t){return await this._backend.backFile(e,t),null}async du(e){return this._backend.du(e)}async chmod(e,t){return await this._backend.chmod(e,t),null}async chown(e,t,n){return await this._backend.chown(e,t,n),null}async utimes(e,t,n){return await this._backend.utimes(e,p(t),p(n)),null}async lutimes(e,t,n){return await this._backend.lutimes(e,p(t),p(n)),null}async cp(e,t,n){return await this._backend.cp(e,t,n),null}async flush(){return this._backend.flush()}}})),Tt=s(((e,t)=>{t.exports=class{constructor(){this._map=new Map}saveSuperblock(e){this._map.set(`!root`,e)}loadSuperblock(){return this._map.get(`!root`)||null}readFile(e){return this._map.get(e)||null}writeFile(e,t){this._map.set(e,t)}unlink(e){this._map.delete(e)}async wipe(){this._map.clear()}close(){}}})),Et=s(((e,t)=>{var n=et(),r=wt(),i=Tt();function a(e,t){return typeof e==`function`&&(t=e),t=n(t),[(...e)=>t(null,...e),t]}t.exports=class{constructor(...e){this.promises=new r(...e),this.init=this.init.bind(this),this.readFile=this.readFile.bind(this),this.writeFile=this.writeFile.bind(this),this.unlink=this.unlink.bind(this),this.readdir=this.readdir.bind(this),this.mkdir=this.mkdir.bind(this),this.rmdir=this.rmdir.bind(this),this.rename=this.rename.bind(this),this.stat=this.stat.bind(this),this.lstat=this.lstat.bind(this),this.readlink=this.readlink.bind(this),this.symlink=this.symlink.bind(this),this.backFile=this.backFile.bind(this),this.du=this.du.bind(this),this.flush=this.flush.bind(this),this.chmod=this.chmod.bind(this),this.chown=this.chown.bind(this),this.utimes=this.utimes.bind(this),this.lutimes=this.lutimes.bind(this),this.cp=this.cp.bind(this)}init(e,t){return this.promises.init(e,t)}readFile(e,t,n){let[r,i]=a(t,n);this.promises.readFile(e,t).then(r).catch(i)}writeFile(e,t,n,r){let[i,o]=a(n,r);this.promises.writeFile(e,t,n).then(i).catch(o)}unlink(e,t,n){let[r,i]=a(t,n);this.promises.unlink(e,t).then(r).catch(i)}readdir(e,t,n){let[r,i]=a(t,n);this.promises.readdir(e,t).then(r).catch(i)}mkdir(e,t,n){let[r,i]=a(t,n);this.promises.mkdir(e,t).then(r).catch(i)}rmdir(e,t,n){let[r,i]=a(t,n);this.promises.rmdir(e,t).then(r).catch(i)}rename(e,t,n){let[r,i]=a(n);this.promises.rename(e,t).then(r).catch(i)}stat(e,t,n){let[r,i]=a(t,n);this.promises.stat(e).then(r).catch(i)}lstat(e,t,n){let[r,i]=a(t,n);this.promises.lstat(e).then(r).catch(i)}readlink(e,t,n){let[r,i]=a(t,n);this.promises.readlink(e).then(r).catch(i)}symlink(e,t,n){let[r,i]=a(n);this.promises.symlink(e,t).then(r).catch(i)}backFile(e,t,n){let[r,i]=a(t,n);this.promises.backFile(e,t).then(r).catch(i)}du(e,t){let[n,r]=a(t);this.promises.du(e).then(n).catch(r)}flush(e){let[t,n]=a(e);this.promises.flush().then(t).catch(n)}chmod(e,t,n){let[r,i]=a(n);this.promises.chmod(e,t).then(r).catch(i)}chown(e,t,n,r){let[i,o]=a(r);this.promises.chown(e,t,n).then(i).catch(o)}utimes(e,t,n,r){let[i,o]=a(r);this.promises.utimes(e,t,n).then(i).catch(o)}lutimes(e,t,n,r){let[i,o]=a(r);this.promises.lutimes(e,t,n).then(i).catch(o)}cp(e,t,n,r){let[i,o]=a(n,r);this.promises.cp(e,t,n).then(i).catch(o)}},t.exports.MemoryBackend=i})),Dt=s(((e,t)=>{t.exports=typeof Object.create==`function`?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),Ot=s(((e,t)=>{var n=m(),r=n.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(i(n,e),e.Buffer=a);function a(e,t,n){return r(e,t,n)}a.prototype=Object.create(r.prototype),i(r,a),a.from=function(e,t,n){if(typeof e==`number`)throw TypeError(`Argument must not be a number`);return r(e,t,n)},a.alloc=function(e,t,n){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);var i=r(e);return t===void 0?i.fill(0):typeof n==`string`?i.fill(t,n):i.fill(t),i},a.allocUnsafe=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return r(e)},a.allocUnsafeSlow=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return n.SlowBuffer(e)}})),kt=s(((e,t)=>{var n={}.toString;t.exports=Array.isArray||function(e){return n.call(e)==`[object Array]`}})),At=s(((e,t)=>{t.exports=TypeError})),jt=s(((e,t)=>{t.exports=Object})),Mt=s(((e,t)=>{t.exports=Error})),Nt=s(((e,t)=>{t.exports=EvalError})),Pt=s(((e,t)=>{t.exports=RangeError})),Ft=s(((e,t)=>{t.exports=ReferenceError})),It=s(((e,t)=>{t.exports=SyntaxError})),Lt=s(((e,t)=>{t.exports=URIError})),Rt=s(((e,t)=>{t.exports=Math.abs})),zt=s(((e,t)=>{t.exports=Math.floor})),Bt=s(((e,t)=>{t.exports=Math.max})),Vt=s(((e,t)=>{t.exports=Math.min})),Ht=s(((e,t)=>{t.exports=Math.pow})),Ut=s(((e,t)=>{t.exports=Math.round})),Wt=s(((e,t)=>{t.exports=Number.isNaN||function(e){return e!==e}})),Gt=s(((e,t)=>{var n=Wt();t.exports=function(e){return n(e)||e===0?e:e<0?-1:1}})),Kt=s(((e,t)=>{t.exports=Object.getOwnPropertyDescriptor})),qt=s(((e,t)=>{var n=Kt();if(n)try{n([],`length`)}catch{n=null}t.exports=n})),Jt=s(((e,t)=>{var n=Object.defineProperty||!1;if(n)try{n({},`a`,{value:1})}catch{n=!1}t.exports=n})),Yt=s(((e,t)=>{t.exports=function(){if(typeof Symbol!=`function`||typeof Object.getOwnPropertySymbols!=`function`)return!1;if(typeof Symbol.iterator==`symbol`)return!0;var e={},t=Symbol(`test`),n=Object(t);if(typeof t==`string`||Object.prototype.toString.call(t)!==`[object Symbol]`||Object.prototype.toString.call(n)!==`[object Symbol]`)return!1;var r=42;for(var i in e[t]=r,e)return!1;if(typeof Object.keys==`function`&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames==`function`&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor==`function`){var o=Object.getOwnPropertyDescriptor(e,t);if(o.value!==r||o.enumerable!==!0)return!1}return!0}})),Xt=s(((e,t)=>{var n=typeof Symbol<`u`&&Symbol,r=Yt();t.exports=function(){return typeof n!=`function`||typeof Symbol!=`function`||typeof n(`foo`)!=`symbol`||typeof Symbol(`bar`)!=`symbol`?!1:r()}})),Zt=s(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect.getPrototypeOf||null})),Qt=s(((e,t)=>{t.exports=jt().getPrototypeOf||null})),$t=s(((e,t)=>{var n=Object.prototype.toString,r=Math.max,i=`[object Function]`,a=function(e,t){for(var n=[],r=0;r<e.length;r+=1)n[r]=e[r];for(var i=0;i<t.length;i+=1)n[i+e.length]=t[i];return n},o=function(e,t){for(var n=[],r=t||0,i=0;r<e.length;r+=1,i+=1)n[i]=e[r];return n},s=function(e,t){for(var n=``,r=0;r<e.length;r+=1)n+=e[r],r+1<e.length&&(n+=t);return n};t.exports=function(e){var t=this;if(typeof t!=`function`||n.apply(t)!==i)throw TypeError(`Function.prototype.bind called on incompatible `+t);for(var c=o(arguments,1),l,u=function(){if(this instanceof l){var n=t.apply(this,a(c,arguments));return Object(n)===n?n:this}return t.apply(e,a(c,arguments))},d=r(0,t.length-c.length),f=[],p=0;p<d;p++)f[p]=`$`+p;if(l=Function(`binder`,`return function (`+s(f,`,`)+`){ return binder.apply(this,arguments); }`)(u),t.prototype){var m=function(){};m.prototype=t.prototype,l.prototype=new m,m.prototype=null}return l}})),en=s(((e,t)=>{var n=$t();t.exports=Function.prototype.bind||n})),tn=s(((e,t)=>{t.exports=Function.prototype.call})),nn=s(((e,t)=>{t.exports=Function.prototype.apply})),rn=s(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect&&Reflect.apply})),an=s(((e,t)=>{var n=en(),r=nn(),i=tn();t.exports=rn()||n.call(i,r)})),on=s(((e,t)=>{var n=en(),r=At(),i=tn(),a=an();t.exports=function(e){if(e.length<1||typeof e[0]!=`function`)throw new r(`a function is required`);return a(n,i,e)}})),sn=s(((e,t)=>{var n=on(),r=qt(),i;try{i=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!=`object`||!(`code`in e)||e.code!==`ERR_PROTO_ACCESS`)throw e}var a=!!i&&r&&r(Object.prototype,`__proto__`),o=Object,s=o.getPrototypeOf;t.exports=a&&typeof a.get==`function`?n([a.get]):typeof s==`function`&&function(e){return s(e==null?e:o(e))}})),cn=s(((e,t)=>{var n=Zt(),r=Qt(),i=sn();t.exports=n?function(e){return n(e)}:r?function(e){if(!e||typeof e!=`object`&&typeof e!=`function`)throw TypeError(`getProto: not an object`);return r(e)}:i?function(e){return i(e)}:null})),ln=s(((e,t)=>{var n=Function.prototype.call,r=Object.prototype.hasOwnProperty;t.exports=en().call(n,r)})),un=s(((e,t)=>{var n,r=jt(),i=Mt(),a=Nt(),o=Pt(),s=Ft(),c=It(),l=At(),u=Lt(),d=Rt(),f=zt(),p=Bt(),m=Vt(),h=Ht(),g=Ut(),_=Gt(),v=Function,y=function(e){try{return v(`"use strict"; return (`+e+`).constructor;`)()}catch{}},b=qt(),x=Jt(),S=function(){throw new l},C=b?function(){try{return arguments.callee,S}catch{try{return b(arguments,`callee`).get}catch{return S}}}():S,w=Xt()(),T=cn(),E=Qt(),ee=Zt(),te=nn(),D=tn(),ne={},O=typeof Uint8Array>`u`||!T?n:T(Uint8Array),k={__proto__:null,"%AggregateError%":typeof AggregateError>`u`?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>`u`?n:ArrayBuffer,"%ArrayIteratorPrototype%":w&&T?T([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":ne,"%AsyncGenerator%":ne,"%AsyncGeneratorFunction%":ne,"%AsyncIteratorPrototype%":ne,"%Atomics%":typeof Atomics>`u`?n:Atomics,"%BigInt%":typeof BigInt>`u`?n:BigInt,"%BigInt64Array%":typeof BigInt64Array>`u`?n:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>`u`?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>`u`?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":a,"%Float16Array%":typeof Float16Array>`u`?n:Float16Array,"%Float32Array%":typeof Float32Array>`u`?n:Float32Array,"%Float64Array%":typeof Float64Array>`u`?n:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>`u`?n:FinalizationRegistry,"%Function%":v,"%GeneratorFunction%":ne,"%Int8Array%":typeof Int8Array>`u`?n:Int8Array,"%Int16Array%":typeof Int16Array>`u`?n:Int16Array,"%Int32Array%":typeof Int32Array>`u`?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":w&&T?T(T([][Symbol.iterator]())):n,"%JSON%":typeof JSON==`object`?JSON:n,"%Map%":typeof Map>`u`?n:Map,"%MapIteratorPrototype%":typeof Map>`u`||!w||!T?n:T(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":r,"%Object.getOwnPropertyDescriptor%":b,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>`u`?n:Promise,"%Proxy%":typeof Proxy>`u`?n:Proxy,"%RangeError%":o,"%ReferenceError%":s,"%Reflect%":typeof Reflect>`u`?n:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>`u`?n:Set,"%SetIteratorPrototype%":typeof Set>`u`||!w||!T?n:T(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>`u`?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":w&&T?T(``[Symbol.iterator]()):n,"%Symbol%":w?Symbol:n,"%SyntaxError%":c,"%ThrowTypeError%":C,"%TypedArray%":O,"%TypeError%":l,"%Uint8Array%":typeof Uint8Array>`u`?n:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>`u`?n:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>`u`?n:Uint16Array,"%Uint32Array%":typeof Uint32Array>`u`?n:Uint32Array,"%URIError%":u,"%WeakMap%":typeof WeakMap>`u`?n:WeakMap,"%WeakRef%":typeof WeakRef>`u`?n:WeakRef,"%WeakSet%":typeof WeakSet>`u`?n:WeakSet,"%Function.prototype.call%":D,"%Function.prototype.apply%":te,"%Object.defineProperty%":x,"%Object.getPrototypeOf%":E,"%Math.abs%":d,"%Math.floor%":f,"%Math.max%":p,"%Math.min%":m,"%Math.pow%":h,"%Math.round%":g,"%Math.sign%":_,"%Reflect.getPrototypeOf%":ee};if(T)try{null.error}catch(e){k[`%Error.prototype%`]=T(T(e))}var re=function e(t){var n;if(t===`%AsyncFunction%`)n=y(`async function () {}`);else if(t===`%GeneratorFunction%`)n=y(`function* () {}`);else if(t===`%AsyncGeneratorFunction%`)n=y(`async function* () {}`);else if(t===`%AsyncGenerator%`){var r=e(`%AsyncGeneratorFunction%`);r&&(n=r.prototype)}else if(t===`%AsyncIteratorPrototype%`){var i=e(`%AsyncGenerator%`);i&&T&&(n=T(i.prototype))}return k[t]=n,n},ie={__proto__:null,"%ArrayBufferPrototype%":[`ArrayBuffer`,`prototype`],"%ArrayPrototype%":[`Array`,`prototype`],"%ArrayProto_entries%":[`Array`,`prototype`,`entries`],"%ArrayProto_forEach%":[`Array`,`prototype`,`forEach`],"%ArrayProto_keys%":[`Array`,`prototype`,`keys`],"%ArrayProto_values%":[`Array`,`prototype`,`values`],"%AsyncFunctionPrototype%":[`AsyncFunction`,`prototype`],"%AsyncGenerator%":[`AsyncGeneratorFunction`,`prototype`],"%AsyncGeneratorPrototype%":[`AsyncGeneratorFunction`,`prototype`,`prototype`],"%BooleanPrototype%":[`Boolean`,`prototype`],"%DataViewPrototype%":[`DataView`,`prototype`],"%DatePrototype%":[`Date`,`prototype`],"%ErrorPrototype%":[`Error`,`prototype`],"%EvalErrorPrototype%":[`EvalError`,`prototype`],"%Float32ArrayPrototype%":[`Float32Array`,`prototype`],"%Float64ArrayPrototype%":[`Float64Array`,`prototype`],"%FunctionPrototype%":[`Function`,`prototype`],"%Generator%":[`GeneratorFunction`,`prototype`],"%GeneratorPrototype%":[`GeneratorFunction`,`prototype`,`prototype`],"%Int8ArrayPrototype%":[`Int8Array`,`prototype`],"%Int16ArrayPrototype%":[`Int16Array`,`prototype`],"%Int32ArrayPrototype%":[`Int32Array`,`prototype`],"%JSONParse%":[`JSON`,`parse`],"%JSONStringify%":[`JSON`,`stringify`],"%MapPrototype%":[`Map`,`prototype`],"%NumberPrototype%":[`Number`,`prototype`],"%ObjectPrototype%":[`Object`,`prototype`],"%ObjProto_toString%":[`Object`,`prototype`,`toString`],"%ObjProto_valueOf%":[`Object`,`prototype`,`valueOf`],"%PromisePrototype%":[`Promise`,`prototype`],"%PromiseProto_then%":[`Promise`,`prototype`,`then`],"%Promise_all%":[`Promise`,`all`],"%Promise_reject%":[`Promise`,`reject`],"%Promise_resolve%":[`Promise`,`resolve`],"%RangeErrorPrototype%":[`RangeError`,`prototype`],"%ReferenceErrorPrototype%":[`ReferenceError`,`prototype`],"%RegExpPrototype%":[`RegExp`,`prototype`],"%SetPrototype%":[`Set`,`prototype`],"%SharedArrayBufferPrototype%":[`SharedArrayBuffer`,`prototype`],"%StringPrototype%":[`String`,`prototype`],"%SymbolPrototype%":[`Symbol`,`prototype`],"%SyntaxErrorPrototype%":[`SyntaxError`,`prototype`],"%TypedArrayPrototype%":[`TypedArray`,`prototype`],"%TypeErrorPrototype%":[`TypeError`,`prototype`],"%Uint8ArrayPrototype%":[`Uint8Array`,`prototype`],"%Uint8ClampedArrayPrototype%":[`Uint8ClampedArray`,`prototype`],"%Uint16ArrayPrototype%":[`Uint16Array`,`prototype`],"%Uint32ArrayPrototype%":[`Uint32Array`,`prototype`],"%URIErrorPrototype%":[`URIError`,`prototype`],"%WeakMapPrototype%":[`WeakMap`,`prototype`],"%WeakSetPrototype%":[`WeakSet`,`prototype`]},ae=en(),oe=ln(),se=ae.call(D,Array.prototype.concat),ce=ae.call(te,Array.prototype.splice),le=ae.call(D,String.prototype.replace),A=ae.call(D,String.prototype.slice),ue=ae.call(D,RegExp.prototype.exec),de=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,j=/\\(\\)?/g,fe=function(e){var t=A(e,0,1),n=A(e,-1);if(t===`%`&&n!==`%`)throw new c("invalid intrinsic syntax, expected closing `%`");if(n===`%`&&t!==`%`)throw new c("invalid intrinsic syntax, expected opening `%`");var r=[];return le(e,de,function(e,t,n,i){r[r.length]=n?le(i,j,`$1`):t||e}),r},pe=function(e,t){var n=e,r;if(oe(ie,n)&&(r=ie[n],n=`%`+r[0]+`%`),oe(k,n)){var i=k[n];if(i===ne&&(i=re(n)),i===void 0&&!t)throw new l(`intrinsic `+e+` exists, but is not available. Please file an issue!`);return{alias:r,name:n,value:i}}throw new c(`intrinsic `+e+` does not exist!`)};t.exports=function(e,t){if(typeof e!=`string`||e.length===0)throw new l(`intrinsic name must be a non-empty string`);if(arguments.length>1&&typeof t!=`boolean`)throw new l(`"allowMissing" argument must be a boolean`);if(ue(/^%?[^%]*%?$/,e)===null)throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=fe(e),r=n.length>0?n[0]:``,i=pe(`%`+r+`%`,t),a=i.name,o=i.value,s=!1,u=i.alias;u&&(r=u[0],ce(n,se([0,1],u)));for(var d=1,f=!0;d<n.length;d+=1){var p=n[d],m=A(p,0,1),h=A(p,-1);if((m===`"`||m===`'`||m==="`"||h===`"`||h===`'`||h==="`")&&m!==h)throw new c(`property names with quotes must have matching quotes`);if(p!==`constructor`&&f||(s=!0),r+=`.`+p,a=`%`+r+`%`,oe(k,a))o=k[a];else if(o!=null){if(!(p in o)){if(!t)throw new l(`base intrinsic for `+e+` exists, but the property is not available.`);return}if(b&&d+1>=n.length){var g=b(o,p);f=!!g,o=f&&`get`in g&&!(`originalValue`in g.get)?g.get:o[p]}else f=oe(o,p),o=o[p];f&&!s&&(k[a]=o)}}return o}})),dn=s(((e,t)=>{var n=un(),r=on(),i=r([n(`%String.prototype.indexOf%`)]);t.exports=function(e,t){var a=n(e,!!t);return typeof a==`function`&&i(e,`.prototype.`)>-1?r([a]):a}})),fn=s(((e,t)=>{var n=Function.prototype.toString,r=typeof Reflect==`object`&&Reflect!==null&&Reflect.apply,i,a;if(typeof r==`function`&&typeof Object.defineProperty==`function`)try{i=Object.defineProperty({},"length",{get:function(){throw a}}),a={},r(function(){throw 42},null,i)}catch(e){e!==a&&(r=null)}else r=null;var o=/^\s*class\b/,s=function(e){try{var t=n.call(e);return o.test(t)}catch{return!1}},c=function(e){try{return!s(e)&&(n.call(e),!0)}catch{return!1}},l=Object.prototype.toString,u=`[object Object]`,d=`[object Function]`,f=`[object GeneratorFunction]`,p=`[object HTMLAllCollection]`,m=`[object HTML document.all class]`,h=`[object HTMLCollection]`,g=typeof Symbol==`function`&&!!Symbol.toStringTag,_=!(0 in[,]),v=function(){return!1};if(typeof document==`object`){var y=document.all;l.call(y)===l.call(document.all)&&(v=function(e){if((_||!e)&&(e===void 0||typeof e==`object`))try{var t=l.call(e);return(t===p||t===m||t===h||t===u)&&e(``)==null}catch{}return!1})}t.exports=r?function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;try{r(e,null,i)}catch(e){if(e!==a)return!1}return!s(e)&&c(e)}:function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;if(g)return c(e);if(s(e))return!1;var t=l.call(e);return t!==d&&t!==f&&!/^\[object HTML/.test(t)?!1:c(e)}})),pn=s(((e,t)=>{var n=fn(),r=Object.prototype.toString,i=Object.prototype.hasOwnProperty,a=function(e,t,n){for(var r=0,a=e.length;r<a;r++)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))},o=function(e,t,n){for(var r=0,i=e.length;r<i;r++)n==null?t(e.charAt(r),r,e):t.call(n,e.charAt(r),r,e)},s=function(e,t,n){for(var r in e)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))};function c(e){return r.call(e)===`[object Array]`}t.exports=function(e,t,r){if(!n(t))throw TypeError(`iterator must be a function`);var i;arguments.length>=3&&(i=r),c(e)?a(e,t,i):typeof e==`string`?o(e,t,i):s(e,t,i)}})),mn=s(((e,t)=>{t.exports=[`Float16Array`,`Float32Array`,`Float64Array`,`Int8Array`,`Int16Array`,`Int32Array`,`Uint8Array`,`Uint8ClampedArray`,`Uint16Array`,`Uint32Array`,`BigInt64Array`,`BigUint64Array`]})),hn=s(((e,t)=>{var n=mn(),r=typeof globalThis>`u`?global:globalThis;t.exports=function(){for(var e=[],t=0;t<n.length;t++)typeof r[n[t]]==`function`&&(e[e.length]=n[t]);return e}})),gn=s(((e,t)=>{var n=Jt(),r=It(),i=At(),a=qt();t.exports=function(e,t,o){if(!e||typeof e!=`object`&&typeof e!=`function`)throw new i("`obj` must be an object or a function`");if(typeof t!=`string`&&typeof t!=`symbol`)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!=`boolean`&&arguments[3]!==null)throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!=`boolean`&&arguments[4]!==null)throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!=`boolean`&&arguments[5]!==null)throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!=`boolean`)throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],d=!!a&&a(e,t);if(n)n(e,t,{configurable:l===null&&d?d.configurable:!l,enumerable:s===null&&d?d.enumerable:!s,value:o,writable:c===null&&d?d.writable:!c});else if(u||!s&&!c&&!l)e[t]=o;else throw new r(`This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.`)}})),_n=s(((e,t)=>{var n=Jt(),r=function(){return!!n};r.hasArrayLengthDefineBug=function(){if(!n)return null;try{return n([],`length`,{value:1}).length!==1}catch{return!0}},t.exports=r})),vn=s(((e,t)=>{var n=un(),r=gn(),i=_n()(),a=qt(),o=At(),s=n(`%Math.floor%`);t.exports=function(e,t){if(typeof e!=`function`)throw new o("`fn` is not a function");if(typeof t!=`number`||t<0||t>4294967295||s(t)!==t)throw new o("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],c=!0,l=!0;if(`length`in e&&a){var u=a(e,`length`);u&&!u.configurable&&(c=!1),u&&!u.writable&&(l=!1)}return(c||l||!n)&&(i?r(e,`length`,t,!0,!0):r(e,`length`,t)),e}})),yn=s(((e,t)=>{var n=en(),r=nn(),i=an();t.exports=function(){return i(n,r,arguments)}})),bn=s(((e,t)=>{var n=vn(),r=Jt(),i=on(),a=yn();t.exports=function(e){var t=i(arguments),r=1+e.length-(arguments.length-1);return n(t,r>0?r:0,!0)},r?r(t.exports,`apply`,{value:a}):t.exports.apply=a})),xn=s(((e,t)=>{var n=Yt();t.exports=function(){return n()&&!!Symbol.toStringTag}})),Sn=s(((e,t)=>{var n=pn(),r=hn(),i=bn(),a=dn(),o=qt(),s=cn(),c=a(`Object.prototype.toString`),l=xn()(),u=typeof globalThis>`u`?global:globalThis,d=r(),f=a(`String.prototype.slice`),p=a(`Array.prototype.indexOf`,!0)||function(e,t){for(var n=0;n<e.length;n+=1)if(e[n]===t)return n;return-1},m={__proto__:null};l&&o&&s?n(d,function(e){var t=new u[e];if(Symbol.toStringTag in t&&s){var n=s(t),r=o(n,Symbol.toStringTag);if(!r&&n&&(r=o(s(n),Symbol.toStringTag)),r&&r.get){var a=i(r.get);m[`$`+e]=a}}}):n(d,function(e){var t=new u[e],n=t.slice||t.set;if(n){var r=i(n);m[`$`+e]=r}});function h(e){var t=!1;return n(m,function(n,r){if(!t)try{`$`+n(e)===r&&(t=f(r,1))}catch{}}),t}function g(e){var t=!1;return n(m,function(n,r){if(!t)try{n(e),t=f(r,1)}catch{}}),t}function _(e){return p(d,e)>-1}function v(e){if(!e||typeof e!=`object`)return!1;if(!l){var t=f(c(e),8,-1);return _(t)?t:t===`Object`&&g(e)}return o?h(e):null}t.exports=v})),Cn=s(((e,t)=>{var n=Sn();t.exports=function(e){return!!n(e)}})),wn=s(((e,t)=>{var n=At(),r=dn()(`TypedArray.prototype.buffer`,!0),i=Cn();t.exports=r||function(e){if(!i(e))throw new n(`Not a Typed Array`);return e.buffer}})),Tn=s(((e,t)=>{var n=Ot().Buffer,r=kt(),i=wn(),a=ArrayBuffer.isView||function(e){try{return i(e),!0}catch{return!1}},o=typeof Uint8Array<`u`,s=typeof ArrayBuffer<`u`&&typeof Uint8Array<`u`,c=s&&(n.prototype instanceof Uint8Array||n.TYPED_ARRAY_SUPPORT);t.exports=function(e,t){if(n.isBuffer(e))return e.constructor&&!(`isBuffer`in e)?n.from(e):e;if(typeof e==`string`)return n.from(e,t);if(s&&a(e)){if(e.byteLength===0)return n.alloc(0);if(c){var i=n.from(e.buffer,e.byteOffset,e.byteLength);if(i.byteLength===e.byteLength)return i}var l=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),u=n.from(l);if(u.length===e.byteLength)return u}if(o&&e instanceof Uint8Array)return n.from(e);var d=r(e);if(d)for(var f=0;f<e.length;f+=1){var p=e[f];if(typeof p!=`number`||p<0||p>255||~~p!==p)throw RangeError(`Array items must be numbers in the range 0-255.`)}if(d||n.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer==`function`&&e.constructor.isBuffer(e))return n.from(e);throw TypeError(`The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.`)}})),En=s(((e,t)=>{var n=Ot().Buffer,r=Tn();function i(e,t){this._block=n.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){e=r(e,t||`utf8`);for(var n=this._block,i=this._blockSize,a=e.length,o=this._len,s=0;s<a;){for(var c=o%i,l=Math.min(a-s,i-c),u=0;u<l;u++)n[c+u]=e[s+u];o+=l,s+=l,o%i===0&&this._update(n)}return this._len+=a,this},i.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=this._len*8;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(n|0)>>>0,i=(n-r)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var a=this._hash();return e?a.toString(e):a},i.prototype._update=function(){throw Error(`_update must be implemented by subclass`)},t.exports=i})),Dn=s(((e,t)=>{var n=Dt(),r=En(),i=Ot().Buffer,a=[1518500249,1859775393,-1894007588,-899497514],o=Array(80);function s(){this.init(),this._w=o,r.call(this,64,56)}n(s,r),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function c(e){return e<<1|e>>>31}function l(e){return e<<5|e>>>27}function u(e){return e<<30|e>>>2}function d(e,t,n,r){return e===0?t&n|~t&r:e===2?t&n|t&r|n&r:t^n^r}s.prototype._update=function(e){for(var t=this._w,n=this._a|0,r=this._b|0,i=this._c|0,o=this._d|0,s=this._e|0,f=0;f<16;++f)t[f]=e.readInt32BE(f*4);for(;f<80;++f)t[f]=c(t[f-3]^t[f-8]^t[f-14]^t[f-16]);for(var p=0;p<80;++p){var m=~~(p/20),h=l(n)+d(m,r,i,o)+s+t[p]+a[m]|0;s=o,o=i,i=u(r),r=n,n=h}this._a=n+this._a|0,this._b=r+this._b|0,this._c=i+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0},s.prototype._hash=function(){var e=i.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e},t.exports=s})),On=s(((e,t)=>{var n=function(e){if(e||={},this.Promise=e.Promise||Promise,this.queues=Object.create(null),this.domainReentrant=e.domainReentrant||!1,this.domainReentrant){if(typeof process>`u`||process.domain===void 0)throw Error("Domain-reentrant locks require `process.domain` to exist. Please flip `opts.domainReentrant = false`, use a NodeJS version that still implements Domain, or install a browser polyfill.");this.domains=Object.create(null)}this.timeout=e.timeout||n.DEFAULT_TIMEOUT,this.maxOccupationTime=e.maxOccupationTime||n.DEFAULT_MAX_OCCUPATION_TIME,this.maxExecutionTime=e.maxExecutionTime||n.DEFAULT_MAX_EXECUTION_TIME,this.maxPending=e.maxPending===1/0||Number.isInteger(e.maxPending)&&e.maxPending>=0?e.maxPending:n.DEFAULT_MAX_PENDING};n.DEFAULT_TIMEOUT=0,n.DEFAULT_MAX_OCCUPATION_TIME=0,n.DEFAULT_MAX_EXECUTION_TIME=0,n.DEFAULT_MAX_PENDING=1e3,n.prototype.acquire=function(e,t,n,r){if(Array.isArray(e))return this._acquireBatch(e,t,n,r);if(typeof t!=`function`)throw Error(`You must pass a function to execute`);var i=null,a=null,o=null;typeof n!=`function`&&(r=n,n=null,o=new this.Promise(function(e,t){i=e,a=t})),r||={};var s=!1,c=null,l=null,u=null,d=this,f=function(t,r,c){l&&=(clearTimeout(l),null),u&&=(clearTimeout(u),null),t&&(d.queues[e]&&d.queues[e].length===0&&delete d.queues[e],d.domainReentrant&&delete d.domains[e]),s||=(o?r?a(r):i(c):typeof n==`function`&&n(r,c),!0),t&&d.queues[e]&&d.queues[e].length>0&&d.queues[e].shift()()},p=function(n){if(s)return f(n);c&&=(clearTimeout(c),null),d.domainReentrant&&n&&(d.domains[e]=process.domain);var i=r.maxExecutionTime||d.maxExecutionTime;if(i&&(u=setTimeout(function(){d.queues[e]&&f(n,Error(`Maximum execution time is exceeded `+e))},i)),t.length===1){var a=!1;try{t(function(e,t){a||(a=!0,f(n,e,t))})}catch(e){a||(a=!0,f(n,e))}}else d._promiseTry(function(){return t()}).then(function(e){f(n,void 0,e)},function(e){f(n,e)})};d.domainReentrant&&process.domain&&(p=process.domain.bind(p));var m=r.maxPending||d.maxPending;if(!d.queues[e])d.queues[e]=[],p(!0);else if(d.domainReentrant&&process.domain&&process.domain===d.domains[e])p(!1);else if(d.queues[e].length>=m)f(!1,Error(`Too many pending tasks in queue `+e));else{var h=function(){p(!0)};r.skipQueue?d.queues[e].unshift(h):d.queues[e].push(h);var g=r.timeout||d.timeout;g&&(c=setTimeout(function(){c=null,f(!1,Error(`async-lock timed out in queue `+e))},g))}var _=r.maxOccupationTime||d.maxOccupationTime;if(_&&(l=setTimeout(function(){d.queues[e]&&f(!1,Error(`Maximum occupation time is exceeded in queue `+e))},_)),o)return o},n.prototype._acquireBatch=function(e,t,n,r){typeof n!=`function`&&(r=n,n=null);var i=this,a=function(e,t){return function(n){i.acquire(e,t,n,r)}},o=e.reduceRight(function(e,t){return a(t,e)},t);if(typeof n==`function`)o(n);else return new this.Promise(function(e,t){o.length===1?o(function(n,r){n?t(n):e(r)}):e(o())})},n.prototype.isBusy=function(e){return e?!!this.queues[e]:Object.keys(this.queues).length>0},n.prototype._promiseTry=function(e){try{return this.Promise.resolve(e())}catch(e){return this.Promise.reject(e)}},t.exports=n})),kn=s(((e,t)=>{t.exports=On()})),An=s(((e,t)=>{function n(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function r(e,t,r){return t=t instanceof RegExp?t:new RegExp(n(t),`g`),e.replace(t,r)}t.exports={clean:function(e){if(typeof e!=`string`)throw Error(`Expected a string, received: `+e);return e=r(e,`./`,`/`),e=r(e,`..`,`.`),e=r(e,` `,`-`),e=r(e,/^[~^:?*\\\-]/g,``),e=r(e,/[~^:?*\\]/g,`-`),e=r(e,/[~^:?*\\\-]$/g,``),e=r(e,`@{`,`-`),e=r(e,/\.$/g,``),e=r(e,/\/$/g,``),e=r(e,/\.lock$/g,``),e}}})),jn=s((e=>{(function(t){typeof DO_NOT_EXPORT_CRC>`u`?typeof e==`object`?t(e):typeof define==`function`&&define.amd?define(function(){var e={};return t(e),e}):t({}):t({})})(function(e){e.version=`1.2.2`;function t(){for(var e=0,t=Array(256),n=0;n!=256;++n)e=n,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,t[n]=e;return typeof Int32Array<`u`?new Int32Array(t):t}var n=t();function r(e){var t=0,n=0,r=0,i=typeof Int32Array<`u`?new Int32Array(4096):Array(4096);for(r=0;r!=256;++r)i[r]=e[r];for(r=0;r!=256;++r)for(n=e[r],t=256+r;t<4096;t+=256)n=i[t]=n>>>8^e[n&255];var a=[];for(r=1;r!=16;++r)a[r-1]=typeof Int32Array<`u`?i.subarray(r*256,r*256+256):i.slice(r*256,r*256+256);return a}var i=r(n),a=i[0],o=i[1],s=i[2],c=i[3],l=i[4],u=i[5],d=i[6],f=i[7],p=i[8],m=i[9],h=i[10],g=i[11],_=i[12],v=i[13],y=i[14];function b(e,t){for(var r=t^-1,i=0,a=e.length;i<a;)r=r>>>8^n[(r^e.charCodeAt(i++))&255];return~r}function x(e,t){for(var r=t^-1,i=e.length-15,b=0;b<i;)r=y[e[b++]^r&255]^v[e[b++]^r>>8&255]^_[e[b++]^r>>16&255]^g[e[b++]^r>>>24]^h[e[b++]]^m[e[b++]]^p[e[b++]]^f[e[b++]]^d[e[b++]]^u[e[b++]]^l[e[b++]]^c[e[b++]]^s[e[b++]]^o[e[b++]]^a[e[b++]]^n[e[b++]];for(i+=15;b<i;)r=r>>>8^n[(r^e[b++])&255];return~r}function S(e,t){for(var r=t^-1,i=0,a=e.length,o=0,s=0;i<a;)o=e.charCodeAt(i++),o<128?r=r>>>8^n[(r^o)&255]:o<2048?(r=r>>>8^n[(r^(192|o>>6&31))&255],r=r>>>8^n[(r^(128|o&63))&255]):o>=55296&&o<57344?(o=(o&1023)+64,s=e.charCodeAt(i++)&1023,r=r>>>8^n[(r^(240|o>>8&7))&255],r=r>>>8^n[(r^(128|o>>2&63))&255],r=r>>>8^n[(r^(128|s>>6&15|(o&3)<<4))&255],r=r>>>8^n[(r^(128|s&63))&255]):(r=r>>>8^n[(r^(224|o>>12&15))&255],r=r>>>8^n[(r^(128|o>>6&63))&255],r=r>>>8^n[(r^(128|o&63))&255]);return~r}e.table=n,e.bstr=b,e.buf=x,e.str=S})})),Mn=s((e=>{var t=typeof Uint8Array<`u`&&typeof Uint16Array<`u`&&typeof Int32Array<`u`;function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(typeof r!=`object`)throw TypeError(r+`must be non-object`);for(var i in r)n(r,i)&&(e[i]=r[i])}}return e},e.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,r,i){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+r),i);else for(var a=0;a<r;a++)e[i+a]=t[n+a]},flattenChunks:function(e){var t,n,r=0,i,a,o;for(t=0,n=e.length;t<n;t++)r+=e[t].length;for(o=new Uint8Array(r),i=0,t=0,n=e.length;t<n;t++)a=e[t],o.set(a,i),i+=a.length;return o}},i={arraySet:function(e,t,n,r,i){for(var a=0;a<r;a++)e[i+a]=t[n+a]},flattenChunks:function(e){return[].concat.apply([],e)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,r)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,i))},e.setTyped(t)})),Nn=s((e=>{var t=Mn(),n=4,r=0,i=1,a=2;function o(e){for(var t=e.length;--t>=0;)e[t]=0}var s=0,c=1,l=2,u=3,d=258,f=29,p=256,m=p+1+f,h=30,g=19,_=2*m+1,v=15,y=16,b=7,x=256,S=16,C=17,w=18,T=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],E=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ee=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],te=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],D=512,ne=Array((m+2)*2);o(ne);var O=Array(h*2);o(O);var k=Array(D);o(k);var re=Array(d-u+1);o(re);var ie=Array(f);o(ie);var ae=Array(h);o(ae);function oe(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}var se,ce,le;function A(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function ue(e){return e<256?k[e]:k[256+(e>>>7)]}function de(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function j(e,t,n){e.bi_valid>y-n?(e.bi_buf|=t<<e.bi_valid&65535,de(e,e.bi_buf),e.bi_buf=t>>y-e.bi_valid,e.bi_valid+=n-y):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function fe(e,t,n){j(e,n[t*2],n[t*2+1])}function pe(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function me(e){e.bi_valid===16?(de(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function he(e,t){var n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=v;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<_;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}}function ge(e,t,n){for(var r=Array(v+1),i=0,a=1,o;a<=v;a++)r[a]=i=i+n[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=pe(r[s]++,s))}}function _e(){var e,t,n,r,i,a=Array(v+1);for(n=0,r=0;r<f-1;r++)for(ie[r]=n,e=0;e<1<<T[r];e++)re[n++]=r;for(re[n-1]=r,i=0,r=0;r<16;r++)for(ae[r]=i,e=0;e<1<<E[r];e++)k[i++]=r;for(i>>=7;r<h;r++)for(ae[r]=i<<7,e=0;e<1<<E[r]-7;e++)k[256+i++]=r;for(t=0;t<=v;t++)a[t]=0;for(e=0;e<=143;)ne[e*2+1]=8,e++,a[8]++;for(;e<=255;)ne[e*2+1]=9,e++,a[9]++;for(;e<=279;)ne[e*2+1]=7,e++,a[7]++;for(;e<=287;)ne[e*2+1]=8,e++,a[8]++;for(ge(ne,m+1,a),e=0;e<h;e++)O[e*2+1]=5,O[e*2]=pe(e,5);se=new oe(ne,T,p+1,m,v),ce=new oe(O,E,0,h,v),le=new oe([],ee,0,g,b)}function ve(e){for(var t=0;t<m;t++)e.dyn_ltree[t*2]=0;for(t=0;t<h;t++)e.dyn_dtree[t*2]=0;for(t=0;t<g;t++)e.bl_tree[t*2]=0;e.dyn_ltree[x*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function ye(e){e.bi_valid>8?de(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function be(e,n,r,i){ye(e),i&&(de(e,r),de(e,~r)),t.arraySet(e.pending_buf,e.window,n,r,e.pending),e.pending+=r}function M(e,t,n,r){var i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]}function N(e,t,n){for(var r=e.heap[n],i=n<<1;i<=e.heap_len&&(i<e.heap_len&&M(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!M(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r}function xe(e,t,n){var r,i,a=0,o,s;if(e.last_lit!==0)do r=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],i=e.pending_buf[e.l_buf+a],a++,r===0?fe(e,i,t):(o=re[i],fe(e,o+p+1,t),s=T[o],s!==0&&(i-=ie[o],j(e,i,s)),r--,o=ue(r),fe(e,o,n),s=E[o],s!==0&&(r-=ae[o],j(e,r,s)));while(a<e.last_lit);fe(e,x,t)}function Se(e,t){var n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=_,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)N(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],N(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,N(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],he(e,t),ge(n,c,e.bl_count)}function P(e,t,n){var r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)&&(s<l?e.bl_tree[a*2]+=s:a===0?s<=10?e.bl_tree[C*2]++:e.bl_tree[w*2]++:(a!==i&&e.bl_tree[a*2]++,e.bl_tree[S*2]++),s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4))}function Ce(e,t,n){var r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)){if(s<l)do fe(e,a,e.bl_tree);while(--s!==0);else a===0?s<=10?(fe(e,C,e.bl_tree),j(e,s-3,3)):(fe(e,w,e.bl_tree),j(e,s-11,7)):(a!==i&&(fe(e,a,e.bl_tree),s--),fe(e,S,e.bl_tree),j(e,s-3,2));s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4)}}function F(e){var t;for(P(e,e.dyn_ltree,e.l_desc.max_code),P(e,e.dyn_dtree,e.d_desc.max_code),Se(e,e.bl_desc),t=g-1;t>=3&&e.bl_tree[te[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function I(e,t,n,r){var i;for(j(e,t-257,5),j(e,n-1,5),j(e,r-4,4),i=0;i<r;i++)j(e,e.bl_tree[te[i]*2+1],3);Ce(e,e.dyn_ltree,t-1),Ce(e,e.dyn_dtree,n-1)}function L(e){for(var t=4093624447,n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return r;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return i;for(n=32;n<p;n++)if(e.dyn_ltree[n*2]!==0)return i;return r}var R=!1;function we(e){R||=(_e(),!0),e.l_desc=new A(e.dyn_ltree,se),e.d_desc=new A(e.dyn_dtree,ce),e.bl_desc=new A(e.bl_tree,le),e.bi_buf=0,e.bi_valid=0,ve(e)}function z(e,t,n,r){j(e,(s<<1)+ +!!r,3),be(e,t,n,!0)}function Te(e){j(e,c<<1,3),fe(e,x,ne),me(e)}function Ee(e,t,r,i){var o,s,u=0;e.level>0?(e.strm.data_type===a&&(e.strm.data_type=L(e)),Se(e,e.l_desc),Se(e,e.d_desc),u=F(e),o=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=o&&(o=s)):o=s=r+5,r+4<=o&&t!==-1?z(e,t,r,i):e.strategy===n||s===o?(j(e,(c<<1)+ +!!i,3),xe(e,ne,O)):(j(e,(l<<1)+ +!!i,3),I(e,e.l_desc.max_code+1,e.d_desc.max_code+1,u+1),xe(e,e.dyn_ltree,e.dyn_dtree)),ve(e),i&&ye(e)}function B(e,t,n){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(re[n]+p+1)*2]++,e.dyn_dtree[ue(t)*2]++),e.last_lit===e.lit_bufsize-1}e._tr_init=we,e._tr_stored_block=z,e._tr_flush_block=Ee,e._tr_tally=B,e._tr_align=Te})),Pn=s(((e,t)=>{function n(e,t,n,r){for(var i=e&65535,a=e>>>16&65535,o=0;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16}t.exports=n})),Fn=s(((e,t)=>{function n(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}var r=n();function i(e,t,n,i){var a=r,o=i+n;e^=-1;for(var s=i;s<o;s++)e=e>>>8^a[(e^t[s])&255];return e^-1}t.exports=i})),In=s(((e,t)=>{t.exports={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`}})),Ln=s((e=>{var t=Mn(),n=Nn(),r=Pn(),i=Fn(),a=In(),o=0,s=1,c=3,l=4,u=5,d=0,f=1,p=-2,m=-3,h=-5,g=-1,_=1,v=2,y=3,b=4,x=0,S=2,C=8,w=9,T=15,E=8,ee=286,te=30,D=19,ne=2*ee+1,O=15,k=3,re=258,ie=re+k+1,ae=32,oe=42,se=69,ce=73,le=91,A=103,ue=113,de=666,j=1,fe=2,pe=3,me=4,he=3;function ge(e,t){return e.msg=a[t],t}function _e(e){return(e<<1)-(e>4?9:0)}function ve(e){for(var t=e.length;--t>=0;)e[t]=0}function ye(e){var n=e.state,r=n.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(t.arraySet(e.output,n.pending_buf,n.pending_out,r,e.next_out),e.next_out+=r,n.pending_out+=r,e.total_out+=r,e.avail_out-=r,n.pending-=r,n.pending===0&&(n.pending_out=0))}function be(e,t){n._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ye(e.strm)}function M(e,t){e.pending_buf[e.pending++]=t}function N(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function xe(e,n,a,o){var s=e.avail_in;return s>o&&(s=o),s===0?0:(e.avail_in-=s,t.arraySet(n,e.input,e.next_in,s,a),e.state.wrap===1?e.adler=r(e.adler,n,s,a):e.state.wrap===2&&(e.adler=i(e.adler,n,s,a)),e.next_in+=s,e.total_in+=s,s)}function Se(e,t){var n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-ie?e.strstart-(e.w_size-ie):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+re,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do if(i=t,l[i+o]===m&&l[i+o-1]===p&&l[i]===l[r]&&l[++i]===l[r+1]){r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(a=re-(f-r),r=f-re,a>o){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead}function P(e){var n=e.w_size,r,i,a,o,s;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=n+(n-ie)){t.arraySet(e.window,e.window,n,n,0),e.match_start-=n,e.strstart-=n,e.block_start-=n,i=e.hash_size,r=i;do a=e.head[--r],e.head[r]=a>=n?a-n:0;while(--i);i=n,r=i;do a=e.prev[--r],e.prev[r]=a>=n?a-n:0;while(--i);o+=n}if(e.strm.avail_in===0)break;if(i=xe(e.strm,e.window,e.strstart+e.lookahead,o),e.lookahead+=i,e.lookahead+e.insert>=k)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+k-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<k)););}while(e.lookahead<ie&&e.strm.avail_in!==0)}function Ce(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(P(e),e.lookahead===0&&t===o)return j;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,be(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-ie&&(be(e,!1),e.strm.avail_out===0))return j}return e.insert=0,t===l?(be(e,!0),e.strm.avail_out===0?pe:me):(e.strstart>e.block_start&&(be(e,!1),e.strm.avail_out),j)}function F(e,t){for(var r,i;;){if(e.lookahead<ie){if(P(e),e.lookahead<ie&&t===o)return j;if(e.lookahead===0)break}if(r=0,e.lookahead>=k&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-ie&&(e.match_length=Se(e,r)),e.match_length>=k){if(i=n._tr_tally(e,e.strstart-e.match_start,e.match_length-k),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=k){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask}else i=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(be(e,!1),e.strm.avail_out===0))return j}return e.insert=e.strstart<k-1?e.strstart:k-1,t===l?(be(e,!0),e.strm.avail_out===0?pe:me):e.last_lit&&(be(e,!1),e.strm.avail_out===0)?j:fe}function I(e,t){for(var r,i,a;;){if(e.lookahead<ie){if(P(e),e.lookahead<ie&&t===o)return j;if(e.lookahead===0)break}if(r=0,e.lookahead>=k&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=k-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-ie&&(e.match_length=Se(e,r),e.match_length<=5&&(e.strategy===_||e.match_length===k&&e.strstart-e.match_start>4096)&&(e.match_length=k-1)),e.prev_length>=k&&e.match_length<=e.prev_length){a=e.strstart+e.lookahead-k,i=n._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-k),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=a&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=k-1,e.strstart++,i&&(be(e,!1),e.strm.avail_out===0))return j}else if(e.match_available){if(i=n._tr_tally(e,0,e.window[e.strstart-1]),i&&be(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return j}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&=(i=n._tr_tally(e,0,e.window[e.strstart-1]),0),e.insert=e.strstart<k-1?e.strstart:k-1,t===l?(be(e,!0),e.strm.avail_out===0?pe:me):e.last_lit&&(be(e,!1),e.strm.avail_out===0)?j:fe}function L(e,t){for(var r,i,a,s,c=e.window;;){if(e.lookahead<=re){if(P(e),e.lookahead<=re&&t===o)return j;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=k&&e.strstart>0&&(a=e.strstart-1,i=c[a],i===c[++a]&&i===c[++a]&&i===c[++a])){s=e.strstart+re;do;while(i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&a<s);e.match_length=re-(s-a),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=k?(r=n._tr_tally(e,1,e.match_length-k),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(be(e,!1),e.strm.avail_out===0))return j}return e.insert=0,t===l?(be(e,!0),e.strm.avail_out===0?pe:me):e.last_lit&&(be(e,!1),e.strm.avail_out===0)?j:fe}function R(e,t){for(var r;;){if(e.lookahead===0&&(P(e),e.lookahead===0)){if(t===o)return j;break}if(e.match_length=0,r=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(be(e,!1),e.strm.avail_out===0))return j}return e.insert=0,t===l?(be(e,!0),e.strm.avail_out===0?pe:me):e.last_lit&&(be(e,!1),e.strm.avail_out===0)?j:fe}function we(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var z=[new we(0,0,0,0,Ce),new we(4,4,8,4,F),new we(4,5,16,8,F),new we(4,6,32,32,F),new we(4,4,16,16,I),new we(8,16,32,32,I),new we(8,16,128,128,I),new we(8,32,128,256,I),new we(32,128,258,1024,I),new we(32,258,258,4096,I)];function Te(e){e.window_size=2*e.w_size,ve(e.head),e.max_lazy_match=z[e.level].max_lazy,e.good_match=z[e.level].good_length,e.nice_match=z[e.level].nice_length,e.max_chain_length=z[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=k-1,e.match_available=0,e.ins_h=0}function Ee(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=C,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new t.Buf16(ne*2),this.dyn_dtree=new t.Buf16((2*te+1)*2),this.bl_tree=new t.Buf16((2*D+1)*2),ve(this.dyn_ltree),ve(this.dyn_dtree),ve(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new t.Buf16(O+1),this.heap=new t.Buf16(2*ee+1),ve(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new t.Buf16(2*ee+1),ve(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function B(e){var t;return!e||!e.state?ge(e,p):(e.total_in=e.total_out=0,e.data_type=S,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?oe:ue,e.adler=t.wrap===2?0:1,t.last_flush=o,n._tr_init(t),d)}function De(e){var t=B(e);return t===d&&Te(e.state),t}function Oe(e,t){return!e||!e.state||e.state.wrap!==2?p:(e.state.gzhead=t,d)}function ke(e,n,r,i,a,o){if(!e)return p;var s=1;if(n===g&&(n=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),a<1||a>w||r!==C||i<8||i>15||n<0||n>9||o<0||o>b)return ge(e,p);i===8&&(i=9);var c=new Ee;return e.state=c,c.strm=e,c.wrap=s,c.gzhead=null,c.w_bits=i,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=a+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+k-1)/k),c.window=new t.Buf8(c.w_size*2),c.head=new t.Buf16(c.hash_size),c.prev=new t.Buf16(c.w_size),c.lit_bufsize=1<<a+6,c.pending_buf_size=c.lit_bufsize*4,c.pending_buf=new t.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=n,c.strategy=o,c.method=r,De(e)}function V(e,t){return ke(e,t,C,T,E,x)}function H(e,t){var r,a,m,g;if(!e||!e.state||t>u||t<0)return e?ge(e,p):p;if(a=e.state,!e.output||!e.input&&e.avail_in!==0||a.status===de&&t!==l)return ge(e,e.avail_out===0?h:p);if(a.strm=e,r=a.last_flush,a.last_flush=t,a.status===oe){if(a.wrap===2)e.adler=0,M(a,31),M(a,139),M(a,8),a.gzhead?(M(a,+!!a.gzhead.text+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),M(a,a.gzhead.time&255),M(a,a.gzhead.time>>8&255),M(a,a.gzhead.time>>16&255),M(a,a.gzhead.time>>24&255),M(a,a.level===9?2:a.strategy>=v||a.level<2?4:0),M(a,a.gzhead.os&255),a.gzhead.extra&&a.gzhead.extra.length&&(M(a,a.gzhead.extra.length&255),M(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(e.adler=i(e.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=se):(M(a,0),M(a,0),M(a,0),M(a,0),M(a,0),M(a,a.level===9?2:a.strategy>=v||a.level<2?4:0),M(a,he),a.status=ue);else{var _=C+(a.w_bits-8<<4)<<8,b=-1;b=a.strategy>=v||a.level<2?0:a.level<6?1:a.level===6?2:3,_|=b<<6,a.strstart!==0&&(_|=ae),_+=31-_%31,a.status=ue,N(a,_),a.strstart!==0&&(N(a,e.adler>>>16),N(a,e.adler&65535)),e.adler=1}}if(a.status===se){if(a.gzhead.extra){for(m=a.pending;a.gzindex<(a.gzhead.extra.length&65535)&&!(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),ye(e),m=a.pending,a.pending===a.pending_buf_size));)M(a,a.gzhead.extra[a.gzindex]&255),a.gzindex++;a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=ce)}else a.status=ce}if(a.status===ce){if(a.gzhead.name){m=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),ye(e),m=a.pending,a.pending===a.pending_buf_size)){g=1;break}g=a.gzindex<a.gzhead.name.length?a.gzhead.name.charCodeAt(a.gzindex++)&255:0,M(a,g)}while(g!==0);a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),g===0&&(a.gzindex=0,a.status=le)}else a.status=le}if(a.status===le){if(a.gzhead.comment){m=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),ye(e),m=a.pending,a.pending===a.pending_buf_size)){g=1;break}g=a.gzindex<a.gzhead.comment.length?a.gzhead.comment.charCodeAt(a.gzindex++)&255:0,M(a,g)}while(g!==0);a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),g===0&&(a.status=A)}else a.status=A}if(a.status===A&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&ye(e),a.pending+2<=a.pending_buf_size&&(M(a,e.adler&255),M(a,e.adler>>8&255),e.adler=0,a.status=ue)):a.status=ue),a.pending!==0){if(ye(e),e.avail_out===0)return a.last_flush=-1,d}else if(e.avail_in===0&&_e(t)<=_e(r)&&t!==l)return ge(e,h);if(a.status===de&&e.avail_in!==0)return ge(e,h);if(e.avail_in!==0||a.lookahead!==0||t!==o&&a.status!==de){var x=a.strategy===v?R(a,t):a.strategy===y?L(a,t):z[a.level].func(a,t);if((x===pe||x===me)&&(a.status=de),x===j||x===pe)return e.avail_out===0&&(a.last_flush=-1),d;if(x===fe&&(t===s?n._tr_align(a):t!==u&&(n._tr_stored_block(a,0,0,!1),t===c&&(ve(a.head),a.lookahead===0&&(a.strstart=0,a.block_start=0,a.insert=0))),ye(e),e.avail_out===0))return a.last_flush=-1,d}return t===l?a.wrap<=0?f:(a.wrap===2?(M(a,e.adler&255),M(a,e.adler>>8&255),M(a,e.adler>>16&255),M(a,e.adler>>24&255),M(a,e.total_in&255),M(a,e.total_in>>8&255),M(a,e.total_in>>16&255),M(a,e.total_in>>24&255)):(N(a,e.adler>>>16),N(a,e.adler&65535)),ye(e),a.wrap>0&&(a.wrap=-a.wrap),a.pending===0?f:d):d}function Ae(e){var t;return!e||!e.state?p:(t=e.state.status,t!==oe&&t!==se&&t!==ce&&t!==le&&t!==A&&t!==ue&&t!==de?ge(e,p):(e.state=null,t===ue?ge(e,m):d))}function je(e,n){var i=n.length,a,o,s,c,l,u,f,m;if(!e||!e.state||(a=e.state,c=a.wrap,c===2||c===1&&a.status!==oe||a.lookahead))return p;for(c===1&&(e.adler=r(e.adler,n,i,0)),a.wrap=0,i>=a.w_size&&(c===0&&(ve(a.head),a.strstart=0,a.block_start=0,a.insert=0),m=new t.Buf8(a.w_size),t.arraySet(m,n,i-a.w_size,a.w_size,0),n=m,i=a.w_size),l=e.avail_in,u=e.next_in,f=e.input,e.avail_in=i,e.next_in=0,e.input=n,P(a);a.lookahead>=k;){o=a.strstart,s=a.lookahead-(k-1);do a.ins_h=(a.ins_h<<a.hash_shift^a.window[o+k-1])&a.hash_mask,a.prev[o&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=o,o++;while(--s);a.strstart=o,a.lookahead=k-1,P(a)}return a.strstart+=a.lookahead,a.block_start=a.strstart,a.insert=a.lookahead,a.lookahead=0,a.match_length=a.prev_length=k-1,a.match_available=0,e.next_in=u,e.input=f,e.avail_in=l,a.wrap=c,d}e.deflateInit=V,e.deflateInit2=ke,e.deflateReset=De,e.deflateResetKeep=B,e.deflateSetHeader=Oe,e.deflate=H,e.deflateEnd=Ae,e.deflateSetDictionary=je,e.deflateInfo=`pako deflate (from Nodeca project)`})),Rn=s((e=>{var t=Mn(),n=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch{n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{r=!1}for(var i=new t.Buf8(256),a=0;a<256;a++)i[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;i[254]=i[254]=1,e.string2buf=function(e){var n,r,i,a,o,s=e.length,c=0;for(a=0;a<s;a++)r=e.charCodeAt(a),(r&64512)==55296&&a+1<s&&(i=e.charCodeAt(a+1),(i&64512)==56320&&(r=65536+(r-55296<<10)+(i-56320),a++)),c+=r<128?1:r<2048?2:r<65536?3:4;for(n=new t.Buf8(c),o=0,a=0;o<c;a++)r=e.charCodeAt(a),(r&64512)==55296&&a+1<s&&(i=e.charCodeAt(a+1),(i&64512)==56320&&(r=65536+(r-55296<<10)+(i-56320),a++)),r<128?n[o++]=r:r<2048?(n[o++]=192|r>>>6,n[o++]=128|r&63):r<65536?(n[o++]=224|r>>>12,n[o++]=128|r>>>6&63,n[o++]=128|r&63):(n[o++]=240|r>>>18,n[o++]=128|r>>>12&63,n[o++]=128|r>>>6&63,n[o++]=128|r&63);return n};function o(e,i){if(i<65534&&(e.subarray&&r||!e.subarray&&n))return String.fromCharCode.apply(null,t.shrinkBuf(e,i));for(var a=``,o=0;o<i;o++)a+=String.fromCharCode(e[o]);return a}e.buf2binstring=function(e){return o(e,e.length)},e.binstring2buf=function(e){for(var n=new t.Buf8(e.length),r=0,i=n.length;r<i;r++)n[r]=e.charCodeAt(r);return n},e.buf2string=function(e,t){var n,r,a,s,c=t||e.length,l=Array(c*2);for(r=0,n=0;n<c;)if(a=e[n++],a<128)l[r++]=a;else if(s=i[a],s>4)l[r++]=65533,n+=s-1;else{for(a&=s===2?31:s===3?15:7;s>1&&n<c;)a=a<<6|e[n++]&63,s--;s>1?l[r++]=65533:a<65536?l[r++]=a:(a-=65536,l[r++]=55296|a>>10&1023,l[r++]=56320|a&1023)}return o(l,r)},e.utf8border=function(e,t){var n;for(t||=e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)==128;)n--;return n<0||n===0?t:n+i[e[n]]>t?n:t}})),zn=s(((e,t)=>{function n(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}t.exports=n})),Bn=s((e=>{var t=Ln(),n=Mn(),r=Rn(),i=In(),a=zn(),o=Object.prototype.toString,s=0,c=4,l=0,u=1,d=2,f=-1,p=0,m=8;function h(e){if(!(this instanceof h))return new h(e);this.options=n.assign({level:f,method:m,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:``},e||{});var s=this.options;s.raw&&s.windowBits>0?s.windowBits=-s.windowBits:s.gzip&&s.windowBits>0&&s.windowBits<16&&(s.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var c=t.deflateInit2(this.strm,s.level,s.method,s.windowBits,s.memLevel,s.strategy);if(c!==l)throw Error(i[c]);if(s.header&&t.deflateSetHeader(this.strm,s.header),s.dictionary){var u=typeof s.dictionary==`string`?r.string2buf(s.dictionary):o.call(s.dictionary)===`[object ArrayBuffer]`?new Uint8Array(s.dictionary):s.dictionary;if(c=t.deflateSetDictionary(this.strm,u),c!==l)throw Error(i[c]);this._dict_set=!0}}h.prototype.push=function(e,i){var a=this.strm,f=this.options.chunkSize,p,m;if(this.ended)return!1;m=i===~~i?i:i===!0?c:s,a.input=typeof e==`string`?r.string2buf(e):o.call(e)===`[object ArrayBuffer]`?new Uint8Array(e):e,a.next_in=0,a.avail_in=a.input.length;do{if(a.avail_out===0&&(a.output=new n.Buf8(f),a.next_out=0,a.avail_out=f),p=t.deflate(a,m),p!==u&&p!==l)return this.onEnd(p),this.ended=!0,!1;(a.avail_out===0||a.avail_in===0&&(m===c||m===d))&&(this.options.to===`string`?this.onData(r.buf2binstring(n.shrinkBuf(a.output,a.next_out))):this.onData(n.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||a.avail_out===0)&&p!==u);return m===c?(p=t.deflateEnd(this.strm),this.onEnd(p),this.ended=!0,p===l):(m===d&&(this.onEnd(l),a.avail_out=0),!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===l&&(this.result=this.options.to===`string`?this.chunks.join(``):n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function g(e,t){var n=new h(t);if(n.push(e,!0),n.err)throw n.msg||i[n.err];return n.result}function _(e,t){return t||={},t.raw=!0,g(e,t)}function v(e,t){return t||={},t.gzip=!0,g(e,t)}e.Deflate=h,e.deflate=g,e.deflateRaw=_,e.gzip=v})),Vn=s(((e,t)=>{t.exports=function(e,t){var n=e.state,r=e.next_in,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T=e.input,E;i=r+(e.avail_in-5),a=e.next_out,E=e.output,o=a-(t-e.avail_out),s=a+(e.avail_out-257),c=n.dmax,l=n.wsize,u=n.whave,d=n.wnext,f=n.window,p=n.hold,m=n.bits,h=n.lencode,g=n.distcode,_=(1<<n.lenbits)-1,v=(1<<n.distbits)-1;top:do{m<15&&(p+=T[r++]<<m,m+=8,p+=T[r++]<<m,m+=8),y=h[p&_];dolen:for(;;){if(b=y>>>24,p>>>=b,m-=b,b=y>>>16&255,b===0)E[a++]=y&65535;else if(b&16){x=y&65535,b&=15,b&&(m<b&&(p+=T[r++]<<m,m+=8),x+=p&(1<<b)-1,p>>>=b,m-=b),m<15&&(p+=T[r++]<<m,m+=8,p+=T[r++]<<m,m+=8),y=g[p&v];dodist:for(;;){if(b=y>>>24,p>>>=b,m-=b,b=y>>>16&255,b&16){if(S=y&65535,b&=15,m<b&&(p+=T[r++]<<m,m+=8,m<b&&(p+=T[r++]<<m,m+=8)),S+=p&(1<<b)-1,S>c){e.msg=`invalid distance too far back`,n.mode=30;break top}if(p>>>=b,m-=b,b=a-o,S>b){if(b=S-b,b>u&&n.sane){e.msg=`invalid distance too far back`,n.mode=30;break top}if(C=0,w=f,d===0){if(C+=l-b,b<x){x-=b;do E[a++]=f[C++];while(--b);C=a-S,w=E}}else if(d<b){if(C+=l+d-b,b-=d,b<x){x-=b;do E[a++]=f[C++];while(--b);if(C=0,d<x){b=d,x-=b;do E[a++]=f[C++];while(--b);C=a-S,w=E}}}else if(C+=d-b,b<x){x-=b;do E[a++]=f[C++];while(--b);C=a-S,w=E}for(;x>2;)E[a++]=w[C++],E[a++]=w[C++],E[a++]=w[C++],x-=3;x&&(E[a++]=w[C++],x>1&&(E[a++]=w[C++]))}else{C=a-S;do E[a++]=E[C++],E[a++]=E[C++],E[a++]=E[C++],x-=3;while(x>2);x&&(E[a++]=E[C++],x>1&&(E[a++]=E[C++]))}}else if(b&64){e.msg=`invalid distance code`,n.mode=30;break top}else{y=g[(y&65535)+(p&(1<<b)-1)];continue dodist}break}}else if(!(b&64)){y=h[(y&65535)+(p&(1<<b)-1)];continue dolen}else if(b&32){n.mode=12;break top}else{e.msg=`invalid literal/length code`,n.mode=30;break top}break}}while(r<i&&a<s);x=m>>3,r-=x,m-=x<<3,p&=(1<<m)-1,e.next_in=r,e.next_out=a,e.avail_in=r<i?5+(i-r):5-(r-i),e.avail_out=a<s?257+(s-a):257-(a-s),n.hold=p,n.bits=m}})),Hn=s(((e,t)=>{var n=Mn(),r=15,i=852,a=592,o=0,s=1,c=2,l=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],u=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],d=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],f=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,p,m,h,g,_,v){var y=v.bits,b=0,x=0,S=0,C=0,w=0,T=0,E=0,ee=0,te=0,D=0,ne,O,k,re,ie,ae=null,oe=0,se,ce=new n.Buf16(r+1),le=new n.Buf16(r+1),A=null,ue=0,de,j,fe;for(b=0;b<=r;b++)ce[b]=0;for(x=0;x<m;x++)ce[t[p+x]]++;for(w=y,C=r;C>=1&&ce[C]===0;C--);if(w>C&&(w=C),C===0)return h[g++]=20971520,h[g++]=20971520,v.bits=1,0;for(S=1;S<C&&ce[S]===0;S++);for(w<S&&(w=S),ee=1,b=1;b<=r;b++)if(ee<<=1,ee-=ce[b],ee<0)return-1;if(ee>0&&(e===o||C!==1))return-1;for(le[1]=0,b=1;b<r;b++)le[b+1]=le[b]+ce[b];for(x=0;x<m;x++)t[p+x]!==0&&(_[le[t[p+x]]++]=x);if(e===o?(ae=A=_,se=19):e===s?(ae=l,oe-=257,A=u,ue-=257,se=256):(ae=d,A=f,se=-1),D=0,x=0,b=S,ie=g,T=w,E=0,k=-1,te=1<<w,re=te-1,e===s&&te>i||e===c&&te>a)return 1;for(;;){de=b-E,_[x]<se?(j=0,fe=_[x]):_[x]>se?(j=A[ue+_[x]],fe=ae[oe+_[x]]):(j=96,fe=0),ne=1<<b-E,O=1<<T,S=O;do O-=ne,h[ie+(D>>E)+O]=de<<24|j<<16|fe;while(O!==0);for(ne=1<<b-1;D&ne;)ne>>=1;if(ne===0?D=0:(D&=ne-1,D+=ne),x++,--ce[b]===0){if(b===C)break;b=t[p+_[x]]}if(b>w&&(D&re)!==k){for(E===0&&(E=w),ie+=S,T=b-E,ee=1<<T;T+E<C&&(ee-=ce[T+E],!(ee<=0));)T++,ee<<=1;if(te+=1<<T,e===s&&te>i||e===c&&te>a)return 1;k=D&re,h[k]=w<<24|T<<16|ie-g}}return D!==0&&(h[ie+D]=b-E<<24|4194304),v.bits=w,0}})),Un=s((e=>{var t=Mn(),n=Pn(),r=Fn(),i=Vn(),a=Hn(),o=0,s=1,c=2,l=4,u=5,d=6,f=0,p=1,m=2,h=-2,g=-3,_=-4,v=-5,y=8,b=1,x=2,S=3,C=4,w=5,T=6,E=7,ee=8,te=9,D=10,ne=11,O=12,k=13,re=14,ie=15,ae=16,oe=17,se=18,ce=19,le=20,A=21,ue=22,de=23,j=24,fe=25,pe=26,me=27,he=28,ge=29,_e=30,ve=31,ye=32,be=852,M=592,N=15;function xe(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function Se(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new t.Buf16(320),this.work=new t.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function P(e){var n;return!e||!e.state?h:(n=e.state,e.total_in=e.total_out=n.total=0,e.msg=``,n.wrap&&(e.adler=n.wrap&1),n.mode=b,n.last=0,n.havedict=0,n.dmax=32768,n.head=null,n.hold=0,n.bits=0,n.lencode=n.lendyn=new t.Buf32(be),n.distcode=n.distdyn=new t.Buf32(M),n.sane=1,n.back=-1,f)}function Ce(e){var t;return!e||!e.state?h:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,P(e))}function F(e,t){var n,r;return!e||!e.state||(r=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?h:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Ce(e))}function I(e,t){var n,r;return e?(r=new Se,e.state=r,r.window=null,n=F(e,t),n!==f&&(e.state=null),n):h}function L(e){return I(e,N)}var R=!0,we,z;function Te(e){if(R){var n;for(we=new t.Buf32(512),z=new t.Buf32(32),n=0;n<144;)e.lens[n++]=8;for(;n<256;)e.lens[n++]=9;for(;n<280;)e.lens[n++]=7;for(;n<288;)e.lens[n++]=8;for(a(s,e.lens,0,288,we,0,e.work,{bits:9}),n=0;n<32;)e.lens[n++]=5;a(c,e.lens,0,32,z,0,e.work,{bits:5}),R=!1}e.lencode=we,e.lenbits=9,e.distcode=z,e.distbits=5}function Ee(e,n,r,i){var a,o=e.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new t.Buf8(o.wsize)),i>=o.wsize?(t.arraySet(o.window,n,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(a=o.wsize-o.wnext,a>i&&(a=i),t.arraySet(o.window,n,r-i,a,o.wnext),i-=a,i?(t.arraySet(o.window,n,r-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=a))),0}function B(e,be){var M,N,Se,P,Ce,F,I,L,R,we,z,B,De,Oe,ke=0,V,H,Ae,je,Me,Ne,Pe,Fe,U=new t.Buf8(4),Ie,Le,Re=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return h;M=e.state,M.mode===O&&(M.mode=k),Ce=e.next_out,Se=e.output,I=e.avail_out,P=e.next_in,N=e.input,F=e.avail_in,L=M.hold,R=M.bits,we=F,z=I,Fe=f;inf_leave:for(;;)switch(M.mode){case b:if(M.wrap===0){M.mode=k;break}for(;R<16;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}if(M.wrap&2&&L===35615){M.check=0,U[0]=L&255,U[1]=L>>>8&255,M.check=r(M.check,U,2,0),L=0,R=0,M.mode=x;break}if(M.flags=0,M.head&&(M.head.done=!1),!(M.wrap&1)||(((L&255)<<8)+(L>>8))%31){e.msg=`incorrect header check`,M.mode=_e;break}if((L&15)!==y){e.msg=`unknown compression method`,M.mode=_e;break}if(L>>>=4,R-=4,Pe=(L&15)+8,M.wbits===0)M.wbits=Pe;else if(Pe>M.wbits){e.msg=`invalid window size`,M.mode=_e;break}M.dmax=1<<Pe,e.adler=M.check=1,M.mode=L&512?D:O,L=0,R=0;break;case x:for(;R<16;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}if(M.flags=L,(M.flags&255)!==y){e.msg=`unknown compression method`,M.mode=_e;break}if(M.flags&57344){e.msg=`unknown header flags set`,M.mode=_e;break}M.head&&(M.head.text=L>>8&1),M.flags&512&&(U[0]=L&255,U[1]=L>>>8&255,M.check=r(M.check,U,2,0)),L=0,R=0,M.mode=S;case S:for(;R<32;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}M.head&&(M.head.time=L),M.flags&512&&(U[0]=L&255,U[1]=L>>>8&255,U[2]=L>>>16&255,U[3]=L>>>24&255,M.check=r(M.check,U,4,0)),L=0,R=0,M.mode=C;case C:for(;R<16;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}M.head&&(M.head.xflags=L&255,M.head.os=L>>8),M.flags&512&&(U[0]=L&255,U[1]=L>>>8&255,M.check=r(M.check,U,2,0)),L=0,R=0,M.mode=w;case w:if(M.flags&1024){for(;R<16;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}M.length=L,M.head&&(M.head.extra_len=L),M.flags&512&&(U[0]=L&255,U[1]=L>>>8&255,M.check=r(M.check,U,2,0)),L=0,R=0}else M.head&&(M.head.extra=null);M.mode=T;case T:if(M.flags&1024&&(B=M.length,B>F&&(B=F),B&&(M.head&&(Pe=M.head.extra_len-M.length,M.head.extra||(M.head.extra=Array(M.head.extra_len)),t.arraySet(M.head.extra,N,P,B,Pe)),M.flags&512&&(M.check=r(M.check,N,B,P)),F-=B,P+=B,M.length-=B),M.length))break inf_leave;M.length=0,M.mode=E;case E:if(M.flags&2048){if(F===0)break inf_leave;B=0;do Pe=N[P+B++],M.head&&Pe&&M.length<65536&&(M.head.name+=String.fromCharCode(Pe));while(Pe&&B<F);if(M.flags&512&&(M.check=r(M.check,N,B,P)),F-=B,P+=B,Pe)break inf_leave}else M.head&&(M.head.name=null);M.length=0,M.mode=ee;case ee:if(M.flags&4096){if(F===0)break inf_leave;B=0;do Pe=N[P+B++],M.head&&Pe&&M.length<65536&&(M.head.comment+=String.fromCharCode(Pe));while(Pe&&B<F);if(M.flags&512&&(M.check=r(M.check,N,B,P)),F-=B,P+=B,Pe)break inf_leave}else M.head&&(M.head.comment=null);M.mode=te;case te:if(M.flags&512){for(;R<16;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}if(L!==(M.check&65535)){e.msg=`header crc mismatch`,M.mode=_e;break}L=0,R=0}M.head&&(M.head.hcrc=M.flags>>9&1,M.head.done=!0),e.adler=M.check=0,M.mode=O;break;case D:for(;R<32;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}e.adler=M.check=xe(L),L=0,R=0,M.mode=ne;case ne:if(M.havedict===0)return e.next_out=Ce,e.avail_out=I,e.next_in=P,e.avail_in=F,M.hold=L,M.bits=R,m;e.adler=M.check=1,M.mode=O;case O:if(be===u||be===d)break inf_leave;case k:if(M.last){L>>>=R&7,R-=R&7,M.mode=me;break}for(;R<3;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}switch(M.last=L&1,L>>>=1,--R,L&3){case 0:M.mode=re;break;case 1:if(Te(M),M.mode=le,be===d){L>>>=2,R-=2;break inf_leave}break;case 2:M.mode=oe;break;case 3:e.msg=`invalid block type`,M.mode=_e}L>>>=2,R-=2;break;case re:for(L>>>=R&7,R-=R&7;R<32;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}if((L&65535)!=(L>>>16^65535)){e.msg=`invalid stored block lengths`,M.mode=_e;break}if(M.length=L&65535,L=0,R=0,M.mode=ie,be===d)break inf_leave;case ie:M.mode=ae;case ae:if(B=M.length,B){if(B>F&&(B=F),B>I&&(B=I),B===0)break inf_leave;t.arraySet(Se,N,P,B,Ce),F-=B,P+=B,I-=B,Ce+=B,M.length-=B;break}M.mode=O;break;case oe:for(;R<14;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}if(M.nlen=(L&31)+257,L>>>=5,R-=5,M.ndist=(L&31)+1,L>>>=5,R-=5,M.ncode=(L&15)+4,L>>>=4,R-=4,M.nlen>286||M.ndist>30){e.msg=`too many length or distance symbols`,M.mode=_e;break}M.have=0,M.mode=se;case se:for(;M.have<M.ncode;){for(;R<3;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}M.lens[Re[M.have++]]=L&7,L>>>=3,R-=3}for(;M.have<19;)M.lens[Re[M.have++]]=0;if(M.lencode=M.lendyn,M.lenbits=7,Ie={bits:M.lenbits},Fe=a(o,M.lens,0,19,M.lencode,0,M.work,Ie),M.lenbits=Ie.bits,Fe){e.msg=`invalid code lengths set`,M.mode=_e;break}M.have=0,M.mode=ce;case ce:for(;M.have<M.nlen+M.ndist;){for(;ke=M.lencode[L&(1<<M.lenbits)-1],V=ke>>>24,H=ke>>>16&255,Ae=ke&65535,!(V<=R);){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}if(Ae<16)L>>>=V,R-=V,M.lens[M.have++]=Ae;else{if(Ae===16){for(Le=V+2;R<Le;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}if(L>>>=V,R-=V,M.have===0){e.msg=`invalid bit length repeat`,M.mode=_e;break}Pe=M.lens[M.have-1],B=3+(L&3),L>>>=2,R-=2}else if(Ae===17){for(Le=V+3;R<Le;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}L>>>=V,R-=V,Pe=0,B=3+(L&7),L>>>=3,R-=3}else{for(Le=V+7;R<Le;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}L>>>=V,R-=V,Pe=0,B=11+(L&127),L>>>=7,R-=7}if(M.have+B>M.nlen+M.ndist){e.msg=`invalid bit length repeat`,M.mode=_e;break}for(;B--;)M.lens[M.have++]=Pe}}if(M.mode===_e)break;if(M.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,M.mode=_e;break}if(M.lenbits=9,Ie={bits:M.lenbits},Fe=a(s,M.lens,0,M.nlen,M.lencode,0,M.work,Ie),M.lenbits=Ie.bits,Fe){e.msg=`invalid literal/lengths set`,M.mode=_e;break}if(M.distbits=6,M.distcode=M.distdyn,Ie={bits:M.distbits},Fe=a(c,M.lens,M.nlen,M.ndist,M.distcode,0,M.work,Ie),M.distbits=Ie.bits,Fe){e.msg=`invalid distances set`,M.mode=_e;break}if(M.mode=le,be===d)break inf_leave;case le:M.mode=A;case A:if(F>=6&&I>=258){e.next_out=Ce,e.avail_out=I,e.next_in=P,e.avail_in=F,M.hold=L,M.bits=R,i(e,z),Ce=e.next_out,Se=e.output,I=e.avail_out,P=e.next_in,N=e.input,F=e.avail_in,L=M.hold,R=M.bits,M.mode===O&&(M.back=-1);break}for(M.back=0;ke=M.lencode[L&(1<<M.lenbits)-1],V=ke>>>24,H=ke>>>16&255,Ae=ke&65535,!(V<=R);){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}if(H&&!(H&240)){for(je=V,Me=H,Ne=Ae;ke=M.lencode[Ne+((L&(1<<je+Me)-1)>>je)],V=ke>>>24,H=ke>>>16&255,Ae=ke&65535,!(je+V<=R);){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}L>>>=je,R-=je,M.back+=je}if(L>>>=V,R-=V,M.back+=V,M.length=Ae,H===0){M.mode=pe;break}if(H&32){M.back=-1,M.mode=O;break}if(H&64){e.msg=`invalid literal/length code`,M.mode=_e;break}M.extra=H&15,M.mode=ue;case ue:if(M.extra){for(Le=M.extra;R<Le;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}M.length+=L&(1<<M.extra)-1,L>>>=M.extra,R-=M.extra,M.back+=M.extra}M.was=M.length,M.mode=de;case de:for(;ke=M.distcode[L&(1<<M.distbits)-1],V=ke>>>24,H=ke>>>16&255,Ae=ke&65535,!(V<=R);){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}if(!(H&240)){for(je=V,Me=H,Ne=Ae;ke=M.distcode[Ne+((L&(1<<je+Me)-1)>>je)],V=ke>>>24,H=ke>>>16&255,Ae=ke&65535,!(je+V<=R);){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}L>>>=je,R-=je,M.back+=je}if(L>>>=V,R-=V,M.back+=V,H&64){e.msg=`invalid distance code`,M.mode=_e;break}M.offset=Ae,M.extra=H&15,M.mode=j;case j:if(M.extra){for(Le=M.extra;R<Le;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}M.offset+=L&(1<<M.extra)-1,L>>>=M.extra,R-=M.extra,M.back+=M.extra}if(M.offset>M.dmax){e.msg=`invalid distance too far back`,M.mode=_e;break}M.mode=fe;case fe:if(I===0)break inf_leave;if(B=z-I,M.offset>B){if(B=M.offset-B,B>M.whave&&M.sane){e.msg=`invalid distance too far back`,M.mode=_e;break}B>M.wnext?(B-=M.wnext,De=M.wsize-B):De=M.wnext-B,B>M.length&&(B=M.length),Oe=M.window}else Oe=Se,De=Ce-M.offset,B=M.length;B>I&&(B=I),I-=B,M.length-=B;do Se[Ce++]=Oe[De++];while(--B);M.length===0&&(M.mode=A);break;case pe:if(I===0)break inf_leave;Se[Ce++]=M.length,I--,M.mode=A;break;case me:if(M.wrap){for(;R<32;){if(F===0)break inf_leave;F--,L|=N[P++]<<R,R+=8}if(z-=I,e.total_out+=z,M.total+=z,z&&(e.adler=M.check=M.flags?r(M.check,Se,z,Ce-z):n(M.check,Se,z,Ce-z)),z=I,(M.flags?L:xe(L))!==M.check){e.msg=`incorrect data check`,M.mode=_e;break}L=0,R=0}M.mode=he;case he:if(M.wrap&&M.flags){for(;R<32;){if(F===0)break inf_leave;F--,L+=N[P++]<<R,R+=8}if(L!==(M.total|0)){e.msg=`incorrect length check`,M.mode=_e;break}L=0,R=0}M.mode=ge;case ge:Fe=p;break inf_leave;case _e:Fe=g;break inf_leave;case ve:return _;case ye:default:return h}return e.next_out=Ce,e.avail_out=I,e.next_in=P,e.avail_in=F,M.hold=L,M.bits=R,(M.wsize||z!==e.avail_out&&M.mode<_e&&(M.mode<me||be!==l))&&Ee(e,e.output,e.next_out,z-e.avail_out)?(M.mode=ve,_):(we-=e.avail_in,z-=e.avail_out,e.total_in+=we,e.total_out+=z,M.total+=z,M.wrap&&z&&(e.adler=M.check=M.flags?r(M.check,Se,z,e.next_out-z):n(M.check,Se,z,e.next_out-z)),e.data_type=M.bits+(M.last?64:0)+(M.mode===O?128:0)+(M.mode===le||M.mode===ie?256:0),(we===0&&z===0||be===l)&&Fe===f&&(Fe=v),Fe)}function De(e){if(!e||!e.state)return h;var t=e.state;return t.window&&=null,e.state=null,f}function Oe(e,t){var n;return!e||!e.state||(n=e.state,!(n.wrap&2))?h:(n.head=t,t.done=!1,f)}function ke(e,t){var r=t.length,i,a,o;return!e||!e.state||(i=e.state,i.wrap!==0&&i.mode!==ne)?h:i.mode===ne&&(a=1,a=n(a,t,r,0),a!==i.check)?g:(o=Ee(e,t,r,r),o?(i.mode=ve,_):(i.havedict=1,f))}e.inflateReset=Ce,e.inflateReset2=F,e.inflateResetKeep=P,e.inflateInit=L,e.inflateInit2=I,e.inflate=B,e.inflateEnd=De,e.inflateGetHeader=Oe,e.inflateSetDictionary=ke,e.inflateInfo=`pako inflate (from Nodeca project)`})),Wn=s(((e,t)=>{t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}})),Gn=s(((e,t)=>{function n(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=``,this.comment=``,this.hcrc=0,this.done=!1}t.exports=n})),Kn=s((e=>{var t=Un(),n=Mn(),r=Rn(),i=Wn(),a=In(),o=zn(),s=Gn(),c=Object.prototype.toString;function l(e){if(!(this instanceof l))return new l(e);this.options=n.assign({chunkSize:16384,windowBits:0,to:``},e||{});var u=this.options;u.raw&&u.windowBits>=0&&u.windowBits<16&&(u.windowBits=-u.windowBits,u.windowBits===0&&(u.windowBits=-15)),u.windowBits>=0&&u.windowBits<16&&!(e&&e.windowBits)&&(u.windowBits+=32),u.windowBits>15&&u.windowBits<48&&(u.windowBits&15||(u.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var d=t.inflateInit2(this.strm,u.windowBits);if(d!==i.Z_OK||(this.header=new s,t.inflateGetHeader(this.strm,this.header),u.dictionary&&(typeof u.dictionary==`string`?u.dictionary=r.string2buf(u.dictionary):c.call(u.dictionary)===`[object ArrayBuffer]`&&(u.dictionary=new Uint8Array(u.dictionary)),u.raw&&(d=t.inflateSetDictionary(this.strm,u.dictionary),d!==i.Z_OK))))throw Error(a[d])}l.prototype.push=function(e,a){var o=this.strm,s=this.options.chunkSize,l=this.options.dictionary,u,d,f,p,m,h=!1;if(this.ended)return!1;d=a===~~a?a:a===!0?i.Z_FINISH:i.Z_NO_FLUSH,o.input=typeof e==`string`?r.binstring2buf(e):c.call(e)===`[object ArrayBuffer]`?new Uint8Array(e):e,o.next_in=0,o.avail_in=o.input.length;do{if(o.avail_out===0&&(o.output=new n.Buf8(s),o.next_out=0,o.avail_out=s),u=t.inflate(o,i.Z_NO_FLUSH),u===i.Z_NEED_DICT&&l&&(u=t.inflateSetDictionary(this.strm,l)),u===i.Z_BUF_ERROR&&h===!0&&(u=i.Z_OK,h=!1),u!==i.Z_STREAM_END&&u!==i.Z_OK)return this.onEnd(u),this.ended=!0,!1;o.next_out&&(o.avail_out===0||u===i.Z_STREAM_END||o.avail_in===0&&(d===i.Z_FINISH||d===i.Z_SYNC_FLUSH))&&(this.options.to===`string`?(f=r.utf8border(o.output,o.next_out),p=o.next_out-f,m=r.buf2string(o.output,f),o.next_out=p,o.avail_out=s-p,p&&n.arraySet(o.output,o.output,f,p,0),this.onData(m)):this.onData(n.shrinkBuf(o.output,o.next_out))),o.avail_in===0&&o.avail_out===0&&(h=!0)}while((o.avail_in>0||o.avail_out===0)&&u!==i.Z_STREAM_END);return u===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(u=t.inflateEnd(this.strm),this.onEnd(u),this.ended=!0,u===i.Z_OK):(d===i.Z_SYNC_FLUSH&&(this.onEnd(i.Z_OK),o.avail_out=0),!0)},l.prototype.onData=function(e){this.chunks.push(e)},l.prototype.onEnd=function(e){e===i.Z_OK&&(this.result=this.options.to===`string`?this.chunks.join(``):n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function u(e,t){var n=new l(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}function d(e,t){return t||={},t.raw=!0,u(e,t)}e.Inflate=l,e.inflate=u,e.inflateRaw=d,e.ungzip=u})),qn=s(((e,t)=>{var n=Mn().assign,r=Bn(),i=Kn(),a=Wn(),o={};n(o,r,i,a),t.exports=o})),Jn=s(((e,t)=>{var n=(e,t)=>function(...n){let r=t.promiseModule;return new r((r,i)=>{t.multiArgs?n.push((...e)=>{t.errorFirst?e[0]?i(e):(e.shift(),r(e)):r(e)}):t.errorFirst?n.push((e,t)=>{e?i(e):r(t)}):n.push(r),e.apply(this,n)})};t.exports=(e,t)=>{t=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},t);let r=typeof e;if(e===null||r!==`object`&&r!==`function`)throw TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${e===null?`null`:r}\``);let i=e=>{let n=t=>typeof t==`string`?e===t:t.test(e);return t.include?t.include.some(n):!t.exclude.some(n)},a;a=r===`function`?function(...r){return t.excludeMain?e(...r):n(e,t).apply(this,r)}:Object.create(Object.getPrototypeOf(e));for(let r in e){let o=e[r];a[r]=typeof o==`function`&&i(r)?n(o,t):o}return a}})),Yn=s(((e,t)=>{function n(e){return Array.isArray(e)?e:[e]}var r=/^\s+$/,i=/(?:[^\\]|^)\\$/,a=/^\\!/,o=/^\\#/,s=/\r?\n/g,c=/^\.*\/|^\.+$/,l=`node-ignore`;typeof Symbol<`u`&&(l=Symbol.for(`node-ignore`));var u=l,d=(e,t,n)=>Object.defineProperty(e,t,{value:n}),f=/([0-z])-([0-z])/g,p=()=>!1,m=e=>e.replace(f,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:``),h=e=>{let{length:t}=e;return e.slice(0,t-t%2)},g=[[/^\uFEFF/,()=>``],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,n)=>t+(n.indexOf(`\\`)===0?` `:``)],[/(\\+?)\s/g,(e,t)=>{let{length:n}=t;return t.slice(0,n-n%2)+` `}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>`[^/]`],[/^\//,()=>`^`],[/\//g,()=>`\\/`],[/^\^*\\\*\\\*\\\//,()=>`^(?:.*\\/)?`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?`^`:`(?:^|\\/)`}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6<n.length?`(?:\\/[^\\/]+)*`:`\\/.+`],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,n)=>t+n.replace(/\\\*/g,`[^\\/]*`)],[/\\\\\\(?=[$.|*+(){^])/g,()=>`\\`],[/\\\\/g,()=>`\\`],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,n,r,i)=>t===`\\`?`\\[${n}${h(r)}${i}`:i===`]`&&r.length%2==0?`[${m(n)}${r}]`:`[]`],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,t)=>`${t?`${t}[^/]+`:`[^/]*`}(?=$|\\/$)`]],_=Object.create(null),v=(e,t)=>{let n=_[e];return n||(n=g.reduce((t,[n,r])=>t.replace(n,r.bind(e)),e),_[e]=n),t?new RegExp(n,`i`):new RegExp(n)},y=e=>typeof e==`string`,b=e=>e&&y(e)&&!r.test(e)&&!i.test(e)&&e.indexOf(`#`)!==0,x=e=>e.split(s),S=class{constructor(e,t,n,r){this.origin=e,this.pattern=t,this.negative=n,this.regex=r}},C=(e,t)=>{let n=e,r=!1;e.indexOf(`!`)===0&&(r=!0,e=e.substr(1)),e=e.replace(a,`!`).replace(o,`#`);let i=v(e,t);return new S(n,e,r,i)},w=(e,t)=>{throw new t(e)},T=(e,t,n)=>y(e)?e?!T.isNotRelative(e)||n(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):n(`path must not be empty`,TypeError):n(`path must be a string, but got \`${t}\``,TypeError),E=e=>c.test(e);T.isNotRelative=E,T.convert=e=>e;var ee=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){d(this,u,!0),this._rules=[],this._ignoreCase=t,this._allowRelativePaths=n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[u])this._rules=this._rules.concat(e._rules),this._added=!0;else if(b(e)){let t=C(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,n(y(e)?x(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let n=!1,r=!1;return this._rules.forEach(i=>{let{negative:a}=i;r===a&&n!==r||a&&!n&&!r&&!t||i.regex.test(e)&&(n=!a,r=a)}),{ignored:n,unignored:r}}_test(e,t,n,r){let i=e&&T.convert(e);return T(i,e,this._allowRelativePaths?p:w),this._t(i,t,n,r)}_t(e,t,n,r){if(e in t)return t[e];if(r||=e.split(`/`),r.pop(),!r.length)return t[e]=this._testOne(e,n);let i=this._t(r.join(`/`)+`/`,t,n,r);return t[e]=i.ignored?i:this._testOne(e,n)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return n(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},te=e=>new ee(e);if(te.isPathValid=e=>T(e&&T.convert(e),e,p),te.default=te,t.exports=te,typeof process<`u`&&({}.IGNORE_TEST_WIN32||process.platform===`win32`)){T.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,`/`);let e=/^[a-z]:\//i;T.isNotRelative=t=>e.test(t)||E(t)}})),Xn=s(((e,t)=>{t.exports=function(e,t){var n=e,r=t,i=n.length,a=r.length,o=!1,s=null,c=i+1,l=[],u=[],d=[],f=``,p=-1,m=0,h=1,g,_,v=function(){i>=a&&(g=n,_=i,n=r,r=g,i=a,a=_,o=!0,c=i+1)},y=function(e,t,n){return{x:e,y:t,k:n}},b=function(e,t){return{elem:e,t}},x=function(e,t,o){var s=t>o?l[e-1+c]:l[e+1+c],d,f=Math.max(t,o);for(d=f-e;d<i&&f<a&&n[d]===r[f];)++d,++f;return l[e+c]=u.length,u[u.length]=new y(d,f,s),f},S=function(e){for(var t=i=1,i,a=s=0,s,c=e.length-1;c>=0;--c)for(;a<e[c].x||s<e[c].y;)e[c].y-e[c].x>s-a?(o?d[d.length]=new b(r[s],p):d[d.length]=new b(r[s],h),++i,++s):e[c].y-e[c].x<s-a?(o?d[d.length]=new b(n[a],h):d[d.length]=new b(n[a],p),++t,++a):(d[d.length]=new b(n[a],m),f+=n[a],++t,++i,++a,++s)};return v(),{SES_DELETE:-1,SES_COMMON:0,SES_ADD:1,editdistance:function(){return s},getlcs:function(){return f},getses:function(){return d},compose:function(){for(var e=a-i,t=i+a+3,n={},r,o,d,f=0,p;f<t;++f)n[f]=-1,l[f]=-1;r=-1;do{for(++r,p=-r;p<=e-1;++p)n[p+c]=x(p,n[p-1+c]+1,n[p+1+c]);for(p=e+r;p>=e+1;--p)n[p+c]=x(p,n[p-1+c]+1,n[p+1+c]);n[e+c]=x(e,n[e-1+c]+1,n[e+1+c])}while(n[e+c]!==a);for(s=e+2*r,o=l[e+c],d=[];o!==-1;)d[d.length]=new y(u[o].x,u[o].y,null),o=u[o].k;S(d)}}}})),Zn=s(((e,t)=>{var n=Xn();function r(e,t){var r=new n(e,t);r.compose();for(var i=r.getses(),a,o,s=e.length-1,c=t.length-1,l=i.length-1;l>=0;--l)i[l].t===r.SES_COMMON?(o?(o.chain={file1index:s,file2index:c,chain:null},o=o.chain):(a={file1index:s,file2index:c,chain:null},o=a),s--,c--):i[l].t===r.SES_DELETE?s--:i[l].t===r.SES_ADD&&c--;var u={file1index:-1,file2index:-1,chain:null};return o?(o.chain=u,a):u}function i(e,t){for(var n=[],i=e.length,a=t.length,o=r(e,t);o!==null;o=o.chain){var s=i-o.file1index-1,c=a-o.file2index-1;i=o.file1index,a=o.file2index,(s||c)&&n.push({file1:[i+1,s],file2:[a+1,c]})}return n.reverse(),n}function a(e,t,n){var r,a=i(t,e),o=i(t,n),s=[];function c(e,t){s.push([e.file1[0],t,e.file1[1],e.file2[0],e.file2[1]])}for(r=0;r<a.length;r++)c(a[r],0);for(r=0;r<o.length;r++)c(o[r],2);s.sort(function(e,t){return e[0]-t[0]});var l=[],u=0;function d(e){e>u&&(l.push([1,u,e-u]),u=e)}for(var f=0;f<s.length;f++){for(var p=f,m=s[f],h=m[0],g=h+m[2];f<s.length-1;){var _=s[f+1],v=_[0];if(v>g)break;g=Math.max(g,v+_[2]),f++}if(d(h),p==f)m[4]>0&&l.push([m[1],m[3],m[4]]);else{var y={0:[e.length,-1,t.length,-1],2:[n.length,-1,t.length,-1]};for(r=p;r<=f;r++){m=s[r];var b=y[m[1]],x=m[0],S=x+m[2],C=m[3],w=C+m[4];b[0]=Math.min(C,b[0]),b[1]=Math.max(w,b[1]),b[2]=Math.min(x,b[2]),b[3]=Math.max(S,b[3])}var T=y[0][0]+(h-y[0][2]),E=y[0][1]+(g-y[0][3]),ee=y[2][0]+(h-y[2][2]),te=y[2][1]+(g-y[2][3]);l.push([-1,T,E-T,h,g-h,ee,te-ee])}u=g}return d(t.length),l}function o(e,t,n){var r=[],i=[e,t,n],o=a(e,t,n),s=[];function c(){s.length&&r.push({ok:s}),s=[]}function l(e){for(var t=0;t<e.length;t++)s.push(e[t])}function u(t){if(t[2]!=t[6])return!0;for(var r=t[1],i=t[5],a=0;a<t[2];a++)if(e[a+r]!=n[a+i])return!0;return!1}for(var d=0;d<o.length;d++){var f=o[d],p=f[0];p==-1?u(f)?(c(),r.push({conflict:{a:e.slice(f[1],f[1]+f[2]),aIndex:f[1],o:t.slice(f[3],f[3]+f[4]),oIndex:f[3],b:n.slice(f[5],f[5]+f[6]),bIndex:f[5]}})):l(i[0].slice(f[1],f[1]+f[2])):l(i[p].slice(f[1],f[1]+f[2]))}return c(),r}t.exports=o})),Qn=u(Et(),1),$n=u(Dn(),1),er=u(kn(),1),tr=u(An(),1),nr=u(jn(),1),rr=u(qn(),1),ir=u(Jn(),1),ar=u(Yn(),1),or=u(Zn(),1),sr=class e extends Error{constructor(e){super(e),this.caller=``}toJSON(){let e=this;return{code:e.code,data:e.data,caller:this.caller,message:this.message,stack:this.stack}}fromJSON(t){let n=new e(t.message),r=n;return r.code=t.code,r.data=t.data,n.caller=t.caller,n.stack=t.stack,n}get isIsomorphicGitError(){return!0}},cr=class e extends sr{constructor(t){super(`Modifying the index is not possible because you have unmerged files: ${t.toString}. Fix them up in the work tree, and then use 'git add/rm as appropriate to mark resolution and make a commit.`),this.code=this.name=e.code,this.data={filepaths:t}}};cr.code=`UnmergedPathsError`;var G=class e extends sr{constructor(t){super(`An internal error caused this command to fail.\n\nIf you're using an application that depends on isomorphic-git, please report this error to that application's developers.\n\nIf you're a developer and you believe this is a bug in isomorphic-git, please file an issue at https://github.com/isomorphic-git/isomorphic-git/issues with a minimal reproduction, version and environment details, and this error message: ${t}`),this.code=this.name=e.code,this.data={message:t}}};G.code=`InternalError`;var lr=class e extends sr{constructor(t){super(`The filepath "${t}" contains unsafe character sequences`),this.code=this.name=e.code,this.data={filepath:t}}};lr.code=`UnsafeFilepathError`;var ur=class{constructor(e){this.buffer=e,this._start=0}eof(){return this._start>=this.buffer.length}tell(){return this._start}seek(e){this._start=e}slice(e){let t=this.buffer.slice(this._start,this._start+e);return this._start+=e,t}toString(e,t){let n=this.buffer.toString(e,this._start,this._start+t);return this._start+=t,n}write(e,t,n){let r=this.buffer.write(e,this._start,t,n);return this._start+=t,r}copy(e,t,n){let r=e.copy(this.buffer,this._start,t,n);return this._start+=r,r}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let t=this.buffer.writeUInt8(e,this._start);return this._start+=1,t}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let t=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,t}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let t=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,t}},dr=/[\ud800-￿]/;function fr(e,t,n){if(n<55296||n>57343)return!1;if(n<56320){let n=t+1<e.length?e.charCodeAt(t+1):0;return n<56320||n>57343}let r=t>0?e.charCodeAt(t-1):0;return r<55296||r>56319}function pr(e,t){if(!dr.test(e)&&!dr.test(t))return-(e<t)||+(e>t);let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=e.charCodeAt(r),i=t.charCodeAt(r);if(n!==i){if(fr(e,r,n)&&(n=65533),fr(t,r,i)&&(i=65533),n===i)continue;return n>=55296&&i>=55296&&(n+=n>=57344?-2048:8192,i+=i>=57344?-2048:8192),n<i?-1:1}}return e.length<t.length?-1:+(e.length>t.length)}function mr(e,t){return pr(e.path,t.path)}function hr(e){let t=e>0?e>>12:0;t!==4&&t!==8&&t!==10&&t!==14&&(t=8);let n=e&511;return n=n&73?493:420,t!==8&&(n=0),(t<<12)+n}var gr=2**32;function _r(e,t,n,r){if(e!==void 0&&t!==void 0)return[e,t];n===void 0&&(n=r.valueOf());let i=Math.floor(n/1e3);return[i,(n-i*1e3)*1e6]}function vr(e){let[t,n]=_r(e.ctimeSeconds,e.ctimeNanoseconds,e.ctimeMs,e.ctime),[r,i]=_r(e.mtimeSeconds,e.mtimeNanoseconds,e.mtimeMs,e.mtime);return{ctimeSeconds:t%gr,ctimeNanoseconds:n%gr,mtimeSeconds:r%gr,mtimeNanoseconds:i%gr,dev:e.dev%gr,ino:e.ino%gr,mode:hr(e.mode%gr),uid:e.uid%gr,gid:e.gid%gr,size:e.size>-1?e.size%gr:0}}function yr(e){let t=``;for(let n of new Uint8Array(e))n<16&&(t+=`0`),t+=n.toString(16);return t}var br=null;async function xr(e){return br===null&&(br=await wr()),br?Cr(e):Sr(e)}function Sr(e){return new $n.default().update(e).digest(`hex`)}async function Cr(e){return yr(await crypto.subtle.digest(`SHA-1`,e))}async function wr(){try{return await Cr(new Uint8Array([]))===`da39a3ee5e6b4b0d3255bfef95601890afd80709`}catch{}return!1}function Tr(e){return{assumeValid:!!(e&32768),extended:!!(e&16384),stage:(e&12288)>>12,nameLength:e&4095}}function Er(e){let t=e.flags;return t.extended=!1,t.nameLength=Math.min(Buffer.from(e.path).length,4095),(t.assumeValid?32768:0)+(t.extended?16384:0)+((t.stage&3)<<12)+(t.nameLength&4095)}var Dr=class e{constructor(e,t){this._dirty=!1,this._unmergedPaths=t||new Set,this._entries=e||new Map}_addEntry(e){if(e.flags.stage===0)e.stages=[e],this._entries.set(e.path,e),this._unmergedPaths.delete(e.path);else{let t=this._entries.get(e.path);t||=(this._entries.set(e.path,e),e),t.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(t){if(Buffer.isBuffer(t))return e.fromBuffer(t);if(t===null)return new e(null);throw new G(`invalid type passed to GitIndex.from`)}static async fromBuffer(t){if(t.length===0)throw new G(`Index file is empty (.git/index)`);let n=new e,r=new ur(t),i=r.toString(`utf8`,4);if(i!==`DIRC`)throw new G(`Invalid dircache magic file number: ${i}`);let a=await xr(t.slice(0,-20)),o=t.slice(-20).toString(`hex`);if(o!==a)throw new G(`Invalid checksum in GitIndex buffer: expected ${o} but saw ${a}`);let s=r.readUInt32BE();if(s!==2)throw new G(`Unsupported dircache version: ${s}`);let c=r.readUInt32BE(),l=0;for(;!r.eof()&&l<c;){let e={};e.ctimeSeconds=r.readUInt32BE(),e.ctimeNanoseconds=r.readUInt32BE(),e.mtimeSeconds=r.readUInt32BE(),e.mtimeNanoseconds=r.readUInt32BE(),e.dev=r.readUInt32BE(),e.ino=r.readUInt32BE(),e.mode=r.readUInt32BE(),e.uid=r.readUInt32BE(),e.gid=r.readUInt32BE(),e.size=r.readUInt32BE(),e.oid=r.slice(20).toString(`hex`),e.flags=Tr(r.readUInt16BE());let i=t.indexOf(0,r.tell()+1)-r.tell();if(i<1)throw new G(`Got a path length of: ${i}`);if(e.path=r.toString(`utf8`,i),e.path.includes(`..\\`)||e.path.includes(`../`))throw new lr(e.path);let a=8-(r.tell()-12)%8;for(a===0&&(a=8);a--;){let t=r.readUInt8();if(t!==0)throw new G(`Expected 1-8 null characters but got '${t}' after ${e.path}`);if(r.eof())throw new G(`Unexpected end of file`)}e.stages=[],n._addEntry(e),l++}return n}get unmergedPaths(){return[...this._unmergedPaths]}get entries(){return[...this._entries.values()].sort(mr)}get entriesMap(){return this._entries}get entriesFlat(){return[...this.entries].flatMap(e=>e.stages.length>1?e.stages.filter(e=>e):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:t,oid:n,stage:r=0}){t||={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0},t=vr(t);let i=Buffer.from(e),a={ctimeSeconds:t.ctimeSeconds,ctimeNanoseconds:t.ctimeNanoseconds,mtimeSeconds:t.mtimeSeconds,mtimeNanoseconds:t.mtimeNanoseconds,dev:t.dev,ino:t.ino,mode:t.mode||33188,uid:t.uid,gid:t.gid,size:t.size,path:e,oid:n,flags:{assumeValid:!1,extended:!1,stage:r,nameLength:i.length<4095?i.length:4095},stages:[]};this._addEntry(a),this._dirty=!0}delete({filepath:e}){if(this._entries.has(e))this._entries.delete(e);else for(let t of this._entries.keys())t.startsWith(e+`/`)&&this._entries.delete(t);this._unmergedPaths.has(e)&&this._unmergedPaths.delete(e),this._dirty=!0}clear(){this._entries.clear(),this._dirty=!0}has({filepath:e}){return this._entries.has(e)}render(){return this.entries.map(e=>`${e.mode.toString(8)} ${e.oid} ${e.path}`).join(`
5
+ `)}static async _entryToBuffer(e){let t=Buffer.from(e.path),n=Math.ceil((62+t.length+1)/8)*8,r=Buffer.alloc(n),i=new ur(r),a=vr(e);return i.writeUInt32BE(a.ctimeSeconds),i.writeUInt32BE(a.ctimeNanoseconds),i.writeUInt32BE(a.mtimeSeconds),i.writeUInt32BE(a.mtimeNanoseconds),i.writeUInt32BE(a.dev),i.writeUInt32BE(a.ino),i.writeUInt32BE(a.mode),i.writeUInt32BE(a.uid),i.writeUInt32BE(a.gid),i.writeUInt32BE(a.size),i.write(e.oid,20,`hex`),i.writeUInt16BE(Er(e)),i.write(e.path,t.length,`utf8`),r}async toObject(){let t=Buffer.alloc(12),n=new ur(t);n.write(`DIRC`,4,`utf8`),n.writeUInt32BE(2),n.writeUInt32BE(this.entriesFlat.length);let r=[];for(let t of this.entries)if(r.push(e._entryToBuffer(t)),t.stages.length>1)for(let n of t.stages)n&&n!==t&&r.push(e._entryToBuffer(n));r=await Promise.all(r);let i=Buffer.concat(r),a=Buffer.concat([t,i]),o=await xr(a);return Buffer.concat([a,Buffer.from(o,`hex`)])}};function Or(e,t,n=!0,r=!0){let i=vr(e),a=vr(t);return n&&i.mode!==a.mode||i.mtimeSeconds!==a.mtimeSeconds||i.ctimeSeconds!==a.ctimeSeconds||i.uid!==a.uid||i.gid!==a.gid||r&&i.ino!==a.ino||i.size!==a.size}var kr;function Ar(){return kr===void 0&&(kr=new er.default({maxPending:1/0})),kr}function jr(e,t){return Ar().acquire(e,t)}var Mr=Symbol(`IndexCache`);function Nr(){return{map:new Map,stats:new Map}}async function Pr(e,t,n){let[r,i]=await Promise.all([e.lstat(t),e.read(t)]),a=await Dr.from(i);n.map.set(t,a),n.stats.set(t,r)}async function Fr(e,t,n){let r=n.stats.get(t);if(r===void 0)return!0;if(r===null)return!1;let i=await e.lstat(t);if(i===null)return!1;if(Or(r,i))return!0;let a=vr(r),o=vr(i);return a.mtimeNanoseconds!==o.mtimeNanoseconds||a.ctimeNanoseconds!==o.ctimeNanoseconds}var Ir=class{static async acquire({fs:e,gitdir:t,cache:n,allowUnmerged:r=!0},i){n[Mr]||(n[Mr]=Nr());let a=`${t}/index`,o,s=[];return await jr(a,async()=>{let t=n[Mr];await Fr(e,a,t)&&await Pr(e,a,t);let c=t.map.get(a);if(s=c.unmergedPaths,s.length&&!r)throw new cr(s);if(o=await i(c),c._dirty){let n=await c.toObject();await e.write(a,n),t.stats.set(a,await e.lstat(a)),c._dirty=!1}}),o}};function Lr(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>-1&&(e=e.slice(t+1)),e}function Rr(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t===-1?`.`:t===0?`/`:e.slice(0,t)}function zr(e){let t=new Map,n=function(e){if(!t.has(e)){let r={type:`tree`,fullpath:e,basename:Lr(e),metadata:{},children:[]};t.set(e,r),r.parent=n(Rr(e)),r.parent&&r.parent!==r&&r.parent.children.push(r)}return t.get(e)},r=function(e,r){if(!t.has(e)){let i={type:`blob`,fullpath:e,basename:Lr(e),metadata:r,parent:n(Rr(e)),children:[]};i.parent&&i.parent.children.push(i),t.set(e,i)}return t.get(e)};n(`.`);for(let t of e)r(t.path,t);return t}function Br(e){switch(e){case 16384:return`tree`;case 33188:return`blob`;case 33261:return`blob`;case 40960:return`blob`;case 57344:return`commit`}throw new G(`Unexpected GitTree entry mode: ${e.toString(8)}`)}var Vr=class{constructor({fs:e,gitdir:t,cache:n}){this.treePromise=Ir.acquire({fs:e,gitdir:t,cache:n},async function(e){return zr(e.entries)});let r=this;this.ConstructEntry=class{constructor(e){this._fullpath=e,this._type=!1,this._mode=!1,this._stat=!1,this._oid=!1}async type(){return r.type(this)}async mode(){return r.mode(this)}async stat(){return r.stat(this)}async content(){return r.content(this)}async oid(){return r.oid(this)}}}async readdir(e){let t=e._fullpath,n=(await this.treePromise).get(t);if(!n||n.type===`blob`)return null;if(n.type!==`tree`)throw Error(`ENOTDIR: not a directory, scandir '${t}'`);let r=n.children.map(e=>e.fullpath);return r.sort(pr),r}async type(e){return e._type===!1&&await e.stat(),e._type}async mode(e){return e._mode===!1&&await e.stat(),e._mode}async stat(e){if(e._stat===!1){let t=(await this.treePromise).get(e._fullpath);if(!t)throw Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let n=t.type===`tree`?{}:vr(t.metadata);e._type=t.type===`tree`?`tree`:Br(n.mode),e._mode=n.mode,e._stat=t.type===`tree`?void 0:n}return e._stat}async content(e){}async oid(e){return e._oid===!1&&(e._oid=(await this.treePromise).get(e._fullpath).metadata.oid),e._oid}},Hr=Symbol(`GitWalkSymbol`);function Ur(){let e=Object.create(null);return Object.defineProperty(e,Hr,{value:function({fs:e,gitdir:t,cache:n}){return new Vr({fs:e,gitdir:t,cache:n})}}),Object.freeze(e),e}var Wr=class e extends sr{constructor(t){super(`Could not find ${t}.`),this.code=this.name=e.code,this.data={what:t}}};Wr.code=`NotFoundError`;var Gr=class e extends sr{constructor(t,n,r,i){super(`Object ${t} ${i?`at ${i}`:``}was anticipated to be a ${r} but it is a ${n}.`),this.code=this.name=e.code,this.data={oid:t,actual:n,expected:r,filepath:i}}};Gr.code=`ObjectTypeError`;var Kr=class e extends sr{constructor(t){super(`Expected a 40-char hex object id but saw "${t}".`),this.code=this.name=e.code,this.data={value:t}}};Kr.code=`InvalidOidError`;var qr=class e extends sr{constructor(t,n){super(`"${t}" would be an invalid git reference. (Hint: a valid alternative would be "${n}".)`),this.code=this.name=e.code,this.data={ref:t,suggestion:n}}};qr.code=`InvalidRefNameError`;var Jr=class e extends sr{constructor(t){super(`Could not find a fetch refspec for remote "${t}". Make sure the config file has an entry like the following:
6
+ [remote "${t}"]
7
+ \tfetch = +refs/heads/*:refs/remotes/origin/*
8
+ `),this.code=this.name=e.code,this.data={remote:t}}};Jr.code=`NoRefspecError`;var Yr=class e{constructor(e){if(this.refs=new Map,this.parsedConfig=[],e){let t=null;this.parsedConfig=e.trim().split(`
9
+ `).map(e=>{if(/^\s*#/.test(e))return{line:e,comment:!0};let n=e.indexOf(` `);if(e.startsWith(`^`)){let n=e.slice(1);return this.refs.set(t+`^{}`,n),{line:e,ref:t,peeled:n}}{let r=e.slice(0,n);return t=e.slice(n+1),this.refs.set(t,r),{line:e,ref:t,oid:r}}})}return this}static from(t){return new e(t)}delete(e){this.parsedConfig=this.parsedConfig.filter(t=>t.ref!==e),this.refs.delete(e)}toString(){return this.parsedConfig.map(({line:e})=>e).join(`
10
+ `)+`
11
+ `}},Xr=class e{constructor({remotePath:e,localPath:t,force:n,matchPrefix:r}){Object.assign(this,{remotePath:e,localPath:t,force:n,matchPrefix:r})}static from(t){let[n,r,i,a,o]=t.match(/^(\+?)(.*?)(\*?):(.*?)(\*?)$/).slice(1),s=n===`+`,c=i===`*`;if(c!==(o===`*`))throw new G(`Invalid refspec`);return new e({remotePath:r,localPath:a,force:s,matchPrefix:c})}translate(e){if(this.matchPrefix){if(e.startsWith(this.remotePath))return this.localPath+e.replace(this.remotePath,``)}else if(e===this.remotePath)return this.localPath;return null}reverseTranslate(e){if(this.matchPrefix){if(e.startsWith(this.localPath))return this.remotePath+e.replace(this.localPath,``)}else if(e===this.localPath)return this.remotePath;return null}},Zr=class e{constructor(e=[]){this.rules=e}static from(t){let n=[];for(let e of t)n.push(Xr.from(e));return new e(n)}add(e){let t=Xr.from(e);this.rules.push(t)}translate(e){let t=[];for(let n of this.rules)for(let r of e){let e=n.translate(r);e&&t.push([r,e])}return t}translateOne(e){let t=null;for(let n of this.rules){let r=n.translate(e);r&&(t=r)}return t}localNamespaces(){return this.rules.filter(e=>e.matchPrefix).map(e=>e.localPath.replace(/\/$/,``))}};function Qr(e,t){let n=e.replace(/\^\{\}$/,``),r=t.replace(/\^\{\}$/,``),i=-(n<r)||+(n>r);return i===0?e.endsWith(`^{}`)?1:-1:i}var $r=/(^|[/.])([/.]|$)|^@$|@{|[\x00-\x20\x7f~^:?*[\\]|\.lock(\/|$)/;function ei(e,t){if(typeof e!=`string`)throw TypeError(`Reference name must be a string`);return!$r.test(e)&&(!!t||e.includes(`/`))}function ti(e,t){let n=``,r=0,i=-1,a=0,o=`\0`;for(let s=0;s<=e.length;++s){if(s<e.length)o=e[s];else if(o===`/`)break;else o=`/`;if(o===`/`){if(i!==s-1&&a!==1){if(a===2){if(n.length<2||r!==2||n.at(-1)!==`.`||n.at(-2)!==`.`){if(n.length>2){let e=n.lastIndexOf(`/`);e===-1?(n=``,r=0):(n=n.slice(0,e),r=n.length-1-n.lastIndexOf(`/`)),i=s,a=0;continue}if(n.length!==0){n=``,r=0,i=s,a=0;continue}}t&&(n+=n.length>0?`/..`:`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,s):n=e.slice(i+1,s),r=s-i-1}i=s,a=0}else o===`.`&&a!==-1?++a:a=-1}return n}function ni(e){return e.length>=2&&/^[a-zA-Z]:/.test(e)?e.slice(0,2):null}function ri(e){if(!e.length)return`.`;e=e.replace(/\\/g,`/`);let t=ni(e),n=e[0]===`/`||t!==null&&e[2]===`/`,r=e.at(-1)===`/`,i=ti(t?e.slice(2):e,!n);if(!i.length){let e=t?n?t+`/`:t:n?`/`:`.`;return r&&!n?e+`/`:e}return r&&(i+=`/`),t?n?`${t}/${i}`:`${t}${i}`:n?`/${i}`:i}function K(...e){if(e.length===0)return`.`;let t;for(let n=0;n<e.length;++n){let r=e[n].replace(/\\/g,`/`);r.length!==0&&(/^[a-zA-Z]:\//.test(r)||t===void 0?t=r:t+=`/`+r)}return t===void 0?`.`:ri(t)}var ii=e=>{if(typeof e==`number`)return e;e=e.toLowerCase();let t=parseInt(e);return e.endsWith(`k`)&&(t*=1024),e.endsWith(`m`)&&(t*=1048576),e.endsWith(`g`)&&(t*=1073741824),t},ai=e=>{if(typeof e==`boolean`)return e;if(e=e.trim().toLowerCase(),e===`true`||e===`yes`||e===`on`)return!0;if(e===`false`||e===`no`||e===`off`)return!1;throw Error(`Expected 'true', 'false', 'yes', 'no', 'on', or 'off', but got ${e}`)},oi={core:{filemode:ai,bare:ai,logallrefupdates:ai,symlinks:ai,ignorecase:ai,bigFileThreshold:ii}},si=/^\[([A-Za-z0-9-.]+)(?:[ \t]+"((?:[^"\\]|\\.)*)")?\][ \t]*(?:[#;].*)?$/,ci=/^[A-Za-z0-9-.]+$/,li=/^([A-Za-z][A-Za-z0-9-]*)(?:\s*=\s*(.*))?$/,ui=/^[A-Za-z][A-Za-z0-9-]*$/,di=e=>{let t=si.exec(e);if(t!=null){let[e,n]=t.slice(1);return[e,n&&n.replace(/\\(.)/g,`$1`)]}return null},fi=e=>{let t=li.exec(e);if(t!=null){let[e,n=`true`]=t.slice(1);return[e,mi(n)]}return null},pi=new Map([[`t`,` `],[`b`,`\b`],[`n`,`
12
+ `],[`\\`,`\\`],[`"`,`"`]]),mi=e=>{let t=``,n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(!r&&/[ \t\r\v\f]/.test(a))t!==``&&(n+=a);else{if(!r&&(a===`#`||a===`;`))break;t+=n,n=``,a===`\\`&&pi.has(e[i+1])?t+=pi.get(e[++i]):a===`"`?r=!r:t+=a}}return t},hi=e=>{if(typeof e!=`string`)return e;let t=e.startsWith(` `)||e.endsWith(` `)||/[#;]/.test(e)?`"`:``;return`${t}${e.replace(/[\\"\n\t]/g,e=>e===`
13
+ `?`\\n`:e===` `?`\\t`:`\\${e}`)}${t}`},gi=e=>e==null?null:e.toLowerCase(),_i=(e,t,n)=>[gi(e),t,gi(n)].filter(e=>e!=null).join(`.`),vi=e=>{let t=e.split(`.`),n=t.shift(),r=t.pop(),i=t.length?t.join(`.`):void 0;return{section:n,subsection:i,name:r,path:_i(n,i,r),sectionPath:_i(n,i,null),isSection:!!n}},yi=(e,t)=>e.reduce((e,n,r)=>t(n)?r:e,-1),bi=class e{constructor(e){let t=null,n=null;this.parsedConfig=e?e.split(`
14
+ `).map(e=>{let r=null,i=null,a=e.trim(),o=di(a),s=o!=null;if(s)[t,n]=o;else{let e=fi(a);e!=null&&([r,i]=e)}let c=_i(t,n,r);return{line:e,isSection:s,section:t,subsection:n,name:r,value:i,path:c}}):[]}static from(t){return new e(t)}async get(e,t=!1){let n=vi(e).path,r=this.parsedConfig.filter(e=>e.path===n).map(({section:e,name:t,value:n})=>{let r=oi[e]&&oi[e][t];return r?r(n):n});return t?r:r.pop()}async getall(e){return this.get(e,!0)}async getSubsections(e){return this.parsedConfig.filter(t=>t.isSection&&t.section===e).map(e=>e.subsection)}async deleteSection(e,t){this.parsedConfig=this.parsedConfig.filter(n=>n.section!==e||n.subsection!==t)}async append(e,t){return this.set(e,t,!0)}async set(e,t,n=!1){let{section:r,subsection:i,name:a,path:o,sectionPath:s,isSection:c}=vi(e),l=yi(this.parsedConfig,e=>e.path===o);if(t==null)l!==-1&&this.parsedConfig.splice(l,1);else if(l!==-1){let e=this.parsedConfig[l],r=Object.assign({},e,{name:a,value:t,modified:!0});n?this.parsedConfig.splice(l+1,0,r):this.parsedConfig[l]=r}else{let e=this.parsedConfig.findIndex(e=>e.path===s),n={section:r,subsection:i,name:a,value:t,modified:!0,path:o};if(ci.test(r)&&ui.test(a)){if(e>=0)this.parsedConfig.splice(e+1,0,n);else{let e={isSection:c,section:r,subsection:i,modified:!0,path:s};this.parsedConfig.push(e,n)}}}}toString(){return this.parsedConfig.map(({line:e,section:t,subsection:n,name:r,value:i,modified:a=!1})=>a?r!=null&&i!=null?`\t${r} = ${hi(i)}`:n==null?`[${t}]`:`[${t} "${n}"]`:e).join(`
15
+ `)}},xi=class{static async get({fs:e,gitdir:t}){let n=await e.read(`${t}/config`,{encoding:`utf8`});return bi.from(n)}static async save({fs:e,gitdir:t,config:n}){await e.write(`${t}/config`,n.toString(),{encoding:`utf8`})}},Si=e=>[`${e}`,`refs/${e}`,`refs/tags/${e}`,`refs/heads/${e}`,`refs/remotes/${e}`,`refs/remotes/${e}/HEAD`],Ci=[`config`,`description`,`index`,`shallow`,`commondir`];function wi(e){if(Ci.includes(e))throw new qr(e,`refs/heads/${e}`);if(!ei(e,!0))throw new qr(e,tr.default.clean(e))}var q=class e{static async updateRemoteRefs({fs:t,gitdir:n,remote:r,refs:i,symrefs:a,tags:o,refspecs:s=void 0,prune:c=!1,pruneTags:l=!1}){for(let e of i.values())if(!e.match(/[0-9a-f]{40}/))throw new Kr(e);let u=await xi.get({fs:t,gitdir:n});if(!s){if(s=await u.getall(`remote.${r}.fetch`),s.length===0)throw new Jr(r);s.unshift(`+HEAD:refs/remotes/${r}/HEAD`)}let d=Zr.from(s),f=new Map,p=d.translate([...i.keys()]),m=[];for(let[e,t]of d.translate([...a.keys()])){let n=d.translateOne(a.get(e));n&&(wi(n),m.push([t,`ref: ${n}`]))}let h=o?[...i.keys()].filter(e=>e.startsWith(`refs/tags`)&&!e.endsWith(`^{}`)):[];for(let[,e]of p)wi(e);for(let[e]of m)wi(e);if(h.forEach(wi),l){let r=await e.listRefs({fs:t,gitdir:n,filepath:`refs/tags`});await e.deleteRefs({fs:t,gitdir:n,refs:r.map(e=>`refs/tags/${e}`)})}for(let r of h)if(!await e.exists({fs:t,gitdir:n,ref:r})){let e=i.get(r);f.set(r,e)}for(let[e,t]of p){let n=i.get(e);f.set(t,n)}for(let[e,t]of m)f.set(e,t);let g=[];if(c){for(let r of d.localNamespaces()){let i=(await e.listRefs({fs:t,gitdir:n,filepath:r})).map(e=>`${r}/${e}`);for(let e of i)f.has(e)||g.push(e)}g.length>0&&await e.deleteRefs({fs:t,gitdir:n,refs:g})}for(let[e,r]of f)await jr(e,async()=>t.write(K(n,e),`${r.trim()}\n`,`utf8`));return{pruned:g}}static async writeRef({fs:e,gitdir:t,ref:n,value:r}){if(wi(n),!r.match(/[0-9a-f]{40}/))throw new Kr(r);await jr(n,async()=>e.write(K(t,n),`${r.trim()}\n`,`utf8`))}static async writeSymbolicRef({fs:e,gitdir:t,ref:n,value:r}){wi(n),await jr(n,async()=>e.write(K(t,n),`ref: ${r.trim()}\n`,`utf8`))}static async deleteRef({fs:t,gitdir:n,ref:r}){return e.deleteRefs({fs:t,gitdir:n,refs:[r]})}static async deleteRefs({fs:e,gitdir:t,refs:n}){n.forEach(wi),await Promise.all(n.map(n=>e.rm(K(t,n))));let r=await jr(`packed-refs`,async()=>e.read(`${t}/packed-refs`,{encoding:`utf8`})),i=Yr.from(r),a=i.refs.size;for(let e of n)i.refs.has(e)&&i.delete(e);i.refs.size<a&&(r=i.toString(),await jr(`packed-refs`,async()=>e.write(`${t}/packed-refs`,r,{encoding:`utf8`})))}static async resolve({fs:t,gitdir:n,ref:r,depth:i=void 0,visited:a=new Set}){if(i!==void 0&&(i--,i===-1))return r;if(r.startsWith(`ref: `))return r=r.slice(5),e.resolve({fs:t,gitdir:n,ref:r,depth:i,visited:a});if(r.length===40&&/[0-9a-f]{40}/.test(r))return r;let o=await e.packedRefs({fs:t,gitdir:n}),s=Si(r).filter(e=>!Ci.includes(e));for(let r of s){let s=await jr(r,async()=>await t.read(`${n}/${r}`,{encoding:`utf8`})||o.get(r));if(s){if(a.has(r))throw new G(`Circular reference detected while resolving ref "${r}"`);return a.add(r),e.resolve({fs:t,gitdir:n,ref:s.trim(),depth:i,visited:a})}}throw new Wr(r)}static async isUnbornBranch({fs:t,gitdir:n,ref:r}){let i;try{i=await e.resolve({fs:t,gitdir:n,ref:`HEAD`,depth:2})}catch(e){if(e instanceof Wr)return!1;throw e}return i.startsWith(`refs/heads/`)?r===`HEAD`||Si(r).includes(i):!1}static async exists({fs:t,gitdir:n,ref:r}){try{return await e.expand({fs:t,gitdir:n,ref:r}),!0}catch(e){if(e instanceof Wr)return!1;throw e}}static async expand({fs:t,gitdir:n,ref:r}){if(r.length===40&&/[0-9a-f]{40}/.test(r))return r;let i=await e.packedRefs({fs:t,gitdir:n}),a=Si(r).filter(e=>!Ci.includes(e));for(let e of a)if(await jr(e,async()=>t.exists(`${n}/${e}`))||i.has(e))return e;throw new Wr(r)}static async expandAgainstMap({ref:e,map:t}){let n=Si(e);for(let e of n)if(await t.has(e))return e;throw new Wr(e)}static resolveAgainstMap({ref:t,fullref:n=t,depth:r=void 0,map:i}){if(r!==void 0&&(r--,r===-1))return{fullref:n,oid:t};if(t.startsWith(`ref: `))return t=t.slice(5),e.resolveAgainstMap({ref:t,fullref:n,depth:r,map:i});if(t.length===40&&/[0-9a-f]{40}/.test(t))return{fullref:n,oid:t};let a=Si(t);for(let t of a){let n=i.get(t);if(n)return e.resolveAgainstMap({ref:n.trim(),fullref:t,depth:r,map:i})}throw new Wr(t)}static async packedRefs({fs:e,gitdir:t}){let n=await jr(`packed-refs`,async()=>e.read(`${t}/packed-refs`,{encoding:`utf8`}));return Yr.from(n).refs}static async listRefs({fs:t,gitdir:n,filepath:r}){let i=await e.packedRefs({fs:t,gitdir:n}),a=null;try{a=await t.readdirDeep(`${n}/${r}`),a=a.map(e=>e.replace(`${n}/${r}/`,``))}catch{a=[]}for(let e of i.keys())e.startsWith(r)&&(e=e.replace(r+`/`,``),a.includes(e)||a.push(e));return a.sort(Qr),a}static async listBranches({fs:t,gitdir:n,remote:r}){return r?e.listRefs({fs:t,gitdir:n,filepath:`refs/remotes/${r}`}):e.listRefs({fs:t,gitdir:n,filepath:`refs/heads`})}static async listTags({fs:t,gitdir:n}){return(await e.listRefs({fs:t,gitdir:n,filepath:`refs/tags`})).filter(e=>!e.endsWith(`^{}`))}};function Ti(e,t){return pr(Ei(e),Ei(t))}function Ei(e){return e.mode===`040000`?e.path+`/`:e.path}function Di(e){switch(e){case`040000`:return`tree`;case`100644`:return`blob`;case`100755`:return`blob`;case`120000`:return`blob`;case`160000`:return`commit`}throw new G(`Unexpected GitTree entry mode: ${e}`)}function Oi(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(32,n);if(r===-1)throw new G(`GitTree: Error parsing buffer at byte location ${n}: Could not find the next space character.`);let i=e.indexOf(0,n);if(i===-1)throw new G(`GitTree: Error parsing buffer at byte location ${n}: Could not find the next null character.`);let a=e.slice(n,r).toString(`utf8`);a===`40000`&&(a=`040000`);let o=Di(a),s=e.slice(r+1,i).toString(`utf8`),c=s.replace(/[\u200C-\u200F\u202A-\u202E\u206A-\u206F\uFEFF]/g,``),l=c.split(`:`)[0].toLowerCase().replace(/[. ]+$/,``);if(s.includes(`\\`)||s.includes(`/`)||c===`.`||c===`..`||l===`.git`||/^\.?git~[1-9]$/.test(l))throw new lr(s);let u=e.slice(i+1,i+21).toString(`hex`);n=i+21,t.push({mode:a,path:s,oid:u,type:o})}return t}function ki(e){if(typeof e==`number`&&(e=e.toString(8)),e.match(/^0?4.*/))return`040000`;if(e.match(/^1006.*/))return`100644`;if(e.match(/^1007.*/))return`100755`;if(e.match(/^120.*/))return`120000`;if(e.match(/^160.*/))return`160000`;throw new G(`Could not understand file mode: ${e}`)}function Ai(e){return!e.oid&&e.sha&&(e.oid=e.sha),e.mode=ki(e.mode),e.type||=Di(e.mode),e}var ji=class e{constructor(e){if(Buffer.isBuffer(e))this._entries=Oi(e);else if(Array.isArray(e))this._entries=e.map(Ai);else throw new G(`invalid type passed to GitTree constructor`);this._entries.sort(mr)}static from(t){return new e(t)}render(){return this._entries.map(e=>`${e.mode} ${e.type} ${e.oid} ${e.path}`).join(`
16
+ `)}toObject(){let e=[...this._entries];return e.sort(Ti),Buffer.concat(e.map(e=>{let t=Buffer.from(e.mode.replace(/^0/,``)),n=Buffer.from(` `),r=Buffer.from(e.path,`utf8`),i=Buffer.from([0]),a=Buffer.from(e.oid,`hex`);return Buffer.concat([t,n,r,i,a])}))}entries(){return this._entries}*[Symbol.iterator](){for(let e of this._entries)yield e}},Mi=class{static wrap({type:e,object:t}){let n=`${e} ${t.length}\x00`,r=n.length,i=r+t.length,a=new Uint8Array(i);for(let e=0;e<r;e++)a[e]=n.charCodeAt(e);return a.set(t,r),a}static unwrap(e){let t=e.indexOf(32),n=e.indexOf(0),r=e.slice(0,t).toString(`utf8`),i=e.slice(t+1,n).toString(`utf8`),a=e.length-(n+1);if(parseInt(i)!==a)throw new G(`Length mismatch: expected ${i} bytes but got ${a} instead.`);return{type:r,object:Buffer.from(e.slice(n+1))}}};async function Ni({fs:e,gitdir:t,oid:n}){let r=`objects/${n.slice(0,2)}/${n.slice(2)}`,i=await e.read(`${t}/${r}`);return i?{object:i,format:`deflated`,source:r}:null}function Pi(e,t){let n=new ur(e),r=Fi(n);if(r!==t.byteLength)throw new G(`applyDelta expected source buffer to be ${r} bytes but the provided buffer was ${t.length} bytes`);let i=Fi(n),a,o=Li(n,t);if(o.byteLength===i)a=o;else{let e=[o],r=o.byteLength;for(;!n.eof();){let i=Li(n,t);e.push(i),r+=i.byteLength}if(i!==r)throw new G(`applyDelta expected target buffer to be ${i} bytes but the resulting buffer was ${r} bytes`);a=Buffer.concat(e,i)}return a}function Fi(e){let t=0,n=0,r=null;do r=e.readUInt8(),t|=(r&127)<<n,n+=7;while(r&128);return t}function Ii(e,t,n){let r=0,i=0;for(;n--;)t&1&&(r|=e.readUInt8()<<i),t>>=1,i+=8;return r}function Li(e,t){let n=e.readUInt8();if(n&128){let r=Ii(e,n&15,4),i=Ii(e,(n&112)>>4,3);return i===0&&(i=65536),t.slice(r,r+i)}return e.slice(n)}function Ri(e){let t=[e];return{next(){return Promise.resolve({done:t.length===0,value:t.pop()})},return(){return t=[],{}},[Symbol.asyncIterator](){return this}}}function zi(e){return e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]?e[Symbol.iterator]():e.next?e:Ri(e)}var Bi=class{constructor(e){if(typeof Buffer>`u`)throw Error(`Missing Buffer dependency`);this.stream=zi(e),this.buffer=null,this.cursor=0,this.undoCursor=0,this.started=!1,this._ended=!1,this._discardedBytes=0}eof(){return this._ended&&this.cursor===this.buffer.length}tell(){return this._discardedBytes+this.cursor}async byte(){if(!this.eof()&&(this.started||await this._init(),!(this.cursor===this.buffer.length&&(await this._loadnext(),this._ended))))return this._moveCursor(1),this.buffer[this.undoCursor]}async chunk(){if(!this.eof()&&(this.started||await this._init(),!(this.cursor===this.buffer.length&&(await this._loadnext(),this._ended))))return this._moveCursor(this.buffer.length),this.buffer.slice(this.undoCursor,this.cursor)}async read(e){if(!this.eof())return this.started||await this._init(),this.cursor+e>this.buffer.length&&(this._trim(),await this._accumulate(e)),this._moveCursor(e),this.buffer.slice(this.undoCursor,this.cursor)}async skip(e){this.eof()||(this.started||await this._init(),this.cursor+e>this.buffer.length&&(this._trim(),await this._accumulate(e)),this._moveCursor(e))}async undo(){this.cursor=this.undoCursor}async _next(){this.started=!0;let{done:e,value:t}=await this.stream.next();return e&&(this._ended=!0,!t)?Buffer.alloc(0):(t&&=Buffer.from(t),t)}_trim(){this.buffer=this.buffer.slice(this.undoCursor),this.cursor-=this.undoCursor,this._discardedBytes+=this.undoCursor,this.undoCursor=0}_moveCursor(e){this.undoCursor=this.cursor,this.cursor+=e,this.cursor>this.buffer.length&&(this.cursor=this.buffer.length)}async _accumulate(e){if(this._ended)return;let t=[this.buffer];for(;this.cursor+e>Vi(t);){let e=await this._next();if(this._ended)break;t.push(e)}this.buffer=Buffer.concat(t)}async _loadnext(){this._discardedBytes+=this.buffer.length,this.undoCursor=0,this.cursor=0,this.buffer=await this._next()}async _init(){this.buffer=await this._next()}};function Vi(e){return e.reduce((e,t)=>e+t.length,0)}async function Hi(e,t){let n=new Bi(e),r=await n.read(4);if(r=r.toString(`utf8`),r!==`PACK`)throw new G(`Invalid PACK header '${r}'`);let i=await n.read(4);if(i=i.readUInt32BE(0),i!==2)throw new G(`Invalid packfile version: ${i}`);let a=await n.read(4);if(a=a.readUInt32BE(0),!(a<1))for(;!n.eof()&&a--;){let e=n.tell(),{type:r,length:i,ofs:o,reference:s}=await Ui(n),c=new rr.default.Inflate;for(;!c.result;){let l=await n.chunk();if(!l)break;if(c.push(l,!1),c.err)throw new G(`Pako error: ${c.msg}`);if(c.result){if(c.result.length!==i)throw new G(`Inflated object size is different from that stated in packfile.`);await n.undo(),await n.read(l.length-c.strm.avail_in);let u=n.tell();await t({data:c.result,type:r,num:a,offset:e,end:u,reference:s,ofs:o})}}}}async function Ui(e){let t=await e.byte(),n=t>>4&7,r=t&15;if(t&128){let n=4;do t=await e.byte(),r|=(t&127)<<n,n+=7;while(t&128)}let i,a;if(n===6){let n=0;i=0;let r=[];do t=await e.byte(),i|=(t&127)<<n,n+=7,r.push(t);while(t&128);a=Buffer.from(r)}return n===7&&(a=await e.read(20)),{type:n,length:r,ofs:i,reference:a}}var Wi=class e extends sr{constructor(t){super(`Invalid compressed buffer: ${t}`),this.code=this.name=e.code,this.data={message:t}}};Wi.code=`DecompressionError`;async function Gi(e){let t=new DecompressionStream(`deflate`),n=new Blob([e]).stream().pipeThrough(t);try{return new Uint8Array(await new Response(n).arrayBuffer())}catch(e){throw e&&e.name===`TypeError`&&e.message===``?new Wi(`decompression failed`):e}}var Ki=!1;async function qi(e){Ki===null&&(Ki=Ji());try{return Ki?await Gi(e):rr.default.inflate(e)}catch(e){throw typeof e==`string`?new Wi(e):e}}function Ji(){try{if(new DecompressionStream(`deflate`))return!0}catch{}return!1}function Yi(e){let t=[],n=0,r=0;do{n=e.readUInt8();let i=n&127;t.push(i),r=n&128}while(r);return t.reduce((e,t)=>e+1<<7|t,-1)}function Xi(e,t){let n=t,r=4,i=null;do i=e.readUInt8(),n|=(i&127)<<r,r+=7;while(i&128);return n}var Zi=class e{constructor(e){Object.assign(this,e),this.offsetCache={}}static async fromIdx({idx:t,getExternalRefDelta:n}){let r=new ur(t);if(r.slice(4).toString(`hex`)!==`ff744f63`)return;let i=r.readUInt32BE();if(i!==2)throw new G(`Unable to read version ${i} packfile IDX. (Only version 2 supported)`);if(t.byteLength>2147483648)throw new G(`To keep implementation simple, I haven't implemented the layer 5 feature needed to support packfiles > 2GB in size.`);r.seek(r.tell()+1020);let a=r.readUInt32BE(),o=[];for(let e=0;e<a;e++){let t=r.slice(20).toString(`hex`);o[e]=t}r.seek(r.tell()+4*a);let s=new Map;for(let e=0;e<a;e++)s.set(o[e],r.readUInt32BE());let c=r.slice(20).toString(`hex`);return new e({hashes:o,crcs:{},offsets:s,packfileSha:c,getExternalRefDelta:n})}static async fromPack({pack:t,getExternalRefDelta:n,onProgress:r}){let i={1:`commit`,2:`tree`,3:`blob`,4:`tag`,6:`ofs-delta`,7:`ref-delta`},a={},o=t.slice(-20).toString(`hex`),s=[],c={},l=new Map,u=null,d=null;await Hi([t],async({data:e,type:t,reference:n,offset:o,num:s})=>{u===null&&(u=s);let c=Math.floor((u-s)*100/u);c!==d&&r&&await r({phase:`Receiving objects`,loaded:u-s,total:u}),d=c,t=i[t],([`commit`,`tree`,`blob`,`tag`].includes(t)||t===`ofs-delta`||t===`ref-delta`)&&(a[o]={type:t,offset:o})});let f=Object.keys(a).map(Number);for(let[e,n]of f.entries()){let r=e+1===f.length?t.byteLength-20:f[e+1],i=a[n],o=nr.default.buf(t.slice(n,r))>>>0;i.end=r,i.crc=o}let p=new e({pack:Promise.resolve(t),packfileSha:o,crcs:c,hashes:s,offsets:l,getExternalRefDelta:n});d=null;let m=0,h=[0,0,0,0,0,0,0,0,0,0,0,0];for(let e in a){e=Number(e);let t=Math.floor(m*100/u);t!==d&&r&&await r({phase:`Resolving deltas`,loaded:m,total:u}),m++,d=t;let n=a[e];if(!n.oid)try{p.readDepth=0,p.externalReadDepth=0;let{type:t,object:r}=await p.readSlice({start:e});h[p.readDepth]+=1;let i=await xr(Mi.wrap({type:t,object:r}));n.oid=i,s.push(i),l.set(i,e),c[i]=n.crc}catch{continue}}return s.sort(),p}async toBuffer(){let e=[],t=(t,n)=>{e.push(Buffer.from(t,n))};t(`ff744f63`,`hex`),t(`00000002`,`hex`);let n=new ur(Buffer.alloc(1024));for(let e=0;e<256;e++){let t=0;for(let n of this.hashes)parseInt(n.slice(0,2),16)<=e&&t++;n.writeUInt32BE(t)}e.push(n.buffer);for(let e of this.hashes)t(e,`hex`);let r=new ur(Buffer.alloc(this.hashes.length*4));for(let e of this.hashes)r.writeUInt32BE(this.crcs[e]);e.push(r.buffer);let i=new ur(Buffer.alloc(this.hashes.length*4));for(let e of this.hashes)i.writeUInt32BE(this.offsets.get(e));e.push(i.buffer),t(this.packfileSha,`hex`);let a=Buffer.concat(e),o=await xr(a),s=Buffer.alloc(20);return s.write(o,`hex`),Buffer.concat([a,s])}async load({pack:e}){this.pack=e}async unload(){this.pack=null}async read({oid:e}){if(!this.offsets.get(e)){if(this.getExternalRefDelta)return this.externalReadDepth++,this.getExternalRefDelta(e);throw new G(`Could not read object ${e} from packfile`)}let t=this.offsets.get(e);return this.readSlice({start:t})}async readSlice({start:e}){if(this.offsetCache[e])return Object.assign({},this.offsetCache[e]);this.readDepth++;let t={16:`commit`,32:`tree`,48:`blob`,64:`tag`,96:`ofs_delta`,112:`ref_delta`},n=await this.pack;if(!n)throw new G(`Could not read packfile data. The packfile may be missing, corrupted, or too large to read into memory.`);let r=n.slice(e),i=new ur(r),a=i.readUInt8(),o=a&112,s=t[o];if(s===void 0)throw new G(`Unrecognized type: 0b`+o.toString(2));let c=a&15,l=c;a&128&&(l=Xi(i,c));let u=null,d=null;if(s===`ofs_delta`){let t=e-Yi(i);({object:u,type:s}=await this.readSlice({start:t}))}if(s===`ref_delta`){let e=i.slice(20).toString(`hex`);({object:u,type:s}=await this.read({oid:e}))}let f=r.slice(i.tell());if(d=Buffer.from(await qi(f)),d.byteLength!==l)throw new G(`Packfile told us object would have length ${l} but it had length ${d.byteLength}`);return u&&(d=Buffer.from(Pi(d,u))),this.readDepth>3&&(this.offsetCache[e]={type:s,object:d}),{type:s,format:`content`,object:d}}},Qi=Symbol(`PackfileCache`);async function $i({fs:e,filename:t,getExternalRefDelta:n,emitter:r,emitterPrefix:i}){let a=await e.read(t);return Zi.fromIdx({idx:a,getExternalRefDelta:n})}function ea({fs:e,cache:t,filename:n,getExternalRefDelta:r,emitter:i,emitterPrefix:a}){t[Qi]||(t[Qi]=new Map);let o=t[Qi].get(n);return o||(o=$i({fs:e,filename:n,getExternalRefDelta:r,emitter:i,emitterPrefix:a}),t[Qi].set(n,o),o.catch(()=>{t[Qi].get(n)===o&&t[Qi].delete(n)})),o}async function ta(e,{start:t=0,end:n=e.length}={}){return xr(e.subarray(t,n))}async function na({fs:e,cache:t,gitdir:n,oid:r,format:i=`content`,getExternalRefDelta:a}){let o=await e.readdir(K(n,`objects/pack`));o=o.filter(e=>e.endsWith(`.idx`));for(let i of o){let o=`${n}/objects/pack/${i}`,s=await ea({fs:e,cache:t,filename:o,getExternalRefDelta:a});if(s.error)throw new G(s.error);if(s.offsets.has(r)){let t=o.replace(/idx$/,`pack`);if(!s.pack){let n=e.read(t);s.pack=n,n.catch(()=>{s.pack===n&&(s.pack=null)})}let n=await s.pack;if(!n)throw s.pack=null,new G(`Could not read packfile at ${t}. The file may be missing, corrupted, or too large to read into memory.`);s._checksumVerification||=ra(n,s.packfileSha),await s._checksumVerification;let c=await s.read({oid:r,getExternalRefDelta:a});return c.format=`content`,c.source=`objects/pack/${i.replace(/idx$/,`pack`)}`,c}}return null}async function ra(e,t){let n=e.subarray(-20),r=Array.from(n).map(e=>e.toString(16).padStart(2,`0`)).join(``);if(r!==t)throw new G(`Packfile trailer mismatch: expected ${t}, got ${r}. The packfile may be corrupted.`);let i=await ta(e,{start:0,end:e.length-20});if(i!==t)throw new G(`Packfile payload corrupted: calculated ${i} but expected ${t}. The packfile may have been tampered with.`)}async function ia({fs:e,cache:t,gitdir:n,oid:r,format:i=`content`}){if(![`deflated`,`wrapped`,`content`].includes(i))throw new G(`invalid requested format "${i}"`);let a=r=>ia({fs:e,cache:t,gitdir:n,oid:r}),o;if(r===`4b825dc642cb6eb9a060e54bf8d69288fbee4904`&&(o={format:`wrapped`,object:Buffer.from(`tree 0\0`)}),o||=await Ni({fs:e,gitdir:n,oid:r}),!o){if(o=await na({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:a}),!o)throw new Wr(r);return o}if(i===`deflated`||(o.format===`deflated`&&(o.object=Buffer.from(await qi(o.object)),o.format=`wrapped`),i===`wrapped`))return o;let s=await xr(o.object);if(s!==r)throw new G(`SHA check failed! Expected ${r}, computed ${s}`);let{object:c,type:l}=Mi.unwrap(o.object);return o.type=l,o.object=c,o.format=`content`,o}var aa=class e extends sr{constructor(t,n,r=!0){super(`Failed to create ${t} at ${n} because it already exists.${r?` (Hint: use 'force: true' parameter to overwrite existing ${t}.)`:``}`),this.code=this.name=e.code,this.data={noun:t,where:n,canForce:r}}};aa.code=`AlreadyExistsError`;var oa=class e extends sr{constructor(t,n,r){super(`Found multiple ${t} matching "${n}" (${r.join(`, `)}). Use a longer abbreviation length to disambiguate them.`),this.code=this.name=e.code,this.data={nouns:t,short:n,matches:r}}};oa.code=`AmbiguousError`;var sa=class e extends sr{constructor(t){super(`Your local changes to the following files would be overwritten by checkout: ${t.join(`, `)}`),this.code=this.name=e.code,this.data={filepaths:t}}};sa.code=`CheckoutConflictError`;var ca=class e extends sr{constructor(t){super(`Your local changes to the following files would be overwritten by cherry-pick: ${t.join(`, `)}`),this.code=this.name=e.code,this.data={filepaths:t}}};ca.code=`CherryPickLocalChangesError`;var la=class e extends sr{constructor(t,n){super(`Cannot cherry-pick merge commit ${t}. Merge commits have ${n} parents and require specifying which parent to use as the base.`),this.code=this.name=e.code,this.data={oid:t,parentCount:n}}};la.code=`CherryPickMergeCommitError`;var ua=class e extends sr{constructor(t){super(`Cannot cherry-pick root commit ${t}. Root commits have no parents.`),this.code=this.name=e.code,this.data={oid:t}}};ua.code=`CherryPickRootCommitError`;var da=class e extends sr{constructor(t,n){super(`Failed to checkout "${t}" because commit ${n} is not available locally. Do a git fetch to make the branch available locally.`),this.code=this.name=e.code,this.data={ref:t,oid:n}}};da.code=`CommitNotFetchedError`;var fa=class e extends sr{constructor(){super(`Cannot create an empty commit when disallowEmpty is true.`),this.code=this.name=e.code,this.data={}}};fa.code=`EmptyCommitError`;var pa=class e extends sr{constructor(){super(`Empty response from git server.`),this.code=this.name=e.code,this.data={}}};pa.code=`EmptyServerResponseError`;var ma=class e extends sr{constructor(){super(`A simple fast-forward merge was not possible.`),this.code=this.name=e.code,this.data={}}};ma.code=`FastForwardError`;var ha=class e extends sr{constructor(t,n){super(`One or more branches were not updated: ${t}`),this.code=this.name=e.code,this.data={prettyDetails:t,result:n}}};ha.code=`GitPushError`;var ga=class e extends sr{constructor(t,n,r){super(`HTTP Error: ${t} ${n}`),this.code=this.name=e.code,this.data={statusCode:t,statusMessage:n,response:r}}};ga.code=`HttpError`;var _a=class e extends sr{constructor(t){let n=`invalid filepath`;t===`leading-slash`||t===`trailing-slash`?n=`"filepath" parameter should not include leading or trailing directory separators because these can cause problems on some platforms.`:t===`directory`&&(n=`"filepath" should not be a directory.`),super(n),this.code=this.name=e.code,this.data={reason:t}}};_a.code=`InvalidFilepathError`;var va=class e extends sr{constructor(t){super(`Maximum search depth of ${t} exceeded.`),this.code=this.name=e.code,this.data={depth:t}}};va.code=`MaxDepthError`;var ya=class e extends sr{constructor(){super(`Merges with conflicts are not supported yet.`),this.code=this.name=e.code,this.data={}}};ya.code=`MergeNotSupportedError`;var ba=class e extends sr{constructor(t,n,r,i){super(`Automatic merge failed with one or more merge conflicts in the following files: ${t.toString()}. Fix conflicts then commit the result.`),this.code=this.name=e.code,this.data={filepaths:t,bothModified:n,deleteByUs:r,deleteByTheirs:i}}};ba.code=`MergeConflictError`;var xa=class e extends sr{constructor(t){super(`No name was provided for ${t} in the argument or in the .git/config file.`),this.code=this.name=e.code,this.data={role:t}}};xa.code=`MissingNameError`;var Sa=class e extends sr{constructor(t){super(`The function requires a "${t}" parameter but none was provided.`),this.code=this.name=e.code,this.data={parameter:t}}};Sa.code=`MissingParameterError`;var Ca=class e extends sr{constructor(t){super(`There are multiple errors that were thrown by the method. Please refer to the "errors" property to see more`),this.code=this.name=e.code,this.data={errors:t},this.errors=t}};Ca.code=`MultipleGitError`;var wa=class e extends sr{constructor(t,n){super(`Expected "${t}" but received "${n}".`),this.code=this.name=e.code,this.data={expected:t,actual:n}}};wa.code=`ParseError`;var Ta=class e extends sr{constructor(t){let n=``;t===`not-fast-forward`?n=` because it was not a simple fast-forward`:t===`tag-exists`&&(n=` because tag already exists`),super(`Push rejected${n}. Use "force: true" to override.`),this.code=this.name=e.code,this.data={reason:t}}};Ta.code=`PushRejectedError`;var Ea=class e extends sr{constructor(t,n){super(`Remote does not support the "${t}" so the "${n}" parameter cannot be used.`),this.code=this.name=e.code,this.data={capability:t,parameter:n}}};Ea.code=`RemoteCapabilityError`;var Da=class e extends sr{constructor(t,n){super(`Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${t}`),this.code=this.name=e.code,this.data={preview:t,response:n}}};Da.code=`SmartHttpError`;var Oa=class e extends sr{constructor(t,n,r){super(`Git remote "${t}" uses an unrecognized transport protocol: "${n}"`),this.code=this.name=e.code,this.data={url:t,transport:n,suggestion:r}}};Oa.code=`UnknownTransportError`;var ka=class e extends sr{constructor(t){super(`Cannot parse remote URL: "${t}"`),this.code=this.name=e.code,this.data={url:t}}};ka.code=`UrlParseError`;var Aa=class e extends sr{constructor(){super(`The operation was canceled.`),this.code=this.name=e.code,this.data={}}};Aa.code=`UserCanceledError`;var ja=class e extends sr{constructor(t){super(`Could not merge index: Entry for '${t}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged changes.`),this.code=this.name=e.code,this.data={filepath:t}}};ja.code=`IndexResetError`;var Ma=class e extends sr{constructor(t){super(`"${t}" does not point to any commit. You're maybe working on a repository with no commits yet. `),this.code=this.name=e.code,this.data={ref:t}}};Ma.code=`NoCommitError`;var Na=Object.freeze({__proto__:null,AlreadyExistsError:aa,AmbiguousError:oa,CheckoutConflictError:sa,CherryPickLocalChangesError:ca,CherryPickMergeCommitError:la,CherryPickRootCommitError:ua,CommitNotFetchedError:da,DecompressionError:Wi,EmptyCommitError:fa,EmptyServerResponseError:pa,FastForwardError:ma,GitPushError:ha,HttpError:ga,InternalError:G,InvalidFilepathError:_a,InvalidOidError:Kr,InvalidRefNameError:qr,MaxDepthError:va,MergeNotSupportedError:ya,MergeConflictError:ba,MissingNameError:xa,MissingParameterError:Sa,MultipleGitError:Ca,NoRefspecError:Jr,NotFoundError:Wr,ObjectTypeError:Gr,ParseError:wa,PushRejectedError:Ta,RemoteCapabilityError:Ea,SmartHttpError:Da,UnknownTransportError:Oa,UnsafeFilepathError:lr,UrlParseError:ka,UserCanceledError:Aa,UnmergedPathsError:cr,IndexResetError:ja,NoCommitError:Ma});function Pa({name:e,email:t,timestamp:n,timezoneOffset:r}){return r=Fa(r),`${e} <${t}> ${n} ${r}`}function Fa(e){let t=Ia(La(e));e=Math.abs(e);let n=Math.floor(e/60);e-=n*60;let r=String(n),i=String(e);return r.length<2&&(r=`0`+r),i.length<2&&(i=`0`+i),(t===-1?`-`:`+`)+r+i}function Ia(e){return Math.sign(e)||(Object.is(e,-0)?-1:1)}function La(e){return e===0?e:-e}function Ra(e){return e=e.replace(/\r/g,``),e=e.replace(/^\n+/,``),e=e.replace(/\n+$/,``)+`
17
+ `,e}function za(e){let[,t,n,r,i]=e.match(/^(.*) <(.*)> (.*) (.*)$/);return{name:t,email:n,timestamp:Number(r),timezoneOffset:Ba(i)}}function Ba(e){let[,t,n,r]=e.match(/(\+|-)(\d\d)(\d\d)/);return r=(t===`+`?1:-1)*(Number(n)*60+Number(r)),Va(r)}function Va(e){return e===0?e:-e}var Ha=class e{constructor(t){if(typeof t==`string`)this._tag=t;else if(Buffer.isBuffer(t))this._tag=t.toString(`utf8`);else if(typeof t==`object`)this._tag=e.render(t);else throw new G(`invalid type passed to GitAnnotatedTag constructor`)}static from(t){return new e(t)}static render(e){return`object ${e.object}
18
+ type ${e.type}
19
+ tag ${e.tag}
20
+ tagger ${Pa(e.tagger)}
21
+
22
+ ${e.message}
23
+ ${e.gpgsig?e.gpgsig:``}`}justHeaders(){return this._tag.slice(0,this._tag.indexOf(`
24
+
25
+ `))}message(){let e=this.withoutSignature();return e.slice(e.indexOf(`
26
+
27
+ `)+2)}parse(){return Object.assign(this.headers(),{message:this.message(),gpgsig:this.gpgsig()})}render(){return this._tag}headers(){let e=this.justHeaders().split(`
28
+ `),t=[];for(let n of e)n[0]===` `?t[t.length-1]+=`
29
+ `+n.slice(1):t.push(n);let n={};for(let e of t){let t=e.slice(0,e.indexOf(` `)),r=e.slice(e.indexOf(` `)+1);Array.isArray(n[t])?n[t].push(r):n[t]=r}return n.tagger&&=za(n.tagger),n.committer&&=za(n.committer),n}withoutSignature(){let e=Ra(this._tag);return e.indexOf(`
30
+ -----BEGIN PGP SIGNATURE-----`)===-1?e:e.slice(0,e.lastIndexOf(`
31
+ -----BEGIN PGP SIGNATURE-----`))}gpgsig(){if(this._tag.indexOf(`
32
+ -----BEGIN PGP SIGNATURE-----`)!==-1)return Ra(this._tag.slice(this._tag.indexOf(`-----BEGIN PGP SIGNATURE-----`),this._tag.indexOf(`-----END PGP SIGNATURE-----`)+27))}payload(){return this.withoutSignature()+`
33
+ `}toObject(){return Buffer.from(this._tag,`utf8`)}static async sign(t,n,r){let i=t.payload(),{signature:a}=await n({payload:i,secretKey:r});a=Ra(a);let o=i+a;return e.from(o)}};function Ua(e){return e.trim().split(`
34
+ `).map(e=>` `+e).join(`
35
+ `)+`
36
+ `}function Wa(e){return e.split(`
37
+ `).map(e=>e.replace(/^ /,``)).join(`
38
+ `)}var Ga=class e{constructor(t){if(typeof t==`string`)this._commit=t;else if(Buffer.isBuffer(t))this._commit=t.toString(`utf8`);else if(typeof t==`object`)this._commit=e.render(t);else throw new G(`invalid type passed to GitCommit constructor`)}static fromPayloadSignature({payload:t,signature:n}){let r=e.justHeaders(t),i=e.justMessage(t),a=Ra(r+`
39
+ gpgsig`+Ua(n)+`
40
+ `+i);return new e(a)}static from(t){return new e(t)}toObject(){return Buffer.from(this._commit,`utf8`)}headers(){return this.parseHeaders()}message(){return e.justMessage(this._commit)}parse(){return Object.assign({message:this.message()},this.headers())}static justMessage(e){return Ra(e.slice(e.indexOf(`
41
+
42
+ `)+2))}static justHeaders(e){return e.slice(0,e.indexOf(`
43
+
44
+ `))}parseHeaders(){let t=e.justHeaders(this._commit).split(`
45
+ `),n=[];for(let e of t)e[0]===` `?n[n.length-1]+=`
46
+ `+e.slice(1):n.push(e);let r={parent:[]};for(let e of n){let t=e.slice(0,e.indexOf(` `)),n=e.slice(e.indexOf(` `)+1);Array.isArray(r[t])?r[t].push(n):r[t]=n}return r.author&&=za(r.author),r.committer&&=za(r.committer),r}static renderHeaders(e){let t=``;if(e.tree?t+=`tree ${e.tree}\n`:t+=`tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
47
+ `,e.parent){if(e.parent.length===void 0)throw new G(`commit 'parent' property should be an array`);for(let n of e.parent)t+=`parent ${n}\n`}let n=e.author;t+=`author ${Pa(n)}\n`;let r=e.committer||e.author;return t+=`committer ${Pa(r)}\n`,e.gpgsig&&(t+=`gpgsig`+Ua(e.gpgsig)),t}static render(t){return e.renderHeaders(t)+`
48
+ `+Ra(t.message)}render(){return this._commit}withoutSignature(){let e=Ra(this._commit);if(e.indexOf(`
49
+ gpgsig`)===-1)return e;let t=e.slice(0,e.indexOf(`
50
+ gpgsig`)),n=e.slice(e.indexOf(`-----END PGP SIGNATURE-----
51
+ `)+28);return Ra(t+`
52
+ `+n)}isolateSignature(){return Wa(this._commit.slice(this._commit.indexOf(`-----BEGIN PGP SIGNATURE-----`),this._commit.indexOf(`-----END PGP SIGNATURE-----`)+27))}static async sign(t,n,r){let i=t.withoutSignature(),a=e.justMessage(t._commit),{signature:o}=await n({payload:i,secretKey:r});o=Ra(o);let s=e.justHeaders(t._commit)+`
53
+ gpgsig`+Ua(o)+`
54
+ `+a;return e.from(s)}};async function Ka({fs:e,cache:t,gitdir:n,oid:r}){if(r===`4b825dc642cb6eb9a060e54bf8d69288fbee4904`)return{tree:ji.from([]),oid:r};let{type:i,object:a}=await ia({fs:e,cache:t,gitdir:n,oid:r});if(i===`tag`)return r=Ha.from(a).parse().object,Ka({fs:e,cache:t,gitdir:n,oid:r});if(i===`commit`)return r=Ga.from(a).parse().tree,Ka({fs:e,cache:t,gitdir:n,oid:r});if(i!==`tree`)throw new Gr(r,i,`tree`);return{tree:ji.from(a),oid:r}}var qa=class{constructor({fs:e,gitdir:t,ref:n,cache:r}){this.fs=e,this.cache=r,this.gitdir=t,this.mapPromise=(async()=>{let r=new Map,i;try{i=await q.resolve({fs:e,gitdir:t,ref:n})}catch(r){if(r instanceof Wr&&await q.isUnbornBranch({fs:e,gitdir:t,ref:n}))i=`4b825dc642cb6eb9a060e54bf8d69288fbee4904`;else throw r}let a=await Ka({fs:e,cache:this.cache,gitdir:t,oid:i});return a.type=`tree`,a.mode=`40000`,r.set(`.`,a),r})();let i=this;this.ConstructEntry=class{constructor(e){this._fullpath=e,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return i.type(this)}async mode(){return i.mode(this)}async stat(){return i.stat(this)}async content(){return i.content(this)}async oid(){return i.oid(this)}}}async readdir(e){let t=e._fullpath,{fs:n,cache:r,gitdir:i}=this,a=await this.mapPromise,o=a.get(t);if(!o)throw Error(`No obj for ${t}`);let s=o.oid;if(!s)throw Error(`No oid for obj ${JSON.stringify(o)}`);if(o.type!==`tree`)return null;let{type:c,object:l}=await ia({fs:n,cache:r,gitdir:i,oid:s});if(c!==o.type)throw new Gr(s,c,o.type);let u=ji.from(l);for(let e of u)a.set(K(t,e.path),e);return u.entries().map(e=>K(t,e.path))}async type(e){if(e._type===!1){let{type:t}=(await this.mapPromise).get(e._fullpath);e._type=t}return e._type}async mode(e){if(e._mode===!1){let{mode:t}=(await this.mapPromise).get(e._fullpath);e._mode=hr(parseInt(t,8))}return e._mode}async stat(e){}async content(e){if(e._content===!1){let t=await this.mapPromise,{fs:n,cache:r,gitdir:i}=this,a=t.get(e._fullpath).oid,{type:o,object:s}=await ia({fs:n,cache:r,gitdir:i,oid:a});e._content=o===`blob`?new Uint8Array(s):void 0}return e._content}async oid(e){return e._oid===!1&&(e._oid=(await this.mapPromise).get(e._fullpath).oid),e._oid}};function Ja({ref:e=`HEAD`}={}){let t=Object.create(null);return Object.defineProperty(t,Hr,{value:function({fs:t,gitdir:n,cache:r}){return new qa({fs:t,gitdir:n,ref:e,cache:r})}}),Object.freeze(t),t}var Ya=class{constructor({fs:e,dir:t,gitdir:n,cache:r,refresh:i=!0}){this.fs=e,this.cache=r,this.dir=t,this.gitdir=n,this.refresh=i,this.refreshQueue=[],this.flushed=!1,this.config=null;let a=this;this.ConstructEntry=class{constructor(e){this._fullpath=e,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return a.type(this)}async mode(){return a.mode(this)}async stat(){return a.stat(this)}async content(){return a.content(this)}async oid(){return a.oid(this)}}}async readdir(e){if(await e.type()!==`tree`)return null;let t=e._fullpath,{fs:n,dir:r}=this,i=await n.readdir(K(r,t));return i===null?null:i.map(e=>K(t,e))}async type(e){return e._type===!1&&await e.stat(),e._type}async mode(e){return e._mode===!1&&await e.stat(),e._mode}async stat(e){if(e._stat===!1){let{fs:t,dir:n}=this,r=await t.lstat(`${n}/${e._fullpath}`);if(!r)throw Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let i=r.isDirectory()?`tree`:`blob`;i===`blob`&&!r.isFile()&&!r.isSymbolicLink()&&(i=`special`),e._type=i,r=vr(r),e._mode=r.mode,r.size===-1&&e._actualSize&&(r.size=e._actualSize),e._stat=r}return e._stat}async content(e){if(e._content===!1){let{fs:t,dir:n,gitdir:r}=this;if(await e.type()===`tree`)e._content=void 0;else{let i;if(await e.mode()>>12==10)i=await t.readlink(`${n}/${e._fullpath}`);else{let a=await(await this._getGitConfig(t,r)).get(`core.autocrlf`);i=await t.read(`${n}/${e._fullpath}`,{autocrlf:a})}e._actualSize=i.length,e._stat&&e._stat.size===-1&&(e._stat.size=e._actualSize),e._content=new Uint8Array(i)}}return e._content}async oid(e){if(e._oid===!1){let t=this,{fs:n,gitdir:r,cache:i}=this,a;await Ir.acquire({fs:n,gitdir:r,cache:i},async function(i){let o=i.entriesMap.get(e._fullpath),s=await e.stat(),c=await(await t._getGitConfig(n,r)).get(`core.filemode`),l=typeof process<`u`?process.platform!==`win32`:!0;if(!o||Or(s,o,c,l)){let n=await e.content();n===void 0?a=void 0:(a=await xr(Mi.wrap({type:`blob`,object:n})),t.refresh&&o&&a===o.oid&&(!c||s.mode===o.mode)&&Or(s,o,c,l)&&(t.flushed?i.insert({filepath:e._fullpath,stats:s,oid:a}):t.refreshQueue.push({filepath:e._fullpath,stage:o,stats:s,oid:a})))}else a=o.oid}),e._oid=a}return e._oid}async flush(){let{fs:e,gitdir:t,cache:n,refreshQueue:r}=this;this.refreshQueue=[],this.flushed=!0,r.length!==0&&await Ir.acquire({fs:e,gitdir:t,cache:n},async e=>{for(let{filepath:t,stage:n,stats:i,oid:a}of r)e.entriesMap.get(t)===n&&e.insert({filepath:t,stats:i,oid:a})})}async _getGitConfig(e,t){return this.config||=await xi.get({fs:e,gitdir:t}),this.config}};function Xa({refresh:e=!0}={}){let t=Object.create(null);return Object.defineProperty(t,Hr,{value:function({fs:t,dir:n,gitdir:r,cache:i}){return new Ya({fs:t,dir:n,gitdir:r,cache:i,refresh:e})}}),Object.freeze(t),t}function Za(e,t){let n=t-e;return Array.from({length:n},(t,n)=>e+n)}var Qa=Array.prototype.flat===void 0?e=>e.reduce((e,t)=>e.concat(t),[]):e=>e.flat(),$a=class{constructor(){this.value=null}consider(e){e!=null&&(this.value===null||e<this.value)&&(this.value=e)}reset(){this.value=null}};function*eo(e){let t=new $a,n,r=[],i=e.length;for(let n=0;n<i;n++)r[n]=e[n].next().value,r[n]!==void 0&&t.consider(r[n]);if(t.value!==null)for(;;){let a=[];n=t.value,t.reset();for(let o=0;o<i;o++)r[o]!==void 0&&r[o]===n?(a[o]=r[o],r[o]=e[o].next().value):a[o]=null,r[o]!==void 0&&t.consider(r[o]);if(yield a,t.value===null)return}}async function to({fs:e,cache:t,dir:n,gitdir:r,trees:i,map:a=async(e,t)=>t,reduce:o=async(e,t)=>{let n=Qa(t);return e!==void 0&&n.unshift(e),n},iterate:s=(e,t)=>Promise.all([...t].map(e))}){let c=i.map(i=>i[Hr]({fs:e,dir:n,gitdir:r,cache:t})),l=Array(c.length).fill(`.`),u=Za(0,c.length),d=async e=>(u.forEach(t=>{let n=e[t];e[t]=n&&new c[t].ConstructEntry(n)}),{entries:e,children:eo((await Promise.all(u.map(t=>{let n=e[t];return n?c[t].readdir(n):[]}))).map(e=>(e===null?[]:e)[Symbol.iterator]()))}),f=async e=>{let{entries:t,children:n}=await d(e),r=t.find(e=>e&&e._fullpath)._fullpath,i=await a(r,t);if(i!==null){let e=await s(f,n);return e=e.filter(e=>e!==void 0),o(i,e)}},p=await f(l);for(let e of c)e.flush&&await e.flush();return p}async function no(e,t,n=10){try{await e(t)}catch(r){if(r===null||r.code===`EEXIST`)return;if(r.code!==`ENOENT`)throw r;let i=Rr(t);if(i===`.`||i===`/`||i===t)throw r;await no(e,i,n);for(let r=0;;r++)try{await e(t);return}catch(e){if(e===null||e.code===`EEXIST`)return;if(e.code===`ENOENT`&&r<n){await new Promise(e=>setTimeout(e,0));continue}throw e}}}async function ro(e,t){let n=await e.readdir(t);n==null?await e.rm(t):n.length?await Promise.all(n.map(n=>{let r=K(t,n);return e.lstat(r).then(t=>{if(t)return t.isDirectory()?ro(e,r):e.rm(r)})})).then(()=>e.rmdir(t)):await e.rmdir(t)}function io(e){return ao(e)&&oo(e.then)&&oo(e.catch)}function ao(e){return e&&typeof e==`object`}function oo(e){return typeof e==`function`}function so(e){let t=e.code;return typeof t==`string`?t===`ENOENT`||t===`ENOTDIR`||t.includes(`ENS`):!1}function co(e){return io((e=>{try{return e.readFile().catch(e=>e)}catch(e){return e}})(e))}var lo=[`readFile`,`writeFile`,`mkdir`,`rmdir`,`unlink`,`stat`,`lstat`,`readdir`,`readlink`,`symlink`];function uo(e,t){if(co(t))for(let n of lo)e[`_${n}`]=t[n].bind(t);else for(let n of lo)e[`_${n}`]=(0,ir.default)(t[n].bind(t));co(t)?(t.cp&&(e._cp=t.cp.bind(t)),e._rm=t.rm?t.rm.bind(t):t.rmdir.length>1?t.rmdir.bind(t):ro.bind(null,e)):(t.cp&&(e._cp=(0,ir.default)(t.cp.bind(t))),e._rm=t.rm?(0,ir.default)(t.rm.bind(t)):t.rmdir.length>2?(0,ir.default)(t.rmdir.bind(t)):ro.bind(null,e))}var J=class{constructor(e){if(e._original_unwrapped_fs!==void 0)return e;let t=Object.getOwnPropertyDescriptor(e,`promises`);t&&t.enumerable?uo(this,e.promises):uo(this,e),this._original_unwrapped_fs=e}async exists(e,t={}){try{return await this._stat(e),!0}catch(e){if(so(e))return!1;throw console.log(`Unhandled error in "FileSystem.exists()" function`,e),e}}async read(e,t={}){let n;try{n=await this._readFile(e,t)}catch(e){if(so(e)||e.code===`EISDIR`)return null;throw e}if(n==null)return null;if(t.autocrlf===`true`)try{n=new TextDecoder(`utf8`,{fatal:!0}).decode(n),n=n.replace(/\r\n/g,`
55
+ `),n=new TextEncoder().encode(n)}catch{}return typeof n!=`string`&&(n=Buffer.from(n)),n}async write(e,t,n={}){try{await this._writeFile(e,t,n)}catch{await this.mkdir(Rr(e)),await this._writeFile(e,t,n)}}async mkdir(e){await no(this._mkdir,e)}async rm(e){try{await this._unlink(e)}catch(e){if(e.code!==`ENOENT`)throw e}}async rmdir(e,t){try{t&&t.recursive?await this._rm(e,t):await this._rmdir(e)}catch(e){if(e.code!==`ENOENT`)throw e}}async readdir(e){let t;try{t=await this._readdir(e)}catch(e){if(e.code===`ENOTDIR`)return null;if(so(e))return[];throw e}return t.sort(pr),t}async readdirDeep(e){let t=await this._readdir(e);return(await Promise.all(t.map(async t=>{let n=e+`/`+t;return(await this._stat(n)).isDirectory()?this.readdirDeep(n):n}))).reduce((e,t)=>e.concat(t),[])}async lstat(e){try{return await this._lstat(e)}catch(e){if(so(e))return null;throw e}}async readlink(e,t={encoding:`buffer`}){try{let n=await this._readlink(e,t);return Buffer.isBuffer(n)?n:Buffer.from(n)}catch(e){if(so(e))return null;throw e}}async writelink(e,t){return this._symlink(t.toString(`utf8`),e)}};function Y(e,t){if(t===void 0)throw new Sa(e)}function fo(e){return e.startsWith(`/`)||/^[a-zA-Z]:[\\/]/.test(e)}async function X({fsp:e,dotgit:t}){Y(`fsp`,e),Y(`dotgit`,t);let n=await e._stat(t).catch(()=>({isFile:()=>!1,isDirectory:()=>!1}));return n.isDirectory()?t:n.isFile()?e._readFile(t,`utf8`).then(e=>e.trimRight().substr(8)).then(e=>fo(e)?e:K(Rr(t),e)):t}async function po(e,t){return!e&&!t?!1:e&&!t||!e&&t?!0:!(await e.type()===`tree`&&await t.type()===`tree`||await e.type()===await t.type()&&await e.mode()===await t.mode()&&await e.oid()===await t.oid())}async function mo({fs:e,dir:t,gitdir:n=K(t,`.git`),commit:r=`HEAD`,cache:i={}}){try{Y(`fs`,e),Y(`dir`,t),Y(`gitdir`,n);let a=new J(e),o=[Ja({ref:r}),Xa(),Ur()],s=[],c=await X({fsp:a,dotgit:n});await Ir.acquire({fs:a,gitdir:c,cache:i},async function(e){s=e.unmergedPaths});let l=await to({fs:a,cache:i,dir:t,gitdir:c,trees:o,map:async function(e,[t,n,r]){let i=!await po(n,r),a=s.includes(e),o=!await po(r,t);if(i||a)return t?{path:e,mode:await t.mode(),oid:await t.oid(),type:await t.type(),content:await t.content()}:void 0;if(o)return!1;throw new ja(e)}});await Ir.acquire({fs:a,gitdir:c,cache:i},async function(e){for(let n of l)if(n!==!1){if(!n)await a.rmdir(`${t}/${n.path}`,{recursive:!0}),e.delete({filepath:n.path});else if(n.type===`blob`){let r=new TextDecoder().decode(n.content);await a.write(`${t}/${n.path}`,r,{mode:n.mode}),e.insert({filepath:n.path,oid:n.oid,stage:0})}}})}catch(e){throw e.caller=`git.abortMerge`,e}}var ho=class{static async isIgnored({fs:e,dir:t,gitdir:n=K(t,`.git`),filepath:r}){if(Lr(r)===`.git`)return!0;if(r===`.`)return!1;let i=``,a=K(n,`info`,`exclude`);await e.exists(a)&&(i=await e.read(a,`utf8`));let o=[{gitignore:K(t,`.gitignore`),filepath:r}],s=r.split(`/`).filter(Boolean);for(let e=1;e<s.length;e++){let n=s.slice(0,e).join(`/`),r=s.slice(e).join(`/`);o.push({gitignore:K(t,n,`.gitignore`),filepath:r})}let c=!1;for(let[t,n]of o.entries()){let r=await e.read(n.gitignore,`utf8`),a=(0,ar.default)();t===0&&a.add(i),a.add(r);let o=Rr(n.filepath);if(o!==`.`&&a.ignores(o))return!0;c=c?!a.test(n.filepath).unignored:a.test(n.filepath).ignored}return c}};async function go({fs:e,gitdir:t,object:n,format:r,oid:i}){if(r!==`deflated`)throw new G(`GitObjectStoreLoose expects objects to write to be in deflated format`);let a=`${t}/${`objects/${i.slice(0,2)}/${i.slice(2)}`}`;await e.exists(a)||await e.write(a,n)}var _o=null;async function vo(e){return _o===null&&(_o=bo()),_o?yo(e):rr.default.deflate(e)}async function yo(e){let t=new CompressionStream(`deflate`),n=new Blob([e]).stream().pipeThrough(t);return new Uint8Array(await new Response(n).arrayBuffer())}function bo(){try{return new CompressionStream(`deflate`).writable.close(),new Blob([]).stream().cancel(),!0}catch{return!1}}async function xo({fs:e,gitdir:t,type:n,object:r,format:i=`content`,oid:a=void 0,dryRun:o=!1}){return i!==`deflated`&&(i!==`wrapped`&&(r=Mi.wrap({type:n,object:r})),a=await xr(r),r=Buffer.from(await vo(r))),o||await go({fs:e,gitdir:t,object:r,format:`deflated`,oid:a}),a}function So(e){let t;for(;~(t=e.indexOf(92));)e[t]=47;return e}async function Co({fs:e,dir:t,gitdir:n=K(t,`.git`),filepath:r,cache:i={},force:a=!1,parallel:o=!0}){try{Y(`fs`,e),Y(`dir`,t),Y(`gitdir`,n),Y(`filepath`,r);let s=new J(e),c=await X({fsp:s,dotgit:n});await Ir.acquire({fs:s,gitdir:c,cache:i},async e=>{let n=await(await xi.get({fs:s,gitdir:c})).get(`core.autocrlf`);return To({dir:t,gitdir:c,fs:s,filepath:r,index:e,force:a,parallel:o,autocrlf:n})})}catch(e){throw e.caller=`git.add`,e}}function wo(e,t){if(e.has({filepath:t}))return!0;let n=`${t}/`;for(let t of e.entriesMap.keys())if(t.startsWith(n))return!0;return!1}async function To({dir:e,gitdir:t,fs:n,filepath:r,index:i,force:a,parallel:o,autocrlf:s}){r=Array.isArray(r)?r:[r];let c=r.map(async r=>{if(!a&&!wo(i,r)&&await ho.isIgnored({fs:n,dir:e,gitdir:t,filepath:r}))return;let c=await n.lstat(K(e,r));if(!c)throw new Wr(r);if(c.isDirectory()){let c=await n.readdir(K(e,r));if(o){let l=c.map(c=>To({dir:e,gitdir:t,fs:n,filepath:[K(r,c)],index:i,force:a,parallel:o,autocrlf:s}));await Promise.all(l)}else for(let l of c)await To({dir:e,gitdir:t,fs:n,filepath:[K(r,l)],index:i,force:a,parallel:o,autocrlf:s})}else{let a=c.isSymbolicLink()?await n.readlink(K(e,r)).then(So):await n.read(K(e,r),{autocrlf:s});if(a===null)throw new Wr(r);let o=await xo({fs:n,gitdir:t,type:`blob`,object:a});i.insert({filepath:r,stats:c,oid:o})}}),l=await Promise.allSettled(c),u=l.filter(e=>e.status===`rejected`).map(e=>e.reason);if(u.length>1)throw new Ca(u);if(u.length===1)throw u[0];return l.filter(e=>e.status===`fulfilled`&&e.value).map(e=>e.value)}async function Eo({fs:e,gitdir:t,oid:n}){let r=`objects/${n.slice(0,2)}/${n.slice(2)}`;return e.exists(`${t}/${r}`)}async function Do({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:i}){let a=await e.readdir(K(n,`objects/pack`));a=a.filter(e=>e.endsWith(`.idx`));for(let o of a){let a=await ea({fs:e,cache:t,filename:`${n}/objects/pack/${o}`,getExternalRefDelta:i});if(a.error)throw new G(a.error);if(a.offsets.has(r))return!0}return!1}async function Oo({fs:e,cache:t,gitdir:n,oid:r,format:i=`content`}){let a=r=>ia({fs:e,cache:t,gitdir:n,oid:r}),o=await Eo({fs:e,gitdir:n,oid:r});return o||=await Do({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:a}),o}async function ko({fs:e,gitdir:t,path:n}){return(await xi.get({fs:e,gitdir:t})).get(n)}function Ao(e,...t){for(let n of t)if(n)for(let t of Object.keys(n)){let r=n[t];r!==void 0&&(e[t]=r)}return e}async function jo({fs:e,gitdir:t,author:n,commit:r}){let i=Math.floor(Date.now()/1e3),a=Ao({},{name:await ko({fs:e,gitdir:t,path:`user.name`}),email:await ko({fs:e,gitdir:t,path:`user.email`})||``,timestamp:i,timezoneOffset:new Date(i*1e3).getTimezoneOffset()},r?r.author:void 0,n);if(a.name!==void 0)return a}async function Mo({fs:e,gitdir:t,author:n,committer:r,commit:i}){let a=Math.floor(Date.now()/1e3),o=Ao({},{name:await ko({fs:e,gitdir:t,path:`user.name`}),email:await ko({fs:e,gitdir:t,path:`user.email`})||``,timestamp:a,timezoneOffset:new Date(a*1e3).getTimezoneOffset()},i?i.committer:void 0,n,r);if(o.name!==void 0)return o}async function No({fs:e,cache:t,gitdir:n,oid:r}){let{type:i,object:a}=await ia({fs:e,cache:t,gitdir:n,oid:r});if(i===`tag`)return r=Ha.from(a).parse().object,No({fs:e,cache:t,gitdir:n,oid:r});if(i!==`commit`)throw new Gr(r,i,`commit`);return{commit:Ga.from(a),oid:r}}async function Po({fs:e,cache:t,gitdir:n,oid:r}){let{commit:i,oid:a}=await No({fs:e,cache:t,gitdir:n,oid:r});return{oid:a,commit:i.parse(),payload:i.withoutSignature()}}var Fo=`4b825dc642cb6eb9a060e54bf8d69288fbee4904`;async function Io({fs:e,cache:t,onSign:n,gitdir:r,message:i,author:a,committer:o,signingKey:s,amend:c=!1,dryRun:l=!1,noUpdateBranch:u=!1,disallowEmpty:d=!1,ref:f,parent:p,tree:m}){let h=!1,g=!1;f||=(g=!(await e.read(`${r}/HEAD`,{encoding:`utf8`})).startsWith(`ref:`),await q.resolve({fs:e,gitdir:r,ref:`HEAD`,depth:2}));let _,v;try{_=await q.resolve({fs:e,gitdir:r,ref:f})}catch(e){if(!(e instanceof Wr))throw e;h=!0}if(!h&&(c||d)&&(v=await Po({fs:e,gitdir:r,oid:_,cache:t})),c&&h)throw new Ma(f);let y=c?await jo({fs:e,gitdir:r,author:a,commit:v.commit}):await jo({fs:e,gitdir:r,author:a});if(!y)throw new xa(`author`);let b=c?await Mo({fs:e,gitdir:r,author:y,committer:o,commit:v.commit}):await Mo({fs:e,gitdir:r,author:y,committer:o});if(!b)throw new xa(`committer`);return Ir.acquire({fs:e,gitdir:r,cache:t,allowUnmerged:!1},async function(a){let o=zr(a.entries).get(`.`);if(m||=await Lo({fs:e,gitdir:r,inode:o,dryRun:l}),p=p?await Promise.all(p.map(async n=>{let i=await q.resolve({fs:e,gitdir:r,ref:n});for(;await Oo({fs:e,cache:t,gitdir:r,oid:i});){let{type:n,object:a}=await ia({fs:e,cache:t,gitdir:r,oid:i});if(n===`commit`)break;if(n!==`tag`)throw new Gr(i,n,`commit`);i=Ha.from(a).parse().object}return i})):c?v.commit.parent:_?[_]:[],d&&!c&&(h&&m===Fo||!h&&m===v.commit.tree))throw new fa;if(!i){if(c)i=v.commit.message;else throw new Sa(`message`)}let x=Ga.from({tree:m,parent:p,author:y,committer:b,message:i});s&&(x=await Ga.sign(x,n,s));let S=await xo({fs:e,gitdir:r,type:`commit`,object:x.toObject(),dryRun:l});return!u&&!l&&await q.writeRef({fs:e,gitdir:r,ref:g?`HEAD`:f,value:S}),S})}async function Lo({fs:e,gitdir:t,inode:n,dryRun:r}){let i=n.children;for(let n of i)n.type===`tree`&&(n.metadata.mode=`040000`,n.metadata.oid=await Lo({fs:e,gitdir:t,inode:n,dryRun:r}));let a=i.map(e=>({mode:e.metadata.mode,path:e.basename,oid:e.metadata.oid,type:e.type}));return await xo({fs:e,gitdir:t,type:`tree`,object:ji.from(a).toObject(),dryRun:r})}async function Ro({fs:e,cache:t,gitdir:n,oid:r,filepath:i}){return(await zo({fs:e,cache:t,gitdir:n,oid:r,filepath:i})).oid}async function zo({fs:e,cache:t,gitdir:n,oid:r,filepath:i}){if(i.startsWith(`/`))throw new _a(`leading-slash`);if(i.endsWith(`/`))throw new _a(`trailing-slash`);let a=r,o=await Ka({fs:e,cache:t,gitdir:n,oid:r}),s=o.tree;return i===``?{mode:`040000`,oid:o.oid,path:``,type:`tree`}:Bo({fs:e,cache:t,gitdir:n,tree:s,pathArray:i.split(`/`),oid:a,filepath:i})}async function Bo({fs:e,cache:t,gitdir:n,tree:r,pathArray:i,oid:a,filepath:o}){let s=i.shift();for(let c of r)if(c.path===s){if(i.length===0)return c;{let{type:s,object:l}=await ia({fs:e,cache:t,gitdir:n,oid:c.oid});if(s!==`tree`)throw new Gr(a,s,`tree`,o);return r=ji.from(l),Bo({fs:e,cache:t,gitdir:n,tree:r,pathArray:i,oid:a,filepath:o})}}throw new Wr(`file or directory found at "${a}:${o}"`)}async function Vo({fs:e,cache:t,gitdir:n,oid:r,filepath:i=void 0}){i!==void 0&&(r=await Ro({fs:e,cache:t,gitdir:n,oid:r,filepath:i}));let{tree:a,oid:o}=await Ka({fs:e,cache:t,gitdir:n,oid:r});return{oid:o,tree:a.entries()}}async function Ho({fs:e,gitdir:t,tree:n}){return await xo({fs:e,gitdir:t,type:`tree`,object:ji.from(n).toObject(),format:`content`})}async function Uo({fs:e,cache:t,onSign:n,gitdir:r,ref:i,oid:a,note:o,force:s,author:c,committer:l,signingKey:u}){let d;try{d=await q.resolve({gitdir:r,fs:e,ref:i})}catch(e){if(!(e instanceof Wr))throw e}let f=(await Vo({fs:e,cache:t,gitdir:r,oid:d||`4b825dc642cb6eb9a060e54bf8d69288fbee4904`})).tree;if(s)f=f.filter(e=>e.path!==a);else for(let e of f)if(e.path===a)throw new aa(`note`,a);typeof o==`string`&&(o=Buffer.from(o,`utf8`));let p=await xo({fs:e,gitdir:r,type:`blob`,object:o,format:`content`});return f.push({mode:`100644`,path:a,oid:p,type:`blob`}),await Io({fs:e,cache:t,onSign:n,gitdir:r,ref:i,tree:await Ho({fs:e,gitdir:r,tree:f}),parent:d&&[d],message:`Note added by 'isomorphic-git addNote'
56
+ `,author:c,committer:l,signingKey:u})}async function Wo({fs:e,onSign:t,dir:n,gitdir:r=K(n,`.git`),ref:i=`refs/notes/commits`,oid:a,note:o,force:s,author:c,committer:l,signingKey:u,cache:d={}}){try{Y(`fs`,e),Y(`gitdir`,r),Y(`oid`,a),Y(`note`,o),u&&Y(`onSign`,t);let n=new J(e),f=await jo({fs:n,gitdir:r,author:c});if(!f)throw new xa(`author`);let p=await Mo({fs:n,gitdir:r,author:f,committer:l});if(!p)throw new xa(`committer`);return await Uo({fs:n,cache:d,onSign:t,gitdir:await X({fsp:n,dotgit:r}),ref:i,oid:a,note:o,force:s,author:f,committer:p,signingKey:u})}catch(e){throw e.caller=`git.addNote`,e}}async function Go({fs:e,gitdir:t,remote:n,url:r,force:i}){if(!ei(n,!0))throw new qr(n,tr.default.clean(n));let a=await xi.get({fs:e,gitdir:t});if(!i&&(await a.getSubsections(`remote`)).includes(n)&&r!==await a.get(`remote.${n}.url`))throw new aa(`remote`,n);await a.set(`remote.${n}.url`,r),await a.set(`remote.${n}.fetch`,`+refs/heads/*:refs/remotes/${n}/*`),await xi.save({fs:e,gitdir:t,config:a})}async function Ko({fs:e,dir:t,gitdir:n=K(t,`.git`),remote:r,url:i,force:a=!1}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`remote`,r),Y(`url`,i);let t=new J(e);return await Go({fs:t,gitdir:await X({fsp:t,dotgit:n}),remote:r,url:i,force:a})}catch(e){throw e.caller=`git.addRemote`,e}}async function qo({fs:e,cache:t,onSign:n,gitdir:r,ref:i,tagger:a,message:o=i,gpgsig:s,object:c,signingKey:l,force:u=!1}){if(i=i.startsWith(`refs/tags/`)?i:`refs/tags/${i}`,!u&&await q.exists({fs:e,gitdir:r,ref:i}))throw new aa(`tag`,i);let d=await q.resolve({fs:e,gitdir:r,ref:c||`HEAD`}),{type:f}=await ia({fs:e,cache:t,gitdir:r,oid:d}),p=Ha.from({object:d,type:f,tag:i.replace(`refs/tags/`,``),tagger:a,message:o,gpgsig:s});l&&(p=await Ha.sign(p,n,l));let m=await xo({fs:e,gitdir:r,type:`tag`,object:p.toObject()});await q.writeRef({fs:e,gitdir:r,ref:i,value:m})}async function Jo({fs:e,onSign:t,dir:n,gitdir:r=K(n,`.git`),ref:i,tagger:a,message:o=i,gpgsig:s,object:c,signingKey:l,force:u=!1,cache:d={}}){try{Y(`fs`,e),Y(`gitdir`,r),Y(`ref`,i),l&&Y(`onSign`,t);let n=new J(e),f=await X({fsp:n,dotgit:r}),p=await jo({fs:n,gitdir:f,author:a});if(!p)throw new xa(`tagger`);return await qo({fs:n,cache:d,onSign:t,gitdir:f,ref:i,tagger:p,message:o,gpgsig:s,object:c,signingKey:l,force:u})}catch(e){throw e.caller=`git.annotatedTag`,e}}async function Yo({fs:e,gitdir:t,ref:n,object:r,checkout:i=!1,force:a=!1}){if(!ei(n,!0))throw new qr(n,tr.default.clean(n));let o=`refs/heads/${n}`;if(!a&&await q.exists({fs:e,gitdir:t,ref:o}))throw new aa(`branch`,n,!1);let s;try{s=await q.resolve({fs:e,gitdir:t,ref:r||`HEAD`})}catch(e){if(!(e instanceof Wr))throw e}s&&(s=(await No({fs:e,cache:{},gitdir:t,oid:s})).oid,await q.writeRef({fs:e,gitdir:t,ref:o,value:s})),i&&await q.writeSymbolicRef({fs:e,gitdir:t,ref:`HEAD`,value:o})}async function Xo({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r,object:i,checkout:a=!1,force:o=!1}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`ref`,r);let t=new J(e);return await Yo({fs:t,gitdir:await X({fsp:t,dotgit:n}),ref:r,object:i,checkout:a,force:o})}catch(e){throw e.caller=`git.branch`,e}}async function Zo(e,t,n){let r=n.split(`/`);r.pop();let i=t;for(let t of r){if(t===``||t===`.`)continue;i=`${i}/${t}`;let r=await e.lstat(i);if(r&&r.isSymbolicLink())throw new lr(n)}}var Qo=(e,t)=>{if(e===`.`||t==null||t.length===0||t===`.`)return!0;let n=t.endsWith(`/`)?t.slice(0,-1):t;return n===`.`?!0:n.length>=e.length?n===e||n.startsWith(`${e}/`):e.startsWith(`${n}/`)};async function $o({fs:e,cache:t,onProgress:n,onPostCheckout:r,dir:i,gitdir:a,remote:o,ref:s,filepaths:c,noCheckout:l,noUpdateHead:u,dryRun:d,force:f,track:p=!0,restoreFromIndex:m=!1,nonBlocking:h=!1,batchSize:g=100}){let _;if(r)try{_=await q.resolve({fs:e,gitdir:a,ref:`HEAD`})}catch{_=`0000000000000000000000000000000000000000`}let v;try{v=await q.resolve({fs:e,gitdir:a,ref:s})}catch(t){if(s===`HEAD`||!(t instanceof Wr))throw t;let n=`${o}/${s}`;if(v=await q.resolve({fs:e,gitdir:a,ref:n}),p){let t=await xi.get({fs:e,gitdir:a});await t.set(`branch.${s}.remote`,o),await t.set(`branch.${s}.merge`,`refs/heads/${s}`),await xi.save({fs:e,gitdir:a,config:t})}await q.writeRef({fs:e,gitdir:a,ref:`refs/heads/${s}`,value:v})}if(!u)try{v=(await No({fs:e,cache:t,gitdir:a,oid:v})).oid}catch(e){throw e instanceof Wr?new da(s,e.data.what):e}if(!l){let o;try{o=await es({fs:e,cache:t,onProgress:n,dir:i,gitdir:a,ref:s,force:f,filepaths:c,restoreFromIndex:m})}catch(e){throw e instanceof Wr&&e.data.what===v?new da(s,v):e}let l=o.filter(([e])=>e===`conflict`).map(([e,t])=>t);if(l.length>0)throw new sa(l);let u=o.filter(([e])=>e===`error`).map(([e,t])=>t);if(u.length>0)throw new G(u.join(`, `));if(d){r&&await r({previousHead:_,newHead:v,type:c!=null&&c.length>0?`file`:`branch`});return}let p=0,y=o.length;if(await Ir.acquire({fs:e,gitdir:a,cache:t},async function(t){await Promise.all(o.filter(([e])=>e===`delete`||e===`delete-index`).map(async function([r,a]){let o=`${i}/${a}`;r===`delete`&&await e.rm(o),t.delete({filepath:a}),n&&await n({phase:`Updating workdir`,loaded:++p,total:y})}))}),await Ir.acquire({fs:e,gitdir:a,cache:t},async function(t){for(let[r,a]of o)if(r===`rmdir`||r===`rmdir-index`){let o=`${i}/${a}`;try{r===`rmdir`&&await e.rmdir(o),t.delete({filepath:a}),n&&await n({phase:`Updating workdir`,loaded:++p,total:y})}catch(e){if(e.code===`ENOTEMPTY`)console.log(`Did not delete ${a} because directory is not empty`);else throw e}}}),await Promise.all(o.filter(([e])=>e===`mkdir`||e===`mkdir-index`).map(async function([t,r]){let a=`${i}/${r}`;await Zo(e,i,r),await e.mkdir(a),n&&await n({phase:`Updating workdir`,loaded:++p,total:y})})),h){let r=await rs(`Update Working Dir`,o.filter(([e])=>e===`create`||e===`create-index`||e===`update`||e===`mkdir-index`).map(([n,r,o,s,c])=>()=>ns({fs:e,cache:t,gitdir:a,dir:i},[n,r,o,s,c])),n,g);await Ir.acquire({fs:e,gitdir:a,cache:t,allowUnmerged:!0},async function(e){await rs(`Update Index`,r.map(([t,n,r])=>()=>ts({index:e,fullpath:t,oid:n,stats:r})),n,g)})}else await Ir.acquire({fs:e,gitdir:a,cache:t,allowUnmerged:!0},async function(r){let s=await Promise.allSettled(o.filter(([e])=>e===`create`||e===`create-index`||e===`update`||e===`mkdir-index`).map(async function([o,s,c,l,u]){let d=`${i}/${s}`;if(o!==`create-index`&&o!==`mkdir-index`){await Zo(e,i,s);let{object:n}=await ia({fs:e,cache:t,gitdir:a,oid:c});if(u&&await e.rm(d),l===33188)await e.write(d,n);else if(l===33261)await e.write(d,n,{mode:511});else if(l===40960)await e.writelink(d,n);else throw new G(`Invalid mode 0o${l.toString(8)} detected in blob ${c}`)}let f=await e.lstat(d);l===33261&&(f.mode=493),o===`mkdir-index`&&(f.mode=57344),r.insert({filepath:s,stats:f,oid:c}),n&&await n({phase:`Updating workdir`,loaded:++p,total:y})})),c=[];for(let e of s)e.status===`rejected`&&(c.push(e.reason),console.error(`[isomorphic-git checkout] task rejected:`,e.reason?.stack??e.reason));if(c.length>0)throw new Ca(c)});r&&await r({previousHead:_,newHead:v,type:c!=null&&c.length>0?`file`:`branch`})}if(!u){let t=await q.expand({fs:e,gitdir:a,ref:s});t.startsWith(`refs/heads`)?await q.writeSymbolicRef({fs:e,gitdir:a,ref:`HEAD`,value:t}):await q.writeRef({fs:e,gitdir:a,ref:`HEAD`,value:v})}}async function es({fs:e,cache:t,onProgress:n,dir:r,gitdir:i,ref:a,force:o,filepaths:s,restoreFromIndex:c}){let l=0;return to({fs:e,cache:t,dir:r,gitdir:i,trees:[c?Ur():Ja({ref:a}),Xa(),Ur()],map:async function(e,[t,r,i]){if(e!==`.`){if(s&&!s.some(t=>Qo(e,t)))return null;switch(n&&await n({phase:`Analyzing workdir`,loaded:++l}),[!!i,!!t,!!r].map(Number).join(``)){case`000`:return;case`001`:return!c&&o&&s&&s.includes(e)?[`delete`,e]:void 0;case`010`:switch(await t.type()){case`tree`:return[`mkdir`,e];case`blob`:return[`create`,e,await t.oid(),await t.mode()];case`commit`:return[`mkdir-index`,e,await t.oid(),await t.mode()];default:return[`error`,`new entry Unhandled type ${await t.type()}`]}case`011`:switch(`${await t.type()}-${await r.type()}`){case`tree-tree`:return;case`tree-blob`:case`blob-tree`:return[`conflict`,e];case`blob-blob`:return await t.oid()===await r.oid()?await t.mode()===await r.mode()?[`create-index`,e,await t.oid(),await t.mode()]:o?[`update`,e,await t.oid(),await t.mode(),!0]:[`conflict`,e]:o?[`update`,e,await t.oid(),await t.mode(),await t.mode()!==await r.mode()]:[`conflict`,e];case`commit-tree`:return;case`commit-blob`:return[`conflict`,e];default:return[`error`,`new entry Unhandled type ${t.type}`]}case`100`:return[`delete-index`,e];case`101`:switch(await i.type()){case`tree`:return[`rmdir-index`,e];case`blob`:return await i.oid()===await r.oid()||o?[`delete`,e]:[`conflict`,e];case`commit`:return[`rmdir-index`,e];default:return[`error`,`delete entry Unhandled type ${await i.type()}`]}case`110`:case`111`:switch(`${await i.type()}-${await t.type()}`){case`tree-tree`:return;case`blob-blob`:if(await i.oid()===await t.oid()&&await i.mode()===await t.mode()&&!o)return;if(r){if(await r.oid()!==await i.oid()&&await r.oid()!==await t.oid())return o?[`update`,e,await t.oid(),await t.mode(),await t.mode()!==await r.mode()]:[`conflict`,e]}else if(o)return[`update`,e,await t.oid(),await t.mode(),await t.mode()!==await i.mode()];return await t.mode()===await i.mode()?await t.oid()===await i.oid()?void 0:[`update`,e,await t.oid(),await t.mode(),!1]:[`update`,e,await t.oid(),await t.mode(),!0];case`tree-blob`:return[`update-dir-to-blob`,e,await t.oid()];case`blob-tree`:return[`update-blob-to-tree`,e];case`commit-commit`:return[`mkdir-index`,e,await t.oid(),await t.mode()];default:return[`error`,`update entry Unhandled type ${await i.type()}-${await t.type()}`]}}}},reduce:async function(e,t){return t=Qa(t),e?e&&e[0]===`rmdir`?(t.push(e),t):(t.unshift(e),t):t}})}async function ts({index:e,fullpath:t,stats:n,oid:r}){try{e.insert({filepath:t,stats:n,oid:r})}catch(e){console.warn(`Error inserting ${t} into index:`,e)}}async function ns({fs:e,cache:t,gitdir:n,dir:r},[i,a,o,s,c]){let l=`${r}/${a}`;if(i!==`create-index`&&i!==`mkdir-index`){await Zo(e,r,a);let{object:i}=await ia({fs:e,cache:t,gitdir:n,oid:o});if(c&&await e.rm(l),s===33188)await e.write(l,i);else if(s===33261)await e.write(l,i,{mode:511});else if(s===40960)await e.writelink(l,i);else throw new G(`Invalid mode 0o${s.toString(8)} detected in blob ${o}`)}let u=await e.lstat(l);return s===33261&&(u.mode=493),i===`mkdir-index`&&(u.mode=57344),[a,o,u]}async function rs(e,t,n,r){let i=[],a=[];for(let o=0;o<t.length;o+=r){let s=t.slice(o,o+r).map(e=>e());(await Promise.allSettled(s)).forEach(t=>{t.status===`fulfilled`?i.push(t.value):(a.push(t.reason),console.error(`[isomorphic-git ${e}] task rejected:`,t.reason?.stack??t.reason))}),n&&await n({phase:`Updating workdir`,loaded:o+s.length,total:t.length})}if(a.length>0)throw new Ca(a);return i}async function is({fs:e,onProgress:t,onPostCheckout:n,dir:r,gitdir:i=K(r,`.git`),remote:a=`origin`,ref:o,filepaths:s,noCheckout:c=!1,noUpdateHead:l=o===void 0,dryRun:u=!1,force:d=!1,track:f=!0,cache:p={},nonBlocking:m=!1,batchSize:h=100}){try{Y(`fs`,e),Y(`dir`,r),Y(`gitdir`,i);let g=o||`HEAD`,_=o===void 0&&s!=null&&s.length>0,v=new J(e);return await $o({fs:v,cache:p,onProgress:t,onPostCheckout:n,dir:r,gitdir:await X({fsp:v,dotgit:i}),remote:a,ref:g,filepaths:s,noCheckout:c,noUpdateHead:l,dryRun:u,force:d,track:f,restoreFromIndex:_,nonBlocking:m,batchSize:h})}catch(e){throw e.caller=`git.checkout`,e}}var as=/^.*(\r?\n|$)/gm;function os({branches:e,contents:t}){let n=e[1],r=e[2],i=t[0],a=t[1],o=t[2],s=a.match(as),c=i.match(as),l=o.match(as),u=(0,or.default)(s,c,l),d=``,f=!0;for(let e of u)e.ok&&(d+=e.ok.join(``)),e.conflict&&(f=!1,d+=`${`<`.repeat(7)} ${n}\n`,d+=e.conflict.a.join(``),d+=`${`=`.repeat(7)}\n`,d+=e.conflict.b.join(``),d+=`${`>`.repeat(7)} ${r}\n`);return{cleanMerge:f,mergedText:d}}async function ss({fs:e,cache:t,dir:n,gitdir:r=K(n,`.git`),index:i,ourOid:a,baseOid:o,theirOid:s,ourName:c=`ours`,baseName:l=`base`,theirName:u=`theirs`,dryRun:d=!1,abortOnConflict:f=!0,mergeDriver:p}){let m=Ja({ref:a}),h=Ja({ref:o}),g=Ja({ref:s}),_=[],v=[],y=[],b=[],x=await to({fs:e,cache:t,dir:n,gitdir:r,trees:[m,h,g],map:async function(t,[n,a,o]){let s=Lr(t);switch(`${await po(n,a)}-${await po(o,a)}`){case`false-false`:return{mode:await a.mode(),path:s,oid:await a.oid(),type:await a.type()};case`false-true`:return!o&&await n.type()===`tree`?{mode:await n.mode(),path:s,oid:await n.oid(),type:await n.type()}:o?{mode:await o.mode(),path:s,oid:await o.oid(),type:await o.type()}:void 0;case`true-false`:return!n&&await o.type()===`tree`?{mode:await o.mode(),path:s,oid:await o.oid(),type:await o.type()}:n?{mode:await n.mode(),path:s,oid:await n.oid(),type:await n.type()}:void 0;case`true-true`:if(n&&o&&await n.type()===`tree`&&await o.type()===`tree`)return{mode:await n.mode(),path:s,oid:await n.oid(),type:`tree`};if(n&&o&&await n.type()===`blob`&&await o.type()===`blob`)return cs({fs:e,gitdir:r,path:s,ours:n,base:a,theirs:o,ourName:c,baseName:l,theirName:u,mergeDriver:p}).then(async e=>{if(e.cleanMerge)f||i.insert({filepath:t,oid:e.mergeResult.oid,stage:0});else if(_.push(t),v.push(t),!f){let e=``;a&&await a.type()===`blob`&&(e=await a.oid());let r=await n.oid(),s=await o.oid();i.delete({filepath:t}),e&&i.insert({filepath:t,oid:e,stage:1}),i.insert({filepath:t,oid:r,stage:2}),i.insert({filepath:t,oid:s,stage:3})}return e.mergeResult});if(a&&!n&&o&&await a.type()===`blob`&&await o.type()===`blob`){if(_.push(t),y.push(t),!f){let e=await a.oid(),n=await o.oid();i.delete({filepath:t}),i.insert({filepath:t,oid:e,stage:1}),i.insert({filepath:t,oid:n,stage:3})}return{mode:await o.mode(),oid:await o.oid(),type:`blob`,path:s}}if(a&&n&&!o&&await a.type()===`blob`&&await n.type()===`blob`){if(_.push(t),b.push(t),!f){let e=await a.oid(),r=await n.oid();i.delete({filepath:t}),i.insert({filepath:t,oid:e,stage:1}),i.insert({filepath:t,oid:r,stage:2})}return{mode:await n.mode(),oid:await n.oid(),type:`blob`,path:s}}if(a&&!n&&!o&&(await a.type()===`blob`||await a.type()===`tree`))return;throw new ya}},reduce:_.length!==0&&(!n||f)?void 0:async(t,n)=>{let i=n.filter(Boolean);if(t&&!(t&&t.type===`tree`&&i.length===0&&t.path!==`.`))return(i.length>0||t.path===`.`&&i.length===0)&&(t.oid=await xo({fs:e,gitdir:r,type:`tree`,object:new ji(i).toObject(),dryRun:d})),t}});return _.length===0?x.oid:(n&&!f&&await to({fs:e,cache:t,dir:n,gitdir:r,trees:[Ja({ref:x.oid})],map:async function(t,[r]){let i=`${n}/${t}`;if(await r.type()===`blob`){let t=await r.mode(),n=await r.content();await e.write(i,n,{mode:t})}return!0}}),new ba(_,v,y,b))}async function cs({fs:e,gitdir:t,path:n,ours:r,base:i,theirs:a,ourName:o,theirName:s,baseName:c,dryRun:l,mergeDriver:u=os}){let d=`blob`,f=`100755`,p=``,m=``;i&&await i.type()===`blob`&&(f=await i.mode(),p=await i.oid(),m=Buffer.from(await i.content()).toString(`utf8`));let h=f===await r.mode()?await a.mode():await r.mode();if(await r.oid()===await a.oid())return{cleanMerge:!0,mergeResult:{mode:h,path:n,oid:await r.oid(),type:d}};if(await r.oid()===p)return{cleanMerge:!0,mergeResult:{mode:h,path:n,oid:await a.oid(),type:d}};if(await a.oid()===p)return{cleanMerge:!0,mergeResult:{mode:h,path:n,oid:await r.oid(),type:d}};let g=Buffer.from(await r.content()).toString(`utf8`),_=Buffer.from(await a.content()).toString(`utf8`),{mergedText:v,cleanMerge:y}=await u({branches:[c,o,s],contents:[m,g,_],path:n});return{cleanMerge:y,mergeResult:{mode:h,path:n,oid:await xo({fs:e,gitdir:t,type:`blob`,object:Buffer.from(v,`utf8`),dryRun:l}),type:d}}}var ls={stage:Ur,workdir:Xa};async function us(e,t,n,r,i=null){let a=K(n,r),o=await e.lstat(a);if(!o)throw new Wr(a);if(o.isDirectory())throw new G(`${a}: file expected, but found directory`);let s=i?await Ni({fs:e,gitdir:t,oid:i}):void 0,c=s?i:void 0;return s||await jr(a,async()=>{let n=o.isSymbolicLink()?await e.readlink(a).then(So):await e.read(a);if(n===null)throw new Wr(a);c=await xo({fs:e,gitdir:t,type:`blob`,object:n})}),c}async function ds({fs:e,dir:t,gitdir:n,entries:r}){async function i(r){return r.type===`tree`?r.oid||(r.oid=await Ho({fs:e,gitdir:n,tree:await Promise.all(r.children.map(i))}),r.mode=16384):r.type===`blob`&&(r.oid=await us(e,n,t,r.path,r.oid),r.mode=33188),r.path=r.path.split(`/`).pop(),r}return Promise.all(r.map(i))}async function fs({fs:e,dir:t,gitdir:n,treePair:r}){let i=r[1]===`stage`,a=r.map(e=>typeof e==`string`?ls[e]():e),o=[],s=await to({fs:e,cache:{},dir:t,gitdir:n,trees:a,map:async(r,[i,a])=>{if(!(r===`.`||await ho.isIgnored({fs:e,dir:t,gitdir:n,filepath:r}))&&a)return(!i||await i.oid()!==await a.oid()&&await a.oid()!==void 0)&&o.push([i,a]),{mode:await a.mode(),path:r,oid:await a.oid(),type:await a.type()}},reduce:async(e,t)=>(t=t.filter(Boolean),e?(e.children=t,e):t.length>0?t:void 0),iterate:async(n,r)=>{let a=[];for(let n of r){let[r,s]=n;i?s&&(await e.exists(`${t}/${s.toString()}`)?a.push(n):o.push([null,s])):r&&(s?a.push(n):o.push([r,null]))}return a.length?Promise.all(a.map(n)):[]}});return o.length===0||s.length===0?null:Ho({fs:e,gitdir:n,tree:(await ds({fs:e,dir:t,gitdir:n,entries:s})).filter(Boolean).map(e=>({mode:e.mode,path:e.path,oid:e.oid,type:e.type}))})}async function ps({fs:e,dir:t,gitdir:n,stashCommit:r,parentCommit:i,wasStaged:a}){let o=[],s=[],c=await to({fs:e,cache:{},dir:t,gitdir:n,trees:[Ja({ref:i}),Ja({ref:r})],map:async(r,[i,c])=>{if(r===`.`||await ho.isIgnored({fs:e,dir:t,gitdir:n,filepath:r}))return;let l=c?await c.type():await i.type();if(l!==`tree`&&l!==`blob`)return;if(!c&&i){let e=l===`tree`?`rmdir`:`rm`;return l===`tree`&&o.push(r),l===`blob`&&a&&s.push({filepath:r,oid:await i.oid()}),{method:e,filepath:r}}let u=await c.oid();if(!i||await i.oid()!==u)return l===`tree`?{method:`mkdir`,filepath:r}:(a&&s.push({filepath:r,oid:u,stats:await e.lstat(K(t,r))}),{method:`write`,filepath:r,oid:u})}});await jr(n,async()=>{for(let r of c){let i=K(t,r.filepath);switch(r.method){case`rmdir`:await e.rmdir(i);break;case`mkdir`:await Zo(e,t,r.filepath),await e.mkdir(i);break;case`rm`:await e.rm(i);break;case`write`:if(!o.some(e=>i.startsWith(e))){await Zo(e,t,r.filepath);let{object:a}=await ia({fs:e,cache:{},gitdir:n,oid:r.oid});await e.exists(i)&&await e.rm(i),await e.write(i,a)}}}}),await Ir.acquire({fs:e,gitdir:n,cache:{}},async e=>{s.forEach(({filepath:t,stats:n,oid:r})=>{e.insert({filepath:t,stats:n,oid:r})})})}async function ms({fs:e,cache:t,dir:n,gitdir:r,oid:i,dryRun:a=!1,noUpdateBranch:o=!1,abortOnConflict:s=!0,committer:c,mergeDriver:l}){let{commit:u,oid:d}=await Po({fs:e,cache:t,gitdir:r,oid:i});if(u.parent.length>1)throw new la(d,u.parent.length);if(u.parent.length===0)throw new ua(d);let f=await q.resolve({fs:e,gitdir:r,ref:`HEAD`}),{commit:p}=await Po({fs:e,cache:t,gitdir:r,oid:f}),m=u.parent[0],{commit:h}=await Po({fs:e,cache:t,gitdir:r,oid:m});if(n&&(!a&&!o||!s)){let i=await hs({fs:e,cache:t,dir:n,gitdir:r,headTree:p.tree,baseTree:h.tree,theirTree:u.tree,allTracked:!s});if(i.length>0)throw new ca(i)}let g=await Ir.acquire({fs:e,gitdir:r,cache:t,allowUnmerged:!1},async i=>ss({fs:e,cache:t,dir:n,gitdir:r,index:i,ourOid:p.tree,baseOid:h.tree,theirOid:u.tree,ourName:`HEAD`,baseName:`parent of ${d.slice(0,7)}`,theirName:d.slice(0,7),dryRun:a,abortOnConflict:s,mergeDriver:l}));if(g instanceof ba)throw g;let _=await Io({fs:e,cache:t,gitdir:r,message:u.message,tree:g,parent:[f],author:u.author,committer:c,dryRun:a,noUpdateBranch:o});return n&&!a&&!o&&await ps({fs:e,dir:n,gitdir:r,stashCommit:_,parentCommit:f,wasStaged:!0}),_}async function hs({fs:e,cache:t,dir:n,gitdir:r,headTree:i,baseTree:a,theirTree:o,allTracked:s}){let c=await to({fs:e,cache:t,dir:n,gitdir:r,trees:[Ja({ref:a}),Ja({ref:o})],map:async(e,[t,n])=>{if(e!==`.`){if(t&&n&&await t.oid()===await n.oid())return null;if([t?await t.type():void 0,n?await n.type():void 0].includes(`blob`))return e}}});return c.length===0&&!s?[]:to({fs:e,cache:t,dir:n,gitdir:r,trees:[Ja({ref:i}),Ur(),Xa()],map:async(e,[t,n,r])=>{if(e===`.`)return;if(!s&&!c.some(t=>Qo(e,t)))return null;let i=t&&await t.type()===`blob`?await t.oid():void 0;if((c.includes(e)||s&&i)&&((n?await n.oid():void 0)!==i||r&&(!i||await r.type()!==`blob`||await r.oid()!==i)))return e}})}async function gs({fs:e,dir:t,gitdir:n=K(t,`.git`),oid:r,cache:i={},committer:a,dryRun:o=!1,noUpdateBranch:s=!1,abortOnConflict:c=!0,mergeDriver:l}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`oid`,r);let u=new J(e),d=await X({fsp:u,dotgit:n}),{commit:f}=await Po({fs:u,cache:i,gitdir:d,oid:r});if(f.parent&&f.parent.length>1)return await ms({fs:u,cache:i,dir:t,gitdir:d,oid:r,dryRun:o,noUpdateBranch:s,abortOnConflict:c,committer:void 0,mergeDriver:l});let p=await Mo({fs:u,gitdir:d,committer:a});if(!p)throw new xa(`committer`);return await ms({fs:u,cache:i,dir:t,gitdir:d,oid:r,dryRun:o,noUpdateBranch:s,abortOnConflict:c,committer:p,mergeDriver:l})}catch(e){throw e.caller=`git.cherryPick`,e}}var _s=/^refs\/(heads\/|tags\/|remotes\/)?(.*)/;function vs(e){let t=_s.exec(e);return t?t[1]===`remotes/`&&e.endsWith(`/HEAD`)?t[2].slice(0,-5):t[2]:e}async function ys({fs:e,gitdir:t,fullname:n=!1,test:r=!1}){let i=await q.resolve({fs:e,gitdir:t,ref:`HEAD`,depth:2});if(r)try{await q.resolve({fs:e,gitdir:t,ref:i})}catch(e){if(e instanceof Wr)return;throw e}if(i.startsWith(`refs/`))return n?i:vs(i)}function bs(e){return e=e.replace(/^[^/@:]+@([^/@:]+):/,`https://$1/`),e=e.replace(/^ssh:\/\//,`https://`),e}function xs({username:e=``,password:t=``}){return`Basic ${Buffer.from(`${e}:${t}`).toString(`base64`)}`}async function Ss(e,t){let n=zi(e);for(;;){let{value:e,done:r}=await n.next();if(e&&await t(e),r)break}n.return&&n.return()}async function Cs(e){let t=0,n=[];await Ss(e,e=>{n.push(e),t+=e.byteLength});let r=new Uint8Array(t),i=0;for(let e of n)r.set(e,i),i+=e.byteLength;return r}var ws=/^(https?:\/\/)([^/?#]+)@/i;function Ts(e){let t=e.match(ws);return t==null?{url:e,auth:{}}:{url:e.replace(ws,`$1`),auth:Es(e,t[2])}}function Es(e,t){let n=Ds(e),r=t.indexOf(`:`)!==-1;if(n!==null)return{username:Os(n.username),password:r?Os(n.password):void 0};let i=t.indexOf(`:`);return{username:r?t.slice(0,i):t,password:r?t.slice(i+1):void 0}}function Ds(e){if(typeof URL!=`function`)return null;try{return new URL(e)}catch{return null}}function Os(e){try{return decodeURIComponent(e)}catch{return e}}function ks(e,t){let n=t.toString(16);return`0`.repeat(e-n.length)+n}var As=class{static flush(){return Buffer.from(`0000`,`utf8`)}static delim(){return Buffer.from(`0001`,`utf8`)}static encode(e){typeof e==`string`&&(e=Buffer.from(e));let t=ks(4,e.length+4);return Buffer.concat([Buffer.from(t,`utf8`),e])}static streamReader(e){let t=new Bi(e);return async function(){try{let e=await t.read(4);return e==null||(e=parseInt(e.toString(`utf8`),16),e===0||e===1?null:await t.read(e-4)??!0)}catch(t){return e.error=t,!0}}}};async function js(e){let t={},n;for(;n=await e(),n!==!0;){if(n===null)continue;n=n.toString(`utf8`).replace(/\n$/,``);let e=n.indexOf(`=`);if(e>-1){let r=n.slice(0,e);t[r]=n.slice(e+1)}else t[n]=!0}return{protocolVersion:2,capabilities2:t}}async function Ms(e,{service:t}){let n=new Set,r=new Map,i=new Map,a=As.streamReader(e),o=await a();for(;o===null;)o=await a();if(o===!0)throw new pa;if(o.includes(`version 2`))return js(a);if(o.toString(`utf8`).replace(/\n$/,``)!==`# service=${t}`)throw new wa(`# service=${t}\\n`,o.toString(`utf8`));let s=await a();for(;s===null;)s=await a();if(s===!0)return{capabilities:n,refs:r,symrefs:i};if(s=s.toString(`utf8`),s.includes(`version 2`))return js(a);let[c,l]=Ns(s,`\0`,`\\x00`);if(l.split(` `).map(e=>n.add(e)),c!==`0000000000000000000000000000000000000000 capabilities^{}`){let[e,t]=Ns(c,` `,` `);for(r.set(t,e);;){let e=await a();if(e===!0)break;if(e!==null){let[t,n]=Ns(e.toString(`utf8`),` `,` `);r.set(n,t)}}}for(let e of n)if(e.startsWith(`symref=`)){let t=e.match(/symref=([^:]+):(.*)/);t.length===3&&i.set(t[1],t[2])}return{protocolVersion:1,capabilities:n,refs:r,symrefs:i}}function Ns(e,t,n){let r=e.trim().split(t);if(r.length!==2)throw new wa(`Two strings separated by '${n}'`,e.toString(`utf8`));return r}var Ps=(e,t)=>e.endsWith(`?`)?`${e}${t}`:`${e}/${t.replace(/^https?:\/\//,``)}`,Fs=(e,t)=>{(t.username||t.password)&&(e.Authorization=xs(t)),t.headers&&Object.assign(e,t.headers)},Is=async e=>{try{let t=Buffer.from(await Cs(e.body)),n=t.toString(`utf8`);return{preview:n.length<256?n:n.slice(0,256)+`...`,response:n,data:t}}catch{return{}}},Ls=class{static async capabilities(){return[`discover`,`connect`]}static async discover({http:e,onProgress:t,onAuth:n,onAuthSuccess:r,onAuthFailure:i,corsProxy:a,service:o,url:s,headers:c,signal:l,protocolVersion:u}){let{url:d,auth:f}=Ts(s),p=a?Ps(a,d):d;(f.username||f.password)&&(c.Authorization=xs(f)),u===2&&(c[`Git-Protocol`]=`version=2`);let m,h,g=!1;do if(m=await e.request({onProgress:t,method:`GET`,url:`${p}/info/refs?service=${o}`,headers:c,signal:l}),h=!1,m.statusCode===401||m.statusCode===203){let e=g?i:n;if(e){if(f=await e(d,{...f,headers:{...c}}),f&&f.cancel)throw new Aa;f&&(Fs(c,f),g=!0,h=!0)}}else m.statusCode===200&&g&&r&&await r(d,f);while(h);if(m.statusCode!==200){let{response:e}=await Is(m);throw new ga(m.statusCode,m.statusMessage,e)}if(m.headers[`content-type`]===`application/x-${o}-advertisement`){let e=await Ms(m.body,{service:o});return e.auth=f,e}{let{preview:e,response:t,data:n}=await Is(m);try{let e=await Ms([n],{service:o});return e.auth=f,e}catch{throw new Da(e,t)}}}static async connect({http:e,onProgress:t,corsProxy:n,service:r,url:i,auth:a,body:o,headers:s,signal:c}){let l=Ts(i);l&&(i=l.url),n&&(i=Ps(n,i)),s[`content-type`]=`application/x-${r}-request`,s.accept=`application/x-${r}-result`,Fs(s,a);let u=await e.request({onProgress:t,method:`POST`,url:`${i}/${r}`,body:o,headers:s,signal:c});if(u.statusCode!==200){let{response:e}=Is(u);throw new ga(u.statusCode,u.statusMessage,e)}return u}},Rs=class{static getRemoteHelperFor({url:e}){let t=new Map;t.set(`http`,Ls),t.set(`https`,Ls);let n=Bs({url:e});if(!n)throw new ka(e);if(t.has(n.transport))return t.get(n.transport);throw new Oa(e,n.transport,n.transport===`ssh`?bs(e):void 0)}},zs=/^[^/@:]+@[^/@:]+:/;function Bs({url:e}){if(zs.test(e))return{transport:`ssh`,address:e};let t=e.match(/(\w+)(:\/\/|::)(.*)/);if(t!==null){if(t[2]===`://`)return{transport:t[1],address:t[0]};if(t[2]===`::`)return{transport:t[1],address:t[3]}}}var Vs=class{static async read({fs:e,gitdir:t}){let n=K(t,`shallow`),r=new Set;return await jr(n,async function(){let t=await e.read(n,{encoding:`utf8`});if(t===null||t.trim()===``)return r;t.trim().split(`
57
+ `).map(e=>r.add(e))}),r}static async write({fs:e,gitdir:t,oids:n}){let r=K(t,`shallow`);if(n.size>0){let t=[...n].join(`
58
+ `)+`
59
+ `;await jr(r,async function(){await e.write(r,t,{encoding:`utf8`})})}else await jr(r,async function(){await e.rm(r)})}};function Hs({config:e,onAuth:t}){return t&&(async(n,r)=>{let i=r.username||await e.get(`credential.${n}.username`);return t(n,i?{...r,username:i}:r)})}function Us(e){return e.slice(0,12).toString(`hex`)===`5041434b0000000200000000`}function Ws(e,t){let n=e.map(e=>e.split(`=`,1)[0]);return t.filter(e=>{let t=e.split(`=`,1)[0];return n.includes(t)})}var Gs={name:`isomorphic-git`,version:`1.44.5`,agent:`git/isomorphic-git@1.44.5`},Ks=class{constructor(){this._queue=[]}write(e){if(this._ended)throw Error(`You cannot write to a FIFO that has already been ended!`);if(this._waiting){let t=this._waiting;this._waiting=null,t({value:e})}else this._queue.push(e)}end(){if(this._ended=!0,this._waiting){let e=this._waiting;this._waiting=null,e({done:!0})}}destroy(e){this.error=e,this.end()}async next(){if(this._queue.length>0)return{value:this._queue.shift()};if(this._ended)return{done:!0};if(this._waiting)throw Error(`You cannot call read until the previous call to read has returned!`);return new Promise(e=>{this._waiting=e})}};function qs(e){let t=e.indexOf(`\r`),n=e.indexOf(`
60
+ `);return t===-1&&n===-1?-1:t===-1?n+1:n===-1?t+1:n===t+1?n+1:Math.min(t,n)+1}function Js(e){let t=new Ks,n=``;return(async()=>{await Ss(e,e=>{for(e=e.toString(`utf8`),n+=e;;){let e=qs(n);if(e===-1||e===n.length&&n[e-1]===`\r`)break;t.write(n.slice(0,e)),n=n.slice(e)}}),n.length>0&&t.write(n),t.end()})(),t}var Ys=class{static demux(e){let t=As.streamReader(e),n=new Ks,r=new Ks,i=new Ks,a=async function(){let o=await t();if(o===null)return a();if(o===!0)n.end(),i.end(),e.error?r.destroy(e.error):r.end();else{switch(o[0]){case 1:r.write(o.slice(1));break;case 2:i.write(o.slice(1));break;case 3:{let e=o.slice(1);i.write(e),n.end(),i.end(),r.destroy(Error(e.toString(`utf8`)));return}default:n.write(o)}a()}};return a(),{packetlines:n,packfile:r,progress:i}}};async function Xs(e){let{packetlines:t,packfile:n,progress:r}=Ys.demux(e),i=[],a=[],o=[],s=!1,c=!1;return new Promise((l,u)=>{Ss(t,t=>{let d=t.toString(`utf8`).trim();if(d.startsWith(`shallow`)){let e=d.slice(-41).trim();e.length!==40&&u(new Kr(e)),i.push(e)}else if(d.startsWith(`unshallow`)){let e=d.slice(-41).trim();e.length!==40&&u(new Kr(e)),a.push(e)}else if(d.startsWith(`ACK`)){let[,e,t]=d.split(` `);o.push({oid:e,status:t}),t||(c=!0)}else d.startsWith(`NAK`)?(s=!0,c=!0):(c=!0,s=!0);c&&(e.error?u(e.error):l({shallows:i,unshallows:a,acks:o,nak:s,packfile:n,progress:r}))}).finally(()=>{c||(e.error?u(e.error):l({shallows:i,unshallows:a,acks:o,nak:s,packfile:n,progress:r}))})})}function Zs({capabilities:e=[],wants:t=[],haves:n=[],shallows:r=[],depth:i=null,since:a=null,exclude:o=[]}){let s=[];t=[...new Set(t)];let c=` ${e.join(` `)}`;for(let e of t)s.push(As.encode(`want ${e}${c}\n`)),c=``;for(let e of r)s.push(As.encode(`shallow ${e}\n`));i!==null&&s.push(As.encode(`deepen ${i}\n`)),a!==null&&s.push(As.encode(`deepen-since ${Math.floor(a.valueOf()/1e3)}\n`));for(let e of o)s.push(As.encode(`deepen-not ${e}\n`));s.push(As.flush());for(let e of n)s.push(As.encode(`have ${e}\n`));return s.push(As.encode(`done
61
+ `)),s}async function Qs({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,gitdir:c,ref:l,remoteRef:u,remote:d,url:f,corsProxy:p,depth:m=null,since:h=null,exclude:g=[],relative:_=!1,tags:v=!1,singleBranch:y=!1,headers:b={},prune:x=!1,pruneTags:S=!1}){let C=l||await ys({fs:e,gitdir:c,test:!0}),w=await xi.get({fs:e,gitdir:c}),T=d||C&&await w.get(`branch.${C}.remote`)||`origin`,E=f||await w.get(`remote.${T}.url`);if(E===void 0)throw new Sa(`remote OR url`);let ee=u||C&&await w.get(`branch.${C}.merge`)||l||`HEAD`;p===void 0&&(p=await w.get(`http.corsProxy`));let te=Rs.getRemoteHelperFor({url:E}),D=await te.discover({http:n,onAuth:Hs({config:w,onAuth:a}),onAuthSuccess:o,onAuthFailure:Hs({config:w,onAuth:s}),corsProxy:p,service:`git-upload-pack`,url:E,headers:b,protocolVersion:1}),ne=D.auth,O=D.refs;if(O.size===0)return{defaultBranch:null,fetchHead:null,fetchHeadDescription:null};if(m!==null&&!D.capabilities.has(`shallow`))throw new Ea(`shallow`,`depth`);if(h!==null&&!D.capabilities.has(`deepen-since`))throw new Ea(`deepen-since`,`since`);if(g.length>0&&!D.capabilities.has(`deepen-not`))throw new Ea(`deepen-not`,`exclude`);if(_===!0&&!D.capabilities.has(`deepen-relative`))throw new Ea(`deepen-relative`,`relative`);let{oid:k,fullref:re}=q.resolveAgainstMap({ref:ee,map:O});for(let e of O.keys())e===re||e===`HEAD`||e.startsWith(`refs/heads/`)||v&&e.startsWith(`refs/tags/`)||O.delete(e);let ie=Ws([...D.capabilities],[`multi_ack_detailed`,`no-done`,`side-band-64k`,`ofs-delta`,`agent=${Gs.agent}`]);_&&ie.push(`deepen-relative`);let ae=y?[k]:O.values(),oe=y?[C]:await q.listRefs({fs:e,gitdir:c,filepath:`refs`}),se=[];for(let n of oe)try{n=await q.expand({fs:e,gitdir:c,ref:n});let r=await q.resolve({fs:e,gitdir:c,ref:n});await Oo({fs:e,cache:t,gitdir:c,oid:r})&&se.push(r)}catch{}se=[...new Set(se)];let ce=await Vs.read({fs:e,gitdir:c}),le=D.capabilities.has(`shallow`)?[...ce]:[],A=Zs({capabilities:ie,wants:ae,haves:se,shallows:le,depth:m,since:h,exclude:g}),ue=Buffer.from(await Cs(A)),de=await te.connect({http:n,onProgress:r,corsProxy:p,service:`git-upload-pack`,url:E,auth:ne,body:[ue],headers:b}),j=await Xs(de.body);de.headers&&(j.headers=de.headers);for(let n of j.shallows)if(!ce.has(n))try{let{object:r}=await ia({fs:e,cache:t,gitdir:c,oid:n}),i=new Ga(r),a=await Promise.all(i.headers().parent.map(n=>Oo({fs:e,cache:t,gitdir:c,oid:n})));a.length===0||a.every(e=>e)||ce.add(n)}catch{ce.add(n)}for(let e of j.unshallows)ce.delete(e);if(await Vs.write({fs:e,gitdir:c,oids:ce}),y){let t=new Map([[re,k]]),n=new Map,r=10,i=re;for(;r--;){let e=D.symrefs.get(i);if(e===void 0)break;n.set(i,e),i=e}let a=O.get(i);a&&t.set(i,a);let{pruned:o}=await q.updateRemoteRefs({fs:e,gitdir:c,remote:T,refs:t,symrefs:n,tags:v,prune:x});x&&(j.pruned=o)}else{let{pruned:t}=await q.updateRemoteRefs({fs:e,gitdir:c,remote:T,refs:O,symrefs:D.symrefs,tags:v,prune:x,pruneTags:S});x&&(j.pruned=t)}if(j.HEAD=D.symrefs.get(`HEAD`),j.HEAD===void 0){let{oid:e}=q.resolveAgainstMap({ref:`HEAD`,map:O});for(let[t,n]of O.entries())if(t!==`HEAD`&&n===e){j.HEAD=t;break}}j.FETCH_HEAD={oid:k,description:`${re.startsWith(`refs/tags`)?`tag`:`branch`} '${vs(re)}' of ${E}`},(r||i)&&Ss(Js(j.progress),async e=>{if(i&&await i(e),r){let t=e.match(/([^:]*).*\((\d+?)\/(\d+?)\)/);t&&await r({phase:t[1].trim(),loaded:parseInt(t[2],10),total:parseInt(t[3],10)})}});let fe=Buffer.from(await Cs(j.packfile));if(de.body.error)throw de.body.error;let pe=fe.slice(-20).toString(`hex`),me={defaultBranch:j.HEAD,fetchHead:j.FETCH_HEAD.oid,fetchHeadDescription:j.FETCH_HEAD.description};if(j.headers&&(me.headers=j.headers),x&&(me.pruned=j.pruned),pe!==``&&!Us(fe)){me.packfile=`objects/pack/pack-${pe}.pack`;let n=K(c,me.packfile);await e.write(n,fe);let i=await Zi.fromPack({pack:fe,getExternalRefDelta:n=>ia({fs:e,cache:t,gitdir:c,oid:n}),onProgress:r});await e.write(n.replace(/\.pack$/,`.idx`),await i.toBuffer())}return me}async function $s({fs:e,bare:t=!1,dir:n,gitdir:r=t?n:K(n,`.git`),defaultBranch:i=`master`}){if(await e.exists(r+`/config`))return;let a=[`hooks`,`info`,`objects/info`,`objects/pack`,`refs/heads`,`refs/tags`];a=a.map(e=>r+`/`+e);for(let t of a)await e.mkdir(t);await e.write(r+`/config`,`[core]
62
+ repositoryformatversion = 0
63
+ filemode = false
64
+ \tbare = ${t}\n`+(t?``:` logallrefupdates = true
65
+ `)+` symlinks = false
66
+ ignorecase = true
67
+ `),await e.write(r+`/HEAD`,`ref: refs/heads/${i}\n`)}async function ec({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,onPostCheckout:c,dir:l,gitdir:u,url:d,corsProxy:f,ref:p,remote:m,depth:h,since:g,exclude:_,relative:v,singleBranch:y,noCheckout:b,noTags:x,headers:S,nonBlocking:C,batchSize:w=100}){try{if(await $s({fs:e,gitdir:u}),await Go({fs:e,gitdir:u,remote:m,url:d,force:!1}),f){let t=await xi.get({fs:e,gitdir:u});await t.set(`http.corsProxy`,f),await xi.save({fs:e,gitdir:u,config:t})}let{defaultBranch:T,fetchHead:E}=await Qs({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,gitdir:u,ref:p,remote:m,corsProxy:f,depth:h,since:g,exclude:_,relative:v,singleBranch:y,headers:S,tags:!x});if(E===null)return;p||=T,p=p.replace(`refs/heads/`,``),await $o({fs:e,cache:t,onProgress:r,onPostCheckout:c,dir:l,gitdir:u,ref:p,remote:m,noCheckout:b,nonBlocking:C,batchSize:w})}catch(t){throw await e.rmdir(u,{recursive:!0,maxRetries:10}).catch(()=>void 0),t}}async function tc({fs:e,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,onPostCheckout:s,dir:c,gitdir:l=K(c,`.git`),url:u,corsProxy:d=void 0,ref:f=void 0,remote:p=`origin`,depth:m=void 0,since:h=void 0,exclude:g=[],relative:_=!1,singleBranch:v=!1,noCheckout:y=!1,noTags:b=!1,headers:x={},cache:S={},nonBlocking:C=!1,batchSize:w=100}){try{Y(`fs`,e),Y(`http`,t),Y(`gitdir`,l),y||Y(`dir`,c),Y(`url`,u);let T=new J(e);return await ec({fs:T,cache:S,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,onPostCheckout:s,dir:c,gitdir:await X({fsp:T,dotgit:l}),url:u,corsProxy:d,ref:f,remote:p,depth:m,since:h,exclude:g,relative:_,singleBranch:v,noCheckout:y,noTags:b,headers:x,nonBlocking:C,batchSize:w})}catch(e){throw e.caller=`git.clone`,e}}async function nc({fs:e,onSign:t,dir:n,gitdir:r=K(n,`.git`),message:i,author:a,committer:o,signingKey:s,amend:c=!1,dryRun:l=!1,noUpdateBranch:u=!1,disallowEmpty:d=!1,ref:f,parent:p,tree:m,cache:h={}}){try{Y(`fs`,e),c||Y(`message`,i),s&&Y(`onSign`,t);let n=new J(e);return await Io({fs:n,cache:h,onSign:t,gitdir:await X({fsp:n,dotgit:r}),message:i,author:a,committer:o,signingKey:s,amend:c,dryRun:l,noUpdateBranch:u,disallowEmpty:d,ref:f,parent:p,tree:m})}catch(e){throw e.caller=`git.commit`,e}}async function rc({fs:e,dir:t,gitdir:n=K(t,`.git`),fullname:r=!1,test:i=!1}){try{Y(`fs`,e),Y(`gitdir`,n);let t=new J(e);return await ys({fs:t,gitdir:await X({fsp:t,dotgit:n}),fullname:r,test:i})}catch(e){throw e.caller=`git.currentBranch`,e}}async function ic({fs:e,gitdir:t,ref:n}){if(n=n.startsWith(`refs/heads/`)?n:`refs/heads/${n}`,!await q.exists({fs:e,gitdir:t,ref:n}))throw new Wr(n);let r=await q.expand({fs:e,gitdir:t,ref:n});if(r===await ys({fs:e,gitdir:t,fullname:!0})){let n=await q.resolve({fs:e,gitdir:t,ref:r});await q.writeRef({fs:e,gitdir:t,ref:`HEAD`,value:n})}await q.deleteRef({fs:e,gitdir:t,ref:r});let i=vs(n),a=await xi.get({fs:e,gitdir:t});await a.deleteSection(`branch`,i),await xi.save({fs:e,gitdir:t,config:a})}async function ac({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r}){try{Y(`fs`,e),Y(`ref`,r);let t=new J(e);return await ic({fs:t,gitdir:await X({fsp:t,dotgit:n}),ref:r})}catch(e){throw e.caller=`git.deleteBranch`,e}}async function oc({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r}){try{Y(`fs`,e),Y(`ref`,r);let t=new J(e),i=await X({fsp:t,dotgit:n});await q.deleteRef({fs:t,gitdir:i,ref:r})}catch(e){throw e.caller=`git.deleteRef`,e}}async function sc({fs:e,gitdir:t,remote:n}){let r=await xi.get({fs:e,gitdir:t});await r.deleteSection(`remote`,n),await xi.save({fs:e,gitdir:t,config:r})}async function cc({fs:e,dir:t,gitdir:n=K(t,`.git`),remote:r}){try{Y(`fs`,e),Y(`remote`,r);let t=new J(e);return await sc({fs:t,gitdir:await X({fsp:t,dotgit:n}),remote:r})}catch(e){throw e.caller=`git.deleteRemote`,e}}async function lc({fs:e,gitdir:t,ref:n}){n=n.startsWith(`refs/tags/`)?n:`refs/tags/${n}`,await q.deleteRef({fs:e,gitdir:t,ref:n})}async function uc({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r}){try{Y(`fs`,e),Y(`ref`,r);let t=new J(e);return await lc({fs:t,gitdir:await X({fsp:t,dotgit:n}),ref:r})}catch(e){throw e.caller=`git.deleteTag`,e}}async function dc({fs:e,gitdir:t,oid:n}){let r=n.slice(0,2);return(await e.readdir(`${t}/objects/${r}`)).map(e=>`${r}${e}`).filter(e=>e.startsWith(n))}async function fc({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:i}){let a=[],o=await e.readdir(K(n,`objects/pack`));o=o.filter(e=>e.endsWith(`.idx`));for(let s of o){let o=await ea({fs:e,cache:t,filename:`${n}/objects/pack/${s}`,getExternalRefDelta:i});if(o.error)throw new G(o.error);for(let e of o.offsets.keys())e.startsWith(r)&&a.push(e)}return a}async function pc({fs:e,cache:t,gitdir:n,oid:r}){let i=r=>ia({fs:e,cache:t,gitdir:n,oid:r}),a=await dc({fs:e,gitdir:n,oid:r}),o=await fc({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:i});for(let e of o)a.indexOf(e)===-1&&a.push(e);if(a.length===1)return a[0];throw a.length>1?new oa(`oids`,r,a):new Wr(`an object matching "${r}"`)}async function mc({fs:e,dir:t,gitdir:n=K(t,`.git`),oid:r,cache:i={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`oid`,r);let t=new J(e);return await pc({fs:t,cache:i,gitdir:await X({fsp:t,dotgit:n}),oid:r})}catch(e){throw e.caller=`git.expandOid`,e}}async function hc({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`ref`,r);let t=new J(e),i=await X({fsp:t,dotgit:n});return await q.expand({fs:t,gitdir:i,ref:r})}catch(e){throw e.caller=`git.expandRef`,e}}async function gc({fs:e,cache:t,gitdir:n,oids:r}){let i={},a=r.length,o=new Set,s=new Map,c=await Vs.read({fs:e,gitdir:n}),l=async r=>{if(s.has(r))return s.get(r);let{object:i,type:a}=await ia({fs:e,cache:t,gitdir:n,oid:r});if(a!==`commit`)throw new Gr(r,a,`commit`);let{parent:o}=Ga.from(i).parseHeaders(),l=c.has(r)?[]:o;return s.set(r,l),l},u=r.map((e,t)=>({index:t,oid:e}));for(;u.length;){for(let{oid:e,index:t}of u)await l(e),i[e]||(i[e]=new Set),i[e].add(t),i[e].size===a&&o.add(e);let e=new Map;for(let{oid:t,index:n}of u)if(!o.has(t))for(let r of await l(t))i[r]&&i[r].has(n)||e.set(r+`:`+n,{oid:r,index:n});u=Array.from(e.values())}if(o.size<2)return[...o];let d=new Set;for(let e of o){let t=[...await l(e)],n=new Set;for(;t.length;){let e=t.pop();n.has(e)||(n.add(e),o.has(e)?d.add(e):t.push(...await l(e)))}}return[...o].filter(e=>!d.has(e))}async function _c({fs:e,cache:t,dir:n,gitdir:r,ours:i,theirs:a,fastForward:o=!0,fastForwardOnly:s=!1,dryRun:c=!1,noUpdateBranch:l=!1,abortOnConflict:u=!0,message:d,author:f,committer:p,signingKey:m,onSign:h,mergeDriver:g,allowUnrelatedHistories:_=!1}){i===void 0&&(i=await ys({fs:e,gitdir:r,fullname:!0})),i=await q.expand({fs:e,gitdir:r,ref:i}),a=await q.expand({fs:e,gitdir:r,ref:a});let v=await q.resolve({fs:e,gitdir:r,ref:i}),{oid:y}=await No({fs:e,cache:t,gitdir:r,oid:await q.resolve({fs:e,gitdir:r,ref:a})}),b=await gc({fs:e,cache:t,gitdir:r,oids:[v,y]});if(b.length!==1){if(b.length===0&&_)b.push(`4b825dc642cb6eb9a060e54bf8d69288fbee4904`);else throw new ya}let x=b[0];if(x===y)return{oid:v,alreadyMerged:!0};if(o&&x===v)return!c&&!l&&await q.writeRef({fs:e,gitdir:r,ref:i,value:y}),{oid:y,fastForward:!0};{if(s)throw new ma;let o=await Ir.acquire({fs:e,gitdir:r,cache:t,allowUnmerged:!1},async o=>ss({fs:e,cache:t,dir:n,gitdir:r,index:o,ourOid:v,theirOid:y,baseOid:x,ourName:vs(i),baseName:`base`,theirName:vs(a),dryRun:c,abortOnConflict:u,mergeDriver:g}));if(o instanceof ba)throw o;return d||=`Merge branch '${vs(a)}' into ${vs(i)}`,{oid:await Io({fs:e,cache:t,gitdir:r,message:d,ref:i,tree:o,parent:[v,y],author:f,committer:p,signingKey:m,onSign:h,dryRun:c,noUpdateBranch:l}),tree:o,mergeCommit:!0}}}async function vc({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,dir:c,gitdir:l,ref:u,url:d,remote:f,remoteRef:p,prune:m,pruneTags:h,fastForward:g,fastForwardOnly:_,corsProxy:v,singleBranch:y,headers:b,author:x,committer:S,signingKey:C}){try{if(!u){let t=await ys({fs:e,gitdir:l});if(!t)throw new Sa(`ref`);u=t}let{fetchHead:w,fetchHeadDescription:T}=await Qs({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,gitdir:l,corsProxy:v,ref:u,url:d,remote:f,remoteRef:p,singleBranch:y,headers:b,prune:m,pruneTags:h});await _c({fs:e,cache:t,gitdir:l,ours:u,theirs:w,fastForward:g,fastForwardOnly:_,message:`Merge ${T}`,author:x,committer:S,signingKey:C,dryRun:!1,noUpdateBranch:!1}),await $o({fs:e,cache:t,onProgress:r,dir:c,gitdir:l,ref:u,remote:f,noCheckout:!1})}catch(e){throw e.caller=`git.pull`,e}}async function yc({fs:e,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,dir:s,gitdir:c=K(s,`.git`),ref:l,url:u,remote:d,remoteRef:f,corsProxy:p,singleBranch:m,headers:h={},cache:g={}}){try{Y(`fs`,e),Y(`http`,t),Y(`gitdir`,c);let _={name:``,email:``,timestamp:Date.now(),timezoneOffset:0},v=new J(e);return await vc({fs:v,cache:g,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,dir:s,gitdir:await X({fsp:v,dotgit:c}),ref:l,url:u,remote:d,remoteRef:f,fastForwardOnly:!0,corsProxy:p,singleBranch:m,headers:h,author:_,committer:_})}catch(e){throw e.caller=`git.fastForward`,e}}async function bc({fs:e,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,dir:s,gitdir:c=K(s,`.git`),ref:l,remote:u,remoteRef:d,url:f,corsProxy:p,depth:m=null,since:h=null,exclude:g=[],relative:_=!1,tags:v=!1,singleBranch:y=!1,headers:b={},prune:x=!1,pruneTags:S=!1,cache:C={}}){try{Y(`fs`,e),Y(`http`,t),Y(`gitdir`,c);let s=new J(e);return await Qs({fs:s,cache:C,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,gitdir:await X({fsp:s,dotgit:c}),ref:l,remote:u,remoteRef:d,url:f,corsProxy:p,depth:m,since:h,exclude:g,relative:_,tags:v,singleBranch:y,headers:b,prune:x,pruneTags:S})}catch(e){throw e.caller=`git.fetch`,e}}async function xc({fs:e,dir:t,gitdir:n=K(t,`.git`),oids:r,cache:i={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`oids`,r);let t=new J(e);return await gc({fs:t,cache:i,gitdir:await X({fsp:t,dotgit:n}),oids:r})}catch(e){throw e.caller=`git.findMergeBase`,e}}async function Sc({fs:e,filepath:t}){if(await e.exists(K(t,`.git`)))return t;{let n=Rr(t);if(n===t)throw new Wr(`git root for ${t}`);return Sc({fs:e,filepath:n})}}async function Cc({fs:e,filepath:t}){try{return Y(`fs`,e),Y(`filepath`,t),await Sc({fs:new J(e),filepath:t})}catch(e){throw e.caller=`git.findRoot`,e}}async function wc({fs:e,dir:t,gitdir:n=K(t,`.git`),path:r}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`path`,r);let t=new J(e);return await ko({fs:t,gitdir:await X({fsp:t,dotgit:n}),path:r})}catch(e){throw e.caller=`git.getConfig`,e}}async function Tc({fs:e,gitdir:t,path:n}){return(await xi.get({fs:e,gitdir:t})).getall(n)}async function Ec({fs:e,dir:t,gitdir:n=K(t,`.git`),path:r}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`path`,r);let t=new J(e);return await Tc({fs:t,gitdir:await X({fsp:t,dotgit:n}),path:r})}catch(e){throw e.caller=`git.getConfigAll`,e}}function Dc(e,t,n){let r=t.split(`/`),i=r.pop();if(i===`__proto__`||r.includes(`__proto__`))return;let a=e;for(let e of r)Object.prototype.hasOwnProperty.call(a,e)||(a[e]={}),a=a[e];a[i]=n}async function Oc({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,url:a,headers:o={},forPush:s=!1}){try{Y(`http`,e),Y(`url`,a);let c=await Rs.getRemoteHelperFor({url:a}).discover({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,service:s?`git-receive-pack`:`git-upload-pack`,url:a,headers:o,protocolVersion:1}),l={capabilities:[...c.capabilities]};for(let[e,t]of c.refs)Dc(l,e,t);for(let[e,t]of c.symrefs)Dc(l,e,t);return l}catch(e){throw e.caller=`git.getRemoteInfo`,e}}function kc(e,t,n,r){let i=[];for(let[a,o]of e.refs){if(t&&!a.startsWith(t))continue;if(a.endsWith(`^{}`)){if(r){let e=a.replace(`^{}`,``),t=i[i.length-1],n=t?.ref===e?t:i.find(t=>t.ref===e);n!==void 0&&(n.peeled=o)}continue}let s={ref:a,oid:o};n&&e.symrefs.has(a)&&(s.target=e.symrefs.get(a)),i.push(s)}return i}async function Ac({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,url:a,headers:o={},forPush:s=!1,protocolVersion:c=2}){try{Y(`http`,e),Y(`url`,a);let l=await Rs.getRemoteHelperFor({url:a}).discover({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,service:s?`git-receive-pack`:`git-upload-pack`,url:a,headers:o,protocolVersion:c});if(l.protocolVersion===2)return{protocolVersion:l.protocolVersion,capabilities:l.capabilities2};let u={};for(let e of l.capabilities){let[t,n]=e.split(`=`);u[t]=n||!0}return{protocolVersion:1,capabilities:u,refs:kc(l,void 0,!0,!0)}}catch(e){throw e.caller=`git.getRemoteInfo2`,e}}async function jc({type:e,object:t,format:n=`content`,oid:r=void 0}){return n!==`deflated`&&(n!==`wrapped`&&(t=Mi.wrap({type:e,object:t})),r=await xr(t)),{oid:r,object:t}}async function Mc({object:e}){try{Y(`object`,e),typeof e==`string`?e=Buffer.from(e,`utf8`):e instanceof Uint8Array||(e=new Uint8Array(e));let t=`blob`,{oid:n,object:r}=await jc({type:t,format:`content`,object:e});return{oid:n,type:t,object:r,format:`wrapped`}}catch(e){throw e.caller=`git.hashBlob`,e}}async function Nc({fs:e,cache:t,onProgress:n,dir:r,gitdir:i,filepath:a}){try{a=K(r,a);let o=await e.read(a),s=await Zi.fromPack({pack:o,getExternalRefDelta:n=>ia({fs:e,cache:t,gitdir:i,oid:n}),onProgress:n});return await e.write(a.replace(/\.pack$/,`.idx`),await s.toBuffer()),{oids:[...s.hashes]}}catch(e){throw e.caller=`git.indexPack`,e}}async function Pc({fs:e,onProgress:t,dir:n,gitdir:r=K(n,`.git`),filepath:i,cache:a={}}){try{Y(`fs`,e),Y(`dir`,n),Y(`gitdir`,n),Y(`filepath`,i);let o=new J(e);return await Nc({fs:o,cache:a,onProgress:t,dir:n,gitdir:await X({fsp:o,dotgit:r}),filepath:i})}catch(e){throw e.caller=`git.indexPack`,e}}async function Fc({fs:e,bare:t=!1,dir:n,gitdir:r=t?n:K(n,`.git`),defaultBranch:i=`master`}){try{Y(`fs`,e),Y(`gitdir`,r),t||Y(`dir`,n);let a=new J(e);return await $s({fs:a,bare:t,dir:n,gitdir:await X({fsp:a,dotgit:r}),defaultBranch:i})}catch(e){throw e.caller=`git.init`,e}}async function Ic({fs:e,cache:t,gitdir:n,oid:r,ancestor:i,depth:a}){let o=await Vs.read({fs:e,gitdir:n});if(!r)throw new Sa(`oid`);if(!i)throw new Sa(`ancestor`);if(r===i)return!1;let s=[r],c=new Set,l=0;for(;s.length;){if(l++===a)throw new va(a);let r=s.shift(),{type:u,object:d}=await ia({fs:e,cache:t,gitdir:n,oid:r});if(u!==`commit`)throw new Gr(r,u,`commit`);let f=Ga.from(d).parse();for(let e of f.parent)if(e===i)return!0;if(!o.has(r))for(let e of f.parent)c.has(e)||(s.push(e),c.add(e))}return!1}async function Lc({fs:e,dir:t,gitdir:n=K(t,`.git`),oid:r,ancestor:i,depth:a=-1,cache:o={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`oid`,r),Y(`ancestor`,i);let t=new J(e);return await Ic({fs:t,cache:o,gitdir:await X({fsp:t,dotgit:n}),oid:r,ancestor:i,depth:a})}catch(e){throw e.caller=`git.isDescendent`,e}}async function Rc({fs:e,dir:t,gitdir:n=K(t,`.git`),filepath:r}){try{Y(`fs`,e),Y(`dir`,t),Y(`gitdir`,n),Y(`filepath`,r);let i=new J(e),a=await X({fsp:i,dotgit:n});return ho.isIgnored({fs:i,dir:t,gitdir:a,filepath:r})}catch(e){throw e.caller=`git.isIgnored`,e}}async function zc({fs:e,dir:t,gitdir:n=K(t,`.git`),remote:r}){try{Y(`fs`,e),Y(`gitdir`,n);let t=new J(e),i=await X({fsp:t,dotgit:n});return q.listBranches({fs:t,gitdir:i,remote:r})}catch(e){throw e.caller=`git.listBranches`,e}}async function Bc({fs:e,gitdir:t,ref:n,cache:r}){if(n){let i=await q.resolve({gitdir:t,fs:e,ref:n}),a=[];return await Vc({fs:e,cache:r,gitdir:t,oid:i,filenames:a,prefix:``}),a}return Ir.acquire({fs:e,gitdir:t,cache:r},async function(e){return e.entries.map(e=>e.path)})}async function Vc({fs:e,cache:t,gitdir:n,oid:r,filenames:i,prefix:a}){let{tree:o}=await Vo({fs:e,cache:t,gitdir:n,oid:r});for(let r of o)r.type===`tree`?await Vc({fs:e,cache:t,gitdir:n,oid:r.oid,filenames:i,prefix:K(a,r.path)}):i.push(K(a,r.path))}async function Hc({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r,cache:i={}}){try{Y(`fs`,e),Y(`gitdir`,n);let t=new J(e);return await Bc({fs:t,cache:i,gitdir:await X({fsp:t,dotgit:n}),ref:r})}catch(e){throw e.caller=`git.listFiles`,e}}async function Uc({fs:e,cache:t,gitdir:n,ref:r}){let i;try{i=await q.resolve({gitdir:n,fs:e,ref:r})}catch(e){if(e instanceof Wr)return[];throw e}return(await Vo({fs:e,cache:t,gitdir:n,oid:i})).tree.map(e=>({target:e.path,note:e.oid}))}async function Wc({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r=`refs/notes/commits`,cache:i={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`ref`,r);let t=new J(e);return await Uc({fs:t,cache:i,gitdir:await X({fsp:t,dotgit:n}),ref:r})}catch(e){throw e.caller=`git.listNotes`,e}}async function Gc({fs:e,dir:t,gitdir:n=K(t,`.git`),filepath:r}){try{Y(`fs`,e),Y(`gitdir`,n);let t=new J(e),i=await X({fsp:t,dotgit:n});return q.listRefs({fs:t,gitdir:i,filepath:r})}catch(e){throw e.caller=`git.listRefs`,e}}async function Kc({fs:e,gitdir:t}){let n=await xi.get({fs:e,gitdir:t}),r=await n.getSubsections(`remote`);return Promise.all(r.map(async e=>({remote:e,url:await n.get(`remote.${e}.url`)})))}async function qc({fs:e,dir:t,gitdir:n=K(t,`.git`)}){try{Y(`fs`,e),Y(`gitdir`,n);let t=new J(e);return await Kc({fs:t,gitdir:await X({fsp:t,dotgit:n})})}catch(e){throw e.caller=`git.listRemotes`,e}}async function Jc(e){let t=As.streamReader(e),n=[],r;for(;r=await t(),r!==!0;){if(r===null)continue;r=r.toString(`utf8`).replace(/\n$/,``);let[e,t,...i]=r.split(` `),a={ref:t,oid:e};for(let e of i){let[t,n]=e.split(`:`);t===`symref-target`?a.target=n:t===`peeled`&&(a.peeled=n)}n.push(a)}return n}async function Yc({prefix:e,symrefs:t,peelTags:n}){let r=[];return r.push(As.encode(`command=ls-refs
68
+ `)),r.push(As.encode(`agent=${Gs.agent}\n`)),(n||t||e)&&r.push(As.delim()),n&&r.push(As.encode(`peel`)),t&&r.push(As.encode(`symrefs`)),e&&r.push(As.encode(`ref-prefix ${e}`)),r.push(As.flush()),r}async function Xc({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,url:a,headers:o={},forPush:s=!1,protocolVersion:c=2,prefix:l,symrefs:u,peelTags:d}){try{Y(`http`,e),Y(`url`,a);let f=await Ls.discover({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,service:s?`git-receive-pack`:`git-upload-pack`,url:a,headers:o,protocolVersion:c});if(f.protocolVersion===1)return kc(f,l,u,d);let p=await Yc({prefix:l,symrefs:u,peelTags:d});return Jc((await Ls.connect({http:e,auth:f.auth,headers:o,corsProxy:i,service:s?`git-receive-pack`:`git-upload-pack`,url:a,body:p})).body)}catch(e){throw e.caller=`git.listServerRefs`,e}}async function Zc({fs:e,dir:t,gitdir:n=K(t,`.git`)}){try{Y(`fs`,e),Y(`gitdir`,n);let t=new J(e),r=await X({fsp:t,dotgit:n});return q.listTags({fs:t,gitdir:r})}catch(e){throw e.caller=`git.listTags`,e}}function Qc(e,t){return e.committer.timestamp-t.committer.timestamp}var $c=`e69de29bb2d1d6434b8b29ae775ad8c2e48c5391`;async function el({fs:e,cache:t,gitdir:n,oid:r,fileId:i}){if(i===$c)return;let a=r,o,s=await Ka({fs:e,cache:t,gitdir:n,oid:r}),c=s.tree;return i===s.oid?o=s.path:(o=await tl({fs:e,cache:t,gitdir:n,tree:c,fileId:i,oid:a}),Array.isArray(o)&&(o.length===0?o=void 0:o.length===1&&(o=o[0]))),o}async function tl({fs:e,cache:t,gitdir:n,tree:r,fileId:i,oid:a,filepaths:o=[],parentPath:s=``}){let c=r.entries().map(function(r){let c;return r.oid===i?(c=K(s,r.path),o.push(c)):r.type===`tree`&&(c=ia({fs:e,cache:t,gitdir:n,oid:r.oid}).then(function({object:c}){return tl({fs:e,cache:t,gitdir:n,tree:ji.from(c),fileId:i,oid:a,filepaths:o,parentPath:K(s,r.path)})})),c});return await Promise.all(c),o}async function nl({fs:e,cache:t,gitdir:n,filepath:r,ref:i,depth:a,since:o,author:s,force:c,follow:l,includeChanges:u}){let d=o===void 0?void 0:Math.floor(o.valueOf()/1e3),f=s==null?void 0:new RegExp(s,`i`),p=({commit:e})=>f===void 0?!0:e.author?f.test(`${e.author.name} <${e.author.email}>`):!1,m=[],h=e=>{p(e)&&m.push(e)},g=await Vs.read({fs:e,gitdir:n}),_=[await Po({fs:e,cache:t,gitdir:n,oid:await q.resolve({fs:e,gitdir:n,ref:i})})],v,y,b,x;function S(e){x&&r&&h(e)}for(;_.length>0;){let i=_.pop();if(d!==void 0&&i.commit.committer.timestamp<=d)break;if(r){let a;try{a=await zo({fs:e,cache:t,gitdir:n,oid:i.commit.tree,filepath:r}),b&&(v!==a.oid||y!==a.mode)&&h(b),v=a.oid,y=a.mode,b=i,x=!0}catch(a){if(a instanceof Wr){let o=l&&v;if(o&&(o=await el({fs:e,cache:t,gitdir:n,oid:i.commit.tree,fileId:v}),o)){if(Array.isArray(o)){if(b){let i=await el({fs:e,cache:t,gitdir:n,oid:b.commit.tree,fileId:v});if(Array.isArray(i)){if(o=o.filter(e=>i.indexOf(e)===-1),o.length===1)o=o[0],r=o,b&&h(b);else{o=!1,b&&h(b);break}}}}else r=o,b&&h(b)}if(!o){if(x&&v&&(h(b),!c))break;if(!c&&!l)throw a}b=i,x=!1}else throw a}}else h(i);if(a!==void 0&&m.length===a){S(i);break}if(!g.has(i.oid))for(let r of i.commit.parent){let i=await Po({fs:e,cache:t,gitdir:n,oid:r});_.map(e=>e.oid).includes(i.oid)||_.push(i)}_.length===0&&S(i),_.sort((e,t)=>Qc(e.commit,t.commit))}if(u)for(let r of m)r.commit.changes=await rl({fs:e,cache:t,gitdir:n,commit:r,shallow:g.has(r.oid)});return m}async function rl({fs:e,cache:t,gitdir:n,commit:r,shallow:i}){let a=i||!r.commit.parent[0]?`4b825dc642cb6eb9a060e54bf8d69288fbee4904`:r.commit.parent[0];return to({fs:e,cache:t,gitdir:n,trees:[Ja({ref:r.oid}),Ja({ref:a})],map:async(e,[t,n])=>{let[r,i]=await Promise.all([t&&t.type(),n&&n.type()]);if(r===`tree`)return i&&i!==`tree`?[null,await n.oid(),e]:void 0;if(i===`tree`)return r?[await t.oid(),null,e]:void 0;let[a,o]=await Promise.all([t?t.oid():null,n?n.oid():null]);if(a!==o)return[a,o,e]}})}async function il({fs:e,dir:t,gitdir:n=K(t,`.git`),filepath:r,ref:i=`HEAD`,depth:a,since:o,author:s,force:c,follow:l,includeChanges:u=!1,cache:d={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`ref`,i);let t=new J(e);return await nl({fs:t,cache:d,gitdir:await X({fsp:t,dotgit:n}),filepath:r,ref:i,depth:a,since:o,author:s,force:c,follow:l,includeChanges:u})}catch(e){throw e.caller=`git.log`,e}}async function al({fs:e,onSign:t,dir:n,gitdir:r=K(n,`.git`),ours:i,theirs:a,fastForward:o=!0,fastForwardOnly:s=!1,dryRun:c=!1,noUpdateBranch:l=!1,abortOnConflict:u=!0,message:d,author:f,committer:p,signingKey:m,cache:h={},mergeDriver:g,allowUnrelatedHistories:_=!1}){try{Y(`fs`,e),m&&Y(`onSign`,t);let v=new J(e),y=await X({fsp:v,dotgit:r}),b=await jo({fs:v,gitdir:y,author:f});if(!b&&(!s||!o))throw new xa(`author`);let x=await Mo({fs:v,gitdir:y,author:b,committer:p});if(!x&&(!s||!o))throw new xa(`committer`);return await _c({fs:v,cache:h,dir:n,gitdir:y,ours:i,theirs:a,fastForward:o,fastForwardOnly:s,dryRun:c,noUpdateBranch:l,abortOnConflict:u,message:d,author:b,committer:x,signingKey:m,onSign:t,mergeDriver:g,allowUnrelatedHistories:_})}catch(e){throw e.caller=`git.merge`,e}}var ol={commit:16,tree:32,blob:48,tag:64,ofs_delta:96,ref_delta:112};async function sl({fs:e,cache:t,dir:n,gitdir:r=K(n,`.git`),oids:i}){let a=new $n.default,o=[];function s(e,t){let n=Buffer.from(e,t);o.push(n),a.update(n)}async function c({stype:e,object:t}){let n=ol[e],r=t.length,i=r>15?128:0,a=r&15;r>>>=4;let o=(i|n|a).toString(16);for(s(o,`hex`);i;)i=r>127?128:0,o=i|r&127,s(ks(2,o),`hex`),r>>>=7;s(Buffer.from(await vo(t)))}s(`PACK`),s(`00000002`,`hex`),s(ks(8,i.length),`hex`);for(let n of i){let{type:i,object:a}=await ia({fs:e,cache:t,gitdir:r,oid:n});await c({write:s,object:a,stype:i})}let l=a.digest();return o.push(l),o}async function cl({fs:e,cache:t,gitdir:n,oids:r,write:i}){let a=await sl({fs:e,cache:t,gitdir:n,oids:r}),o=Buffer.from(await Cs(a)),s=`pack-${o.slice(-20).toString(`hex`)}.pack`;return i?(await e.write(K(n,`objects/pack/${s}`),o),{filename:s}):{filename:s,packfile:new Uint8Array(o)}}async function ll({fs:e,dir:t,gitdir:n=K(t,`.git`),oids:r,write:i=!1,cache:a={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`oids`,r);let t=new J(e);return await cl({fs:t,cache:a,gitdir:await X({fsp:t,dotgit:n}),oids:r,write:i})}catch(e){throw e.caller=`git.packObjects`,e}}async function ul({fs:e,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,dir:s,gitdir:c=K(s,`.git`),ref:l,url:u,remote:d,remoteRef:f,prune:p=!1,pruneTags:m=!1,fastForward:h=!0,fastForwardOnly:g=!1,corsProxy:_,singleBranch:v,headers:y={},author:b,committer:x,signingKey:S,cache:C={}}){try{Y(`fs`,e),Y(`gitdir`,c);let w=new J(e),T=await X({fsp:w,dotgit:c}),E=await jo({fs:w,gitdir:T,author:b});if(!E)throw new xa(`author`);let ee=await Mo({fs:w,gitdir:T,author:E,committer:x});if(!ee)throw new xa(`committer`);return await vc({fs:w,cache:C,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,dir:s,gitdir:T,ref:l,url:u,remote:d,remoteRef:f,fastForward:h,fastForwardOnly:g,corsProxy:_,singleBranch:v,headers:y,author:E,committer:ee,signingKey:S,prune:p,pruneTags:m})}catch(e){throw e.caller=`git.pull`,e}}async function dl({fs:e,cache:t,dir:n,gitdir:r=K(n,`.git`),start:i,finish:a}){let o=await Vs.read({fs:e,gitdir:r}),s=new Set,c=new Set;for(let t of i)s.add(await q.resolve({fs:e,gitdir:r,ref:t}));for(let t of a)try{let n=await q.resolve({fs:e,gitdir:r,ref:t});c.add(n)}catch{}let l=new Set;async function u(n){l.add(n);let{type:i,object:a}=await ia({fs:e,cache:t,gitdir:r,oid:n});if(i===`tag`){let e=Ha.from(a).headers().object;return u(e)}if(i!==`commit`)throw new Gr(n,i,`commit`);if(!o.has(n))for(n of Ga.from(a).headers().parent)!c.has(n)&&!l.has(n)&&await u(n)}for(let e of s)await u(e);return l}async function fl({fs:e,cache:t,dir:n,gitdir:r=K(n,`.git`),oids:i}){let a=new Set;async function o(n){if(a.has(n))return;a.add(n);let{type:i,object:s}=await ia({fs:e,cache:t,gitdir:r,oid:n});if(i===`tag`){let e=Ha.from(s).headers().object;await o(e)}else if(i===`commit`){let e=Ga.from(s).headers().tree;await o(e)}else if(i===`tree`){let e=ji.from(s);for(let t of e)t.type===`blob`&&a.add(t.oid),t.type===`tree`&&await o(t.oid)}}for(let e of i)await o(e);return a}async function pl(e){let t={},n=``,r=As.streamReader(e),i=await r();for(;i!==!0;)i!==null&&(n+=i.toString(`utf8`)+`
69
+ `),i=await r();let a=n.toString(`utf8`).split(`
70
+ `);if(i=a.shift(),!i.startsWith(`unpack `))throw new wa(`unpack ok" or "unpack [error message]`,i);t.ok=i===`unpack ok`,t.ok||(t.error=i.slice(7)),t.refs={};for(let e of a){if(e.trim()===``)continue;let n=e.slice(0,2),r=e.slice(3),i=r.indexOf(` `);i===-1&&(i=r.length);let a=r.slice(0,i),o=r.slice(i+1);t.refs[a]={ok:n===`ok`,error:o}}return t}async function ml({capabilities:e=[],triplets:t=[]}){let n=[],r=`\x00 ${e.join(` `)}`;for(let e of t)n.push(As.encode(`${e.oldoid} ${e.oid} ${e.fullRef}${r}\n`)),r=``;return n.push(As.flush()),n}async function hl({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,onPrePush:c,gitdir:l,ref:u,remoteRef:d,remote:f,url:p,force:m=!1,delete:h=!1,corsProxy:g,headers:_={},signal:v}){let y=u||await ys({fs:e,gitdir:l});if(y===void 0)throw new Sa(`ref`);let b=await xi.get({fs:e,gitdir:l});f=f||await b.get(`branch.${y}.pushRemote`)||await b.get(`remote.pushDefault`)||await b.get(`branch.${y}.remote`)||`origin`;let x=p||await b.get(`remote.${f}.pushurl`)||await b.get(`remote.${f}.url`);if(x===void 0)throw new Sa(`remote OR url`);let S=d||await b.get(`branch.${y}.merge`);if(x===void 0)throw new Sa(`remoteRef`);g===void 0&&(g=await b.get(`http.corsProxy`));let C=await q.expand({fs:e,gitdir:l,ref:y}),w=h?`0000000000000000000000000000000000000000`:await q.resolve({fs:e,gitdir:l,ref:C}),T=Rs.getRemoteHelperFor({url:x}),E=await T.discover({http:n,onAuth:Hs({config:b,onAuth:a}),onAuthSuccess:o,onAuthFailure:Hs({config:b,onAuth:s}),corsProxy:g,service:`git-receive-pack`,url:x,headers:_,protocolVersion:1,signal:v}),ee=E.auth,te;if(!S)te=C;else try{te=await q.expandAgainstMap({ref:S,map:E.refs})}catch(e){if(e instanceof Wr)te=S.startsWith(`refs/`)?S:`refs/heads/${S}`;else throw e}let D=E.refs.get(te)||`0000000000000000000000000000000000000000`;if(c&&!await c({remote:f,url:x,localRef:{ref:h?`(delete)`:C,oid:w},remoteRef:{ref:te,oid:D}}))throw new Aa;let ne=!E.capabilities.has(`no-thin`),O=new Set;if(!h){let n=[...E.refs.values()],r=new Set;if(D!==`0000000000000000000000000000000000000000`){let i=[];try{i=await gc({fs:e,cache:t,gitdir:l,oids:[w,D]})}catch{i=[]}for(let e of i)n.push(e);ne&&(r=await fl({fs:e,cache:t,gitdir:l,oids:i}))}if(n.includes(w)||(O=await fl({fs:e,cache:t,gitdir:l,oids:await dl({fs:e,cache:t,gitdir:l,start:[w],finish:n})})),ne){try{let n=await q.resolve({fs:e,gitdir:l,ref:`refs/remotes/${f}/HEAD`,depth:2}),{oid:i}=await q.resolveAgainstMap({ref:n.replace(`refs/remotes/${f}/`,``),fullref:n,map:E.refs}),a=[i];for(let n of await fl({fs:e,cache:t,gitdir:l,oids:a}))r.add(n)}catch{}for(let e of r)O.delete(e)}if(w===D&&(m=!0),!m){if(C.startsWith(`refs/tags`)&&D!==`0000000000000000000000000000000000000000`)throw new Ta(`tag-exists`);if(w!==`0000000000000000000000000000000000000000`&&D!==`0000000000000000000000000000000000000000`&&!await Ic({fs:e,cache:t,gitdir:l,oid:w,ancestor:D,depth:-1}))throw new Ta(`not-fast-forward`)}}let k=await ml({capabilities:Ws([...E.capabilities],[`report-status`,`side-band-64k`,`agent=${Gs.agent}`]),triplets:[{oldoid:D,oid:w,fullRef:te}]}),re=h?[]:await sl({fs:e,cache:t,gitdir:l,oids:[...O]}),ie=await T.connect({http:n,onProgress:r,corsProxy:g,service:`git-receive-pack`,url:x,auth:ee,headers:_,body:[...k,...re],signal:v}),{packfile:ae,progress:oe}=await Ys.demux(ie.body);i&&Ss(Js(oe),async e=>{await i(e)});let se=await pl(ae);if(ie.headers&&(se.headers=ie.headers),f&&se.ok&&se.refs[te].ok&&!C.startsWith(`refs/tags`)){let t=`refs/remotes/${f}/${te.replace(`refs/heads/`,``)}`;h?await q.deleteRef({fs:e,gitdir:l,ref:t}):await q.writeRef({fs:e,gitdir:l,ref:t,value:w})}if(se.ok&&Object.values(se.refs).every(e=>e.ok))return se;throw new ha(Object.entries(se.refs).filter(([e,t])=>!t.ok).map(([e,t])=>`\n - ${e}: ${t.error}`).join(``),se)}async function gl({fs:e,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,onPrePush:s,dir:c,gitdir:l=K(c,`.git`),ref:u,remoteRef:d,remote:f=`origin`,url:p,force:m=!1,delete:h=!1,corsProxy:g,headers:_={},cache:v={},signal:y}){try{Y(`fs`,e),Y(`http`,t),Y(`gitdir`,l);let c=new J(e);return await hl({fs:c,cache:v,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,onPrePush:s,gitdir:await X({fsp:c,dotgit:l}),ref:u,remoteRef:d,remote:f,url:p,force:m,delete:h,corsProxy:g,headers:_,signal:y})}catch(e){throw e.caller=`git.push`,e}}async function _l({fs:e,cache:t,gitdir:n,oid:r}){let{type:i,object:a}=await ia({fs:e,cache:t,gitdir:n,oid:r});if(i===`tag`)return r=Ha.from(a).parse().object,_l({fs:e,cache:t,gitdir:n,oid:r});if(i!==`blob`)throw new Gr(r,i,`blob`);return{oid:r,blob:new Uint8Array(a)}}async function vl({fs:e,cache:t,gitdir:n,oid:r,filepath:i=void 0}){return i!==void 0&&(r=await Ro({fs:e,cache:t,gitdir:n,oid:r,filepath:i})),await _l({fs:e,cache:t,gitdir:n,oid:r})}async function yl({fs:e,dir:t,gitdir:n=K(t,`.git`),oid:r,filepath:i,cache:a={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`oid`,r);let t=new J(e);return await vl({fs:t,cache:a,gitdir:await X({fsp:t,dotgit:n}),oid:r,filepath:i})}catch(e){throw e.caller=`git.readBlob`,e}}async function bl({fs:e,dir:t,gitdir:n=K(t,`.git`),oid:r,cache:i={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`oid`,r);let t=new J(e);return await Po({fs:t,cache:i,gitdir:await X({fsp:t,dotgit:n}),oid:r})}catch(e){throw e.caller=`git.readCommit`,e}}async function xl({fs:e,cache:t,gitdir:n,ref:r=`refs/notes/commits`,oid:i}){let{blob:a}=await vl({fs:e,cache:t,gitdir:n,oid:await q.resolve({gitdir:n,fs:e,ref:r}),filepath:i});return a}async function Sl({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r=`refs/notes/commits`,oid:i,cache:a={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`ref`,r),Y(`oid`,i);let t=new J(e);return await xl({fs:t,cache:a,gitdir:await X({fsp:t,dotgit:n}),ref:r,oid:i})}catch(e){throw e.caller=`git.readNote`,e}}async function Cl({fs:e,dir:t,gitdir:n=K(t,`.git`),oid:r,format:i=`parsed`,filepath:a=void 0,encoding:o=void 0,cache:s={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`oid`,r);let t=new J(e),c=await X({fsp:t,dotgit:n});a!==void 0&&(r=await Ro({fs:t,cache:s,gitdir:c,oid:r,filepath:a}));let l=await ia({fs:t,cache:s,gitdir:c,oid:r,format:i===`parsed`?`content`:i});if(l.oid=r,i===`parsed`)switch(l.format=`parsed`,l.type){case`commit`:l.object=Ga.from(l.object).parse();break;case`tree`:l.object=ji.from(l.object).entries();break;case`blob`:o?l.object=l.object.toString(o):(l.object=new Uint8Array(l.object),l.format=`content`);break;case`tag`:l.object=Ha.from(l.object).parse();break;default:throw new Gr(l.oid,l.type,`blob|commit|tag|tree`)}else(l.format===`deflated`||l.format===`wrapped`)&&(l.type=l.format);return l}catch(e){throw e.caller=`git.readObject`,e}}async function wl({fs:e,cache:t,gitdir:n,oid:r}){let{type:i,object:a}=await ia({fs:e,cache:t,gitdir:n,oid:r,format:`content`});if(i!==`tag`)throw new Gr(r,i,`tag`);let o=Ha.from(a);return{oid:r,tag:o.parse(),payload:o.payload()}}async function Tl({fs:e,dir:t,gitdir:n=K(t,`.git`),oid:r,cache:i={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`oid`,r);let t=new J(e);return await wl({fs:t,cache:i,gitdir:await X({fsp:t,dotgit:n}),oid:r})}catch(e){throw e.caller=`git.readTag`,e}}async function El({fs:e,dir:t,gitdir:n=K(t,`.git`),oid:r,filepath:i=void 0,cache:a={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`oid`,r);let t=new J(e);return await Vo({fs:t,cache:a,gitdir:await X({fsp:t,dotgit:n}),oid:r,filepath:i})}catch(e){throw e.caller=`git.readTree`,e}}async function Dl({fs:e,dir:t,gitdir:n=K(t,`.git`),filepath:r,cache:i={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`filepath`,r);let t=new J(e),a=await X({fsp:t,dotgit:n});await Ir.acquire({fs:t,gitdir:a,cache:i},async function(e){let t=Array.isArray(r)?r:[r];for(let n of t)e.delete({filepath:n})})}catch(e){throw e.caller=`git.remove`,e}}async function Ol({fs:e,cache:t,onSign:n,gitdir:r,ref:i=`refs/notes/commits`,oid:a,author:o,committer:s,signingKey:c}){let l;try{l=await q.resolve({gitdir:r,fs:e,ref:i})}catch(e){if(!(e instanceof Wr))throw e}let u=(await Vo({fs:e,cache:t,gitdir:r,oid:l||`4b825dc642cb6eb9a060e54bf8d69288fbee4904`})).tree;return u=u.filter(e=>e.path!==a),await Io({fs:e,cache:t,onSign:n,gitdir:r,ref:i,tree:await Ho({fs:e,gitdir:r,tree:u}),parent:l&&[l],message:`Note removed by 'isomorphic-git removeNote'
71
+ `,author:o,committer:s,signingKey:c})}async function kl({fs:e,onSign:t,dir:n,gitdir:r=K(n,`.git`),ref:i=`refs/notes/commits`,oid:a,author:o,committer:s,signingKey:c,cache:l={}}){try{Y(`fs`,e),Y(`gitdir`,r),Y(`oid`,a);let n=new J(e),u=await X({fsp:n,dotgit:r}),d=await jo({fs:n,gitdir:u,author:o});if(!d)throw new xa(`author`);let f=await Mo({fs:n,gitdir:u,author:d,committer:s});if(!f)throw new xa(`committer`);return await Ol({fs:n,cache:l,onSign:t,gitdir:u,ref:i,oid:a,author:d,committer:f,signingKey:c})}catch(e){throw e.caller=`git.removeNote`,e}}async function Al({fs:e,gitdir:t,oldref:n,ref:r,checkout:i=!1}){if(!ei(r,!0))throw new qr(r,tr.default.clean(r));if(!ei(n,!0))throw new qr(n,tr.default.clean(n));let a=`refs/heads/${n}`,o=`refs/heads/${r}`;if(await q.exists({fs:e,gitdir:t,ref:o}))throw new aa(`branch`,r,!1);let s=await q.resolve({fs:e,gitdir:t,ref:a,depth:1});await q.writeRef({fs:e,gitdir:t,ref:o,value:s}),await q.deleteRef({fs:e,gitdir:t,ref:a});let c=await ys({fs:e,gitdir:t,fullname:!0})===a;(i||c)&&await q.writeSymbolicRef({fs:e,gitdir:t,ref:`HEAD`,value:o})}async function jl({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r,oldref:i,checkout:a=!1}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`ref`,r),Y(`oldref`,i);let t=new J(e);return await Al({fs:t,gitdir:await X({fsp:t,dotgit:n}),ref:r,oldref:i,checkout:a})}catch(e){throw e.caller=`git.renameBranch`,e}}async function Ml({gitdir:e,type:t,object:n}){return xr(Mi.wrap({type:t,object:n}))}async function Nl({fs:e,dir:t,gitdir:n=K(t,`.git`),filepath:r,ref:i,cache:a={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`filepath`,r);let o=new J(e),s=await X({fsp:o,dotgit:n}),c,l;try{c=await q.resolve({fs:o,gitdir:s,ref:i||`HEAD`})}catch(e){if(i||!(e instanceof Wr))throw e}if(c)try{c=await Ro({fs:o,cache:a,gitdir:s,oid:c,filepath:r})}catch(e){if(!(e instanceof Wr)&&!(e instanceof _a)&&!(e instanceof Gr&&e.data.filepath))throw e;c=null}let u={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:0,uid:0,gid:0,size:0},d=t&&await o.read(K(t,r));d&&(l=await Ml({gitdir:s,type:`blob`,object:d}),c===l&&(u=await o.lstat(K(t,r)))),await Ir.acquire({fs:o,gitdir:s,cache:a},async function(e){e.delete({filepath:r}),c&&e.insert({filepath:r,stats:u,oid:c})})}catch(e){throw e.caller=`git.reset`,e}}async function Pl({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r,depth:i}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`ref`,r);let t=new J(e),a=await X({fsp:t,dotgit:n});return await q.resolve({fs:t,gitdir:a,ref:r,depth:i})}catch(e){throw e.caller=`git.resolveRef`,e}}async function Fl({fs:e,dir:t,gitdir:n=K(t,`.git`),path:r,value:i,append:a=!1}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`path`,r);let t=new J(e),o=await X({fsp:t,dotgit:n}),s=await xi.get({fs:t,gitdir:o});a?await s.append(r,i):await s.set(r,i),await xi.save({fs:t,gitdir:o,config:s})}catch(e){throw e.caller=`git.setConfig`,e}}async function Il({fs:e,gitdir:t,commit:n}){return await xo({fs:e,gitdir:t,type:`commit`,object:Ga.from(n).toObject(),format:`content`})}var Ll=class e{static get timezoneOffsetForRefLogEntry(){let e=new Date().getTimezoneOffset(),t=Math.abs(Math.floor(e/60)),n=Math.abs(e%60).toString().padStart(2,`0`);return`${e>0?`-`:`+`}${t.toString().padStart(2,`0`)}${n}`}static createStashReflogEntry(t,n,r){let i=t.name.replace(/\s/g,``),a=Math.floor(Date.now()/1e3),o=e.timezoneOffsetForRefLogEntry;return`0000000000000000000000000000000000000000 ${n} ${i} ${t.email} ${a} ${o}\t${r}\n`}static getStashReflogEntry(e,t=!1){return e.split(`
72
+ `).filter(e=>e).reverse().map((e,n)=>t?`stash@{${n}}: ${e.split(` `)[1]}`:e)}},Rl=class e{constructor({fs:e,dir:t,gitdir:n=K(t,`.git`)}){Object.assign(this,{fs:e,dir:t,gitdir:n,_author:null})}static get refStash(){return`refs/stash`}static get refLogsStash(){return`logs/refs/stash`}get refStashPath(){return K(this.gitdir,e.refStash)}get refLogsStashPath(){return K(this.gitdir,e.refLogsStash)}async getAuthor(){if(!this._author&&(this._author=await jo({fs:this.fs,gitdir:this.gitdir,author:{}}),!this._author))throw new xa(`author`);return this._author}async getStashSHA(e,t){return await this.fs.exists(this.refStashPath)?(t||await this.readStashReflogs({parsed:!1}))[e].split(` `)[1]:null}async writeStashCommit({message:e,tree:t,parent:n}){return Il({fs:this.fs,gitdir:this.gitdir,commit:{message:e,tree:t,parent:n,author:await this.getAuthor(),committer:await this.getAuthor()}})}async readStashCommit(e){let t=await this.readStashReflogs({parsed:!1});if(e!==0&&(e<0||e>t.length-1))throw new qr(`stash@${e}`,`number that is in range of [0, num of stash pushed]`);let n=await this.getStashSHA(e,t);return n?Po({fs:this.fs,cache:{},gitdir:this.gitdir,oid:n}):{}}async writeStashRef(t){return q.writeRef({fs:this.fs,gitdir:this.gitdir,ref:e.refStash,value:t})}async writeStashReflogEntry({stashCommit:e,message:t}){let n=await this.getAuthor(),r=Ll.createStashReflogEntry(n,e,t),i=this.refLogsStashPath;await jr(i,async()=>{let e=await this.fs.exists(i)?await this.fs.read(i,`utf8`):``;await this.fs.write(i,e+r,`utf8`)})}async readStashReflogs({parsed:e=!1}){if(!await this.fs.exists(this.refLogsStashPath))return[];let t=await this.fs.read(this.refLogsStashPath,`utf8`);return Ll.getStashReflogEntry(t,e)}};async function zl({fs:e,dir:t,gitdir:n,message:r=``}){let i=new Rl({fs:e,dir:t,gitdir:n});await i.getAuthor();let a=await ys({fs:e,gitdir:n,fullname:!1}),o=await q.resolve({fs:e,gitdir:n,ref:`HEAD`}),s=(await bl({fs:e,dir:t,gitdir:n,oid:o})).commit.message,c=[o],l=null,u=Ja({ref:`HEAD`}),d=await fs({fs:e,dir:t,gitdir:n,treePair:[Ja({ref:`HEAD`}),`stage`]});if(d){let e=await i.writeStashCommit({message:`stash-Index: WIP on ${a} - ${new Date().toISOString()}`,tree:d,parent:c});c.push(e),l=d,u=Ur()}let f=await fs({fs:e,dir:t,gitdir:n,treePair:[u,`workdir`]});if(f){let e=await i.writeStashCommit({message:`stash-WorkDir: WIP on ${a} - ${new Date().toISOString()}`,tree:f,parent:[c[c.length-1]]});c.push(e),l=f}if(!l||!d&&!f)throw new Wr(`changes, nothing to stash`);let p=(r.trim()||`WIP on ${a}`)+`: ${o.substring(0,7)} ${s}`;return{stashCommit:await i.writeStashCommit({message:p,tree:l,parent:c}),stashMsg:p,branch:a,stashMgr:i}}async function Bl({fs:e,dir:t,gitdir:n,message:r=``}){let{stashCommit:i,stashMsg:a,branch:o,stashMgr:s}=await zl({fs:e,dir:t,gitdir:n,message:r});return await s.writeStashRef(i),await s.writeStashReflogEntry({stashCommit:i,message:a}),await is({fs:e,dir:t,gitdir:n,ref:o,track:!1,force:!0}),i}async function Vl({fs:e,dir:t,gitdir:n,message:r=``}){let{stashCommit:i}=await zl({fs:e,dir:t,gitdir:n,message:r});return i}async function Hl({fs:e,dir:t,gitdir:n,refIdx:r=0}){let i=await new Rl({fs:e,dir:t,gitdir:n}).readStashCommit(r),{parent:a=null}=i.commit?i.commit:{};if(a&&Array.isArray(a))for(let r=0;r<a.length-1;r++){let i=(await Po({fs:e,cache:{},gitdir:n,oid:a[r+1]})).commit.message.startsWith(`stash-Index`);await ps({fs:e,dir:t,gitdir:n,stashCommit:a[r+1],parentCommit:a[r],wasStaged:i})}}async function Ul({fs:e,dir:t,gitdir:n,refIdx:r=0}){let i=new Rl({fs:e,dir:t,gitdir:n});if(!(await i.readStashCommit(r)).commit)return;let a=i.refStashPath;await jr(a,async()=>{await e.exists(a)&&await e.rm(a)});let o=await i.readStashReflogs({parsed:!1});if(!o.length)return;o.splice(r,1);let s=i.refLogsStashPath;await jr(s,async()=>{if(o.length){await e.write(s,o.reverse().join(`
73
+ `)+`
74
+ `,`utf8`);let t=o[o.length-1].split(` `)[1];await i.writeStashRef(t)}else await e.rm(s)})}async function Wl({fs:e,dir:t,gitdir:n}){return new Rl({fs:e,dir:t,gitdir:n}).readStashReflogs({parsed:!0})}async function Gl({fs:e,dir:t,gitdir:n}){let r=new Rl({fs:e,dir:t,gitdir:n}),i=[r.refStashPath,r.refLogsStashPath];await jr(i,async()=>{await Promise.all(i.map(async t=>{if(await e.exists(t))return e.rm(t)}))})}async function Kl({fs:e,dir:t,gitdir:n,refIdx:r=0}){await Hl({fs:e,dir:t,gitdir:n,refIdx:r}),await Ul({fs:e,dir:t,gitdir:n,refIdx:r})}async function ql({fs:e,dir:t,gitdir:n=K(t,`.git`),op:r=`push`,message:i=``,refIdx:a=0}){Y(`fs`,e),Y(`dir`,t),Y(`gitdir`,n),Y(`op`,r);let o={push:Bl,apply:Hl,drop:Ul,list:Wl,clear:Gl,pop:Kl,create:Vl},s=[`apply`,`drop`,`pop`];try{let c=new J(e),l=await X({fsp:c,dotgit:n});[`refs`,`logs`,`logs/refs`].map(e=>K(l,e)).forEach(async e=>{await c.exists(e)||await c.mkdir(e)});let u=o[r];if(u){if(s.includes(r)&&a<0)throw new qr(`stash@${a}`,`number that is in range of [0, num of stash pushed]`);return await u({fs:c,dir:t,gitdir:l,message:i,refIdx:a})}throw Error(`To be implemented: ${r}`)}catch(e){throw e.caller=`git.stash`,e}}async function Jl({fs:e,dir:t,gitdir:n=K(t,`.git`),filepath:r,cache:i={},refresh:a=!0}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`filepath`,r);let o=new J(e),s=await X({fsp:o,dotgit:n}),c=await Xl({fs:o,cache:i,gitdir:s,tree:await Zl({fs:o,cache:i,gitdir:s}),path:r}),l=await Ir.acquire({fs:o,gitdir:s,cache:i},async function(e){for(let t of e)if(t.path===r)return t;return null});if(c===null&&l===null&&await ho.isIgnored({fs:o,gitdir:s,dir:t,filepath:r}))return`ignored`;let u=await o.lstat(K(t,r)),d=c!==null,f=l!==null,p=u!==null&&(d||f||await Yl({fs:o,dir:t,filepath:r})),m=async()=>{if(f&&!Or(l,u))return l.oid;{let e=await(await xi.get({fs:o,gitdir:s})).get(`core.autocrlf`),n=await o.read(K(t,r),{autocrlf:e}),c=await Ml({gitdir:s,type:`blob`,object:n});return a&&f&&l.oid===c&&u.size!==-1&&await Ir.acquire({fs:o,gitdir:s,cache:i},async function(e){e.insert({filepath:r,stats:u,oid:c})}),c}};if(!d&&!p&&!f)return`absent`;if(!d&&!p&&f)return`*absent`;if(!d&&p&&!f)return`*added`;if(!d&&p&&f)return await m()===l.oid?`added`:`*added`;if(d&&!p&&!f)return`deleted`;if(d&&!p&&f)return l.oid,`*deleted`;if(d&&p&&!f)return await m()===c?`*undeleted`:`*undeletemodified`;if(d&&p&&f){let e=await m();return e===c?e===l.oid?`unmodified`:`*unmodified`:e===l.oid?`modified`:`*modified`}}catch(e){throw e.caller=`git.status`,e}}async function Yl({fs:e,dir:t,filepath:n}){let r=n.replace(/\\/g,`/`).split(`/`).filter(e=>e!==``&&e!==`.`),i=t;for(let t of r){let n;try{n=await e._readdir(i)}catch(e){if(e.code===`ENOENT`||e.code===`ENOTDIR`)return!1;throw e}if(!n.some(e=>e.normalize()===t.normalize()))return!1;i=K(i,t)}return!0}async function Xl({fs:e,cache:t,gitdir:n,tree:r,path:i}){typeof i==`string`&&(i=i.split(`/`));let a=i.shift();for(let o of r)if(o.path===a){if(i.length===0)return o.oid;let{type:r,object:a}=await ia({fs:e,cache:t,gitdir:n,oid:o.oid});if(r===`tree`)return Xl({fs:e,cache:t,gitdir:n,tree:ji.from(a),path:i});if(r===`blob`)throw new Gr(o.oid,r,`blob`,i.join(`/`))}return null}async function Zl({fs:e,cache:t,gitdir:n}){let r;try{r=await q.resolve({fs:e,gitdir:n,ref:`HEAD`})}catch(e){if(e instanceof Wr)return[];throw e}let{tree:i}=await Vo({fs:e,cache:t,gitdir:n,oid:r});return i}async function Ql({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r=`HEAD`,filepaths:i=[`.`],filter:a,cache:o={},ignored:s=!1,refresh:c=!0}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`ref`,r);let l=new J(e);return await to({fs:l,cache:o,dir:t,gitdir:await X({fsp:l,dotgit:n}),trees:[Ja({ref:r}),Xa({refresh:c}),Ur()],map:async function(e,[n,r,o]){if(!n&&!o&&r&&!s&&await ho.isIgnored({fs:l,dir:t,filepath:e})||!i.some(t=>Qo(e,t)))return null;if(a&&!a(e))return;let[c,u,d]=await Promise.all([n&&n.type(),r&&r.type(),o&&o.type()]),f=[c,u,d].includes(`blob`);if((c===`tree`||c===`special`)&&!f)return;if(c===`commit`)return null;if((u===`tree`||u===`special`)&&!f)return;if(d===`commit`)return null;if((d===`tree`||d===`special`)&&!f)return;let p=c===`blob`?await n.oid():void 0,m=d===`blob`?await o.oid():void 0,h;c!==`blob`&&u===`blob`&&d!==`blob`?h=`42`:u===`blob`&&(h=await r.oid());let g=[void 0,p,h,m],_=g.map(e=>g.indexOf(e));return _.shift(),[e,..._]}})}catch(e){throw e.caller=`git.statusMatrix`,e}}async function $l({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r,object:i,force:a=!1}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`ref`,r);let t=new J(e);if(r===void 0)throw new Sa(`ref`);r=r.startsWith(`refs/tags/`)?r:`refs/tags/${r}`;let o=await X({fsp:t,dotgit:n}),s=await q.resolve({fs:t,gitdir:o,ref:i||`HEAD`});if(!a&&await q.exists({fs:t,gitdir:o,ref:r}))throw new aa(`tag`,r);await q.writeRef({fs:t,gitdir:o,ref:r,value:s})}catch(e){throw e.caller=`git.tag`,e}}async function eu({fs:e,dir:t,gitdir:n=K(t,`.git`),cache:r={},filepath:i,oid:a,mode:o,add:s,remove:c,force:l}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`filepath`,i);let u=new J(e),d=await X({fsp:u,dotgit:n});if(c)return await Ir.acquire({fs:u,gitdir:d,cache:r},async function(e){if(!l){let e=await u.lstat(K(t,i));if(e){if(e.isDirectory())throw new _a(`directory`);return}}e.has({filepath:i})&&e.delete({filepath:i})});let f;if(!a){if(f=await u.lstat(K(t,i)),!f)throw new Wr(`file at "${i}" on disk and "remove" not set`);if(f.isDirectory())throw new _a(`directory`)}return await Ir.acquire({fs:u,gitdir:d,cache:r},async function(e){if(!s&&!e.has({filepath:i}))throw new Wr(`file at "${i}" in index and "add" not set`);let n;if(a)n={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:o,uid:0,gid:0,size:0};else{n=f;let e=n.isSymbolicLink()?await u.readlink(K(t,i)):await u.read(K(t,i));a=await xo({fs:u,gitdir:d,type:`blob`,format:`content`,object:e})}return e.insert({filepath:i,oid:a,stats:n}),a})}catch(e){throw e.caller=`git.updateIndex`,e}}function tu(){try{return Gs.version}catch(e){throw e.caller=`git.version`,e}}async function nu({fs:e,dir:t,gitdir:n=K(t,`.git`),trees:r,map:i,reduce:a,iterate:o,cache:s={}}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`trees`,r);let c=new J(e);return await to({fs:c,cache:s,dir:t,gitdir:await X({fsp:c,dotgit:n}),trees:r,map:i,reduce:a,iterate:o})}catch(e){throw e.caller=`git.walk`,e}}async function ru({fs:e,dir:t,gitdir:n=K(t,`.git`),blob:r}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`blob`,r);let t=new J(e);return await xo({fs:t,gitdir:await X({fsp:t,dotgit:n}),type:`blob`,object:r,format:`content`})}catch(e){throw e.caller=`git.writeBlob`,e}}async function iu({fs:e,dir:t,gitdir:n=K(t,`.git`),commit:r}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`commit`,r);let t=new J(e);return await Il({fs:t,gitdir:await X({fsp:t,dotgit:n}),commit:r})}catch(e){throw e.caller=`git.writeCommit`,e}}async function au({fs:e,dir:t,gitdir:n=K(t,`.git`),type:r,object:i,format:a=`parsed`,oid:o,encoding:s=void 0}){try{let t=new J(e),c=await X({fsp:t,dotgit:n});if(a===`parsed`){switch(r){case`commit`:i=Ga.from(i).toObject();break;case`tree`:i=ji.from(i).toObject();break;case`blob`:i=Buffer.from(i,s);break;case`tag`:i=Ha.from(i).toObject();break;default:throw new Gr(o||``,r,`blob|commit|tag|tree`)}a=`content`}return o=await xo({fs:t,gitdir:c,type:r,object:i,oid:o,format:a}),o}catch(e){throw e.caller=`git.writeObject`,e}}async function ou({fs:e,dir:t,gitdir:n=K(t,`.git`),ref:r,value:i,force:a=!1,symbolic:o=!1}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`ref`,r),Y(`value`,i);let t=new J(e);if(!ei(r,!0))throw new qr(r,tr.default.clean(r));let s=await X({fsp:t,dotgit:n});if(!a&&await q.exists({fs:t,gitdir:s,ref:r}))throw new aa(`ref`,r);o?await q.writeSymbolicRef({fs:t,gitdir:s,ref:r,value:i}):(i=await q.resolve({fs:t,gitdir:s,ref:i}),await q.writeRef({fs:t,gitdir:s,ref:r,value:i}))}catch(e){throw e.caller=`git.writeRef`,e}}async function su({fs:e,gitdir:t,tag:n}){return await xo({fs:e,gitdir:t,type:`tag`,object:Ha.from(n).toObject(),format:`content`})}async function cu({fs:e,dir:t,gitdir:n=K(t,`.git`),tag:r}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`tag`,r);let t=new J(e);return await su({fs:t,gitdir:await X({fsp:t,dotgit:n}),tag:r})}catch(e){throw e.caller=`git.writeTag`,e}}async function lu({fs:e,dir:t,gitdir:n=K(t,`.git`),tree:r}){try{Y(`fs`,e),Y(`gitdir`,n),Y(`tree`,r);let t=new J(e);return await Ho({fs:t,gitdir:await X({fsp:t,dotgit:n}),tree:r})}catch(e){throw e.caller=`git.writeTree`,e}}var Z={Errors:Na,STAGE:Ur,TREE:Ja,WORKDIR:Xa,add:Co,abortMerge:mo,addNote:Wo,addRemote:Ko,annotatedTag:Jo,branch:Xo,cherryPick:gs,checkout:is,clone:tc,commit:nc,getConfig:wc,getConfigAll:Ec,setConfig:Fl,currentBranch:rc,deleteBranch:ac,deleteRef:oc,deleteRemote:cc,deleteTag:uc,expandOid:mc,expandRef:hc,fastForward:yc,fetch:bc,findMergeBase:xc,findRoot:Cc,getRemoteInfo:Oc,getRemoteInfo2:Ac,hashBlob:Mc,indexPack:Pc,init:Fc,isDescendent:Lc,isIgnored:Rc,listBranches:zc,listFiles:Hc,listNotes:Wc,listRefs:Gc,listRemotes:qc,listServerRefs:Xc,listTags:Zc,log:il,merge:al,packObjects:ll,pull:ul,push:gl,readBlob:yl,readCommit:bl,readNote:Sl,readObject:Cl,readTag:Tl,readTree:El,remove:Dl,removeNote:kl,renameBranch:jl,resetIndex:Nl,updateIndex:eu,resolveRef:Pl,status:Jl,statusMatrix:Ql,tag:$l,version:tu,walk:nu,writeBlob:ru,writeCommit:iu,writeObject:au,writeRef:ou,writeTag:cu,writeTree:lu,stash:ql};async function uu(){let e=new Qn.default(`ramulus-demo`,{wipe:!0}),t=`/demo`,n={name:`Sam Rivera`,email:`sam@example.com`},r=Math.floor(Date.now()/1e3)-2592e3,i=()=>r+=25200,a=(n,r)=>e.promises.writeFile(`${t}/${n}`,r),o=async(r,a=n)=>{let o=i();return Z.commit({fs:e,dir:t,message:r,author:{...a,timestamp:o},committer:{...a,timestamp:o}})};await e.promises.mkdir(t),await Z.init({fs:e,dir:t,defaultBranch:`main`}),await Z.setConfig({fs:e,dir:t,path:`user.name`,value:n.name}),await Z.setConfig({fs:e,dir:t,path:`user.email`,value:n.email}),await a(`README.md`,`# Demo project
75
+
76
+ A small repository to try Ramulus.
77
+ `),await Z.add({fs:e,dir:t,filepath:`README.md`}),await o(`Initial commit`),await a(`src.js`,`export const answer = 42
78
+ `),await Z.add({fs:e,dir:t,filepath:`src.js`}),await o(`Add the first module`),await Z.branch({fs:e,dir:t,ref:`feature/login`,checkout:!0}),await a(`login.js`,`export function login() {}
79
+ `),await Z.add({fs:e,dir:t,filepath:`login.js`}),await o(`Start the login form`,{name:`Ana Kim`,email:`ana@example.com`}),await a(`login.js`,`export function login(user) {
80
+ return user
81
+ }
82
+ `),await Z.add({fs:e,dir:t,filepath:`login.js`}),await o(`Accept a user in login`,{name:`Ana Kim`,email:`ana@example.com`}),await Z.checkout({fs:e,dir:t,ref:`main`}),await a(`src.js`,`export const answer = 42
83
+ export const greeting = "hi"
84
+ `),await Z.add({fs:e,dir:t,filepath:`src.js`}),await o(`Add a greeting`);let s=i();return await Z.merge({fs:e,dir:t,ours:`main`,theirs:`feature/login`,author:{...n,timestamp:s},message:`Merge feature/login into main`}),await Z.checkout({fs:e,dir:t,ref:`main`}),await Z.tag({fs:e,dir:t,ref:`v1.0`}),await Z.branch({fs:e,dir:t,ref:`experiment/cache`,checkout:!0}),await a(`cache.js`,`export const cache = new Map()
85
+ `),await Z.add({fs:e,dir:t,filepath:`cache.js`}),await o(`Sketch a cache`,{name:`Ana Kim`,email:`ana@example.com`}),await Z.checkout({fs:e,dir:t,ref:`main`}),await a(`README.md`,`# Demo project
86
+
87
+ A small repository to try Ramulus.
88
+
89
+ Edit me, stage me, commit me.
90
+ `),await a(`notes.txt`,`untracked scratch file
91
+ `),{fs:e,dir:t,cache:{}}}async function du(e,t,n,r){let i=await fetch(`${e}/api/${n}`,{method:`POST`,headers:{"content-type":`application/json`,"x-ramulus-token":t},body:JSON.stringify(r)}),a=await i.json().catch(()=>({error:`${i.status} ${i.statusText}`}));if(!i.ok||a.error)throw Error(a.error??`Request failed`);return a.result}function fu(e,t){return{repos:()=>du(e,t,`repos`,{}),openRepo:n=>du(e,t,`openRepo`,{path:n}),pickFolder:()=>du(e,t,`pickFolder`,{})}}function pu(e,t,n){let r=(r,i={})=>du(e,t,r,{...i,repo:n});return{native:!0,load:async e=>{let t=await r(`load`,{limit:e});return{...t,refsByOid:new Map(Object.entries(t.refsByOid))}},status:()=>r(`status`),commitFiles:e=>r(`commitFiles`,{oid:e}),fileVersions:(e,t)=>r(`fileVersions`,{area:e,path:t}),writeIndex:(e,t,n)=>r(`writeIndex`,{path:e,content:t,expected:n}),writeWorkdir:(e,t,n)=>r(`writeWorkdir`,{path:e,content:t,expected:n}),openPath:e=>r(`openPath`,{path:e}),stage:e=>r(`stage`,{paths:e.map(e=>e.path)}),unstage:e=>r(`unstage`,{paths:e}),discard:e=>r(`discard`,{files:e}),commit:(e,t)=>r(`commit`,{message:e,amend:t}),checkoutBranch:e=>r(`checkoutBranch`,{name:e}),checkoutRemote:e=>r(`checkoutRemote`,{name:e}),checkoutCommit:e=>r(`checkoutCommit`,{oid:e}),createBranch:(e,t,n)=>r(`createBranch`,{name:e,at:t,checkout:n}),deleteBranch:e=>r(`deleteBranch`,{name:e}),renameBranch:(e,t)=>r(`renameBranch`,{oldName:e,newName:t}),createTag:(e,t,n)=>r(`createTag`,{name:e,at:t,message:n}),deleteTag:e=>r(`deleteTag`,{name:e}),stashSave:e=>r(`stashSave`,{message:e}),stashApply:(e,t)=>r(`stashApply`,{index:e,pop:t}),stashDrop:e=>r(`stashDrop`,{index:e}),merge:e=>r(`merge`,{branch:e}),reset:(e,t,n)=>r(`reset`,{oid:t,mode:n}),fetchAll:()=>r(`fetchAll`),pull:e=>r(`pull`,{mode:e}),push:()=>r(`push`),rebase:e=>r(`rebase`,{onto:e}),cherryPick:e=>r(`cherryPick`,{oid:e}),revert:e=>r(`revert`,{oid:e}),abort:()=>r(`abort`),continueOp:()=>r(`continue`),subscribe:r=>{let i=new EventSource(`${e}/api/events?token=${t}${n?`&repo=${encodeURIComponent(n)}`:``}`);return i.onmessage=()=>r(),()=>i.close()}}}function mu(e){let t=[e];return{next(){return Promise.resolve({done:t.length===0,value:t.pop()})},return(){return t=[],{}},[Symbol.asyncIterator](){return this}}}function hu(e){return e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]?e[Symbol.iterator]():e.next?e:mu(e)}async function gu(e,t){let n=hu(e);for(;;){let{value:e,done:r}=await n.next();if(e&&await t(e),r)break}n.return&&n.return()}async function _u(e){let t=0,n=[];await gu(e,e=>{n.push(e),t+=e.byteLength});let r=new Uint8Array(t),i=0;for(let e of n)r.set(e,i),i+=e.byteLength;return r}function vu(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{next(){return t.read()},return(){return t.releaseLock(),{}},[Symbol.asyncIterator](){return this}}}async function yu({onProgress:e,url:t,method:n=`GET`,headers:r={},fetchOptions:i={},body:a,signal:o}){a&&=await _u(a);let s=await fetch(t,{...i,method:n,headers:r,body:a,signal:o??i.signal}),c=s.body&&s.body.getReader?vu(s.body):[new Uint8Array(await s.arrayBuffer())];r={};for(let[e,t]of s.headers.entries())r[e]=t;return{url:s.url,method:s.method,statusCode:s.status,statusMessage:s.statusText,body:c,headers:r}}var bu={request:yu},xu=2e3;function Su(e){let t=e.indexOf(`
92
+ `);return t<0?[e.trim(),``]:[e.slice(0,t).trim(),e.slice(t+1).trim()]}async function Cu(e,t){try{return await Z.resolveRef({fs:e.fs,dir:e.dir,ref:t})}catch{return}}async function wu(e,t){try{return(await Z.readCommit({fs:e.fs,dir:e.dir,oid:t,cache:e.cache})).oid}catch{return}}async function Tu(e){let t;try{t=await e.fs.promises.readFile(`${e.dir}/.git/logs/refs/stash`,`utf8`)}catch{return[]}return t.split(`
93
+ `).filter(e=>e.trim().length>0).reverse().map((e,t)=>{let[n,r=``]=e.split(` `),i=n.split(` `)[1]??``;return{index:t,message:r.trim(),oid:i}})}async function Eu(e){return Du(await Z.statusMatrix({fs:e.fs,dir:e.dir}))}function Du(e){let t={staged:[],unstaged:[]};for(let[n,r,i,a]of e)(r!==1||i!==1||a!==1)&&((r!==0||a!==0)&&a!==1&&t.staged.push({path:n,kind:r===0?`A`:a===0?`D`:`M`}),a===0&&(i===2||r===1&&i===1)?t.unstaged.push({path:n,kind:`?`}):a===1&&i===2?t.unstaged.push({path:n,kind:`M`}):a===1&&i===0?t.unstaged.push({path:n,kind:`D`}):a===3&&t.unstaged.push({path:n,kind:i===0?`D`:`M`}));return t}async function Ou(e,t=xu){let{fs:n,dir:r,cache:i}=e,a=new Map,o=(e,t)=>{let n=a.get(e)??[];n.push(t),a.set(e,n)},s=await Z.currentBranch({fs:n,dir:r,test:!0})??void 0,c=await Cu(e,`HEAD`),l=new Set;c&&l.add(c);let u=[];for(let t of await Z.listBranches({fs:n,dir:r})){let n=await Cu(e,`refs/heads/${t}`);n&&(l.add(n),u.push({name:t,oid:n,isHead:t===s}),o(n,{name:t,kind:`head`,current:t===s}))}let d=[];for(let t of await Z.listRemotes({fs:n,dir:r}))for(let i of await Z.listBranches({fs:n,dir:r,remote:t.remote})){if(i===`HEAD`)continue;let n=`${t.remote}/${i}`,r=await Cu(e,`refs/remotes/${n}`);r&&(l.add(r),d.push({name:n,oid:r,isHead:!1}),o(r,{name:n,kind:`remote`}))}let f=[];for(let t of await Z.listTags({fs:n,dir:r})){let n=await Cu(e,`refs/tags/${t}`),r=n&&await wu(e,n);r&&(l.add(r),f.push({name:t,oid:r}),o(r,{name:t,kind:`tag`}))}let p=await Tu(e),m=new Map(p.map(e=>[e.oid,e.message])),h=new Set,g=new Map,_=async e=>{let t=g.get(e);if(t)return t;let a=await Z.readCommit({fs:n,dir:r,oid:e,cache:i});return g.set(e,a),a};for(let e of p)try{(await _(e.oid)).commit.parent.slice(1).forEach(e=>h.add(e)),l.add(e.oid)}catch{continue}let v=[],y=new Set;for(let e of l)if(!y.has(e)){y.add(e);try{await _(e),v.push(e)}catch{continue}}let b=e=>g.get(e).commit.committer.timestamp,x=[],S=!1;for(;v.length>0;){let e=0;for(let t=1;t<v.length;t++)b(v[t])>b(v[e])&&(e=t);let n=v.splice(e,1)[0],r=g.get(n).commit;for(let e of r.parent)if(!y.has(e)){y.add(e);try{await _(e),v.push(e)}catch{continue}}if(h.has(n))continue;if(x.length>=t){S=!0;break}let i=m.get(n),[a,o]=Su(r.message);x.push({id:n,parents:i===void 0?r.parent:r.parent.slice(0,1),author:r.author.name,email:r.author.email,time:r.committer.timestamp,summary:i??a,body:o,kind:i===void 0?r.parent.length>1?`merge`:`commit`:`stash`})}return{name:r.split(`/`).filter(Boolean).pop()??r,headBranch:s,headOid:c,commits:x,refsByOid:a,local:u,remote:d,tags:f,stashes:p,status:await Eu(e),hasMore:S}}async function ku(e,t){let[n]=await Z.log({fs:e.fs,dir:e.dir,ref:t,depth:1,includeChanges:!0,cache:e.cache});return((n?.commit).changes??[]).map(([e,t,n])=>({path:n,kind:e===null?`D`:t===null?`A`:`M`}))}var Au=2e6;async function ju(e,t,n){if(t)try{return(await Z.readBlob({fs:e.fs,dir:e.dir,oid:t,filepath:n,cache:e.cache})).blob}catch{return}}async function Mu(e,t){return(await Z.walk({fs:e.fs,dir:e.dir,trees:[Z.STAGE()],map:async(e,[n])=>e===t&&n?{oid:await n.oid(),mode:await n.mode()}:void 0})).find(e=>e!==void 0)}async function Nu(e,t){let n=await Mu(e,t);if(n)return(await Z.readBlob({fs:e.fs,dir:e.dir,oid:n.oid})).blob}async function Pu(e,t){try{return await e.fs.promises.readFile(`${e.dir}/${t}`)}catch{return}}function Fu(e){if(!e)return!1;let t=Math.min(e.length,8e3);for(let n=0;n<t;n++)if(e[n]===0)return!0;return!1}async function Iu(e,t,n){let r,i;t.kind===`commit`?(r=await ju(e,(await Z.readCommit({fs:e.fs,dir:e.dir,oid:t.oid,cache:e.cache})).commit.parent[0],n),i=await ju(e,t.oid,n)):t.kind===`staged`?(r=await ju(e,await Cu(e,`HEAD`),n),i=await Nu(e,n)):(r=await Nu(e,n)??await ju(e,await Cu(e,`HEAD`),n),i=await Pu(e,n));let a=Fu(r)||Fu(i)||(r?.length??0)>Au||(i?.length??0)>Au,o=new TextDecoder(`utf-8`,{ignoreBOM:!0});return{old:a||!r?``:o.decode(r),new:a||!i?``:o.decode(i),binary:a}}var Lu=`The file changed since this diff was loaded. Look at it again and retry.`,Ru=(e,t)=>t===void 0||new TextDecoder(`utf-8`,{ignoreBOM:!0}).decode(e??new Uint8Array)===t;async function zu(e,t,n,r){if(!Ru(await Nu(e,t),r))throw Error(Lu);let i=await Z.writeBlob({fs:e.fs,dir:e.dir,blob:new TextEncoder().encode(n)}),a=await Mu(e,t);await Z.updateIndex({fs:e.fs,dir:e.dir,filepath:t,oid:i,mode:a?.mode??33188,add:!0})}async function Bu(e,t,n,r){if(!Ru(await Pu(e,t),r))throw Error(Lu);await e.fs.promises.writeFile(`${e.dir}/${t}`,n)}async function Vu(e){let t=await Z.getConfig({fs:e.fs,dir:e.dir,path:`user.name`}),n=await Z.getConfig({fs:e.fs,dir:e.dir,path:`user.email`});if(t&&n)return{name:t,email:n};let r=e.fallbackAuthor?.();if(r?.name&&r.email)return r;throw Error("Run `git config user.name` and `git config user.email` inside this repository, or fill in your name and email under Settings. The browser cannot read your global git config.")}async function Hu(e,t){for(let n of t){if(n.kind===`D`){await Z.remove({fs:e.fs,dir:e.dir,filepath:n.path});continue}let t=n.kind===`M`?(await Mu(e,n.path))?.mode:void 0;t?await Z.updateIndex({fs:e.fs,dir:e.dir,filepath:n.path,mode:t,add:!0}):await Z.add({fs:e.fs,dir:e.dir,filepath:n.path})}}async function Uu(e,t){for(let n of t)await Z.resetIndex({fs:e.fs,dir:e.dir,filepath:n})}async function Wu(e,t){let n=t.filter(e=>e.kind!==`?`).map(e=>e.path);for(let n of t)n.kind===`?`&&await e.fs.promises.unlink(`${e.dir}/${n.path}`);n.length>0&&await Z.checkout({fs:e.fs,dir:e.dir,filepaths:n,force:!0})}async function Gu(e,t,n){return Z.commit({fs:e.fs,dir:e.dir,message:t,author:n?void 0:await Vu(e),amend:n})}async function Ku(e,t){await Z.checkout({fs:e.fs,dir:e.dir,ref:t})}async function qu(e,t){let n=t.indexOf(`/`),r=t.slice(0,n),i=t.slice(n+1);await Z.checkout({fs:e.fs,dir:e.dir,ref:i,remote:r})}async function Ju(e,t){await Z.checkout({fs:e.fs,dir:e.dir,ref:t})}async function Yu(e,t,n,r){await Z.branch({fs:e.fs,dir:e.dir,ref:t,object:n}),r&&await Z.checkout({fs:e.fs,dir:e.dir,ref:t})}async function Xu(e){let t=await Eu(e);if(t.staged.length+t.unstaged.length>0)throw Error(`Commit or stash your changes first`)}async function Zu(e,t){await Z.deleteBranch({fs:e.fs,dir:e.dir,ref:t})}async function Qu(e,t,n){await Z.renameBranch({fs:e.fs,dir:e.dir,oldref:t,ref:n})}async function $u(e,t,n,r){r.trim()?await Z.annotatedTag({fs:e.fs,dir:e.dir,ref:t,object:n,message:r,tagger:await Vu(e)}):await Z.tag({fs:e.fs,dir:e.dir,ref:t,object:n})}async function ed(e,t){await Z.deleteTag({fs:e.fs,dir:e.dir,ref:t})}async function td(e,t){await Z.stash({fs:e.fs,dir:e.dir,op:`push`,message:t.trim()||void 0})}async function nd(e,t,n){await Z.stash({fs:e.fs,dir:e.dir,op:n?`pop`:`apply`,refIdx:t})}async function rd(e,t){await Z.stash({fs:e.fs,dir:e.dir,op:`drop`,refIdx:t})}async function id(e,t,n){await Xu(e);let r=await Z.merge({fs:e.fs,dir:e.dir,ours:n,theirs:t,author:await Vu(e),message:`Merge ${t} into ${n}`});return await Z.checkout({fs:e.fs,dir:e.dir,ref:n}),r.alreadyMerged?`up-to-date`:r.fastForward?`fast-forward`:`merged`}async function ad(e,t,n,r){await Z.writeRef({fs:e.fs,dir:e.dir,ref:`refs/heads/${t}`,value:n,force:!0}),r&&await Z.checkout({fs:e.fs,dir:e.dir,ref:t,force:!0})}function od(e,t){if(!t.corsProxy.trim())throw Error(`Set a CORS proxy under Settings first. Git hosts block direct browser requests, so one is needed for fetch, pull and push.`);return{fs:e.fs,dir:e.dir,http:bu,corsProxy:t.corsProxy.trim(),onAuth:()=>t.token?{username:t.username||`x-access-token`,password:t.token}:void 0}}async function sd(e,t){for(let n of await Z.listRemotes({fs:e.fs,dir:e.dir}))await Z.fetch({...od(e,t),remote:n.remote,prune:!0,tags:!0})}async function cd(e,t,n){await Xu(e),await Z.pull({...od(e,t),ref:n,author:await Vu(e)})}async function ld(e,t,n){let r=await Z.getConfig({fs:e.fs,dir:e.dir,path:`branch.${n}.remote`})??`origin`;await Z.push({...od(e,t),ref:n,remote:r})}function ud(e,t){return{native:!1,load:t=>Ou(e,t),status:()=>Eu(e),commitFiles:t=>ku(e,t),fileVersions:(t,n)=>Iu(e,t,n),writeIndex:(t,n,r)=>zu(e,t,n,r),writeWorkdir:(t,n,r)=>Bu(e,t,n,r),stage:t=>Hu(e,t),unstage:t=>Uu(e,t),discard:t=>Wu(e,t),commit:(t,n)=>Gu(e,t,n),checkoutBranch:t=>Ku(e,t),checkoutRemote:t=>qu(e,t),checkoutCommit:t=>Ju(e,t),createBranch:(t,n,r)=>Yu(e,t,n,r),deleteBranch:t=>Zu(e,t),renameBranch:(t,n)=>Qu(e,t,n),createTag:(t,n,r)=>$u(e,t,n,r),deleteTag:t=>ed(e,t),stashSave:t=>td(e,t),stashApply:(t,n)=>nd(e,t,n),stashDrop:t=>rd(e,t),merge:(t,n)=>id(e,t,n),reset:(t,n,r)=>{if(r===`mixed`)throw Error(`Mixed reset is not available in the browser version`);return ad(e,t,n,r===`hard`)},fetchAll:()=>sd(e,t()),pull:(n,r)=>cd(e,t(),r),push:n=>ld(e,t(),n)}}function dd(e){let t=e.findIndex(e=>e===void 0);return t>=0?t:(e.push(void 0),e.length-1)}function fd(e,t){let n=e.get(t);return n||(n={},e.set(t,n)),n}function pd(e){let t=[],n=[],r=0;for(let i of e){let e=new Map,a;t.forEach((n,r)=>{n&&(n.parent===i.id?(fd(e,r).ending=n,a===void 0?a=r:t[r]=void 0):fd(e,r).pass=n)}),a===void 0&&(a=dd(t));let[o,...s]=i.parents;t[a]=o?{parent:o,kind:i.kind}:void 0,t[a]&&(fd(e,a).starting=t[a]);for(let n of s){let r={parent:n,kind:i.kind},a=t.findIndex(e=>e?.parent===n);a<0&&(a=dd(t),t[a]=r),fd(e,a).starting=r}for(;t.length>0&&t[t.length-1]===void 0;)t.pop();r=Math.max(r,a,...e.keys()),n.push({column:a,edges:e})}return{rows:n,maxCol:r}}var md=Symbol.for(`pv`),hd=0;Array.isArray;function Q(e,t,n,r,i,a){t||={};var o,s,c=t;if(`ref`in c&&typeof e!=`function`)for(s in c={},t)s==`ref`?o=t[s]:c[s]=t[s];var l={type:e,props:c,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:md,__v:--hd,__i:-1,__u:0};return(i||a)&&(l.__source=i,l.__self=a),g.vnode&&g.vnode(l),l}function $({name:e}){return Q(`i`,{class:`codicon codicon-${e}`,"aria-hidden":`true`})}function gd(e){return`var(--lane-${e%10})`}function _d(e){let t=e.split(/\s+/).filter(Boolean);return((t[0]?.[0]??`?`)+(t.length>1?t[t.length-1][0]:``)).toUpperCase()}function vd(e){return e.slice(0,7)}function yd(e){return new Date(e*1e3).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`})}function bd(e){let t=Math.max(0,Math.floor(Date.now()/1e3)-e);for(let[e,n]of[[31536e3,`year`],[2592e3,`month`],[604800,`week`],[86400,`day`],[3600,`hour`]])if(t>=e){let r=Math.floor(t/e);return`${r} ${n}${r===1?``:`s`} ago`}return`less than an hour ago`}var xd=new Map;async function Sd(e){let t=e.trim().toLowerCase(),n=xd.get(t);if(n)return n;let r=new TextEncoder().encode(t),i=await crypto.subtle.digest(`SHA-256`,r),a=[...new Uint8Array(i)].map(e=>e.toString(16).padStart(2,`0`)).join(``);return xd.set(t,a),a}function Cd({name:e,email:t,color:n,size:r=20}){let[i,a]=U(),[o,s]=U(!1);return Le(()=>{let e=!0;if(s(!1),!t||!crypto.subtle)a(void 0);else return Sd(t).then(t=>e&&a(`https://www.gravatar.com/avatar/${t}?s=64&d=404`)),()=>{e=!1}},[t]),Q(`span`,{class:`avatar`,style:{background:n,width:`${r}px`,height:`${r}px`,fontSize:`${r*.45}px`},title:e,children:i&&!o?Q(`img`,{src:i,alt:``,onError:()=>s(!0)}):_d(e)})}function wd(e){return e===`A`?`var(--git-added)`:e===`?`?`var(--git-untracked)`:e===`D`?`var(--git-deleted)`:`var(--git-modified)`}function Td({f:e}){return e.added===void 0&&e.deleted===void 0?null:Q(`span`,{class:`stats`,children:[e.added?Q(`span`,{class:`plus`,children:[`+`,e.added]}):null,e.deleted?Q(`span`,{class:`minus`,children:[`−`,e.deleted]}):null]})}function Ed({f:e,label:t,depth:n,selected:r,onClick:i,actions:a,onMenu:o}){let s=e.path.lastIndexOf(`/`),c=n>0||s<0?``:e.path.slice(0,s+1);return Q(`div`,{class:`file ${r?`selected`:``}`,style:{paddingLeft:`${10+n*14}px`},onClick:i,title:e.path,onContextMenu:e=>{e.preventDefault(),o(e)},children:[Q(`span`,{class:`n`,style:{color:e.conflict?`var(--git-conflict)`:wd(e.kind)},children:t}),c?Q(`span`,{class:`d`,children:c}):Q(`span`,{class:`spacer`}),a&&Q(`span`,{class:`acts`,children:a}),Q(Td,{f:e}),Q(`span`,{class:`k`,style:{color:e.conflict?`var(--git-conflict)`:wd(e.kind)},title:e.conflict?`Conflicted`:e.kind===`?`?`Untracked`:e.kind===`A`?`Added`:e.kind===`D`?`Deleted`:`Modified`,children:e.conflict?`!`:e.kind===`?`?`U`:e.kind})]})}function Dd(e){let t={name:``,path:``,children:new Map};for(let n of e){let e=n.path.split(`/`),r=t;e.forEach((t,n)=>{let i=e.slice(0,n+1).join(`/`),a=r.children.get(t);a||(a={name:t,path:i,children:new Map},r.children.set(t,a)),r=a}),r.file=n}let n=e=>{for(let[t,r]of e.children)e.children.set(t,n(r));if(!e.file&&e.children.size===1&&e.path){let t=[...e.children.values()][0];if(!t.file)return{...t,name:`${e.name}/${t.name}`}}return e};return n(t)}function Od(e){let[t,n]=U(new Set),r=Be(()=>e.tree?Dd(e.files):void 0,[e.files,e.tree]);if(!e.tree)return Q(ae,{children:e.files.map(t=>Q(Ed,{f:t,label:t.path.slice(t.path.lastIndexOf(`/`)+1),depth:0,selected:e.isSelected(t),onClick:()=>e.onPick(t),actions:e.actions?.(t),onMenu:n=>e.onMenu(n,t)},t.path))});let i=(r,a)=>{let o=[],s=[...r.children.values()].filter(e=>!e.file).sort((e,t)=>e.name.localeCompare(t.name)),c=[...r.children.values()].filter(e=>e.file).sort((e,t)=>e.name.localeCompare(t.name));for(let e of s){let r=t.has(e.path);o.push(Q(`div`,{class:`file dir`,style:{paddingLeft:`${10+a*14}px`},onClick:()=>n(t=>{let n=new Set(t);return n.has(e.path)?n.delete(e.path):n.add(e.path),n}),children:[Q($,{name:r?`chevron-right`:`chevron-down`}),Q(`span`,{class:`n`,children:e.name})]},e.path)),r||o.push(...i(e,a+1))}for(let t of c)o.push(Q(Ed,{f:t.file,label:t.name,depth:a,selected:e.isSelected(t.file),onClick:()=>e.onPick(t.file),actions:e.actions?.(t.file),onMenu:n=>e.onMenu(n,t.file)},t.path));return o};return Q(ae,{children:i(r,0)})}function kd(e){let t=Q(`button`,{class:`icon`,title:e.tree?`Show as a flat list`:`Show as a tree`,onClick:()=>e.onTree(!e.tree),children:Q($,{name:e.tree?`list-flat`:`list-tree`})});if(e.commit){let n=e.commit;return Q(`div`,{class:`right`,children:[Q(`div`,{class:`detail-head`,children:[Q(`h2`,{children:n.summary}),Q(`div`,{class:`who`,children:[Q(Cd,{name:n.author,email:n.email,color:e.commitColor,size:26}),Q(`div`,{children:[Q(`div`,{title:n.email,children:n.author}),Q(`div`,{class:`when`,children:[yd(n.time),` · `,bd(n.time)]})]})]}),Q(`div`,{class:`hashes`,children:[Q(`button`,{title:`Copy full hash`,onClick:()=>e.onCopy(n.id),children:vd(n.id)}),n.parents.map(t=>Q(`button`,{class:`ghost`,onClick:()=>e.onJump(t),children:[`parent `,vd(t)]},t))]}),n.body&&Q(`div`,{class:`body`,children:n.body})]}),Q(`div`,{class:`hr`}),Q(`div`,{class:`fhead`,children:[e.isStash?`Stash`:`Changes`,Q(`span`,{class:`count`,children:e.commitFiles.length}),Q(`span`,{class:`spacer`}),t]}),Q(`div`,{class:`files`,children:Q(Od,{files:e.commitFiles,tree:e.tree,isSelected:t=>e.selectedFile?.area.kind===`commit`&&e.selectedFile.area.oid===n.id&&e.selectedFile.path===t.path,onPick:t=>e.onSelectFile({area:{kind:`commit`,oid:n.id},path:t.path}),onMenu:(t,r)=>e.onFileMenu(t,r,{kind:`commit`,oid:n.id})})})]})}let n=e.data.status,r=(n.staged.length>0||e.amend)&&e.summary.trim().length>0,i=e.amend?`Amend last commit`:n.staged.length===0?`Stage something first`:e.summary.trim().length===0?`Add a summary first`:`Commit ${n.staged.length} file${n.staged.length===1?``:`s`}`,a=(t,n)=>e.selectedFile?.area.kind===t&&e.selectedFile.path===n,o=n.state,s=n.unstaged.filter(e=>e.conflict).length;return Q(`div`,{class:`right`,children:[o&&Q(`div`,{class:`banner`,children:[Q(`span`,{children:[o===`merge`?`Merge`:o===`rebase`?`Rebase`:o===`cherry-pick`?`Cherry-pick`:`Revert`,` in progress`,s>0?`, ${s} conflicted file${s===1?``:`s`} to resolve and stage`:``]}),e.onContinue&&Q(`button`,{disabled:s>0,onClick:e.onContinue,children:`Continue`}),e.onAbort&&Q(`button`,{class:`danger`,onClick:e.onAbort,children:`Abort`})]}),Q(`div`,{class:`commit-box`,children:[!e.data.headBranch&&e.data.headOid&&Q(`div`,{class:`warn`,children:`Not on a branch (detached HEAD)`}),Q(`div`,{class:`label`,children:`Message`}),Q(`input`,{placeholder:`Summary`,value:e.summary,onInput:t=>e.onSummary(t.target.value)}),Q(`textarea`,{placeholder:`Description`,value:e.description,onInput:t=>e.onDescription(t.target.value)}),e.summary.length>72&&Q(`div`,{class:`warn`,children:`Keep the summary under 72 characters so other tools show it in full.`}),Q(`div`,{class:`actions`,children:[Q(`label`,{children:[Q(`input`,{type:`checkbox`,checked:e.amend,onChange:t=>e.onAmend(t.target.checked),style:{width:`auto`}}),` Amend`]}),Q(`span`,{class:`right`}),Q(`button`,{class:`primary`,disabled:!r,onClick:e.onCommit,title:`⌘⏎`,children:[Q($,{name:`check`}),i]})]})]}),Q(`div`,{class:`files staging`,children:[Q(`div`,{class:`fhead`,children:[`Staged`,Q(`span`,{class:`count`,children:n.staged.length}),Q(`span`,{class:`spacer`}),n.staged.length>0&&Q(`button`,{class:`icon`,title:`Unstage everything`,onClick:e.onUnstageAll,children:Q($,{name:`remove`})})]}),Q(Od,{files:n.staged,tree:e.tree,isSelected:e=>a(`staged`,e.path),onPick:t=>e.onSelectFile({area:{kind:`staged`},path:t.path}),onMenu:(t,n)=>e.onFileMenu(t,n,{kind:`staged`}),actions:t=>Q(`button`,{title:`Unstage`,onClick:n=>(n.stopPropagation(),e.onUnstage([t.path])),children:Q($,{name:`remove`})})}),Q(`div`,{class:`gap`}),Q(`div`,{class:`fhead`,children:[`Changes`,Q(`span`,{class:`count`,children:n.unstaged.length}),Q(`span`,{class:`spacer`}),t,n.unstaged.length>0&&Q(`button`,{class:`icon`,title:`Stage everything`,onClick:e.onStageAll,children:Q($,{name:`add`})})]}),Q(Od,{files:n.unstaged,tree:e.tree,isSelected:e=>a(`unstaged`,e.path),onPick:t=>e.onSelectFile({area:{kind:`unstaged`},path:t.path}),onMenu:(t,n)=>e.onFileMenu(t,n,{kind:`unstaged`}),actions:t=>Q(ae,{children:[Q(`button`,{title:`Discard changes`,onClick:n=>(n.stopPropagation(),e.onDiscard([t])),children:Q($,{name:`discard`})}),Q(`button`,{title:`Stage`,onClick:n=>(n.stopPropagation(),e.onStage([t])),children:Q($,{name:`add`})})]})})]})]})}var Ad=(e,t)=>t===0?[e,e]:[e-1,t];function jd(e,t,n,r,i){let[a,o]=Ad(n.originalStartLineNumber,n.originalEndLineNumber),[s,c]=Ad(n.modifiedStartLineNumber,n.modifiedEndLineNumber);return(r===`a`?[...e.slice(0,a),...t.slice(s,c),...e.slice(o)]:[...t.slice(0,s),...e.slice(a,o),...t.slice(c)]).join(i)}var Md=``,Nd=(e,t)=>e.startsWith(Md)&&!t.startsWith(Md)?Md+t:t,Pd=e=>/\r(?!\n)/.test(e)||/\r\n/.test(e)&&/(?<!\r)\n/.test(e),Fd=`modulepreload`,Id=function(e){return`/`+e},Ld={},Rd=function(e){return e.pathname.endsWith(`.css`)},zd=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},Bd=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=Id(t,n);let r=s(t),i=Rd(r);return zd(Ld,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:Fd,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Vd=e=>e?`ramulus-dark`:`ramulus-light`;function Hd(e){let t=ze(null),[n,r]=U([]),i=ze(void 0),a=ze({version:0,applying:!1}),o=ze(e);o.current=e,Re(()=>{let e=t.current;if(!e)return;let n=!1,s=()=>{};return Bd(async()=>{let{monaco:e,languageFor:t}=await import(`./monaco-B8SpYXrn.js`);return{monaco:e,languageFor:t}},__vite__mapDeps([0,1])).then(({monaco:t,languageFor:c})=>{if(n)return;let l=o.current,u=c(l.filename),d=t.editor.createModel(l.oldText,u),f=t.editor.createModel(l.newText,u),p=t.editor.createDiffEditor(e,{theme:Vd(l.dark),automaticLayout:!0,renderSideBySide:l.mode===`split`,useInlineViewWhenSpaceIsLimited:!1,originalEditable:!1,readOnly:!l.editable,ignoreTrimWhitespace:!1,renderMarginRevertIcon:!1,renderGutterMenu:!1,diffWordWrap:l.wrap?`on`:`off`,hideUnchangedRegions:{enabled:l.collapse},minimap:{enabled:!1},scrollBeyondLastLine:!1,fixedOverflowWidgets:!0});p.setModel({original:d,modified:f});let m=p.getModifiedEditor();a.current.version=f.getAlternativeVersionId();let h=()=>{let n=m.getOption(t.editor.EditorOption.lineHeight),i=(m.getDomNode()?.getBoundingClientRect().top??0)-e.getBoundingClientRect().top-m.getScrollTop(),a=f.getLineCount(),s=o.current.mode===`inline`;r((p.getLineChanges()??[]).map(e=>{let t=e.originalEndLineNumber===0?0:e.originalEndLineNumber-e.originalStartLineNumber+1,r=e.modifiedStartLineNumber+1,o=e.modifiedEndLineNumber===0?(r>a?m.getTopForLineNumber(a)+n:m.getTopForLineNumber(r))-t*n:m.getTopForLineNumber(e.modifiedStartLineNumber)-(s?t*n:0);return{top:i+o,change:e}}))},g=[f.onDidChangeContent(()=>a.current.applying||o.current.onDirty(f.getAlternativeVersionId()!==a.current.version)),p.onDidUpdateDiff(h),m.onDidScrollChange(h),m.onDidLayoutChange(h),m.addAction({id:`ramulus.save`,label:`Save`,keybindings:[t.KeyMod.CtrlCmd|t.KeyCode.KeyS],run:()=>o.current.onSave()})];i.current={diff:p,setTheme:t.editor.setTheme},o.current.handle?.({next:()=>p.goToDiff(`next`),prev:()=>p.goToDiff(`previous`),text:()=>f.getValue(void 0,!0)}),s=()=>{g.forEach(e=>e.dispose()),p.dispose(),d.dispose(),f.dispose()}}),()=>{n=!0,s(),i.current=void 0,r([])}},[e.filename,e.editable]),Le(()=>{let t=i.current?.diff.getModel();if(!t)return;let n=t.original.getValue(void 0,!0)!==e.oldText,o=t.modified.getValue(void 0,!0)!==e.newText;o&&t.modified.getAlternativeVersionId()!==a.current.version||((n||o)&&r([]),n&&t.original.setValue(e.oldText),a.current.applying=!0,o&&t.modified.setValue(e.newText),a.current.applying=!1,a.current.version=t.modified.getAlternativeVersionId(),e.onDirty(!1))},[e.oldText,e.newText]),Le(()=>{let t=i.current;t&&(t.diff.updateOptions({renderSideBySide:e.mode===`split`,diffWordWrap:e.wrap?`on`:`off`,hideUnchangedRegions:{enabled:e.collapse}}),t.setTheme(Vd(e.dark)))},[e.mode,e.wrap,e.collapse,e.dark]);let s=(e,t)=>{let n=i.current?.diff.getModel();if(!n)return;let r=e.into===`a`?n.original:n.modified,a=r.getValue(void 0,!0);e.run(Nd(a,jd(n.original.getLinesContent(),n.modified.getLinesContent(),t,e.into,r.getEOL())),a)};return Q(`div`,{class:`diff-editor ${e.mode}`,children:[Q(`div`,{class:`mo-host`,ref:t}),e.actions.length>0&&n.map((t,n)=>Q(`div`,{class:`chunk-ctl`,style:{top:`${t.top}px`},children:e.actions.map(n=>Q(`button`,{class:`icon`,disabled:e.dirty,title:e.dirty?`Save or revert your edits first`:n.label,onClick:()=>s(n,t.change),children:Q($,{name:n.icon})},n.label))},n))]})}var Ud=`ramulus.diffwin`,Wd=420,Gd=240,Kd=[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`],qd=e=>`${e.area.kind}:${e.area.kind===`commit`?e.area.oid:``}:${e.path}`;function Jd(e){let t=Math.min(Math.max(e.w,Wd),innerWidth-16);return{w:t,h:Math.min(Math.max(e.h,Gd),innerHeight-16),x:Math.min(Math.max(e.x,120-t),innerWidth-120),y:Math.min(Math.max(e.y,0),innerHeight-40)}}function Yd(){try{let e=JSON.parse(localStorage.getItem(Ud)??`null`);if(e&&[e.x,e.y,e.w,e.h].every(Number.isFinite))return Jd(e)}catch{localStorage.removeItem(Ud)}return Jd({x:60,y:90,w:innerWidth-560,h:innerHeight-140})}function Xd(e){return e.area.kind===`unstaged`?`Working Tree`:e.area.kind===`staged`?`Index`:vd(e.area.oid)}function Zd(e){let[t,n]=U(),{sel:r,dirty:i}=e.tab,a=r.area.kind===`commit`&&!!t;Le(()=>{if(i||!e.active||a)return;let t=!0;return e.be.fileVersions(r.area,r.path).then(e=>t&&n(e)).catch(()=>t&&n({old:``,new:``,binary:!0})),()=>{t=!1}},[e.be,e.stamp,i,e.active]);let o=ze(void 0),s=ze({p:e,versions:t});s.current={p:e,versions:t},Le(()=>()=>s.current.p.onGone(),[]);let c=!!t&&(Pd(t.old)||Pd(t.new)),l=()=>{let{p:e,versions:t}=s.current;if(!o.current||!t||r.area.kind!==`unstaged`||Pd(t.new))return;let i=o.current.text();e.onSave(i,t.new,()=>{n(e=>e&&{...e,new:i}),s.current.p.onDirty(o.current?.text()!==i)})};return Q(`div`,{class:`diff-pane`,hidden:!e.active,children:[c&&Q(`div`,{class:`pane-note`,children:`This file mixes line ending styles, so editing and block staging are off here. Stage or discard the whole file from the list.`}),t?t.binary?Q(`div`,{class:`placeholder`,children:`Binary or very large file`}):Q(Hd,{oldText:t.old,newText:t.new,filename:r.path,mode:e.options.mode,dark:e.dark,wrap:e.options.wrap,collapse:e.options.collapse,editable:r.area.kind===`unstaged`&&!c,dirty:i,actions:c?[]:e.actions,onDirty:e.onDirty,onSave:l,handle:t=>{o.current=t,e.handle({...t,save:l})}}):Q(`div`,{class:`placeholder`,children:`Loading…`})]})}function Qd(e){let[t,n]=U(Yd),[r,i]=U(!1),a=ze(new Map),o=ze(!1),s=ze(null),c=e.tabs.find(t=>t.key===e.active)??e.tabs[0],l=()=>a.current.get(c.key);Le(()=>{localStorage.setItem(Ud,JSON.stringify(t))},[t]),Le(()=>{s.current?.querySelector(`.tab.active`)?.scrollIntoView({block:`nearest`,inline:`nearest`})},[c.key]),Le(()=>{let e=()=>n(e=>Jd(e));return addEventListener(`resize`,e),()=>removeEventListener(`resize`,e)},[]);let u=(e,i)=>{if(o.current=!1,e.button!==0||r)return;let a=e.clientX,s=e.clientY,c=t,l=e=>{let t=e.clientX-a,r=e.clientY-s;!o.current&&Math.hypot(t,r)<4||(o.current=!0,document.body.classList.add(`dragging`),n(i(t,r,c)))},u=()=>{removeEventListener(`pointermove`,l),removeEventListener(`pointerup`,u),document.body.classList.remove(`dragging`),n(e=>Jd(e))};addEventListener(`pointermove`,l),addEventListener(`pointerup`,u)},d=e=>{e.target.closest(`button`)||u(e,(e,t,n)=>({...n,x:n.x+e,y:n.y+t}))},f=e=>t=>{t.preventDefault(),u(t,(t,n,r)=>{let i={...r};return e.includes(`e`)&&(i.w=Math.max(Wd,r.w+t)),e.includes(`s`)&&(i.h=Math.max(Gd,r.h+n)),e.includes(`w`)&&(i.w=Math.max(Wd,r.w-t),i.x=r.x+r.w-i.w),e.includes(`n`)&&(i.h=Math.max(Gd,r.h-n),i.y=r.y+r.h-i.h),i})},p=t=>e.onOptions({...e.options,[t]:!e.options[t]}),m=c.sel.path.split(`/`),h=r?void 0:{left:`${t.x}px`,top:`${t.y}px`,width:`${t.w}px`,height:`${t.h}px`};return Q(`div`,{class:`diff-window ${r?`max`:``}`,style:h,role:`dialog`,"aria-label":`Diff`,children:[Q(`div`,{class:`diff-tabs`,onPointerDown:d,onDblClick:e=>!e.target.closest(`button, .tab`)&&i(!r),children:[Q(`div`,{class:`tab-strip`,ref:s,children:e.tabs.map(t=>{let n=t.sel.path.slice(t.sel.path.lastIndexOf(`/`)+1);return Q(`div`,{class:`tab ${t.key===c.key?`active`:``} ${t.dirty?`dirty`:``}`,title:`${t.sel.path} (${Xd(t.sel)})`,role:`tab`,tabIndex:0,"aria-selected":t.key===c.key,onClick:()=>!o.current&&e.onActivate(t.key),onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),e.onActivate(t.key))},onMouseDown:n=>{n.button===1&&(n.preventDefault(),e.onCloseTab(t.key))},children:[Q($,{name:`diff`}),Q(`span`,{class:`name`,children:n}),Q(`span`,{class:`desc`,children:[`(`,Xd(t.sel),`)`]}),Q(`button`,{class:`icon close`,title:t.dirty?`Unsaved edits. Close`:`Close`,onClick:n=>{n.stopPropagation(),e.onCloseTab(t.key)},children:[Q(`span`,{class:`dot`,children:Q($,{name:`circle-filled`})}),Q(`span`,{class:`x`,children:Q($,{name:`close`})})]})]},t.key)})}),Q(`div`,{class:`actions`,children:[c.dirty&&Q(`button`,{class:`icon`,title:`Save (⌘S)`,onClick:()=>l()?.save(),children:Q($,{name:`save`})}),e.onOpen&&c.sel.area.kind!==`commit`&&Q(`button`,{class:`icon`,title:`Open File`,onClick:()=>e.onOpen(c.sel),children:Q($,{name:`go-to-file`})}),Q(`button`,{class:`icon`,title:`Previous Change`,onClick:()=>l()?.prev(),children:Q($,{name:`arrow-up`})}),Q(`button`,{class:`icon`,title:`Next Change`,onClick:()=>l()?.next(),children:Q($,{name:`arrow-down`})}),Q(`button`,{class:`icon ${e.options.collapse?`on`:``}`,title:`Collapse Unchanged Regions`,onClick:()=>p(`collapse`),children:Q($,{name:`fold`})}),Q(`button`,{class:`icon ${e.options.mode===`inline`?`on`:``}`,title:`Toggle Inline View`,onClick:()=>e.onOptions({...e.options,mode:e.options.mode===`split`?`inline`:`split`}),children:Q($,{name:`diff-single`})}),Q(`button`,{class:`icon ${e.options.wrap?`on`:``}`,title:`Toggle Word Wrap`,onClick:()=>p(`wrap`),children:Q($,{name:`word-wrap`})}),Q(`span`,{class:`sep`}),Q(`button`,{class:`icon`,title:r?`Restore`:`Maximize`,onClick:()=>i(!r),children:Q($,{name:r?`screen-normal`:`screen-full`})}),Q(`button`,{class:`icon`,title:`Close all`,onClick:e.onCloseAll,children:Q($,{name:`close`})})]})]}),Q(`div`,{class:`breadcrumbs`,children:m.map((e,t)=>Q(`span`,{class:`crumb`,children:[t>0&&Q($,{name:`chevron-right`}),t===m.length-1&&Q($,{name:`file`}),e]},t))}),e.tabs.map(t=>Q(Zd,{tab:t,be:e.be,stamp:e.stamp,active:t.key===c.key,options:e.options,dark:e.dark,actions:e.actionsFor(t.sel),onDirty:n=>e.onDirty(t.key,n),onSave:(n,r,i)=>e.onSave(t.sel,n,r,i),handle:e=>a.current.set(t.key,e),onGone:()=>a.current.delete(t.key)},t.key)),!r&&Kd.map(e=>Q(`div`,{class:`edge ${e}`,onPointerDown:f(e)},e))]})}function $d(e){return e.length>0&&!e.startsWith(`-`)&&!/[\s~^:?*[\\]|\.\.|@\{|\/$|\.$|^\/|\/\/|\.lock$/.test(e)&&e!==`@`}function ef({title:e,children:t,onClose:n}){return Q(`div`,{class:`overlay`,onMouseDown:e=>e.target===e.currentTarget&&n(),children:Q(`div`,{class:`dialog`,onKeyDown:e=>e.key===`Escape`&&n(),children:[Q(`h3`,{children:e}),t]})})}function tf({ok:e,danger:t,enabled:n,onOk:r,onClose:i}){return Q(`div`,{class:`buttons`,children:[Q(`button`,{onClick:i,children:`Cancel`}),Q(`button`,{class:t?`danger`:`primary`,disabled:!n,onClick:r,children:e})]})}function nf(e){let t=e.dialog,[n,r]=U(t.kind===`rename`?t.old:``),[i,a]=U(``),[o,s]=U(!0),[c,l]=U(e.settings),u=ze(null);Le(()=>u.current?.focus(),[]);let d=(t,n)=>r=>{r.key===`Enter`&&t&&!(r.target instanceof HTMLTextAreaElement)&&(r.preventDefault(),n(),e.onClose())};switch(t.kind){case`branch`:{let i=$d(n),a=()=>e.onCreateBranch(n,t.at,o);return Q(ef,{title:`Name the new branch`,onClose:e.onClose,children:[Q(`input`,{ref:u,placeholder:`branch name`,value:n,onInput:e=>r(e.target.value),onKeyDown:d(i,a)}),Q(`label`,{children:[Q(`input`,{type:`checkbox`,checked:o,onChange:e=>s(e.target.checked)}),` Switch to it right away`]}),n&&!i&&Q(`div`,{class:`error`,children:`That is not a valid branch name`}),Q(tf,{ok:`Create`,enabled:i,onOk:()=>(a(),e.onClose()),onClose:e.onClose})]})}case`tag`:{let o=$d(n),s=()=>e.onCreateTag(n,t.at,i);return Q(ef,{title:`Name the new tag`,onClose:e.onClose,children:[Q(`input`,{ref:u,placeholder:`tag name`,value:n,onInput:e=>r(e.target.value),onKeyDown:d(o,s)}),Q(`textarea`,{placeholder:`Message for an annotated tag (optional)`,value:i,onInput:e=>a(e.target.value)}),n&&!o&&Q(`div`,{class:`error`,children:`That is not a valid tag name`}),Q(tf,{ok:`Create`,enabled:o,onOk:()=>(s(),e.onClose()),onClose:e.onClose})]})}case`rename`:{let i=$d(n)&&n!==t.old,a=()=>e.onRename(t.old,n);return Q(ef,{title:`Rename '${t.old}' to`,onClose:e.onClose,children:[Q(`input`,{ref:u,placeholder:`new name`,value:n,onInput:e=>r(e.target.value),onKeyDown:d(i,a)}),Q(tf,{ok:`Rename`,enabled:i,onOk:()=>(a(),e.onClose()),onClose:e.onClose})]})}case`stash`:{let t=()=>e.onStash(i);return Q(ef,{title:`Stash everything`,onClose:e.onClose,children:[Q(`input`,{ref:u,placeholder:`Short note for this stash`,value:i,onInput:e=>a(e.target.value),onKeyDown:d(!0,t)}),Q(tf,{ok:`Stash`,enabled:!0,onOk:()=>(t(),e.onClose()),onClose:e.onClose})]})}case`reset`:return Q(ef,{title:`Reset the branch to ${t.at.slice(0,7)}`,onClose:e.onClose,children:[Q(`button`,{onClick:()=>(e.onReset(t.at,`soft`),e.onClose()),children:`Soft: keep everything staged and in the working tree`}),e.native&&Q(`button`,{onClick:()=>(e.onReset(t.at,`mixed`),e.onClose()),children:`Mixed: keep the working tree, clear the index`}),Q(`button`,{class:`danger`,onClick:()=>(e.onReset(t.at,`hard`),e.onClose()),children:`Hard: drop the index and the working tree`}),Q(`div`,{class:`buttons`,children:Q(`button`,{onClick:e.onClose,children:`Cancel`})})]});case`confirm`:return Q(ef,{title:`Please confirm`,onClose:e.onClose,children:[Q(`div`,{children:t.message}),Q(tf,{ok:`Yes`,danger:!0,enabled:!0,onOk:()=>(t.action(),e.onClose()),onClose:e.onClose})]});case`error`:return Q(ef,{title:t.title,onClose:e.onClose,children:[Q(`pre`,{children:t.message}),Q(`div`,{class:`buttons`,children:Q(`button`,{class:`primary`,onClick:e.onClose,children:`OK`})})]});case`settings`:return Q(ef,{title:`Settings`,onClose:e.onClose,children:[Q(`div`,{class:`label`,children:`Your name and email for commits (used when the repository has no user.name)`}),Q(`input`,{ref:u,placeholder:`Name`,value:c.authorName,onInput:e=>l({...c,authorName:e.target.value})}),Q(`input`,{placeholder:`Email`,value:c.authorEmail,onInput:e=>l({...c,authorEmail:e.target.value})}),Q(`div`,{class:`label`,children:`CORS proxy, required for fetch, pull and push (git hosts block direct browser requests)`}),Q(`input`,{placeholder:`https://your-proxy.example.com`,value:c.corsProxy,onInput:e=>l({...c,corsProxy:e.target.value})}),Q(`div`,{class:`label`,children:`Username (optional, defaults to a token login)`}),Q(`input`,{value:c.username,onInput:e=>l({...c,username:e.target.value})}),Q(`div`,{class:`label`,children:`Personal access token (kept only until this tab closes)`}),Q(`input`,{type:`password`,value:c.token,onInput:e=>l({...c,token:e.target.value})}),Q(tf,{ok:`Save`,enabled:!0,onOk:()=>(e.onSettings(c),e.onClose()),onClose:e.onClose})]})}}var rf=24,af=11,of=5.5;function sf(e){return 25+e*rf+rf/2}function cf(e,t){let n=new Map,r=(e,t)=>{let r=n.get(e);return r||(r={key:e,name:t,current:!1},n.set(e,r)),r};for(let n of e)if(n.kind===`head`){let e=r(`b:${n.name}`,n.name);e.local=n,e.current=!!n.current;let i=t.find(e=>e.name===n.name);i?.upstream&&(e.ahead=i.ahead,e.behind=i.behind)}else if(n.kind===`remote`){let i=n.name.slice(n.name.indexOf(`/`)+1),a=e.some(e=>e.kind===`head`&&e.name===i&&t.find(e=>e.name===i)?.upstream===n.name)?r(`b:${i}`,i):r(`r:${n.name}`,n.name);a.remote=n}else{let e=r(`t:${n.name}`,n.name);e.tag=n}return[...n.values()].sort((e,t)=>lf(e)-lf(t))}function lf(e){return e.current?0:e.local?1:e.remote?2:3}function uf({lay:e,kind:t,author:n,email:r,drawEdges:i}){let a=25+(Math.max(...e.edges.keys(),e.column)+1)*rf+6,o=sf(e.column),s=gd(e.column),c=[];if(i)for(let[t,n]of e.edges){let r=sf(t),i=gd(t),a=e=>e===`wip`?`4 3`:void 0;n.pass&&c.push(Q(`line`,{x1:r,y1:0,x2:r,y2:30,stroke:i,"stroke-width":2,"stroke-dasharray":a(n.pass.kind)})),n.ending&&(t===e.column?c.push(Q(`line`,{x1:r,y1:0,x2:r,y2:15,stroke:i,"stroke-width":2,"stroke-dasharray":a(n.ending.kind)})):c.push(Q(`path`,{d:`M${r} 0 C${r} 15 ${r} 15 ${o} 15`,fill:`none`,stroke:i,"stroke-width":2}))),n.starting&&(t===e.column?c.push(Q(`line`,{x1:r,y1:15,x2:r,y2:30,stroke:i,"stroke-width":2})):c.push(Q(`path`,{d:`M${o} 15 C${r} 15 ${r} 15 ${r} 30`,fill:`none`,stroke:i,"stroke-width":2})))}else c.push(Q(`line`,{x1:o,y1:0,x2:o,y2:30,stroke:s,"stroke-width":2,opacity:.3}));let l;return l=t===`merge`?Q(`circle`,{cx:o,cy:15,r:of,fill:s}):t===`stash`?Q(`g`,{children:[Q(`rect`,{x:o-8,y:7,width:16,height:16,rx:3,fill:`var(--app-bg)`,stroke:s,"stroke-width":2}),Q(`text`,{x:o,y:19,"text-anchor":`middle`,"font-size":12,fill:s,children:`≡`})]}):t===`wip`?Q(`g`,{children:[Q(`circle`,{cx:o,cy:15,r:af,fill:`var(--app-bg)`,stroke:s,"stroke-width":2,"stroke-dasharray":`3 2.5`}),Q(`circle`,{cx:o,cy:15,r:4,fill:s})]}):Q(`circle`,{cx:o,cy:15,r:af,fill:`var(--app-bg)`,stroke:s,"stroke-width":2}),Q(`div`,{class:`lanes`,style:{position:`relative`},children:[Q(`svg`,{width:a,height:30,children:[c,l]}),t===`commit`&&Q(`span`,{style:{position:`absolute`,left:`${o-9}px`,top:`6px`},children:Q(Cd,{name:n,email:r,color:s,size:18})})]})}function df({pill:e,color:t,onDoubleClick:n,onPointerDown:r}){let i=e.current?`color-mix(in srgb, ${t} 45%, transparent)`:`color-mix(in srgb, ${t} 25%, transparent)`,a=[];e.local&&a.push(e.current?`Checked out`:`Local branch. Double-click to switch, drag onto a commit to merge or rebase.`),e.remote&&a.push(`Remote: ${e.remote.name}`),e.tag&&a.push(`Tag`),(e.ahead||e.behind)&&a.push(`${e.ahead??0} ahead, ${e.behind??0} behind its upstream`);let o=!!(e.local||e.remote);return Q(`span`,{class:`pill ${e.current?`current`:``}`,style:{background:i,color:t,outline:e.current?`1px solid ${t}`:void 0},title:`${e.name}\n${a.join(`
94
+ `)}`,onDblClick:n,"data-draggable":o?`1`:void 0,onPointerDown:e=>o&&e.button===0&&r?.(e),children:[e.current&&Q($,{name:`target`}),e.local&&!e.current&&Q($,{name:`git-branch`}),e.remote&&Q($,{name:`cloud`}),e.tag&&Q($,{name:`tag`}),e.name,!!(e.ahead||e.behind)&&Q(`span`,{class:`track`,children:[e.ahead?Q(ae,{children:[Q($,{name:`arrow-small-up`}),e.ahead]}):null,e.behind?Q(ae,{children:[Q($,{name:`arrow-small-down`}),e.behind]}):null]})]})}function ff(e){let t=ze(null),[n,r]=U(0),[i,a]=U(600),[o,s]=U(),c=ze(void 0),l=(t,n)=>{let r=n.clientX,i=n.clientY,a=!1,o,l=n=>{if(!a&&Math.hypot(n.clientX-r,n.clientY-i)<5)return;a||(a=!0,c.current=t,document.body.style.cursor=`grabbing`);let l=document.elementFromPoint(n.clientX,n.clientY)?.closest(`.row[data-idx]`),u=l?Number(l.dataset.idx):void 0,d=u===void 0?void 0:e.rows[u];o=d&&d.kind!==`wip`?u:void 0,s(o)},u=n=>{window.removeEventListener(`pointermove`,l),window.removeEventListener(`pointerup`,u),document.body.style.cursor=``,s(void 0),a&&o!==void 0&&e.onDrop({source:t,rowIndex:o,x:n.clientX,y:n.clientY}),c.current=void 0};window.addEventListener(`pointermove`,l),window.addEventListener(`pointerup`,u)};Le(()=>{let e=t.current;if(!e)return;let n=new ResizeObserver(()=>a(e.clientHeight));return n.observe(e),a(e.clientHeight),()=>n.disconnect()},[]),Le(()=>{if(e.scrollTo===void 0||!t.current)return;let n=e.order.indexOf(e.scrollTo);n>=0&&(t.current.scrollTop=Math.max(0,n*30-i/2+15)),e.onScrolled()},[e.scrollTo]);let u=e.order.length+(e.hasMore&&e.showEdges?1:0),d=Math.max(0,Math.floor(n/30)-5),f=Math.min(u,Math.ceil((n+i)/30)+5),p=`minmax(150px, 22%) ${Math.min(420,Math.max(56,25+(e.maxCol+1)*rf+6))}px 1fr 40px 120px 72px`,m=[];for(let t=d;t<f;t++){let n=t*30;if(t>=e.order.length){m.push(Q(`div`,{class:`more`,style:{top:`${n}px`},children:[`Showing `,e.rows.length,` commits.`,Q(`a`,{onClick:e.onLoadMore,children:`Load more`})]},`more`));continue}let r=e.order[t],i=e.rows[r],a=e.layoutOf(r),s=gd(a.column),u=i.kind===`wip`?[]:cf(e.refsByOid.get(i.id)??[],e.branches);m.push(Q(`div`,{class:`row ${r===e.selectedIndex?`selected`:``} ${o===r?`drop`:``}`,style:{top:`${n}px`,"--cols":p},"data-idx":r,onClick:()=>!c.current&&e.onSelect(r),onContextMenu:t=>{t.preventDefault(),e.onContextMenu(t,r)},title:i.body?`${i.summary}\n\n${i.body}`:void 0,children:[Q(`div`,{class:`refs`,children:u.map(t=>Q(df,{pill:t,color:s,onDoubleClick:()=>e.onPillDoubleClick(t),onPointerDown:e=>l(t,e)},t.key))}),Q(uf,{lay:a,kind:i.kind,author:i.author,email:i.email,drawEdges:e.showEdges}),Q(`div`,{class:`msg ${i.kind}`,children:i.kind===`wip`?`Uncommitted changes · ${e.wipCount} file${e.wipCount===1?``:`s`}`:i.summary}),Q(`div`,{class:`author`,children:i.kind!==`wip`&&Q(Cd,{name:i.author,email:i.email,color:s,size:24})}),Q(`div`,{class:`date`,title:i.kind===`wip`?void 0:yd(i.time),children:i.kind!==`wip`&&bd(i.time)}),Q(`div`,{class:`sha`,children:i.kind!==`wip`&&vd(i.id)})]},i.id))}return Q(`div`,{class:`graph`,children:[Q(`div`,{class:`graph-header`,style:{"--cols":p},children:[Q(`div`,{children:`REFS`}),Q(`div`,{children:`GRAPH`}),Q(`div`,{children:[`MESSAGE`,e.soloCount>0&&Q(`span`,{class:`chip`,onClick:e.onClearSolo,title:`Show every branch again`,children:[`Soloing `,e.soloCount,` branch`,e.soloCount===1?``:`es`,` · show all`]})]}),Q(`div`,{}),Q(`div`,{children:`WHEN`}),Q(`div`,{children:`SHA`})]}),Q(`div`,{class:`rows`,ref:t,onScroll:e=>r(e.currentTarget.scrollTop),children:[Q(`div`,{style:{height:`${u*30}px`,position:`relative`},children:m}),e.rows.length===0&&Q(`div`,{class:`placeholder`,children:`No commits yet`})]})]})}function pf({title:e,count:t,open:n,onToggle:r}){return Q(`div`,{class:`section`,onClick:r,children:[Q($,{name:n?`chevron-down`:`chevron-right`}),e,Q(`span`,{class:`count`,children:t})]})}function mf(e){let[t,n]=U({local:!0,remote:!0,tags:!0,stashes:!0}),[r,i]=U(``),a=e=>n({...t,[e]:!t[e]}),o=r.trim().toLowerCase(),s=e=>!o||e.toLowerCase().includes(o),c=t=>{let n=e.columnOf(t);return Q(`span`,{class:`dot`,style:{background:n===void 0?`var(--text-3)`:gd(n)}})},l=t=>Q(`button`,{class:`solo ${e.solo.has(t)?`on`:``}`,title:e.solo.has(t)?`Stop soloing`:`Solo: show only this branch in the graph`,onClick:n=>{n.stopPropagation(),e.onToggleSolo(t)},children:Q($,{name:`eye`})}),u=new Map;for(let t of e.data.remote){if(!s(t.name))continue;let e=t.name.split(`/`)[0];u.set(e,[...u.get(e)??[],t])}let d=e.data.local.filter(e=>s(e.name)),f=e.data.tags.filter(e=>s(e.name)),p=e.data.stashes.filter(e=>s(e.message));return Q(`div`,{class:`left`,children:[Q(`div`,{class:`left-filter`,children:Q(`input`,{placeholder:`Filter branches and tags`,value:r,onInput:e=>i(e.target.value)})}),Q(pf,{title:`LOCAL`,count:d.length,open:t.local,onToggle:()=>a(`local`)}),t.local&&d.map(t=>Q(`div`,{class:`item ${t.isHead?`strong`:``} ${e.selectedOid===t.oid?`selected`:``} ${e.solo.has(t.name)?`soloed`:``}`,onClick:()=>e.onJump(t.oid),onDblClick:()=>!t.isHead&&e.onCheckout(t.name),onContextMenu:n=>{n.preventDefault(),e.onBranchMenu(n,t.name,t.oid,t.isHead)},title:t.upstream?`Upstream: ${t.upstream}${t.gone?` (gone)`:``}`:`No upstream`,children:[c(t.oid),Q(`span`,{class:`name`,children:t.name}),l(t.name),!!(t.ahead||t.behind)&&Q(`span`,{class:`meta`,children:[t.ahead?Q(ae,{children:[Q($,{name:`arrow-small-up`}),t.ahead]}):null,t.behind?Q(ae,{children:[Q($,{name:`arrow-small-down`}),t.behind]}):null]}),t.gone&&Q(`span`,{class:`meta`,children:`gone`}),t.isHead&&Q(`span`,{class:`meta`,style:{color:`var(--green)`},children:Q($,{name:`check`})})]},t.name)),t.local&&d.length===0&&Q(`div`,{class:`empty`,children:o?`No matching branches`:`No branches yet`}),Q(pf,{title:`REMOTE`,count:e.data.remote.length,open:t.remote,onToggle:()=>a(`remote`)}),t.remote&&[...u].map(([t,n])=>Q(`div`,{children:[Q(`div`,{class:`remote-name`,children:t}),n.map(n=>Q(`div`,{class:`item indent ${e.selectedOid===n.oid?`selected`:``} ${e.solo.has(n.name)?`soloed`:``}`,onClick:()=>e.onJump(n.oid),onDblClick:()=>e.onCheckoutRemote(n.name),onContextMenu:t=>{t.preventDefault(),e.onRemoteMenu(t,n.name)},children:[c(n.oid),Q(`span`,{class:`name`,children:n.name.slice(t.length+1)}),l(n.name)]},n.name))]},t)),t.remote&&e.data.remote.length===0&&Q(`div`,{class:`empty`,children:`Nothing from remotes yet. Fetch to load them.`}),Q(pf,{title:`TAGS`,count:f.length,open:t.tags,onToggle:()=>a(`tags`)}),t.tags&&f.map(t=>Q(`div`,{class:`item ${e.selectedOid===t.oid?`selected`:``}`,onClick:()=>e.onJump(t.oid),onContextMenu:n=>{n.preventDefault(),e.onTagMenu(n,t.name,t.oid)},children:[c(t.oid),Q(`span`,{class:`name`,children:t.name})]},t.name)),Q(pf,{title:`STASHES`,count:p.length,open:t.stashes,onToggle:()=>a(`stashes`)}),t.stashes&&p.map(t=>Q(`div`,{class:`item ${e.selectedOid===t.oid?`selected`:``}`,title:t.message,onClick:()=>e.onJump(t.oid),onContextMenu:n=>{n.preventDefault(),e.onStashMenu(n,t.index,t.message)},children:[c(t.oid),Q(`span`,{class:`name`,children:t.message})]},t.oid))]})}function hf({menu:e,onClose:t}){let n=ze(null);return Le(()=>{let e=n.current;if(!e)return;let r=e.getBoundingClientRect();r.right>innerWidth&&(e.style.left=`${Math.max(0,innerWidth-r.width-4)}px`),r.bottom>innerHeight&&(e.style.top=`${Math.max(0,innerHeight-r.height-4)}px`);let i=n=>{n instanceof KeyboardEvent&&n.key!==`Escape`||n instanceof MouseEvent&&e.contains(n.target)||t()};return window.addEventListener(`mousedown`,i),window.addEventListener(`keydown`,i),window.addEventListener(`blur`,t),()=>{window.removeEventListener(`mousedown`,i),window.removeEventListener(`keydown`,i),window.removeEventListener(`blur`,t)}},[e,t]),Q(`div`,{class:`menu`,ref:n,style:{left:`${e.x}px`,top:`${e.y}px`},children:e.items.map((e,n)=>e.sep?Q(`div`,{class:`sep`},n):Q(`button`,{class:e.danger?`danger`:``,onClick:()=>{t(),e.onClick?.()},children:e.label},n))})}function gf(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(!n)return 1;if(r.includes(n))return 100-r.indexOf(n);let i=0,a=0;for(let e of n){let t=r.indexOf(e,i);if(t<0)return 0;a+=t===i?3:1,i=t+1}return a}function _f({commands:e,onClose:t,placeholder:n=`Type a command, a branch, or a file`,extra:r}){let[i,a]=U(``),[o,s]=U(0),c=ze(null);Le(()=>c.current?.focus(),[]);let l=Be(()=>{let t=e.map(e=>({c:e,s:gf(i,`${e.group} ${e.label}`)})).filter(e=>e.s>0);return t.sort((e,t)=>t.s-e.s),[...r?.(i)??[],...t.slice(0,40).map(e=>e.c)]},[e,i,r]);Le(()=>s(0),[i]);let u=e=>{t(),e.run()};return Q(`div`,{class:`overlay top`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:Q(`div`,{class:`palette`,children:[Q(`input`,{ref:c,placeholder:n,value:i,onInput:e=>a(e.target.value),onKeyDown:e=>{e.key===`ArrowDown`?(e.preventDefault(),s(e=>Math.min(l.length-1,e+1))):e.key===`ArrowUp`?(e.preventDefault(),s(e=>Math.max(0,e-1))):e.key===`Enter`&&l[o]?(e.preventDefault(),u(l[o])):e.key===`Escape`&&(e.stopPropagation(),t())}}),Q(`div`,{class:`list`,children:[l.map((e,t)=>Q(`div`,{class:`cmd ${t===o?`active`:``}`,onMouseEnter:()=>s(t),onClick:()=>u(e),children:[Q(`span`,{class:`group`,children:e.group}),Q(`span`,{class:`label`,children:e.label}),e.hint&&Q(`span`,{class:`hint`,children:e.hint})]},e.id)),l.length===0&&Q(`div`,{class:`cmd empty`,children:`Nothing matches`})]})]})})}var vf=typeof navigator<`u`&&/Mac/.test(navigator.platform)?`⌘`:`Ctrl`,yf=[[`${vf} ⇧ P`,`Command palette`],[`${vf} F`,`Search commits`],[`${vf} B`,`New branch from HEAD`],[`${vf} L`,`Fetch every remote`],[`${vf} ⏎`,`Commit`],[`${vf} ⇧ S`,`Stage everything`],[`${vf} ⇧ U`,`Unstage everything`],[`${vf} S`,`Save edits in the diff`],[`↑ ↓ or K J`,`Move through commits`],[`${vf} J`,`Toggle the left panel`],[`${vf} K`,`Toggle the detail panel`],[`?`,`This list`],[`Esc`,`Close dialogs, clear the search`]];function bf({onClose:e}){return Q(`div`,{class:`overlay`,onMouseDown:t=>t.target===t.currentTarget&&e(),children:Q(`div`,{class:`dialog`,children:[Q(`h3`,{children:`Keyboard shortcuts`}),Q(`div`,{class:`keys`,children:yf.map(([e,t])=>Q(`div`,{class:`key-row`,children:[Q(`kbd`,{children:e}),Q(`span`,{children:t})]},e))}),Q(`div`,{class:`buttons`,children:Q(`button`,{class:`primary`,onClick:e,children:`Close`})})]})})}function xf({onDrag:e}){return Q(`div`,{class:`splitter`,onPointerDown:t=>{t.preventDefault();let n=t.clientX,r=t=>{e(t.clientX-n),n=t.clientX},i=()=>{window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,i),document.body.style.cursor=``};document.body.style.cursor=`col-resize`,window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,i)}})}var Sf=`0000000000000000000000000000000000000000`,Cf=`ramulus.net`,wf=e=>typeof localStorage>`u`?null:localStorage.getItem(e);function Tf(e,t,n){let r=[...t.commits];t.status.staged.length+t.status.unstaged.length>0&&r.unshift({id:Sf,parents:t.headOid?[t.headOid]:[],author:``,email:``,time:Math.floor(Date.now()/1e3),summary:``,body:``,kind:`wip`});let i=pd(r),a=new Map(r.map((e,t)=>[e.id,t]));return{be:e,data:t,rows:r,layout:i.rows,maxCol:i.maxCol,indexOf:a,limit:n}}function Ef(){let e={corsProxy:``,username:``,token:``,authorName:``,authorEmail:``};try{let t=JSON.parse(localStorage.getItem(Cf)??`{}`);return{...e,...t,token:sessionStorage.getItem(`ramulus.net.token`)??``}}catch{return e}}function Df(e){let{token:t,...n}=e;localStorage.setItem(Cf,JSON.stringify(n)),sessionStorage.setItem(`ramulus.net.token`,t)}var Of=(e,t,n)=>Math.min(n,Math.max(t,e));function kf(e){let t=e.theme,n=e.onTheme,[r,i]=U(),[a,o]=U(),[s,c]=U([]),[l,u]=U(),[d,f]=U([]),[p,m]=U(()=>({wrap:wf(`ramulus.wrap`)===`1`,mode:wf(`ramulus.diff`)===`inline`?`inline`:`split`,collapse:wf(`ramulus.collapse`)===`1`})),h=e=>{m(e),localStorage.setItem(`ramulus.wrap`,e.wrap?`1`:`0`),localStorage.setItem(`ramulus.diff`,e.mode),localStorage.setItem(`ramulus.collapse`,e.collapse?`1`:`0`)},[g,_]=U(()=>wf(`ramulus.tree`)===`1`),[v,y]=U(``),[b,x]=U(``),[S,C]=U(!1),[w,T]=U(``),[E,ee]=U(new Set),[te,D]=U(),[ne,O]=U(),[k,re]=U(!1),[ie,oe]=U(!1),[se,ce]=U(),[le,A]=U(),[ue,de]=U(!0),[j,fe]=U(!0),[pe,me]=U(()=>({left:Number(wf(`ramulus.left`))||240,right:Number(wf(`ramulus.right`))||440})),[he,ge]=U(),[_e,ve]=U(),[ye,be]=U(Ef),[M,N]=U(`merge`),xe=ze(!1),Se=ze(null),P=e=>{xe.current=e,re(e)},Ce=ze(r);Ce.current=r,Le(()=>{localStorage.setItem(`ramulus.left`,String(pe.left)),localStorage.setItem(`ramulus.right`,String(pe.right))},[pe]),Le(()=>{if(!le)return;let e=setTimeout(()=>A(void 0),4e3);return()=>clearTimeout(e)},[le]);let F=e=>{_(e),localStorage.setItem(`ramulus.tree`,e?`1`:`0`)},I=(e,t)=>D({kind:`error`,title:e,message:t instanceof Error?t.message:String(t)}),L=Ve((e,t,n,r)=>{let a=Tf(e,t,n);i(a),ve(new Date),o(e=>{let n=a.rows[0]?.kind===`wip`;return!r&&e&&(e.kind===`wip`?n:a.indexOf.has(e.oid))?e:n?{kind:`wip`}:t.headOid?{kind:`commit`,oid:t.headOid}:void 0}),r&&(c([]),T(``),ee(new Set),y(``),x(``),C(!1))},[]),R=async e=>{ce(`Reading repository`);try{L(e,await e.load(xu),xu,!0)}catch(e){I(`Could not read the repository`,e)}finally{ce(void 0)}};Le(()=>{R(e.be)},[]);let we=Ve(async()=>{let e=Ce.current;if(e)try{L(e.be,await e.be.load(e.limit),e.limit,!1)}catch(e){I(`Could not read the repository`,e)}},[L]);Le(()=>{if(!r?.be.subscribe||!e.active)return;let t;return r.be.subscribe(()=>{clearTimeout(t),t=setTimeout(we,150)})},[r?.be,we,e.active]),Le(()=>{e.active&&we()},[e.active]);let z=async(e,t,n={})=>{if(r&&!se){ce(e);try{let e=await t();n.after?.(e)}catch(e){I(`Git could not do that`,e)}finally{ce(void 0)}if(n.statusOnly)try{L(r.be,{...r.data,status:await r.be.status()},r.limit,!1)}catch(e){I(`Could not read the repository`,e)}else await we()}};Le(()=>{r&&(a?.kind===`commit`?r.be.commitFiles(a.oid).then(f).catch(()=>f([])):f([]))},[r,a]),Le(()=>{if(!r)return;let e=e=>e.dirty||e.sel.area.kind===`commit`?!1:!(e.sel.area.kind===`staged`?r.data.status.staged:r.data.status.unstaged).some(t=>t.path===e.sel.path);c(t=>t.some(e)?t.filter(t=>!e(t)):t)},[r]);let Te=Be(()=>{if(!r||E.size===0)return;let e=new Set;for(let t of[...r.data.local,...r.data.remote])E.has(t.name)&&e.add(t.oid);let t=new Map(r.rows.map(e=>[e.id,e.parents])),n=new Set,i=[...e];for(;i.length;){let e=i.pop();if(!n.has(e)&&t.has(e)){n.add(e);for(let n of t.get(e)??[])i.push(n)}}r.data.headOid&&n.has(r.data.headOid)&&n.add(Sf);let a=r.rows.map((e,t)=>t).filter(e=>n.has(r.rows[e].id)),o=pd(a.map(e=>r.rows[e]));return{indices:a,layoutByIndex:new Map(a.map((e,t)=>[e,o.rows[t]])),maxCol:o.maxCol}},[r,E]),Ee=Be(()=>{if(!r)return[];let e=Te?.indices??r.rows.map((e,t)=>t),t=w.trim().toLowerCase();return t?e.filter(e=>{let n=r.rows[e];return n.summary.toLowerCase().includes(t)||n.author.toLowerCase().includes(t)||n.id.startsWith(t)||(r.data.refsByOid.get(n.id)??[]).some(e=>e.name.toLowerCase().includes(t))}):e},[r,w,Te]),B=!r||!a?-1:a.kind===`wip`?r.rows[0]?.kind===`wip`?0:-1:r.indexOf.get(a.oid)??-1,De=e=>{if(!r)return;let t=r.rows[e];if(!t)return;let n=t.kind===`wip`?{kind:`wip`}:{kind:`commit`,oid:t.id};JSON.stringify(n)!==JSON.stringify(a)&&o(n)},Oe=e=>{if(!r)return;let t=r.indexOf.get(e);t===void 0?A(`That commit is not loaded in the graph yet.`):(Te&&!Te.indices.includes(t)&&ee(new Set),De(t),ge(t))},ke=e=>{navigator.clipboard.writeText(e).then(()=>A(`Copied!`))},V=e=>ee(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),H=r?.data.headBranch,Ae=(e,t)=>D({kind:`confirm`,message:e,action:t}),je=e=>e===`conflicts`&&A(`There are conflicts to resolve`),Me=()=>{if(!r||!v.trim())return;let e=b.trim()?`${v.trim()}\n\n${b.trim()}`:v.trim();z(`Committing`,()=>r.be.commit(e,S),{after:()=>{y(``),x(``),C(!1)}})},Ne=e=>{let t=r;return z(`Merging`,()=>t.be.merge(e,H),{after:t=>{t===`up-to-date`&&A(`Already up to date with ${e}`),je(t)}})},Pe=e=>{let t=r;return z(`Rebasing`,()=>t.be.rebase(e),{after:je})},Fe=(e,t,n)=>{let i=r,a=[];return n||(a.push({label:`Switch to ${e}`,onClick:()=>z(`Switching branch`,()=>i.be.checkoutBranch(e))}),H&&a.push({label:`Merge ${e} into ${H}`,onClick:()=>Ne(e)}),H&&i.be.rebase&&a.push({label:`Rebase ${H} onto ${e}`,onClick:()=>Pe(e)})),a.push({label:E.has(e)?`Stop soloing ${e}`:`Solo ${e}`,onClick:()=>V(e)}),a.push({label:`Rename ${e}`,onClick:()=>D({kind:`rename`,old:e})}),a.push({label:`New branch from here`,onClick:()=>D({kind:`branch`,at:t})}),a.push({label:`Copy name`,onClick:()=>ke(e)}),n||(a.push({sep:!0}),a.push({label:`Delete ${e}`,danger:!0,onClick:()=>Ae(`Delete "${e}"? This cannot be undone.`,()=>z(`Deleting branch`,()=>i.be.deleteBranch(e)))})),a},Ie=e=>{let t=r;return[{label:`Switch to ${e}`,onClick:()=>z(`Switching branch`,()=>t.be.checkoutRemote(e))},...H?[{label:`Merge ${e} into ${H}`,onClick:()=>Ne(e)}]:[],...H&&t.be.rebase?[{label:`Rebase ${H} onto ${e}`,onClick:()=>Pe(e)}]:[],{label:E.has(e)?`Stop soloing ${e}`:`Solo ${e}`,onClick:()=>V(e)},{label:`Copy name`,onClick:()=>ke(e)}]},Re=(e,t)=>{let n=r;return[{label:`Check out ${e} (no branch)`,onClick:()=>z(`Checking out`,()=>n.be.checkoutCommit(t))},{label:`Copy name`,onClick:()=>ke(e)},{sep:!0},{label:`Delete tag ${e}`,danger:!0,onClick:()=>Ae(`Delete "${e}"? This cannot be undone.`,()=>z(`Deleting tag`,()=>n.be.deleteTag(e)))}]},He=(e,t)=>{let n=r;return[{label:`Apply (keep stash)`,onClick:()=>z(`Applying stash`,()=>n.be.stashApply(e,!1))},{label:`Apply and drop`,onClick:()=>z(`Applying stash`,()=>n.be.stashApply(e,!0))},{sep:!0},{label:`Drop stash`,danger:!0,onClick:()=>Ae(`Drop the stash "${t}"? This cannot be undone.`,()=>z(`Dropping stash`,()=>n.be.stashDrop(e)))}]},Ue=(e,t)=>{if(!r)return;let n=r.rows[t];De(t);let i=r,a=[];if(n.kind===`wip`)a=[{label:`Stash everything`,onClick:()=>D({kind:`stash`})},{label:`Stage everything`,onClick:()=>z(`Staging`,()=>i.be.stage(i.data.status.unstaged),{statusOnly:!0})},{sep:!0},{label:`Throw away all changes`,danger:!0,onClick:()=>Ae(`Every staged, unstaged and untracked change in the working tree will be lost. Continue?`,()=>z(`Discarding`,async()=>{i.data.status.staged.length&&await i.be.unstage(i.data.status.staged.map(e=>e.path));let e=await i.be.status();e.unstaged.length&&await i.be.discard(e.unstaged)},{statusOnly:!0}))}];else if(r.data.stashes.some(e=>e.oid===n.id)){let e=r.data.stashes.find(e=>e.oid===n.id);a=He(e.index,e.message)}else{let e=r.data.refsByOid.get(n.id)??[],t=r.data.headOid===n.id;for(let t of e)t.kind===`head`&&a.push(...Fe(t.name,n.id,t.current??!1).filter(e=>e.label!==`New branch from here`)),t.kind===`remote`&&a.push(...Ie(t.name)),t.kind===`tag`&&a.push(...Re(t.name,n.id)),a.push({sep:!0});t||a.push({label:`Check out here (no branch)`,onClick:()=>z(`Checking out`,()=>i.be.checkoutCommit(n.id))}),a.push({label:`New branch from here`,onClick:()=>D({kind:`branch`,at:n.id})}),a.push({label:`New tag here`,onClick:()=>D({kind:`tag`,at:n.id})}),H&&!t&&(a.push({sep:!0}),i.be.rebase&&a.push({label:`Rebase ${H} here`,onClick:()=>Pe(n.id)}),i.be.cherryPick&&a.push({label:`Cherry-pick this commit`,onClick:()=>z(`Cherry-picking`,()=>i.be.cherryPick(n.id),{after:je})}),a.push({label:`Reset ${H} to this commit...`,onClick:()=>D({kind:`reset`,at:n.id})})),H&&i.be.revert&&a.push({label:`Revert this commit`,onClick:()=>z(`Reverting`,()=>i.be.revert(n.id),{after:je})}),a.push({sep:!0}),a.push({label:`Copy full hash`,onClick:()=>ke(n.id)})}O({x:e.clientX,y:e.clientY,items:a})},We=(e,t,n)=>{let i=r,a=[];n.kind===`unstaged`&&a.push({label:`Stage`,onClick:()=>z(`Staging`,()=>i.be.stage([t]),{statusOnly:!0})}),n.kind===`staged`&&a.push({label:`Unstage`,onClick:()=>z(`Unstaging`,()=>i.be.unstage([t.path]),{statusOnly:!0})}),i.be.openPath&&t.kind!==`D`&&a.push({label:`Open file`,onClick:()=>i.be.openPath(t.path).catch(e=>I(`Could not open the file`,e))}),a.push({label:`Copy path`,onClick:()=>ke(t.path)}),n.kind===`unstaged`&&(a.push({sep:!0}),a.push({label:`Throw away changes`,danger:!0,onClick:()=>Ge([t])})),O({x:e.clientX,y:e.clientY,items:a})},Ge=e=>{let t=r,n=e.length===1?`Unstaged edits to "${e[0].path}" will be lost. Continue?`:`Unstaged edits to ${e.length} files will be lost. Continue?`;Ae(n,()=>z(`Discarding`,()=>t.be.discard(e),{statusOnly:!0}))},Ke=e=>{let t=r;return!t||e.area.kind===`commit`||(e.area.kind===`staged`?t.data.status.staged:t.data.status.unstaged).find(t=>t.path===e.path)?.kind!==`M`?[]:e.area.kind===`staged`?[{label:`Unstage this change`,icon:`remove`,into:`b`,run:(n,r)=>z(`Unstaging chunk`,()=>t.be.writeIndex(e.path,n,r),{statusOnly:!0})}]:[{label:`Stage this change`,icon:`add`,into:`a`,run:(n,r)=>z(`Staging chunk`,()=>t.be.writeIndex(e.path,n,r),{statusOnly:!0})},{label:`Discard this change`,icon:`discard`,into:`b`,run:(n,r)=>Ae(`This change in "${e.path}" will be reverted in the working tree. Continue?`,()=>z(`Discarding chunk`,()=>t.be.writeWorkdir(e.path,n,r),{statusOnly:!0}))}]},qe=(e,t,n,i)=>{let a=r;a&&z(`Saving`,()=>a.be.writeWorkdir(e.path,t,n),{statusOnly:!0,after:i})},Je=s.find(e=>e.key===l)??s[0],Ye=Je?.sel,Xe=e=>{let t=qd(e);c(n=>n.some(e=>e.key===t)?n:[...n,{key:t,sel:e,dirty:!1}]),u(t)},Ze=e=>{let t=s.findIndex(t=>t.key===e),n=s.filter(t=>t.key!==e);c(t=>t.filter(t=>t.key!==e)),Je?.key===e&&u(n[Math.min(t,n.length-1)]?.key)},Qe=e=>{let t=s.find(t=>t.key===e);t?.dirty?Ae(`Unsaved edits to "${t.sel.path}" will be lost. Continue?`,()=>Ze(e)):Ze(e)},$e=()=>{let e=s.filter(e=>e.dirty).length;e?Ae(`Unsaved edits in ${e} file${e===1?``:`s`} will be lost. Continue?`,()=>c([])):c([])},et=s.some(e=>e.dirty);Le(()=>e.onDirty(et),[et]);let tt=(e,t)=>c(n=>n.map(n=>n.key===e&&n.dirty!==t?{...n,dirty:t}:n)),nt=e=>{r&&(e.local&&!e.current?z(`Switching branch`,()=>r.be.checkoutBranch(e.local.name)):e.remote&&!e.local&&z(`Switching branch`,()=>r.be.checkoutRemote(e.remote.name)))},rt=({source:e,rowIndex:t,x:n,y:i})=>{let a=r,o=a.rows[t],s=a.data.refsByOid.get(o.id)??[],c=s.find(e=>e.kind===`head`&&e.current),l=s.find(e=>e.kind===`head`)??s.find(e=>e.kind===`remote`),u=l?.name??vd(o.id),d=e.local?.name??e.remote.name,f=[];c&&d!==c.name&&f.push({label:`Merge ${d} into ${c.name}`,onClick:()=>Ne(d)}),e.current&&H&&o.id!==a.data.headOid&&(a.be.rebase&&f.push({label:`Rebase ${H} onto ${u}`,onClick:()=>Pe(l?.name??o.id)}),f.push({label:`Reset ${H} to ${u}...`,onClick:()=>D({kind:`reset`,at:o.id})})),!e.current&&!c&&f.push({label:`Switch to ${d} first to rebase it, or drop onto ${H??`the checked-out branch`} to merge`}),O({x:n,y:i,items:f})},it=Be(()=>{if(!r)return[];let i=r,a=[{id:`fetch`,group:`Action`,label:`Fetch every remote`,hint:`⌘L`,run:()=>z(`Fetch`,()=>i.be.fetchAll(),{after:()=>A(`Fetch done`)})},{id:`pull`,group:`Action`,label:`Pull`,run:()=>H&&z(`Pull`,()=>i.be.pull(M,H),{after:()=>A(`Pull done`)})},{id:`push`,group:`Action`,label:`Push`,run:()=>H&&z(`Push`,()=>i.be.push(H),{after:()=>A(`Push done`)})},{id:`branch`,group:`Action`,label:`New branch from HEAD`,hint:`⌘B`,run:()=>i.data.headOid&&D({kind:`branch`,at:i.data.headOid})},{id:`stash`,group:`Action`,label:`Stash everything`,run:()=>D({kind:`stash`})},{id:`pop`,group:`Action`,label:`Apply and drop the newest stash`,run:()=>z(`Applying stash`,()=>i.be.stashApply(0,!0))},{id:`stageall`,group:`Action`,label:`Stage everything`,hint:`⌘⇧S`,run:()=>z(`Staging`,()=>i.be.stage(i.data.status.unstaged),{statusOnly:!0})},{id:`unstageall`,group:`Action`,label:`Unstage everything`,hint:`⌘⇧U`,run:()=>z(`Unstaging`,()=>i.be.unstage(i.data.status.staged.map(e=>e.path)),{statusOnly:!0})},{id:`refresh`,group:`View`,label:`Refresh`,run:()=>we()},{id:`left`,group:`View`,label:`Toggle the left panel`,hint:`⌘J`,run:()=>de(e=>!e)},{id:`right`,group:`View`,label:`Toggle the detail panel`,hint:`⌘K`,run:()=>fe(e=>!e)},{id:`theme`,group:`View`,label:t===`dark`?`Switch to the light theme`:`Switch to the dark theme`,run:()=>n(t===`dark`?`light`:`dark`)},{id:`tree`,group:`View`,label:g?`Show files as a flat list`:`Show files as a tree`,run:()=>F(!g)},{id:`keys`,group:`View`,label:`Keyboard shortcuts`,hint:`?`,run:()=>oe(!0)}];E.size&&a.push({id:`unsolo`,group:`View`,label:`Show all branches`,run:()=>ee(new Set)}),a.push({id:`open`,group:`Action`,label:`Open repository…`,run:e.onOpenRepo});for(let e of i.data.local)e.isHead||a.push({id:`sw:${e.name}`,group:`Branch`,label:`Switch to ${e.name}`,run:()=>z(`Switching branch`,()=>i.be.checkoutBranch(e.name))}),a.push({id:`solo:${e.name}`,group:`Branch`,label:`Solo ${e.name}`,run:()=>V(e.name)}),a.push({id:`jump:${e.name}`,group:`Branch`,label:`Jump to ${e.name}`,run:()=>Oe(e.oid)});for(let e of i.data.remote)a.push({id:`swr:${e.name}`,group:`Remote`,label:`Switch to ${e.name}`,run:()=>z(`Switching branch`,()=>i.be.checkoutRemote(e.name))});for(let e of i.data.tags)a.push({id:`tag:${e.name}`,group:`Tag`,label:`Jump to ${e.name}`,run:()=>Oe(e.oid)});return a},[r,H,M,t,g,E]);Le(()=>{if(!e.active)return;let t=e=>{if(e.target instanceof Element&&e.target.closest(`.diff-window`))return;let t=e.metaKey||e.ctrlKey,n=e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLElement&&e.target.isContentEditable;if(t&&(e.key===`p`||e.key===`P`))e.preventDefault(),r&&P(!k);else if(t&&e.key===`f`)e.preventDefault(),Se.current?.focus();else if(t&&e.key===`b`&&r?.data.headOid)e.preventDefault(),D({kind:`branch`,at:r.data.headOid});else if(t&&e.key===`l`&&r)e.preventDefault(),z(`Fetch`,()=>r.be.fetchAll(),{after:()=>A(`Fetch done`)});else if(t&&e.key===`Enter`)e.preventDefault(),Me();else if(t&&e.shiftKey&&(e.key===`s`||e.key===`S`)&&r)e.preventDefault(),z(`Staging`,()=>r.be.stage(r.data.status.unstaged),{statusOnly:!0});else if(t&&e.shiftKey&&(e.key===`u`||e.key===`U`)&&r)e.preventDefault(),z(`Unstaging`,()=>r.be.unstage(r.data.status.staged.map(e=>e.path)),{statusOnly:!0});else if(t&&e.key===`j`)e.preventDefault(),de(e=>!e);else if(t&&e.key===`k`)e.preventDefault(),fe(e=>!e);else if(e.key===`Escape`)k?P(!1):ie?oe(!1):te?D(void 0):w?T(``):E.size&&ee(new Set);else if(!n&&!te&&!k&&!xe.current){if(e.key===`?`)e.preventDefault(),oe(!0);else if(r&&(e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`j`||e.key===`k`)){e.preventDefault();let t=e.key===`ArrowDown`||e.key===`j`?1:-1,n=Ee.indexOf(B),r=Ee[Math.min(Ee.length-1,Math.max(0,n+t))];r!==void 0&&(De(r),ge(r))}}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)});let at=e=>{let r=e?.data.local.find(e=>e.isHead),i=e?new Set([...e.data.status.staged,...e.data.status.unstaged].map(e=>e.path)).size:0;return Q(`div`,{class:`statusbar`,children:[e&&Q(ae,{children:[Q(`span`,{children:[Q($,{name:`git-branch`}),H??(e.data.headOid?`detached HEAD`:`no commits`)]}),r?.upstream?Q(`span`,{title:`Compared with ${r.upstream}`,children:[Q($,{name:`sync`}),r.behind??0,Q($,{name:`arrow-small-down`}),r.ahead??0,Q($,{name:`arrow-small-up`})]}):H&&Q(`span`,{children:`no upstream`}),i>0&&Q(`span`,{class:`warn`,title:`${i} uncommitted change${i===1?``:`s`}`,children:[Q($,{name:`source-control`}),i]}),e.data.stashes.length>0&&Q(`span`,{title:`${e.data.stashes.length} stash${e.data.stashes.length===1?``:`es`}`,children:[Q($,{name:`git-stash`}),e.data.stashes.length]})]}),Q(`span`,{class:`spacer`}),_e&&Q(`span`,{title:`Last read of the repository`,children:[`Updated `,_e.toLocaleTimeString()]}),e&&Q(`button`,{onClick:()=>P(!0),title:`Command palette (⌘⇧P)`,children:[Q($,{name:`list-selection`}),`Commands`]}),Q(`button`,{onClick:()=>oe(!0),title:`Keyboard shortcuts (?)`,children:Q($,{name:`keyboard`})}),Q(`button`,{onClick:()=>n(t===`dark`?`light`:`dark`),title:t===`dark`?`Switch to the light theme`:`Switch to the dark theme`,children:Q($,{name:`color-mode`})})]})};if(!r)return Q(`div`,{class:`app`,children:[Q(`div`,{class:`toolbar`}),Q(`div`,{class:`placeholder`,children:se?`${se}...`:`This repository could not be read.`}),at(),ie&&Q(bf,{onClose:()=>oe(!1)}),te&&Q(nf,{dialog:te,settings:ye,native:e.be.native,onClose:()=>D(void 0),onCreateBranch:()=>{},onCreateTag:()=>{},onRename:()=>{},onStash:()=>{},onReset:()=>{},onSettings:()=>{}})]});let W=r,ot=a?.kind===`commit`?W.rows[W.indexOf.get(a.oid)??-1]:void 0,st=e=>Te?.layoutByIndex.get(e)??W.layout[e],ct=ot?gd(st(W.indexOf.get(ot.id)).column):`var(--lane-0)`,lt=new Set([...W.data.status.staged,...W.data.status.unstaged].map(e=>e.path)).size,ut=(e,t)=>z(e,t,{after:()=>A(`${e} done`)});return Q(`div`,{class:`app`,children:[Q(`div`,{class:`toolbar`,children:[Q(`span`,{class:`repo`,children:W.data.name}),Q(`span`,{class:`branch`,children:[Q($,{name:`git-branch`}),W.data.headBranch??(W.data.headOid?`detached at ${W.data.headOid.slice(0,7)}`:`no commits`)]}),Q(`button`,{disabled:!!se||!H,onClick:()=>ut(`Pull`,()=>W.be.pull(M,H)),title:`Fetch and integrate the upstream branch`,children:[Q($,{name:`repo-pull`}),`Pull`]}),W.be.native&&Q(`select`,{value:M,onChange:e=>N(e.target.value),title:`How pull integrates changes`,children:[Q(`option`,{value:`merge`,children:`merge`}),Q(`option`,{value:`ff-only`,children:`fast-forward only`}),Q(`option`,{value:`rebase`,children:`rebase`})]}),Q(`button`,{disabled:!!se||!H,onClick:()=>ut(`Push`,()=>W.be.push(H)),title:`Push the checked-out branch`,children:[Q($,{name:`repo-push`}),`Push`]}),Q(`button`,{disabled:!!se,onClick:()=>ut(`Fetch`,()=>W.be.fetchAll()),title:`Fetch every remote (⌘L)`,children:[Q($,{name:`repo-fetch`}),`Fetch`]}),Q(`button`,{disabled:!!se||!W.data.headOid,onClick:()=>D({kind:`branch`,at:W.data.headOid}),title:`New branch (⌘B)`,children:[Q($,{name:`git-branch`}),`Branch`]}),Q(`button`,{disabled:!!se||lt===0,onClick:()=>D({kind:`stash`}),title:`Stash everything`,children:[Q($,{name:`git-stash`}),`Stash`]}),Q(`button`,{disabled:!!se||W.data.stashes.length===0,onClick:()=>z(`Applying stash`,()=>W.be.stashApply(0,!0)),title:`Apply and drop the newest stash`,children:[Q($,{name:`git-stash-pop`}),`Pop`]}),se&&Q(`span`,{class:`busy`,children:[se,`...`]}),Q(`span`,{class:`spacer`}),Q(`span`,{class:`search`,children:[Q($,{name:`search`}),Q(`input`,{ref:Se,placeholder:`Search commits (⌘F)`,value:w,onInput:e=>T(e.target.value)})]}),w&&Q(`span`,{class:`busy`,children:[Ee.length,` results`]}),Q(`button`,{class:`icon ${ue?`on`:``}`,onClick:()=>de(!ue),title:`Toggle left panel (⌘J)`,children:Q($,{name:ue?`layout-sidebar-left`:`layout-sidebar-left-off`})}),Q(`button`,{class:`icon ${j?`on`:``}`,onClick:()=>fe(!j),title:`Toggle detail panel (⌘K)`,children:Q($,{name:j?`layout-sidebar-right`:`layout-sidebar-right-off`})}),!W.be.native&&Q(`button`,{class:`icon`,onClick:()=>D({kind:`settings`}),title:`Settings: author and remote access`,children:Q($,{name:`settings-gear`})}),Q(`button`,{class:`icon`,onClick:()=>we(),title:`Refresh`,children:Q($,{name:`refresh`})})]}),Q(`div`,{class:`body ${ue?``:`no-left`} ${j?``:`no-right`}`,style:{"--left-w":`${pe.left}px`,"--right-w":`${pe.right}px`},children:[Q(mf,{data:W.data,columnOf:e=>{let t=W.indexOf.get(e);return t===void 0?void 0:st(t)?.column},selectedOid:a?.kind===`commit`?a.oid:void 0,solo:E,onToggleSolo:V,onJump:Oe,onCheckout:e=>z(`Switching branch`,()=>W.be.checkoutBranch(e)),onCheckoutRemote:e=>z(`Switching branch`,()=>W.be.checkoutRemote(e)),onBranchMenu:(e,t,n,r)=>O({x:e.clientX,y:e.clientY,items:Fe(t,n,r)}),onRemoteMenu:(e,t)=>O({x:e.clientX,y:e.clientY,items:Ie(t)}),onTagMenu:(e,t,n)=>O({x:e.clientX,y:e.clientY,items:Re(t,n)}),onStashMenu:(e,t,n)=>O({x:e.clientX,y:e.clientY,items:He(t,n)})}),Q(xf,{onDrag:e=>me(t=>({...t,left:Of(t.left+e,160,520)}))}),Q(ff,{rows:W.rows,layoutOf:st,maxCol:Te?.maxCol??W.maxCol,refsByOid:W.data.refsByOid,branches:W.data.local,order:Ee,showEdges:w.trim().length===0,selectedIndex:B,scrollTo:he,wipCount:lt,hasMore:W.data.hasMore&&!Te,soloCount:E.size,onSelect:De,onContextMenu:Ue,onPillDoubleClick:nt,onDrop:rt,onLoadMore:()=>z(`Loading more`,async()=>L(W.be,await W.be.load(W.limit+xu),W.limit+xu,!1)),onScrolled:()=>ge(void 0),onClearSolo:()=>ee(new Set)}),Q(xf,{onDrag:e=>me(t=>({...t,right:Of(t.right-e,300,900)}))}),Q(kd,{data:W.data,commit:ot,commitColor:ct,commitFiles:d,isStash:!!ot&&W.data.stashes.some(e=>e.oid===ot.id),selectedFile:Ye,tree:g,summary:v,description:b,amend:S,onTree:F,onSummary:y,onDescription:x,onAmend:C,onSelectFile:Xe,onStage:e=>z(`Staging`,()=>W.be.stage(e),{statusOnly:!0}),onUnstage:e=>z(`Unstaging`,()=>W.be.unstage(e),{statusOnly:!0}),onDiscard:Ge,onStageAll:()=>z(`Staging`,()=>W.be.stage(W.data.status.unstaged),{statusOnly:!0}),onUnstageAll:()=>z(`Unstaging`,()=>W.be.unstage(W.data.status.staged.map(e=>e.path)),{statusOnly:!0}),onCommit:Me,onCopy:ke,onJump:Oe,onFileMenu:We,onAbort:W.be.abort?()=>z(`Aborting`,()=>W.be.abort()):void 0,onContinue:W.be.continueOp?()=>z(`Continuing`,()=>W.be.continueOp()):void 0})]}),at(W),ne&&Q(hf,{menu:ne,onClose:()=>O(void 0)}),k&&Q(_f,{commands:it,onClose:()=>P(!1)}),ie&&Q(bf,{onClose:()=>oe(!1)}),Je&&Q(Qd,{tabs:s,active:Je.key,be:W.be,stamp:W,options:p,dark:t===`dark`,actionsFor:Ke,onActivate:u,onCloseTab:Qe,onCloseAll:$e,onOptions:h,onDirty:tt,onSave:qe,onOpen:W.be.openPath?e=>W.be.openPath(e.path).catch(e=>I(`Could not open the file`,e)):void 0}),te&&Q(nf,{dialog:te,settings:ye,native:W.be.native,onClose:()=>D(void 0),onCreateBranch:(e,t,n)=>z(`Creating branch`,()=>W.be.createBranch(e,t,n)),onCreateTag:(e,t,n)=>z(`Creating tag`,()=>W.be.createTag(e,t,n)),onRename:(e,t)=>z(`Renaming branch`,()=>W.be.renameBranch(e,t)),onStash:e=>z(`Stashing`,()=>W.be.stashSave(e)),onReset:(e,t)=>H&&z(`Resetting`,()=>W.be.reset(H,e,t)),onSettings:e=>{be(e),Df(e)}}),le&&Q(`div`,{class:`toast`,children:le})]})}var Af=typeof window<`u`&&`showDirectoryPicker`in window,jf=typeof location<`u`&&/^#[0-9a-f]{32}$/.test(location.hash)?location.hash.slice(1):void 0,Mf=jf?fu(location.origin,jf):void 0,Nf=/^(~|\/|\.|[A-Za-z]:[\\/]|\\\\)/,Pf=1;function Ff(){let e=typeof localStorage>`u`?null:localStorage.getItem(`ramulus.theme`);return e===`light`||e===`dark`?e:matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`}var If=()=>{let e=Ef();return e.authorName&&e.authorEmail?{name:e.authorName,email:e.authorEmail}:void 0};function Lf(){let[e,t]=U([]),[n,r]=U(),[i,a]=U(Ff),[o,s]=U(!1),[c,l]=U([]),[u,d]=U([]),[f,p]=U(),[m,h]=U(new Set),g=ze(e);g.current=e;let _=e.find(e=>e.id===n);Le(()=>{document.documentElement.dataset.theme=i,localStorage.setItem(`ramulus.theme`,i)},[i]),Le(()=>{document.title=_?`${_.name} · Ramulus`:`Ramulus`},[_]),Le(()=>{if(m.size===0)return;let e=e=>e.preventDefault();return addEventListener(`beforeunload`,e),()=>removeEventListener(`beforeunload`,e)},[m.size]);let v=(e,t)=>p({kind:`error`,title:e,message:t instanceof Error?t.message:String(t)}),y=e=>{let n=g.current.find(t=>t.key===e.key);if(n)return r(n.id);let i={...e,id:Pf++};g.current=[...g.current,i],t(g.current),r(i.id)},b=e=>{let n=g.current.findIndex(t=>t.id===e),i=g.current.filter(t=>t.id!==e);g.current=i,t(i),h(t=>t.has(e)?new Set([...t].filter(t=>t!==e)):t),r(t=>t===e?i[Math.min(n,i.length-1)]?.id:t)},x=e=>{let t=g.current.find(t=>t.id===e);t&&m.has(e)?p({kind:`confirm`,message:`Unsaved edits in ${t.name} will be lost. Continue?`,action:()=>b(e)}):b(e)},S=(e,t)=>h(n=>{if(n.has(e)===t)return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),C=e=>y({key:e.dir,name:e.name,title:e.dir,be:pu(location.origin,jf,e.dir)}),w=async e=>{try{C(await Mf.openRepo(e)),l((await Mf.repos()).recent)}catch(e){v(`Could not open the repository`,e)}},T=async()=>{try{let e=await Mf.pickFolder();e&&await w(e)}catch(e){v(`Could not show a folder picker`,e)}},E=async e=>{if(await e.requestPermission({mode:`readwrite`})!==`granted`)return;let t=await Promise.all(u.map(t=>t.isSameEntry(e).catch(()=>!1))),n=[e,...u.filter((e,n)=>!t[n])].slice(0,10);d(n),await R(`recent`,n);let i=await Promise.all(g.current.map(t=>t.handle?.isSameEntry(e).catch(()=>!1))),a=g.current.find((e,t)=>i[t]);if(a)return r(a.id);y({key:`fs:${Pf}`,name:e.name,title:e.name,handle:e,be:ud({fs:new $e(e),dir:`/`,cache:{},fallbackAuthor:If},Ef)})},ee=async()=>{try{await E(await window.showDirectoryPicker({mode:`readwrite`}))}catch(e){e instanceof DOMException&&e.name===`AbortError`||v(`Could not open the folder`,e)}},te=()=>uu().then(e=>y({key:`demo`,name:`demo`,title:`Demo repository`,be:ud(e,Ef)})).catch(e=>v(`Could not build the demo`,e));Le(()=>{Mf?Mf.repos().then(({current:e,recent:t})=>{C(e),l(t)}).catch(e=>v(`Could not reach the helper`,e)):L(`recent`).then(e=>e&&d(e))},[]);let D=Mf?[{id:`browse`,group:`Open`,label:`Browse for a folder…`,run:T},...c.filter(t=>!e.some(e=>e.key===t.dir)).map(e=>({id:e.dir,group:`Recent`,label:e.name,hint:e.dir,run:()=>w(e.dir)}))]:[...Af?[{id:`pick`,group:`Open`,label:`Open a folder…`,run:ee}]:[],{id:`demo`,group:`Open`,label:`Demo repository`,run:te},...u.map((e,t)=>({id:`h${t}`,group:`Recent`,label:e.name,run:()=>E(e).catch(e=>v(`Could not open the folder`,e))}))];return Q(`div`,{class:`shell`,children:[e.length>0&&Q(`div`,{class:`repo-tabs`,role:`tablist`,children:[e.map(e=>Q(`div`,{role:`tab`,"aria-selected":e.id===n,class:`repo-tab ${e.id===n?`active`:``}`,title:e.title,tabIndex:0,onClick:()=>r(e.id),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),r(e.id))},onMouseDown:t=>{t.button===1&&(t.preventDefault(),x(e.id))},children:[Q($,{name:`repo`}),Q(`span`,{class:`name`,children:e.name}),Q(`button`,{class:`icon close`,title:`Close`,onClick:t=>{t.stopPropagation(),x(e.id)},children:Q($,{name:`close`})})]},e.id)),Q(`button`,{class:`icon add`,title:`Open repository…`,onClick:()=>s(!0),children:Q($,{name:`add`})})]}),e.map(e=>Q(`div`,{class:`tab-page`,hidden:e.id!==n,children:Q(kf,{be:e.be,active:e.id===n,theme:i,onTheme:a,onOpenRepo:()=>s(!0),onDirty:t=>S(e.id,t)})},e.id)),e.length===0&&Q(`div`,{class:`app`,children:[Q(`div`,{class:`toolbar`,children:Q(`span`,{class:`repo`,children:`Ramulus`})}),Q(`div`,{class:`welcome`,children:[Q(`h1`,{children:[Q($,{name:`source-control`}),`Ramulus`]}),Q(`p`,{children:[`Every branch of your repository, in one graph.`,Mf?``:` Runs entirely in this browser tab.`]}),Q(`div`,{style:{display:`flex`,gap:`8px`},children:Mf?Q(`button`,{class:`primary`,onClick:()=>s(!0),children:`Open repository…`}):Q(ae,{children:[Af&&Q(`button`,{class:`primary`,onClick:ee,children:`Open a repository folder`}),Q(`button`,{class:`secondary`,onClick:te,children:`Try the demo repository`})]})}),!Mf&&!Af&&Q(`p`,{class:`note`,children:`Opening folders needs the File System Access API, which Chrome, Edge and other Chromium browsers provide. Safari and Firefox can only run the demo.`}),(Mf?c.length:u.length)>0&&Q(`div`,{class:`recent`,children:[Q(`span`,{class:`label`,children:`Recent`}),Mf?c.map(e=>Q(`a`,{title:e.dir,onClick:()=>w(e.dir),children:e.name},e.dir)):u.map((e,t)=>Q(`a`,{onClick:()=>E(e).catch(e=>v(`Could not open the folder`,e)),children:e.name},t))]}),!Mf&&Q(ae,{children:[Q(`p`,{class:`note`,children:`Nothing leaves your machine except avatar lookups on gravatar.com and, when you use them, fetch, pull and push through the CORS proxy you set under Settings.`}),Q(`p`,{class:`note`,children:[`For full speed and your SSH keys, run `,Q(`code`,{children:`npx ramulus`}),` inside a repository instead.`]})]})]}),Q(`div`,{class:`statusbar`,children:[Q(`span`,{class:`spacer`}),Q(`button`,{onClick:()=>a(i===`dark`?`light`:`dark`),title:i===`dark`?`Switch to the light theme`:`Switch to the dark theme`,children:Q($,{name:`color-mode`})})]})]}),o&&Q(_f,{commands:D,extra:e=>Mf&&Nf.test(e.trim())?[{id:`path`,group:`Open`,label:e.trim(),hint:`Open this path`,run:()=>w(e.trim())}]:[],placeholder:Mf?`Type a path, or pick a recent repository`:`Pick a repository`,onClose:()=>s(!1)}),f&&Q(nf,{dialog:f,settings:Ef(),native:!!Mf,onClose:()=>p(void 0),onCreateBranch:()=>{},onCreateTag:()=>{},onRename:()=>{},onStash:()=>{},onReset:()=>{},onSettings:()=>{}})]})}globalThis.Buffer??=h.Buffer,Se(Q(Lf,{}),document.getElementById(`app`));export{c as n,Bd as t};